76 BAB 3 ANALISIS DAN PERANCANGAN SISTEM 3.1. Kasus MITM Pada Jaringan Lokal Serangan Man in The Middle merupakan suatu satu cara yang efektif untuk menyadap komunikasi data. Serangan tersebut sangat merugikan baik pihak personal ataupun organisasi, karena memungkinkan terjadinya pencurian data pribadi, komersial, atau informasi yang sensitif seperti nomor kartu kredit, username dan password atau data penting lainnya. Pada dasarnya serangan MITM berkaitan dengan adanya usaha pencurian data berupa password maupun identitas. Berdasarkan survey yang dilakukan oleh Computer Security Institute (CSI) tentang Computer Crime and Security pada tahun 2008, menunjukkan kategori password sniffing memperoleh 9% dari seluruh tingkat kejahatan pada Cyber Crime, dimana kategori password sniffing yang tercatat tersebut hanyalah sebagian kecil dari seluruh kejahatan password sniffing yang tidak disadari oleh korban. Sedangkan Pada survey pada tahun 2009 kategori password sniffing meningkat dari 9% menjadi 17%. Walaupun presentasi serangan yang tercatat tidaklah besar namun bahaya yang ditimbulkan sangatlah besar. Penelitian yang dilakukan Identity Theft Resource Center, sampai 13 Oktober 2009, memperoleh 403 kasus penerobosan data telah dilaporkan
77 sepanjang tahun dan mengekspos lebih dari 220 juta dokumen. Menurut Ponemon Institute, orang dalam yang tidak bermaksud jahat terus mewakili bagian terbesar dari insiden hilangnya data dengan 88% dari seluruh insiden kehilangan data disebabkan oleh orang dalam seperti karyawan dan partner. Meski demikian, terdapat peningkatan perhatian terhadap kehilangan data berbahaya. Menurut penelitian tersebut, 59% mantan karyawan mengakui bahwa mereka mengambil data perusahaan saat mereka meninggalkan pekerjaannya. Di saat organisasi semakin meningkatkan fokus untuk menghindari kehilangan data, tampak jelas bahwa banyak hal yang perlu dilakukan untuk mencegah informasi sensitif dibawa ke luar dari perusahaan. (http://www.detikinet.com/read/2009/12/23/103812/1264905/323/trenserangan-internet-di-2009) 3.2. Masalah Yang Dihadapi Berikut ini adalah masalah yang dihadapai mengenai serangan MITM yang terjadi pada jaringan lokal : Serangan MITM memungkinkan terjadinya pencurian data pribadi, komersial, atau informasi yang sensitif seperti nomor kartu kredit, username dan password atau data penting lainnya.
78 Serangan MITM yang terjadi pada jaringan lokal memiliki tiga teknik, diantaranya ARP Spoofing, DNS Spoofing dan MAC Flooding. Serangan ARP Spoofing terjadi ketika adanya manipulasi terhadap alamat IP dan MAC, sehingga memungkinkan penyerang untuk mengambil frame data pada Local Area Network (LAN), memodifikasi, dan menghentikan lalu lintas jaringan. Serangan DNS Spoofing terjadi ketika penyerang memasukkan informasi alamat IP yang akan mengarahkan korban dari situs web atau tujuan yang sah ke salah satu situs yang merupakan di bawah kendali penyerang, sehingga memungkinkan penyerang untuk memperoleh informasi. Serangan MAC Flooding terjadi ketika pengiriman paket data berupa alamat IP dan MAC yang berlebihan pada perangkat jaringan seperti switch atau router, sehingga mengakibatkan perangkat tersebut tidak berfungsi sebagai mana mestinya. Perancangan Intrusion Prevention System (IPS) memungkinkan terjadinya false positive dan false negative.
79 3.3. Solusi Yang Digunakan Untuk mengatasi masalah MITM pada jaringan LAN, terdapat beberapa solusi yang dapat diimplementasikan secara terpisah berdasarkan jenis teknik serangan yang digunakan. Untuk mengetahui ada atau tidak aktifitas ARP poisoning maka dapat diimplementasikan aplikasi seperti ARPWATCH, sedangkan pada DNS spoofing dapat diimplementasikan DNSSEC, dan untuk MAC flooding dapat dicegah dengan penggunaan port security. Piranti lunak tersebut digunakan secara terpisah untuk mendeteksi adanya teknik-teknik pada serangan MITM. Maka penulis menggunakan suatu sistem IPS (Intrusion Prevention System) berbasis open-source dengan menggunakan Snort dan IPTables sebagai firewall, untuk mendeteksi sekaligus melakukan pencegahan terhadap ketiga teknik serangan MITM dalam 1 aplikasi. Hal ini bertujuan untuk mengoptimalkan fungsi aplikasi tersebut. Namun sistem IPS juga mempunyai kelemahan diantaranya adalah False-postive dan False Negative yang telah dijelaskan sebelumnya. Untuk menanggulanginya penulis membuat rule dan konfigurasi IPS yang rendah akan False Negative dan False Positive, serta aplikasi penunjang lainnya berupa scripting dengan Bash Shell yang akan digunakan untuk memudahkan pengoperasian IPS, agar pekerjaan lebih efektif.
80 3.4. Perancangan Sistem 3.4.1. Flowchart Snort Gambar 3.1 Flowchart Snort Flowchart diatas membahas lebih dalam mengenai cara kerja Snort. Network traffic yang berisi paket data, akan di ambil oleh snort decoder. Snort decoder men-decode paket ke dalam data stukrtur snort untuk di analisa. Kemudian paket data diteruskan ke preprocessor untuk dilihat
81 paket header-nya dan informasi didalamnya. Kemudian paket data diteruskan menuju detection engine. Dengan menggunakan rule, detection engine membandingkan antara paket data dan rule dan memutuskan apakah paket data bisa lewat atau akan di drop. Output engine memberikan hasil dari detection engine dalam format terpisah seperti log file atau database. Dan berdasarkan hasil dari detection engine, Snort bisa mengambil tindakan lebih lanjut untuk merespon paket tersebut. 3.4.2. Blok Diagram Sistem IPS Gambar 3.2 Blok Diagram Sistem IPS
82 3.4.3. Flowchart Sistem Administrasi IPS Start Setup Configuration Snort Scan ARP Search HOME Snort Processing Detect Intrusion Alert Process Output End Gambar 3.3 Flowcahart Sistem Administrasi IPS Flowchart diatas merupakan langkah script menjalankan Snort Inline. Pertama kali menjalankan proses Setup Snort yang akan digunakan untuk mengisi alamat alamat IP LAN, subnet dari IP LAN dan alamat IP dari DNS. Setelah itu script menjalankan scanning ARP dan
83 kemudian Snort dijalankan, dimana saat sebelum menjalankan Snort, iptables dan bridge akan diperiksa apakah sudah aktif atau belum, apabila belum aktif maka program akan mengaktifkannya. Ketika sistem berhasil mendeteksi adanya serangan, maka akan menghasilkan output alert. Proses cek-ips digunakan untuk memastikan apakah sistem ips sedang berjalan, apabila sedang berjalan maka pengguna dapat menentukan untuk mematikan sistem IPS. Sedangkan pada proses search, digunakan untuk melihat berapa paket data tidak normal yang telah di kirim oleh penyerang. 3.4.4. Administrasi Snort dengan Bash Shell Untuk memudahkan pengoperasian penggunaan IPS, penulis menggunakan Bash shell script. Script utama diberi nama ips.sh dan terdapat script lainnya, diantaranya output.sh yang berfungsi untuk menampilkan alert, script iptable.sh digunakan untuk konfigurasi iptables dan juga bridge.sh yang digunakan untuk konfigurasi bridge yang berfungsi menghubungkan 2 buah NIC. Script ips.sh merupakan script yang digunakan untuk mengontrol sistem IPS dan menjalankan sistem. Pada script ips.sh dapat digunakan untuk mengatur konfigurasi pada snort.conf dengan mengisi alama IP address LAN, Subnet dari IP address LAN, dan IP address dari DNS server. Selain itu dapat berfungsi untuk melihat output alert dengan memanggil script
output.sh. Untuk melihat daftar IP address yang telah mengirim abnormal packet dapat digunakan di dalam script ips.sh. 84 ips.sh akan memrikan pilihan kepada user untuk menjalankan dalam snort dalam dua mode, yaitu normal atau daemon. Script akan menjalankan snort dengan -Q -v -c /etc/snort/snort.conf -l /var/log/snort. Penjelasanya adalah sebagai berikut : -Q akan menjalankan snort sebagai mode Inline -v berarti verbose, yang akan melihat setiap proses yang dilakukan oleh snort -c akan menggunakan snort.conf yang merupakan file konfigurasi utama dalam menjalankan snort, namun dengan menambahkan direktori /etc/snort/snort.conf yang merupakan penyimpanan konfigurasi file. -l merupakan perintah untuk menyimpan log file dengan menambahkan direktori yang spesifik, /var/log/snort. Apabila administrator akan menjalankan dengan daemon maka perintahnya sama dengan yang diatas, namun ditambahkan -D.