PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
MEMBANDINGKAN KEMAMPUAN DETEKSI INTRUSION DETECTION SYSTEM (IDS) SNORT DAN SURICATA BERBASIS ATURAN/RULES STANDAR PENGEMBANG
SKRIPSI Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer Program Studi Teknik Informatika
Oleh : Benedictus Yoga Pradana 095314040 HALAMAN JUDUL PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2016
i
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
COMPARING DETECTION CAPABILITY OF SNORT AND SURICATA INTRUSION DETECTION SYSTEM (IDS) BASED ON DEVELOPER’S STANDARD RULES
A Thesis Presented as Partial Fulfillment ofThe Requirements to Obtain Sarjana Komputer Degree in Informatics Engineering
By : Benedictus Yoga Pradana 095314040
INFORMATICS ENGINEERING STUDY PROGRAM INFORMATICS ENGINEERING DEPARTMENT FACULTY OF SCIENCE AND TECHNOLOGY SANATA DHARMAUNIVERSITY YOGYAKARTA 2016
ii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
HALAMAN PERSETUJUAN SKRIPSI
MEMBANDINGKAN KEMAMPUAN DETEKSI INTRUSION DETECTION SYSTEM (IDS) SNORT DAN SURICATA BERBASIS ATURAN/RULES STANDAR PENGEMBANG Oleh: Benedictus Yoga Pradana NIM: 095314040
Telah disetujui Oleh:
Pembimbing
Iwan Binanto, S.Si., M.Cs.
Pada tanggal:
iii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
ALAMAN PENGESAHAN
SKRIPSI
MEMBANDINGKAN KEMAMPUAN DETEKSI INTRUSION DETECTION SYSTEM (IDS) SNORT DAN SURICATA BERBASIS ATURAN/RULES STANDAR PENGEMBANG Dipersiapkan dan ditulis oleh Benedictus Yoga Pradana NIM: 095314040 Telah dipertahankan di depan Panitia Penguji pada tanggal 17 Desember 2015 dan dinyatakan memenuhi syarat Susunan Panitia Penguji Nama Lengkap
Tanda Tangan
Ketua
Puspaningtyas Sanjoyo Adi, S.T., M.T.
..............................
Sekretaris
Henricus Agung Hernawan, S.T., M.Kom.
..............................
Anggota
Iwan Binanto, S.Si., M.Cs.
..............................
Yogyakarta, Fakultas Sains dan Teknologi Universitas Sanata Dharma Dekan,
Paulina Heruningsih Prima Rosa, S.Si., M.Sc.
iv
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
PERNYATAAN KEASLIAN KARYA
Dengan ini, saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis ini tidak memuat karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.
Yogyakarta, 14Januari 2016 Penulis
Benedictus Yoga Pradana
v
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS
Yang bertanda tangan dibawah ini, saya mahasiswa Universitas Sanata Dharma: Nama : Benedictus Yoga Pradana NIM
: 095314040
Demi pengembangan ilmu pengetahuan, saya memberikan kepada perpustakaan Universitas Sanata Dharma karya ilmiah saya yang berjudul: “Membandingkan Kemampuan Deteksi Intrusion Detection System (IDS) Snort dan Suricata Berbasis Aturan/Rules Standar Pengembang” Bersama perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan kepada perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, mempublikasikannya di internet atau media lain untuk kepentingan akademis tanpa perlu memberikan royalti kepada saya selama tetap mencantumkan nama saya sebagai penulis. Demikian pernyataan ini saya buat dengan sebenarnya.
Yogyakarta, 14 Januari 2016
Penulis
Benedictus Yoga Pradana
vi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
HALAMAN MOTTO
Marilah kepada-Ku, semua yang letih lesu dan berbeban berat, Aku akan memberi kelegaan kepadamu (Matius 11:28) “Semakin tua umur seseorang maka yang dianggapnya teman akan semakin sedikit” (Iman Pribadi)
vii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
HALAMAN PERSEMBAHAN
Segala hasil kerja keras ini saya persembahkan kehadirat Tuhan Yesus Kristus, yang selalu menuntunku ke jalan yang terang
Kedua Orangtua (Ayah Rudatin Biratno dan Ibu LG Yusinta) yang senantiasa memberikan dukungan, cinta, dan kasih sayang yang tulus dalam membimbing dan mendidik saya. Sahabat dan teman – teman di kampus Universitas Santa Dharma dan sekitar kampus Kepada pada dosen yang telah banyak memberi ilmu dan pengetahuan kepada saya selama proses perkuliahan.
viii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
ABSTRAK Keamanan merupakan salah satu hal yang diperlukan ketika sedang melakukan suatu kegiatan. Dengan adanya rasa aman yang terjamin, kegiatan yangsedang dialakukan bisa berjalan dengan lancer tanpa adanya rasa takut. Begitu pula dengan keamanan pada jaringan komputer yang dibutuhkan ketika sedang menggunakan komputer yang terhubung dengankoneksi internet. Ancaman
terhadap keamanan jaringan komputer selalu ada, tetapi ancaman
tersebut dapat diatasi apabila serangan tersebut bisa diketahui terlebih dahulu dengan menggunakan Intrusion Detection System atauIDS. IDS open source yang popular adalah Snort. Selain Snort ada IDS open source yang juga memiliki kemiripan dengan Snort, yaitu Suricata yang masih tergolong baru. Untuk membandingkan kemampuan pendeteksian antara Snort dan Suricata, penulis menggunakan perangkat keras yang sama. Pengujian dilakukan dengan melakukan percobaan serangan menggunakan tools pengujian bernama Pytbull. Serangan yang digunakan adalah sama, yaitu dengan serangan dan jumlah serangan yang sama. Dari hasil pengujian, diperoleh hasil yaitu Snort dapat mendeteksi lebih banyak daripada Suricata meskipun menggunakan sumber daya komputer yang sedikit. Sedangkan Suricata, meskipun masih tergolong baru, juga dapat mendeteksi percobaan serangan yang dilancarkan oleh Pytbull meskipun membutuhkan sumber daya komputer yang lebih banyak daripada Snort.
Kata Kunci :Keamanan, IDS, Snort, Suricata, Pytbull
ix
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
ABSTRACT Security is one of the things that are required when doing an activity. With their sense of security is assured, activities underway could run smoothly without any fear. Similarly, the security of the computer network is required when using a computer connected to the internet connection. Threats to the security of computer networks have always existed, but the threat can be overcome if the attack can be known in advance by using Intrusion Detection System or IDS. The popular open source IDS is Snort. In addition there Snort open source IDS which also has similarities with Snort, that Suricata is still relatively new. To compare the detectability between Snort and Suricata, the author uses the same hardware. Testing is done by experimenting attacks using testing tools called Pytbull. The attack used is the same, namely the attack and the number of the same attack. From the test results, obtained results that Snort can detect more than Suricata despite using little computer resources. While Suricata, although still relatively new, it can also detect attempted attacks launched by Pytbull although it requires more computer resources than Snort.
Keyword : Security, IDS, Snort, Suricata, Pytbull
x
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
KATA PENGANTAR Puji syukur kepada Allah Bapa yang Maha Kuasa atas segala karunia, rahmat dan bimbingan yang diberikan sehingga penulis dapat menyelesaikan skripsi “Membandingkan Kemampuan Deteksi Intrusion Detection System (IDS) Snort dan Suricata Berbasis Aturan/Rules Standar Pengembang”. Dalam menyelesaikan skripsi ini, penulis tidak lepas dari bantuan sejumlah pihak, oleh sebab itu penulis ingin mengucapkan terima kasih kepada: 1. Allah Bapa yang Maha Kuasa, yang telah menjawab doa, menuntunku dan mencurahkan rahmat dengan perantaraan Bunda Maria dan Yesus Kristus sehingga penulis dapat menyelesaikan skripsi ini. 2. Ibu Paulina Heruningsih Prima Rosa, S.Si, M.Sc. selaku Dekan Fakultas Sains dan Teknologi. 3. Ibu Dr. Anastasia Rita Widiarti, M.Kom. selaku Ketua Program Studi Teknik Informatika. 4. Bapak Iwan Binanto, M.Cs. selaku dosen pembimbing skripsi yang telah membantu dalam proses pengerjaan skripsi ini 5. Bapak Puspaningtyas Sanjoyo Adi, S.T., M.T.dan Bapak H.Agung Hernawan,S.T., M.Kom yang telah bersedia menjadi penguji penulis. 6. Kedua orangtua dan kakak yang senantiasa memberikan dukungan dalam bentuk doa, materi, semangat, inspirasi, cinta, dan kasih sayang yang tulus selama ini 7. Sahabat – sahabat seperjuangan yang telah memberi semangat Bion, Aan, Gunung, Jerry, Endrik, Cahyo 8. Teman – teman dari burjo Mandiri, Mbah Sardi, Memet, Sinto, dan Petor yang telah menyediakan konsumsi dan tempat untuk berkumpul. 9. Teman-teman “Clan COC Jawara Dunia” atas keceriaan dan semangatnya 10. Untuk pihak-pihak yang tidak dapat penulis sebutkan satu per satu. Penulis mengucapkan terima kasih atas bantuannya sehingga penulis dapat
xi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
menyelesaikan karya ilmiah ini Akhir kata, penulis berharap karya ilmiah ini dapat bermanfaat bagi kemajuan dan perkembangan ilmu pengetahuan.Penulis juga meminta maaf kepada semua pihak bila ada kesalahan atau hal-hal yang kurang berkenan. Tuhan memberkati. Amin Yogyakarta, 14 Januari2016
Penulis
xii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
DAFTAR ISI HALAMAN JUDUL................................................................................................ i HALAMAN PERSETUJUAN ............................................................................... iii HALAMAN PENGESAHAN ................................................................................ iv PERNYATAAN KEASLIAN KARYA ................................................................. v PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS ............................................................................. vi HALAMAN MOTTO ........................................................................................... vii HALAMAN PERSEMBAHAN .......................................................................... viii ABSTRAK ............................................................................................................. ix ABSTRACT ............................................................................................................ x KATA PENGANTAR ........................................................................................... xi DAFTAR ISI ........................................................................................................ xiii DAFTAR GAMBAR .......................................................................................... xvii DAFTAR TABEL .............................................................................................. xviii BAB I ...................................................................................................................... 1 PENDAHULUAN .................................................................................................. 1 1.1.
Latar Belakang Masalah ........................................................................... 1
1.2.
Rumusan Masalah .................................................................................... 4
1.3.
Tujuan dan Manfaat Penelitian................................................................. 4
1.4.
Batasan Masalah ....................................................................................... 4
1.5.
Metodologi Penelitian .............................................................................. 5
1.6.
Sistematika Penulisan ............................................................................... 6
BAB II ..................................................................................................................... 8 LANDASAN TEORI .............................................................................................. 8 2.1.
Pengertian Keamanan ............................................................................... 8
2.2.
Jaringan Komputer ................................................................................... 8
2.2.1.
Jenis Jaringan Komputer ................................................................... 9
2.2.2.
Topologi jaringan ............................................................................ 11
2.3.
Kemanan Jaringan Komputer ................................................................. 11
xiii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
2.4.
Firewall ................................................................................................... 12
2.5.
IDS .......................................................................................................... 14
2.5.1.
Jenis – jenis IDS .............................................................................. 14
2.5.2.
Cara kerja IDS ................................................................................. 16
2.5.3.
Fungsi IDS ...................................................................................... 18
2.5.4.
Penempatan IDS .............................................................................. 18
2.6.
Snort ....................................................................................................... 20
2.6.1.
Tentang Snort .................................................................................. 20
2.6.2.
Fungsi Snort .................................................................................... 21
2.6.3.
Mode Snort ...................................................................................... 21
2.6.4.
Cara kerja Snort............................................................................... 22
2.7.
Suricata ................................................................................................... 24
2.7.1.
Tentang Suricata.............................................................................. 24
2.7.2.
Fitur Suricata ................................................................................... 24
2.8.
Oinkmaster ............................................................................................. 26
2.9.
Pytbull .................................................................................................... 27
2.9.1.
Tentang Pytbull ............................................................................... 27
2.9.2.
Remote Mode .................................................................................. 30
2.9.3.
Local Mode ..................................................................................... 30
2.9.3.1.
IDS mode with attacked server in DMZ .................................. 30
2.9.3.2.
IPS mode .................................................................................. 30
2.9.3.3.
IPS mode with attacked server in DMZ................................... 30
2.10.
Contoh Serangan ................................................................................. 31
2.10.1.
Test Rules .................................................................................... 31
2.10.2.
Brute Force .................................................................................. 31
2.10.3.
Evasion Techniques ..................................................................... 32
2.10.4.
Shell Codes Attack ...................................................................... 33
2.10.5.
Bad Traffic: ................................................................................. 34
2.10.6.
Client Side Attacks ...................................................................... 34
2.10.7.
Denial Of Service ........................................................................ 35
2.10.8.
Fragmented Packets ..................................................................... 35 xiv
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
2.10.9.
Normal Usage .............................................................................. 35
2.10.10.
Pcap Replay ................................................................................. 36
BAB III ................................................................................................................. 37 PERANCANGAN ................................................................................................ 37 3.1.
Perencanaan Awal .................................................................................. 37
3.2.
Topologi Jaringan ................................................................................... 38
3.3.
Rancangan IDS ....................................................................................... 40
3.4.
Client ...................................................................................................... 41
3.5.
Web-Server ............................................................................................. 42
3.6.
Skenario Pengujian ................................................................................. 42
3.7.
Kehandalan ............................................................................................. 45
BAB IV ................................................................................................................. 46 IMPLEMENTASI DAN ANALISIS .................................................................... 46 4.1.
Instalasi Ubuntu ...................................................................................... 46
4.2.
Instalasi IDS ........................................................................................... 47
4.2.1.
Instalasi Snort .................................................................................. 47
4.2.2.
Konfigurasi Snort ............................................................................ 50
4.2.3.
Instalasi Suricata ............................................................................. 52
4.2.4.
Konfigurasi Suricata........................................................................ 52
4.3.
Pytbull .................................................................................................... 54
4.3.1.
Instalasi Pytbull ............................................................................... 54
4.3.1.1.
Instalasi Standar (Client) ......................................................... 54
4.3.1.2.
Server ....................................................................................... 55
4.3.2.
Menjalankan Pytbull ....................................................................... 56
4.3.3.
Konfigurasi Pytbull ......................................................................... 58
4.4.
Pemilihan Modul Pengujian Pytbull ....................................................... 59
4.5.
Instalasi web server ................................................................................ 67
4.6.
Instalasi Oinkmaster ............................................................................... 67
4.7.
Hasil Pengujian ....................................................................................... 68
4.8.
Analisa Pengujian ................................................................................... 71
4.8.1.
Skenario 1 ....................................................................................... 71 xv
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
4.8.2.
Skenario 2 ....................................................................................... 77
4.8.3.
Skenario 3 ....................................................................................... 83
4.9.
Analisa Hasil .......................................................................................... 88
BAB V................................................................................................................... 90 KESIMPULAN DAN SARAN ............................................................................. 90 5.1.
KESIMPULAN ...................................................................................... 90
5.2.
SARAN .................................................................................................. 90
DAFTAR PUSTAKA ........................................................................................... 91
xvi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
DAFTAR GAMBAR
Gambar 1.1
Informationweek.com survey………………………………….3
Gambar 2.1
Jaringan client-server dan jaringan Peer-to-Peer ……………10
Gambar 2.2
Firewall……………………………………………………….14
Gambar 2.3
NIDS dan HIDS………………………………………………15
Gambar 2.4
Pytbull output…………………………………………………29
Gambar 2.5
Evasion Attack ……………………………………………….33
Gambar 3.1
Topologi Jaringan Instalasi Awal…………………………….39
Gambar 3.2
Topologi Jaringan Pengujian…………………………………39
Gambar 4.1
Reverse Shell…………………………………………………57
Gambar 4.2
Pytbull details ………………………………………………..69
Gambar 4.3
Grafik Hasil pengujian ……………………………………….70
Gambar 4.4
Grafik waktu pengujian………………………………………70
Gambar 4.5
Grafik hasil pengujian Skenario 1……………………………71
Gambar 4.6
Grafik waktu pengujian Skenario 1…………………………..76
Gambar 4.7
Grafik hasil pengujian Skenario 2……………………………77
Gambar 4.8
Grafik waktu pengujian Skenario 2 ………………………….82
Gambar 4.9
Grafik hasil pengujian Skenario 3……………………………83
Gambar 4.10 Grafik waktu pengujian Skenario 3 ………………………….87
xvii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
DAFTAR TABEL Tabel 3.1 Spesifikasi client, server, dan web-server ………………………….37 Tabel 3.2 Tabel spesifikasi komputer IDS ……………………………………40 Tabel 3.3 Tabel Spesifikasi Client…………………………………………….41 Tabel 3.4 Tabel Spesifikasi web server ……………………………………….42 Tabel 3.5 Tabel jumlah serangan setiap modul ……………………………….44 Tabel 4.1 Tabel daftar serangan yang dilakukan oleh Pytbull ……………......63 Tabel 4.2 Tabel hasil pengujian Skenario 1 …………………………………..75 Tabel 4.3 Tabel hasil pengujian skenario 2 …………………………………...81 Tabel 4.4 Tabel hasil pengujian Skenario 3 …………………………………..86 Tabel 4.5 Tabel rangkuman hasil pengujian ………………………………….88
xviii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB I PENDAHULUAN
1.1.
Latar Belakang Masalah Rasa aman merupakan harapan yang diinginkan oleh setiap orang. Bahkan dalam kehidupan sehari – hari setiap orang menginginkan adanya rasa aman. Baik itu keamanan kepada diri sendiri, teman, saudara, harta benda, dan lain – lain. Oleh karena itu dibutuhkan sebuah perlindungan untuk melindungi hal – hal tersebut. Perlindungan dapat juga dengan menggunakan pengawal, sebuah system kemanan yang canggih, maupun asuransi. Begitu pula dengan masalah keamanan pada sebuah jaringan yang membutuhkan pengamanan yang kuat dalam menghadapi serangan yang dapat membahayakan jaringan yang dimiliki oleh suatu perusahaan atau individu. Peningkatan jumlah dan variasi ancaman terhadap jaringan pun semakin tinggi. Untuk itu diperlukan sebuah sistem yang dapat mendeteksi serangan yang menyerang jaringan tersebut agar dapat segera ditangani. Sistem tersebut adalah Intrusion Detection System (IDS). IDS merupakan sebuah sistem yang melakukan pendeteksian dengan menganalisa lalu lintas jaringan yang berada dalam areanya, apabila jaringan yang dijaganya mendapat serangan IDS akan memberi
1
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
peringatan kepada administrator mengenai serangan tersebut. IDS sendiri dapat berupa perangkat keras atau perangkat lunak. IDS berupa perngkat keras seperti Cisco Secure IDS, RealSecure dari Internet Security System. Harga dari pernagkat keras itu sendiri dapat mencapai 8000 US$. Selain itu juga terdapat IDS berupa perangkat lunak. Perangkat lunak IDS ada yang berbayar dan ada yang gratis yaitu IDS berbasis open source. Contoh IDS berbasis open source yang populer seperti Snort, Suricata, dan Bro IDS. Dengan menggunakan IDS yang open source biaya yang dikeluarkan untuk membeli perangkat keras dapat ditekan. Karena IDS berbasis open source ini dapat menggunakan perangkat keras yang berada di pasaran serta dengan menggunakan sistem operasi linux yang juga open source. Bahkan IDS berbasis open source dapat berjalan di Windows dan Mac dengan beberapa tambahan library agar dapat berjalan. IDS berbasis open source ini dapat dikonfigurasi sesuai kebutuhan jaringan. Banyak IDS berbasis open source yang berbedar di internet seperti Snort, Suricata, dan masih banyak lagi.
2
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Gambar 1.1informationweek.com survey Menurut survey yang dilakukan oleh Allen Glines dalam artikel “IT Pro Ranking : IPS and IDS”, hanya Snort yang termasuk IDS open source dan satu – satunya IDS open source yang termasuk ke dalam survey tersebut. Jadi, Snort termasuk IDS open source yang popular digunakan di seluruh dunia. Sedangkan, Suricata termasuk IDS/IPS open source yang masih baru yang dimaksudkan untuk membawa ide baru dan teknologi seperti multi-threading untuk bidang IDS. Suricata juga menggunakan rules yang mirip dengan Snort. Baik Snort maupun Suricata, keduanya merupakan Network based Intrusion Detection System (NIDS). Masalah yang dihadapi adalah bahwa kurangnya informasi untuk membuat keputusan perangkat lunak IDS mana yang akan dipilih untuk mengamankan jaringan yang dimiliki. Terlebih lagi, beberapa tahun belakangan ini beberapa sistem baru telah memasuki persaingan, sehingga disini ada beberapa sedikit informasi untuk membandingkan dengan
3
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
sistem yang sudah ada. Untuk membantu memberikan solusi, maka tulisan ini dibuat untuk membandingkan hasil pengujian terhadap kemampuan pendeteksian rules – rules pada dua IDS open source yaitu Snort dan Suricata. 1.2.
Rumusan Masalah Dari latar belakang di atas, didapat rumusan masalah yaitu : Bagaimana perbedaan kemampuan pendeteksian antara Snort dan Suricata terhadap pola serangan client side attacks, test rules, bad traffic, fragmented packets evasion techniques, brute force, denial of service, pcap replay, normal usage, dan shell codespada Snort dan Suricata.
1.3.
Tujuan dan Manfaat Penelitian Tujuan dan manfaat penelitian ini adalah untuk memberikan suatu masukan bagi administrator jaringan untuk menentukan IDS mana yang akan digunakan untuk melindungi sustem jaringan yang dikelola.
1.4.
Batasan Masalah Adapun batasan-batasan masalah dalam penulisan tugas akhir ini adalah sebagai berikut : 1.
IDS yang digunakan adalah IDS berbasis open source yaitu Snort (versi 2.9.7) dan Suricata (versi 2.0.4) dengan waktu mengunduh pembaharuan rules secara bersamaan (3 Desember 2014). 4
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
2.
IDS berjalan dalam mode IDS.
3.
Pengujian yang dilakukan berupa pengujian kemampuan deteksi terhadap serangan client side attacks, test rules, bad traffic, fragmented packets evasion techniques, brute force, denial of service, pcap replay, normal usage, dan shell codes.
4.
IDS dan tool pegujian berjalan pada sistem operasi Ubuntu yang berbasis Linux.
5.
Instalasi dilakukan pada jaringan lokal dengan switch yang terhubung ke internet.
6.
Pengujian dilakukan pada jaringan lokal dengan switch dan tidak terhubung ke internet.
1.5.
Metodologi Penelitian 1.
Studi Pustaka Mencari referensi yang berasal dari berbagai sumber yang ada seperti dari buku, jurnal ilmiah dan artikel internet terutama yang berkaitan dengan topik permasalahan yang akan diteliti. Referensi inilah yang akan digunakan sebagai dasar dari pengembangan skripsi yang akan dibuat.
2.
Perancangan Metode perancangan yang akan dilakukan antara lain :
5
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
1. Perancangan topologi jaringan skala kecil antara IDS, client dan server. 2. Pemilihan IDS yang akan digunakan. 3. Menentukan spesifikasi hardware yang akan digunakan. 4. Konfigurasi IDS yang digunakan. 5. Instalasi dan konfigurasi aplikasi Pytbull pada sisi client. 3.
Implementasi Melakukan pengujian terhadap IDS khususnya IDS yang digunakan dengan menggunakan rules yang berbeda pada komputer IDS. Percobaan serangan yang samadilancarkan oleh Pytbull terhadap IDS yang diuji.
4.
Analisa Hasil Melakukan analisa terhadap hasil implementasi yang sudah dilakukan. Analisa dengan berlandaskan pada teori-teori yang sudah ada sebelumnya.
1.6.
Sistematika Penulisan Sistematikan penulisan pada tulisan ini terdiri dari 5 bab : BAB I PENDAHULUAN Dalam bab ini megungkap latar belakang masalah, rumusan masalah, tujuan penelitian, luaran yang diharapkan, batasan masalahh, metode penelitian dan sistematika penulisan.
6
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB II LANDASAN TEORI Berisi penjelasan mengenai dasar teori terkait teori-teori yang berkaitan dengan masalah yang terjadi. BAB III PERANCANGAN Perancangan sistem yang akan dilakukan secara mendetail beserta metode yang akan dilakukan. BAB IV IMPLEMENTASI DAN ANALISIS SISTEM Membahas
mengenai
pemilihan
IDS
open
source
untuk
melindungi jaringan komputer yang dilindunginya dengan konfigurasi standar. BAB V KESIMPULAN DAN SARAN Berisi kesimpulan dan saran yang didapatkan dalam penyelesaian skripsi.
7
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB II LANDASAN TEORI
2.1.
Pengertian Keamanan Keamanan berasal dari kata aman yang menurut KBBI (Kamus Besar Bahasa Indonesia) memiliki arti bebas dari bahaya. Jadi keamanan sendiri berarti suatu keadaan dimana seseorang atau benda tidak berada dalam bahaya.
2.2.
Jaringan Komputer Jaringan komputer
adalah sekumpulan komputer, printer, dan
perangkat lainnya yang saling terhubung dan saling berkomunikasi sehingga memungkinkan adanya pertukaran data melalui media kabel maupun wireless. Menurut Wagito (2005), jaringan komputer yang disebut secara singkat dengan jaringan adalah kumpulan komputer dan alat – alat lain yang saling dihubungkan bersama menggunakan media komunikasi tertentu.Informasi memungkinkan
yang pengguna
melintas jaringan
sepanjang untuk
media saling
komunikasi,
bertukar
atau
menggunakan perangkat lunak maupun perangkat keras secara berbagi. Masing – masing komputer atau alat – alat lain yang dihubungkan pada 8
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
jaringan disebut node. Jaringan dapat terdiri dari puluhan, ratusan, bahkan ribuan node. 2.2.1. Jenis Jaringan Komputer Berdasarkan luas area cakupan, jaringan komputer dibagi menjadi : 1. Local Area Network (LAN) LAN adalah suatu jaringan yang terbatas pada daerah yang relative kecil. LAN biasanya terbatas pada daerah geografi tertentu, seperti laboratorium, sekolah, atau gedung. 2. Metropolitan Area Network (MAN) MAN meliputi area geografi yang lebih luas, seperti sebuah kota. Dengan interkoneksi jaringan yang lebih luas, informasi dapat disebarkan secara mudah melalui jaringan. Dengan MAN, suatu kantor cabang dalam kota yang sama dapat mengakses server di kantor pusat melalui jaringan telepon, kabel, maupun wireless. 3. Wide Area Network (WAN) WAN meliputi area geografi yang lebih luas daripada MAN, dapat meliputi sebuah Negara atau dunia. Umumnya jaringan ditempatkan pada banyak lokasi yang berbeda. WAN digunakan untuk menghubungkan banyak LAN yang secara geografi terpisah. WAN dibuat dengan cara menghubugkan LAN menggunakan layanan seperti leased line, dial-up, satelit, atau layanan packet carrier.
9
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Berdasarkan fungsinya, Jaringan komputer terbagi menjadi 1. Jaringan Client-server Jaringan client-server pada dasarnya ada satu komputer yang disiapkan menjadi pelayan (server) dari komputer lainnya yang sebagai klien (client). 2. Jaringan Peer-to-peer. Sedangkan jaringan peer-to-peer ditunjukkan dengan komputer – komputer saling terhubung, sehingga setiap komputer dapat meminta pemakaian bersama sumberdaya dari komputer lainnya, demikian pula harus siap melayani permintaan dari komputer lainnya. Model jaringan ini biasanya hanya bisa diterapkan pada jumlah komputer yang tidak terlalu banyak, maksimum 25, karena komunikasi akan menjadi rumit dan macet jika jumlah komputer yang saling terhubung terlalu banyak.
\ Gambar 2.1 Jaringan client-serverdan jaringanPeer-to-Peer
10
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
2.2.2. Topologi jaringan Topologi
jaringan
merupakan
gambaran
bagaimana
komputer dan peralatan jaringan tersusun dalam suatu jaringan. Berdasarkan jumlah komputer yang saling terhubung, dibagi menjadi dua, yaitu : 1. Point to Point, topologi yang hanya melibatkan dua buah komputer yang saling terhubung.. 2. Multipoint, topologi yang melibatkan lebih dari dua komputer. Ada beberapa tipe topologi multipoint dalam jaringan yaitu : a. Topologi Bus b. Topologi Bintang (Star) c. Topologi Cincin (Ring) d. Topologi Tree 2.3.
Kemanan Jaringan Komputer Kemanan jaringan komputer terdiri dari ketentuan – ketentuan dan kebijakan yang diterapkan oleh administrator jaringan untuk mencegah dan memonitor akses yang tidak sah, penyalahgunaan, modifikasi, atau penolakan terhadap upaya untuk mengakses jaringan komputer dan sumber daya jaringan. Keamanan jaringan melibatkan otorisasi akses terhadap data yang berada di jaringan yang dikontrol oleh administrator jaringan. Pengguna dapat memilih atau telah ditetapkan ID dan password atau informasi otentikasi yang lain yang memperbolehkan mereka untuk mengakses informasi dan program yang berada dalam kewenangannya.
11
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Keamanan jaringan mencakup berbagai jaringan komputer, baik jaringan komputer yang bersifat umum maupun pribadi yang digunakan dalam pekerjaan sehari – hari melakukan transaksi dan komunikasi di kalangan bisnis, instansi, dan individu. Keamanan jaringan komputer secara umum adalah komputer yang terhubung jaringan mempunyai ancaman keamanan yang lebih tinggi daripada
komputer
yang
tidak
terhubung
ke
jaringan.
Dengan
pengendalian yang teliti, resiko tersebut dapat dikurangi. Namun network security biasanya bertentangan dengan network access, dimana bila network access semakin mudah, maka network securityakan semakin rawan, dan bila network access semakin baik, maka network access semakin tidak nyaman.
2.4.
Firewall Firewall adalah alat yang digunakan untuk melindungi jaringan privat dari jaringan publik (internet). Firewall dirancang untuk mengendalikan aliran paket berdasarkan pada asal, tujuan, port, dan informasi tipe paket yang terdapat pada masing – masing paket. Firewall berisi sederet daftar aturan yang digunakan untuk menentukan nasib paket data yang dating atau pergi dari Firewall menurut kriteria dan parameter tertentu.
12
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Pada Firewall, terjadi beberapa proses yang memungkinkan Firewall dapat melindungi jaringan. Ada 3 macam proses yang terjadi pada Firewall : 1.
Modifikasi header paket Modifikasi header paket digunakan memodifikasi kualitas layanan bit paket TCP sebelum terjadi routing.
2.
Translasi alamat jaringan (NAT) Translasi yang terjadi dapat berupa one to one NAT dimana satu alamat IP privat dipetakan ke satu alamat IP publik serta many to one NAT dimana beberapa alamat IP privat dipetakan ke satu alamat IP publik.
3.
Filter paket Filter paket digunakan untuk menentukan nasib paket apa yang dapat diteruskan atau tidak. Salah satu perangkat lunak yang banyak digunakan untuk
keperluan proses pada Firewall adalah iptables. Program iptables merupakan program administrative untuk melakukan filter paket dan NAT (Network Address Translation).
13
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Gambar 2.2 Firewall
2.5.
IDS Intrusion Detection System adalah sebuah sistem yang dapat berupa aplikasi perangkat lunak atau perangkat keras yang mendeteksi paket data yang mencurigakan dalam sebuah sistem atau jaringan. IDS dapat melakukan inspeksi terhadap lalu lintas masuk dan keluar pada sebuah sistem atau jaringan, melakukan analisis dan mencari bukti dari percobaan intrusi (penyusupan). IDS hanya memberikan laporan bahwa telah terjadi sebuah usaha penyusupan ke dalam system atau jaringan oleh suatu pihak tetapi tidak menangkal usaha penyusupan tersebut.
2.5.1. Jenis – jenis IDS
Berdasarkan
fungsionalitasnya,
IDS
dibagi
menjadi
beberapa jenis :
14
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
1. Network-based IDS (NIDS) Berdasarkan fakta bahwa NIDS memonitor jaringan berdasarkan perspektif lokasi dimana NIDS terpasang, NIDS akan memonitor seluruh segmen jaringan. 2. Host-based IDS (HIDS) HIDS berbeda dari NIDS dalam dua hal. HIDS hanya melindungi sistem host dimana HIDS berada dan NIC yang dimilikinya
secara
default
beroperasi
dalam
mode
nonpromiscious. HIDS sering diletakkan pada server – server yang kritis di jaringan seperti firewall, web server, atau server yang terkoneksi ke Internet.
Gambar 2.3 NIDS dan HIDS
15
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
2.5.2. Cara kerja IDS
Sebuah IDS capat menggunakan metode yang berbeda untuk mendeteksi adanya ancaman penyusupan. Dua metode yang sering digunakan adalah : 1.
Pattern Matching (Pencocokan Pola) Pattern matching digunakan untuk mendeteksi serangan yang sudah dikenal berdasarkan signatures, atau tindakan spesifik yang dilakukan. Metode ini dikenal sebagao signature-based IDSatau misuse detection. IDS mencari dan mencocokkan lalu lintas jaringan dan sifat yang cocok dengan pola dari serangan yang dikenal. Efektivitas dari metode ini bergantung pada signature database yang harus selalu diperbarui. Metode ini secara analog mengidentifikasi pelaku dengan mencocokan fingerprint pada lokasi kejadian. Masalah yang timbul dengan metode ini adalah kegagalan untuk mendeteksi serangan baru yang belum masuk ke dalam database.
2.
Statistical Anomaly (Anomali Statistik) Pendeteksian
dengan
metode
anomaly-based
detection melihat penyimpangan dari pola pemakaina
16
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
normal. Metode ini pertama kali harus menentukan profil normal itu hal yang bagaimana, kemudian memonitor tindakan diluar kejadian diluar parameter normal tersebut. Hal ini memungkinkan untuk menangkap intrusi baru yang belum memiliki signatures yang dikenal. Metode ini dapat dianalogikan seperti polisi yang berpatroli dan mengetahui kondisi yang dikatakan normal pada area tersebut. Ketika dia melihat sesuatu yang janggal polisi dapat memutuskan bahwa telah terjadi suatu tindakan criminal yang belum diketahui apa yang terjadi atau tanggung jawab siapa. Pada pendeteksian anomali ada beberapa metode pendeteksian : a.
Metric model
b.
Neural network
c.
Machine learning classification
Masalah yang timbul dengan anomaly-based IDS adalah dengan tingginya insiden false positive karena kebiasaan
yang tidak
biasa
akan
ditandai
sebagai
kemungkingan serangan padahal bukan.
17
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
2.5.3. Fungsi IDS
Intrusion Detection System (IDS) berfungsi melakukan monitoring kegiatan – kegiatan yang tidak lazim pada jaringan, sehingga awal dari langkah penyerang bisa diketahui. Dengan demikian administrator dapat melakukan tindakan pencegahan dan bersiap atas kemungkinan yang akan terjadi.
2.5.4. Penempatan IDS
IDS dapat ditempatkan pada bagian luar firewall sebagai baris terdepan dalam pertahanan melawan penyusup, dan akan memiliki kemampuan deteksi intrusi meskipun ada kemungkinan hanya mampu mendeteksi dan mencegah dalam jumlah yang terbatas. Network-based IDS biasanya diletakkan antara firewall dengan back-endfirewall yang melindungi jaringan internal yang melindungi jaringan internal dari akses public yagn dinamakan DMZ (DemilitaryZone) atau network perimeter atau screened subnet. Peletakan IDS pada lokasi ini data menambahkan lapisan pertahanan tambahan pada DMZ yang merupakan bagian paling rawan dimana DMZ terdiri dari server – server. Untuk peningkatan keamanan yang lebih memuaskan, adalah dengan menggunakan lebih dari satu IDS (contoh : meletakkan IDS pada DMZ dan jaringan internal lainnya). Selain itu dengan mengkombinasikan penggunaan NIDS dan HIDS yang diinstall pada server yang rawan untuk perlindungan berlapis.
18
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Pendeteksian ancaman menggunakan IDS hanyalah langkah awal dalam proses pengamanan dan perlindungan pada organisasi. Kunci sesungguhnya adalah apa yang terjadi setelah ancaman terdeteksi, yaitu perencanaan respon insiden. Untuk lebih efektif harus direspon sesegera mungkin. IDS memerlukan fitur dan perlu diset untuk memberikan alert terhadap ancaman ketika serangan terjadi. Tim respon insiden harus berlatih proedur respon insiden sebelum hal “nyata” terjadi sehingga tiap regu mengetahui tugasnya masing – masing. Goal yang harus didapat oleh tim adalah : 1. Mencegah kerusakan (yang lebih jauh) 2. Pelacakan/identifikasi penyusup 3. Menyimpan bukti kejadian yang mengarah ke penuntutan pidana dan / atau perdata
5.5 Rule Rule dapat diartikan secara langsung yang berarti peraturan. Pada IDS yang berdasarkan rule, peranan rule ini sangat penting. Kemampuan untuk mendeteksi lalu lintas jaringan. Rule sendiri pada dasarnya dibuat oleh administrator jaringan untuk mengklasifikasikan aktifitas jaringan mana yang normal dan berbahaya pada jaringan yang dikelola. Baik snort maupun suricata, peranan rule sangat penting dalam proses pendeteksian, dikarenakan Snort dan Suricata menggunakan rule untuk menentukan apakah lalu lintas jaringan yang melaluinya merupakan
19
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
ancaman atau bukan. Rule pada snort dan suricata menurut AlienVault dalam artikelnya yang berjudul “Suricata IDS. What is it and how to enable it” menyatakan “Suricata is an alternative IDS which is fully compatible with existing Snort rule” yang dapat diartikan bahwa rule pada Snort
dapat
digunakan
juga
oleh
Suricata.
Secara umum rule terdiri dari dua bagian yaitu rule header dan rule options. Rule header merupakan bagian rule dimana aksi – aksi rule diidentifikasi sperti Pass, Alert, Log, Activate, Dynamic, dan lain sebagainya. Rule option merupakan bagian rule dimana pesan – pesan peringatan (alert messages) diidentifikasi. Contoh penulisan rule : alert tcp any -> any 6667 (msg:”IRC port in use”; flow:from_client) Bagian
pertama
rule
menetapkan
sebuah
aksi
untuk
memperhatikan lalu lintas jaringan pada port 6667. Jika ada ada yang cocok, maka akan muncul pesan “IRC port in use”, dan IDS akan membuat catatan bahwa port IRC telah ada yang mengakses.
2.6.
Snort
2.6.1. Tentang Snort
Snort adalah sebuah IDS dan IPS berbasis jaringan yang gratis dan berbasis open source yang diciptakan oleh Martin Roesch pada tahun 1998. Snort sekarang dikembangkan oleh Sourcefire dengan Roesch
20
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
sebagai pendiri sekaligus CTO dari Sourcefire. Pada 2009, Snort ke jajaran Hall of Fame pada majalah InfoWorld sebagai salah satu yang terbaik pada perangkat lunak berbasis open source sepanjang waktu. Snort sebagai IDS berbasis jaringan open source memiliki kemampuan untuk melakukan analisa lalu lintas jaringan secara real-time dan pendataan paket pada IP jaringan. Snort menjalankan analisa protokol, pencarian isi, dan pencocokan isi. Layanan dasar ini memiliki banyak tujuan termasuk application-aware triggeredquality of service, untuk tidak memprioritaskan lalu lintas massal ketika aplikasi yang sensitive terhadap latency sedang berjalan.
2.6.2. Fungsi Snort
Menurut Rafiudin (2010), secara prinsip, Snort memerankan tiga fungsi utama : 1. Penangkal program – program sniffer paket – paket seperti tcpdump. 2. Packet logger (berguna untuk melakukan debug pada lalu lintas jaringan) 3. Sebagai system pencegah intrusi untuk sistem – sistem jaringan
2.6.3. Mode Snort
Snort dapat dikonfigurasi pada tiga mode utama yaitu :
21
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
1. Sniffer Pada mode sniffer, program akan membaca paket jaringan dan menampilkannya pada sebuah konsol. Untuk menjalankan snort pada mode sniffer adalah dengan mengetikan baris perintah : #snort –v 2.
Packet logger Pada mode packet logger program akan mendata paket ke disk. Untuk menjalankan snort pada mode Packet logger adalah dengan mengetikan baris perintah : #snort –dev –l /var/log/snort/
3. Network intrusion detection Pada mode intrusion detection, program akan memonitor lalu lintas jaringan dan menganalisanya terhadap satu set rule yang ditetapkan oleh pengguna. Program kemudian akan menjalankan sebuah aksi sesifik sesuai dengan apa yang telah diidentifikasi. Untuk menjalankan snort pada mode NIDS adalah dengan mengetikan baris perintah : # snort –c snort.conf
2.6.4. Cara kerja Snort
Snort bekerjamelakukan analisa protocol, pencocokan/pencarian konten, dan biasanya digunakan secara aktif untuk menangkal atau secara pasif mendeteksi suatu macam serangan dan probe tertentu seperti :
22
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
1. Buffer overflow 2. Stealth port scan 3. Serangan aplikasi berbasis web 4. SMB probe 5. Dan lain. Snort memiliki beberapa komponen yang setiap komponennya mempunyai tugas masing – masing. Pada saat ada paket jarignan yang melewati Ethernet dimana Snort dipasang, maka ada beberapa hal yang dilalui : 1. Packet capture library (libpcap) Libpcapakan memisahkan paket data yang melalui Ethernet card untuk selanjutnya digunakan oleh Snort. 2. Packet decoder Packet decoder mengambil data di layer 2 yang dikirim dari proses 1 .pertama snort akan memisahkan data link (seperti Ethernet, tokenRing, 802.11) kemudian protocol IP, dan selanjutnya paket TCP dan UDP. Setelah pemisahan data selesai, snort telah mempunyai informasi protocol yang dapat diproses lebih lanjut. 3. Preprocessor Selanjutnya dilakukan analisis (preprocessor) atau manipulasi terhadap packet sebelum dikirim ke detection engine. Manipulasi paket berupa penandaan, engelompokan, atau dihentikan.
23
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
4. Detection engine Paket dari packet decoder akan ditest dan dibandingkan dengan rules yang telah ditetapkan sebelumnya. Rules berisi tanda – tanda (signature) yang termasuk serangan 5. Output Output berupa report dan alert yang dapat berupa text, syslog, tcpdump, binary format, atau database.
2.7.
Suricata
2.7.1. Tentang Suricata
Suricata merupakan Network IDS, IPS, dan Sebuah mesin monitor keamanan jaringan dengan performa tinggi. Suricata adalah IDS open source dan dimiliki oleh sebuah komunitas non-profit, yaitu Open Information Security Foundation (OISF). Suricata dikembangkan oleh OISF dan vendor pendukungnya.
2.7.2. Fitur Suricata Menurut website suricata berikut adalah fitur – fitur pada suricata : 1. IDS / IPS Suricata mengimplementasikan signature language yang lengkap untuk mencocokkan dengan ancaman yang dikenal,
24
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
policy violation, dan perilaku berbahaya. Suricata juga mendeteksi banyak anomali pada lalu lintas yang diinspeksi. Suricata mampu menggunakan ruleset dari Emerging Threats Suricata dan VRT ruleset. 2. High Performance Suricata mampu melakukan inspeksi lalu lintas multi-gigabit. Engine pada suricata dibangun secara multi threading, modern, basis kode yang bersih dan scalable. Ada dukungan asli untuk akselerasi hardware pada beberapa vendor dan melalui PF_RING dan AF_PACKET. Suricata secara experimental mampu menggunakan GPU Acceleration untuk tugas yang intensif. 3. Automatic Protocol Detection Suricata secara otomatis mendeteksi protocol seperti HTTP pada sembarang port dan mengaplikasikan pendeteksian yang diperlukan dan logging logic. Ini sangat membantu untuk menemukan malware dan CnC channels. 4. NSM : More than an IDS Suricata mampu melakukan log HTTP request, mencatat dan menyimpan sertifikat TLS, ekstrak file yang mengalir dan menyimpan ke disk. Mendukung pcap capture secara penuh
25
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
untuk memudahkan analisa. Ini membuat Suricata sebuah mesin yang powerfull bagi Network Security Monitoring (NSM) ecosystem. 5. Lua Scripting Analisa dan fungsionalitas yang lebih maju tersedia untuk mendeteksi sesuatu tidak memungkinkan antara ruleset syntax. 6. Industry Standard outputs Pada suricata versi 2.0 diperkenalkan “Eve”, semua JSON even dan alert output. Ini memperbolehkan integrasi yang mudah dengan Logstash dan tool yang mirip.
2.8.
Oinkmaster Oinkmaster
merupakan
script
yang digunakan
untuk
membantu
memperbaharui maupun memanajemen rules. Oinkmaster dirilis dibawah naungan lisensi BSD dan bekerja pada berbagai platform yang mampu menjalankan script Perl seperti linux, *BSD, Windows, Max OS X, Solaris,
dan
sebagainya.
Oinkmaster
dapat
digunakan
untuk
memperbaharui dan memanajemen rules berlisensi VRT, community rules, bleeding-snort rules, dan rules dari pihak ketiga lainnya termasuk rules yang dibuat sendiri. Pada Ubuntu, instalasi Oinkmaster dapat dilakukan dengan menjalankan perintah : 26
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
#sudo apt-get install oinkmaster File
konfigurasi
pada
oinkmaster
berada
pada
direktori
/etc/oinkmaster.conf . Pada file konfigurasi Oinkmaster perlu dilakukan beberapa perubahan terutama pada baris dari mana rule yang akan digunakan untuk memperbaharui diperoleh dengan merubah baris konfigurasi pada bagian berikut : … url
=
http://emergingthreats.net/open/
rules> …
Untuk menjalankan Oinkmaster dapat dijalankan dengan menggunakan baris perintah sebagai berikut : #oinkmaster
–C
/etc/oinkmaster.conf
–o
/etc/snort/rules Untuk bantuan pada pada oinkmaster dapat dilakukan dengan mengetikkan perintah : #Oinkmaster -h 2.9.
Pytbull 2.9.1. Tentang Pytbull Pytbull merupakan framework untuk melakukan pengajian IDS/IPS pada Snort, Suricata, dan IDS/IPS lain yang menghasilkan file peringatan.
27
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Pytbull dapat digunakan untuk menguji kemampuan deteksi maupun kemampuan untuk memblokir pada IDS/IPS, untuk membandingkan IDS/IPS, untuk membandingkan modifikasi pada konfigurasi dan untuk mengecek/memvalidasi konfigurasi. Pada
framework
Pytbull
ini
disertakan
300
tes
yang
dikelompokkan kedalam 11 modul pengujian sebagai berikut : 1. Bad Traffic: Paket yang tidak sesuai dengan RFC dikirimkan ke server untuk menguji bagaimana paket diproses. 2. Brute Force: menguji kemampuan dari server untuk melacak brute force attack (contoh : FTP). 3. Client Side Attacks: Modul ini menggunakan reverse shell untuk memberikan server instruksi secara remot untuk mendwnload file berbahaya. Modul ini untuk menguji kemampuan IDS/IPS utnuk melindungi dari client side attack. 4. Denial Of Service: mengetes kemampuan IDS/IPS untuk melawan serangan DoS. 5. Evasion Techniques: variasi dari evasion techniques digunakan untuk mengecek apaah IDS/IPS mampu mendeteksinya. 6. Fragmented Packets: variasi dari fragmented payloads dikirim ke server untuk menguji kemampuan untuk menyusun ulang dan mendeteksinya. 7. Ip Reputation: mengetes kemampuan server untuk mendeteksi lalu lintas dari server dengan reputasi rendah.
28
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
8. Normal Usage: berupa paket yang bermuatan data yang sesuai dengan pemakaian normal. 9. Pcap Replay: memungkinkan untuk memutar ulang file pcap. 10. Shell Codes: mengirimkan varian shellcodes ke server di port 21/TCP untuk menguji kemampuan server mendeteksi/menolak shellcodes. 11. Test Rules: pengujian rules dasar. Serangan ini diharapkan untuk dideteksi oleh set rules yang sepaket dengan IDS/IPS
Pytbull juga menampilkan report hasil pengujian dalam bentuk grafik yang terdiri dari persentase total, jumlah test yang dijalankan dan manampilkan hasil dari setiap modul.
Gambar 2.4 Pytbull output
29
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
2.9.2. Remote Mode Pada mode ini, IDS dipasang pada span port( atauport miroring) dari switch inti dan telah dikonfigurasi pada mode promiscuous. IDS menganalisa semua lalu lintas jaringan yang melewati switch ini. File berbahaya dapat diunduh oleh Pytbull atau oleh server. Mode ini disebut “remote”. 2.9.3. Local Mode 2.9.3.1. IDS mode with attacked server in DMZ Pada konfigurasi ini, firewall dibagi menjadi 3 bagian (lan, wan, dmz). IDS dipasang pada span port ( atauport miroring) dari switch
dengan
interface-nya
dikonfigurasi
pada
mode
promiscuous. IDS akan menganalisa setiap lalu lintas jaringan yang dikirim ke interface LAN pada firewall. 2.9.3.2. IPS mode Pada konfigurasi ini, firewall dibagi menjadi 3 bagian (lan, wan, dmz). IDS dipasang antara pytbull dan firewall. Untuk memberikan IDS kesempatan untuk mendeteksi file berbahaya. Pytbull harus mengunduh file yang terinfeksi sendiri. 2.9.3.3. IPS mode with attacked server in DMZ Pada konfigurasi ini, firewall dibagi menjadi 3 bagian (lan, wan, dmz). IDS dipasang antara pytbull dan firewall. File yang
30
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
terinfeksi harus diunduh oleh Pytbull secara langsung untuk memberikan kesempatan kepada IDS untuk mendeteksinya.
2.10.
Contoh Serangan 2.10.1. Test Rules Pola serangan test rules merupakan sebuah serangan yang dilancarkan dengan tujuan untuk melakukan pengujian terhadap rules yang digunakan oleh IDS. Pola serangan terst rules ini diharapkan dapat memicu pesan alert pada IDS. 2.10.2. Brute Force Sebuah serangan bruteforce adalah metode trial-and-error yang digunakan untuk memperoleh informasi seperti password pengguna atau nomor identifikasi pribadi (PIN). Dalam serangan brute force, perangkat lunak otomatis digunakan untuk menghasilkan sejumlah besar tebakan berturut-turut untuk nilai data yang diinginkan. Serangan brute force dapat digunakan oleh penjahat untuk memecahkan data dienkripsi, atau oleh analis
keamanan
untuk
menguji
keamanan
jaringan
organisasi.
seranganbrute force dapat juga diartikan bruteforce cracking. Sebagai contoh, bentuk serangan brute force dikenal sebagai dictionary attack dengan mencoba semua kemungkinan kata dalam kamus. Bentuk lain dari serangan brute force dapat mencoba password yang
31
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
sering digunakan atau kombinasi huruf dan angka. Serangan semacam ini dapat memakan waktu dan memakan sumber daya. Maka diberi nama "brute force attack". Keberhasilan biasanya didasarkan pada kemampuan perhitungan dan jumlah kombinasi yang dicoba daripada algoritma komputasi. Langkah-langkah berikut dapat digunakan untuk mempertahankan terhadap serangan brute force: 1.
Mengharuskan pengguna untuk memiliki password yang kompleks
2.
Membatasi jumlah kali pengguna dapat mencoba untuk login
3.
Penguncian sementara pengguna yang melebihi jumlah maksimum yang ditentukan usaha login
2.10.3. Evasion Techniques Sebuah end-system dapat menerima paket yang ditolak oleh IDS. IDS yang keliru menolak peket tersebut akan melewatkan keseluruhan isinya Kondisi ini juga dapat dimanfaatkan, kali ini dengan menyelipkan informasi penting masa lalu IDS dalam paket bahwa IDS terlalu ketat tentang pengolahan. Paket ini “ menghindari” pengawasan dari IDS. Serangan ni disebut dengan evasion attack, dan pola serangan ini adalah
yang
paling
mudah
untuk
mengeksploitasi
dan
paling
menghancurkan akurasi IDS. Seluruh sesi dapat dilakukan pada paket
32
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
yang lolos dari IDS, dan tampak jelas ditulis dalam sesi tersebut akan terjadi tepat di depan IDS bahkan mesin analisis yang paling canggih sekalipun. Evasion attack menggunakan pencocokan pola dengan cara sangat mirip
dengan
dengan
insertion
attack.
sekali
lagi,
penyerang
mengakibatkan IDS untuk melihat stream data yang berbeda dari endsystem. Meskipunend-system mengetahui lebih dari IDS, dan informasi yang terlewatkan oleh IDS merupakan pendeteksian serangan yang kritis.
Gambar 2.5Evasion Attack 2.10.4. Shell Codes Attack Shellcode adalah bagian dari kode yang dapat dibaca mesin, atau kode script yang hanya memiliki satu misi, yaitu untuk membuka penerjemah perintah (shell) pada sistem target sehingga seorang "penyerang" dapat mengetikkan perintah dengan cara yang sama sebagai pengguna atau sistem administrator yang berwenang teratur sistem dapat melakukan (dengan beberapa pengecualian yang tidak terlalu penting tentu 33
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
saja). Namun, dalam rangka untuk mendapatkan akses remote ke shell, Anda akan memerlukan beberapa jenis jaringan support di shellcode itu juga. Ada lebih untuk shellcoding daripada hanya memiliki program mengeksekusi /bin/sh atau cmd.exe. Shellcode terutama digunakan untuk
mengeksploitasi
buffer
overflows (termasuk heap overflows) atau format string bug dalam biner, software yang dapat dibaca mesin. Dalam software ini, shellcode telah dapat dibaca oleh mesin juga, dan untuk membuat hal-hal yang lebih rumit (tidak dapat mengandung byte nol (0x00)). Null (0) adalah pembatas string yang menginstruksikan semua fungsi C string (dan implementasi lain), sekali ditemukan, menghentikan pengolahan string (dengan demikian, null-string dihentikan). Ada pembatas lain seperti linefeed (0x0A), carriage return (0x0D), 0xFF, dan lain-lain. Beberapa tergantung pada bagaimana programmer menulis program (atau fungsi rentan yang menangani input) dan implementasi lain tergantung pada fungsi. perpustakaan C yang mendasari atau library pihak ke-3, dll. 2.10.5. Bad Traffic Paket yang tidak sesuai dengan RFC dikirimkan ke server untuk menguji bagaimana paket diproses. 2.10.6. Client Side Attacks Modul ini menggunakan reverse shell untuk memberikan server instruksi secara remot untuk mendownload file berbahaya. Modul ini 34
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
untuk menguji kemampuan IDS/IPS utnuk melindungi dari client side attack. 2.10.7. Denial Of Service Denial of Service atau DOS adalah suatu serangan yang bertujuan untuk mematikan pelayanan dari komputer atau suatu jaringan yang diserang. Serangan DOS ini dapat menghambat bahkan mematikan layanan pelayanan pada sebuah sistem sehingga pengguna yang abash tdak dapat menerima atau mendapatkan pelayanan yang seharusnya. Serangan DOS ini, pada dasarnya sulit dideteksi, kecuali jika penyerang telah melakukan beberapa kali percobaan dengan alamat IP yang sama dapat dengan mudah membloknya. Serangan DOS ini dapat lebih mematikan apabila dilakukan dengan lebih banyak komputer atau dikenal dengan Distributed Denial of Service (DDOS). 2.10.8. Fragmented Packets Fragmented
packets
merupakan
variasi
dari
fragmented
payloadsyang dikirim ke server untuk menguji kemampuan untuk menyusun ulang dan mendeteksinya. Dari paket yang dikirim tadi ada kemungkinan paket tersebut berisi suatu perintah atau file yang berbahaya. 2.10.9. Normal Usage Merupakan suatu paket yang dikirimkan melalui jaringan seusai penggunaan normal dari pengguna.
35
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
2.10.10. Pcap Replay Pcap Replay adalah untuk menguji kemampuan IDS yang memungkinkan untuk menyusun dan memutar ulang file pcap yang diterima. Pada file pcap bisa terdapat suatu bahaya yang dapat membahayakan si penerima.
36
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB III PERANCANGAN 3.1.
Perencanaan Awal Sebelum melakukan pengujian, ada beberapa hal yang diperlukan dalam
mendukung kegiatan pengujian. Kegiatan pendukung tersebut antara lain adalah pemilihan topologi jaringan, pemilihan IDS yang akan diuji, dan tool yang digunakan untuk melakukan pengujian. Pengujian menggunakan sebuah komputer sebagai client, sebuah komputer sebagai IDS yang akan diuji, dan sebuah web-server. Komputer client, IDS, dan web-serverakan terhubung oleh sebuah jaringan. Masing – masing memiliki spesifikasi seperti pada tabel berikut : Tabel 3.1. Spesifikasi client, server, dan web-server SPESIFIKASI IDS Client
WEB-SERVER
Random Access
2 GB
4 GB
2 GB
Memory (RAM) Processors
AMD
A10- Intel
Core
i5- Intel Core 2solo
5800K
460M
Harddisk
500 GB
640 GB
320 GB
Operating System (OS)
Ubuntu
14.04 Ubuntu
14.04 Ubuntu
LTS
LTS
37
LTS
12.04
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Aplikasi penguji akan diinstal pada komputer client, pada komputer IDS akan diinstal IDS yang akan diuji yaitu Snort dan Suricata, dan pada komputer web-server hanya akan menjalankan layanan web dan menyediakan file yang diperlukan dalam proses pengujian.
3.2.
Topologi Jaringan Topologi jaringan yang akan digunakan dalam pengujian ini menggunakan
topologi star. Komputer client, IDS, dan web-server akan terhubung dengan sebuah switch karena keterbatasan NIC pada perangkat. Untuk menghubungkan komputer client, IDS, dan web-server ke switch menggunakan kabel tipe straight. Topologi jaringan yang digunakan dibagi menjadi dua topologi. Topologi jaringan saat instalasi dan mengunduh file rules terbaru dan topologi jaringan saat dilakukannya pengujian. Gambar topologi jaringan yang digunakan adalah sebagai berikut :
38
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Internet
Web Server
SWITCH
192.168.0.10/24
Client Pytbull 192.168.0.100/24
IDS Snort/Suricata 192.168.0.101/24 Gambar 3.1 Topologi Jaringan Instalasi Awal
Web Server
SWITCH
192.168.0.10/24
Client Pytbull 192.168.0.100/24
IDS Snort/Suricata 192.168.0.101/24 Gambar 3.2Topologi Jaringan Pengujian
Pada komputer client, IDS, dan web-server diberi alamat IP statis. Client menggunakan alamat IP 192.168.0.100 dengan subnet 255.255.255.0. IDS menggunakan alamat IP 192.168.0.101 dengan subnet 255.255.255.0. Web-server menggunakan alamat IP 192.168.0.10 dengan subnet 255.255.255.0. perintah PING dilakukan antar komputer untuk mengetahui jaringan sudah terhubung.
39
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Pada topologi jaringan yang digunakan untuk melakukan pengujian, sambungan internet pada switch diputus. Diputusnya sambungan dengan internet ini dimaksudkan agar lingkungan pengujian terisolasi dari berbagai lalu lintas jaringan yang berhubungan dengan internet dan dapat mempengaruhi kapasitas lalu lintas jaringan. 3.3.
Rancangan IDS Spesifikasi komputer yang digunakan untuk IDS seperti pada tabel berikut.
Tabel 3.2Tabel spesifikasi komputer IDS Processors AMD A10-5800K @ 3.8GHz x4 RAM
4 GB DDR3
NIC
1 Gigabit Ethernet
HDD
500 GB Seagate
Sistem Operasi
Ubuntu 14.04 LTS
Pada komputer IDS, dibuat dua partisi Linux Ubuntu yang dibuat sama persis dengan besar partisi sebesar 50GB untuk masing – masing partisi dan memiliki kondisi awal yang sama untuk kedua partisi. Dengan dibuatnya dua partisi dengan kondisi yang sama dimaksudkan agar masing – masing IDS yang nantinya akan diinstal tidak saling mengganggu kinerja IDS satu dengan lainnya. Kedua partisi linux tersebut akan diinstal system operasi Ubuntu 14.04 LTS. Pada salah satu partisi tersebut akan diinstal IDS Snort sedangkan pada partisi lainnya akan diinstal IDS Suricata. Masing – masing IDS akan menggunakan file 40
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
konfigurasi default dengan melakukan penyesuaian pada bagian rules yang akan digunakan agar dapat membaca file rules yang telah ditentukan.
3.4.
Client Spesifikasi komputer yang digunakan untuk client seperti pada tabel
berikut. Tabel 3.3Tabel Spesifikasi Client Processor Intel Core i5-460M @ 2.53GHz x4 RAM
4 GB DDR3 SoDIMM
NIC
1 Gigabit Ethernet
HDD
640 GB WD Blue 27 GB EXT4 file system 1 GB swap
Sistem operasi
Ubuntu 14.04 LTS
Pada komputer client, akan diinstal aplikasi Pytbull yang digunaknan untuk melakukan pengujian terhadap IDS.
41
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
3.5.
Web-Server Web-server yang digunakan adalah apache2 yang akan terinstall pada
komputer dengan spesifikasi sebagai berikut : Tabel 3.4Tabel Spesifikasi web server Processors Intel Core2solo RAM
2 GB DDR3 SoDIMM
NIC
1 Gigabit Ethernet
HDD
320 GB WD Blue 27 GB EXT4 file system 1 GB swap
Sistem Operasi
Ubuntu 12.04 32-bit
Pada web-server berisi file – file berbahaya yang dibutuhkan untuk melakukan pengujian pada IDS. File – file berbahaya ini akan digunakan untuk melakukan pengujian.
3.6.
Skenario Pengujian Skenario pengujian yang akan dilakukan dibagi menjadi empat skenario.
Skenario pengujian yang akan dijalankan adalah sebagai berikut :
42
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
1. Skenario pertama Pengujian terhadap kemampuan IDS dalam mendeteksi serangan testRules, BruteForce, evasion Techniques, dan Shellcodes dengan menggunakan rules awal atau bawaan dari IDS pada saat diinstal pertama kali (fresh install). 2. Skenario kedua Pengujian terhadap kemampuan IDS dalam mendeteksi serangan client side attacks, test rules, bad traffic, fragmented packets evasion techniques, brute force, denial of service, pcap replay, normal usage, dan shell codes.dengan menggunakan rules yang telah diperbaharui secara manual dan menggunakan rules asli yang belum dilakukan perubahan sama sekali (file rules diekstrak untuk kemudian langsung digunakan). Snort menggunakan rules dari http://snort.orgsedangkan Suricata menggunakan rules dari http://rules.emergingthreats.net/open . 3. Skenario tiga Pengujian terhadap kemampuan IDS dalam mendeteksi serangan client side attacks, test rules, bad traffic, fragmented packets evasion techniques, brute force, denial of service, pcap replay, normal usage, dan
shell
codes
dengan
menggunakan
rules
yang
diunduh
menggunakan tools Oinkmaster. Dengan menggunakan Oinkmaster ini file rules yang diunduh dengan menjalankan perintah sebagai berikut :
43
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
#oinkmaster –C /etc/oinkmaster.conf –r –e –o
Rules
yang
digunakan
oleh
Snort
berasal
dari
http://www.snort.orgsedangkan rules yang digunakan oleh Suricata berasal dari http://rules.emergingthreats.net/open. Pengujian yang dilakukan adalah dengan menjalankan pytbull dengan mengaktifkan sebelas modul pengujian pada setiap skenario. Masing – masing modul pengujian memiliki jumlah serangan sebagai berikut : Tabel 3.5Tabel jumlah serangan setiap modul Modul Jumlah Serangan clientSide
50
testRules
7
badTraffic
3
fragmentedPacket
4
multipleFailedLogin
1
evasionTechniques
15
shellCodes
14
denialOfService
3
pcapReplay
1
normalUsage
2
Jumlah
100
Pengujian dilakukan pada IDS Snort dan Suricata secara bergantian. Sebelum Pytbull dijalankan, terlebih dahulu jalankan script ReverseShell pada komputer IDS dengan menjalankan perintah : #sudo python pytbull-server.py
44
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Script tersebut digunakan oleh Pytbull untuk menjalankan pengujian untuk serangan Netcat Reverse Shell. 3.7.
Kehandalan Kriteria kehandalan IDS pada pengujian dengan menggunakan Pytbull
adalah dengan menampilkan jumlah serangan yang mampu dideteksi oleh IDS dari jumlah serangan total yang dilancarkan oleh Pytbull. Nilai kehandalan dari setiap percobaan serangan yang terdeteksi diberikan nilai poin 1 dan nilai poin 0 untuk percobaan serangan yang tidak terdeteksi. Nilai poin 0 = percobaan serangan yang tidak terdeteksi Nilai poin 1 = percobaan serangan yang terdeteksi Untuk nilai kehandala pada setiap IDS pada masing – masing skenario dilihat dari total jumlah nilai poin yang diperoleh dalam 1 skenario. Jumlah nilai poin maksimal adalah 100, diperoleh dari total jumlah percobaan serangan sebanyak 100 percobaan. Jadi IDS dengan nilai poin yang tinggi adalah IDS yang lebih banyak mendeteksi percobaan serangan yang diujikan. Total nilai poin = jumlah percobaan serangan terdeteksi
45
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB IV IMPLEMENTASI DAN ANALISIS
4.1.
Instalasi Ubuntu Pada komputer IDS dan Client akan diinstall sistem operasi Ubuntu 14.04
LTS dengan kernel linux versi 3.13.0-35-generic. Ubuntu yang telah terinstall kemudian dikoneksikan ke jaringan internet dengan alamat IP DHCP untuk menerima daftar pembaruan terlebih dahulu dengan mengetikkan perintah : #apt-get update Setelah update selesai, dilanjutkan dengan melakukan instalasi yang diperlukan FTP, apache2, dan SSH server dengan mengetikkan perintah : #apt-get install vsftpd apache2 openssh-server Pada file konfigurasi vsftpd yang berada di /etc/vsftpd.conf disarankan untuk merubah parameter sebagai berikut : # Allow anonymous FTP? (Disabled by default) anonymous_enable=NO # Uncomment this to allow local users to log in. local_enable=YES
Kemudian, install pembaruan system pada ubuntu dengan perintah sebagai berikut :
46
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
#apt-get update #apt-get dist-upgrade Setelah selesai, lakukan reboot pada komputer client dan IDS untuk menyelesaikan proses pembaruan system. Ubuntu sudah siap untuk digunakan 4.2.
Instalasi IDS 4.2.1. Instalasi Snort 1. Repository Ubuntu Instalasi Snort dengan mengunduh dari repository Ubuntu dapar dilakukan dengan langkah – langkah sebagai berikut : -
Buka terminal pada Ubuntu (Ctrl + Alt + t)
-
Ketikkan perintah „sudo su‟ untuk mendapatkan hak akses sebagai super user.
-
Lakukan
pembaharuan
pada
daftar
pembaharuan
dengan
mengetikkan perintah #apt-get update -
Install Snort #apt-get install snort
-
Jika muncul jendela konfigurasi maka diisi sesuai konfigurasi yang telah ditentukan.
-
Snort sudah terinstall
47
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
2. Menggunakan Binary Code -
Install paket yang dibutuhkan untuk melakukan compile pada Snort $ sudo apt-get update $ sudo apt-get install flex bison buildessential checkinstall libpcap-dev libnet1-dev libpcre3-dev libmysqlclient15dev libnetfilter-queue-dev iptables-dev
-
Unduh source code DAQ, Snort, dan Libdnet $ wget https://www.snort.org/downloads/snort/daq2.0.2.tar.gz $ wget https://www.snort.org/downloads/snort/snor t-2.9.6.2.tar.gz $ wget http://libdnet.googlecode.com/files/libdne t-1.12.tgz
-
Unzip, make, dan install Libdnet $ tar zxvf libdnet-1.12.tgz $ cd libdnet-1.12/ $ ./configure; make $ sudo checkinstall $ sudo dpkg -i libdnet_1.12-1_amd64.deb $ sudo ln -s /usr/local/lib/libdnet.1.0.1 /usr/lib/libdnet.1
Ketika mengetikkan perintah checkinstall akan muncul pesan sebagai berikut :
48
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
1. Should I Create a default set of package docs? Biasanya dipilih pilihan default, ketik y dan Enter 2. You
probably
don't
want
them
to
be
included in the package. Do you want me to list them? [n]: Ketik n dan Enter 3. Should I exclude them from the package? (Saying yes is a good idea) [n]: Ketik y dan Enter
Unzip, make and install DAQ $ $ $ $ $
tar xvfz daq-2.0.2.tar.gz cd daq-2.0.2 ./configure "CFLAGS=-fPIC"; make sudo checkinstall sudo dpkg -i daq_2.0.2-1_amd64.deb
Unzip, make and install Snort $ tar xvfz snort-2.9.6.2.tar.gz $ cd snort-2.9.6.2 $ ./configure --enable-sourcefire; make $ sudo checkinstall $ sudo dpkg -i snort_2.9.6.2-1_amd64.deb $ sudo ln -s /usr/local/bin/snort /usr/sbin/snort $ sudo ldconfig –v
49
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
4.2.2. Konfigurasi Snort Setelah Snort terinstall pada Ubuntu 14.04 LTS di komputer IDS, sesuaikan
file
konfigurasi
pada
snort.conf
yang
berada
di
/etc/snort/snort.conf dengan jaringan yang digunakan. Pada file snort.conf, lakukan perubahan pada beberapa bagian – bagian berikut dengan menjalankan baris perintah : #nano
instalasi
snort>/etc/snort/snort.conf … # Setup the network addresses you are protecting ipvar HOME_NET any # Set up the external network addresses. Leave as "any" in most situations ipvar EXTERNAL_NET any #ipvar EXTERNAL_NET !$HOME_NET … # Configure default log directory for snort to log to. For more information see snort -h command line options (-l) # config logdir: /var/log/snort/ …
Kemudian tekan ctrl+x dan kemudian y dan tekan enter untuk menyimpan file konfigurasi. Untuk keperluan pengujian ini, maka Snort akan menggunakan beberapa rules yang berbeda. Rules yang akan digunakan antara lain rules asli ketika menginstall Snort, rules yang telah diperbaharui yang berasal dari http://www.snort.org, rules yang telah diperbaharui namun sudah
50
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
mengalami perubahan pada file rules-nya baik yang berasal dari http://www.snort.org, dan satu rule yang sama persis dengan Suricata. Masing masing rules diletakkan pada folder rules yang berbeda agar mudah untuk dibedakan. Selain folder rules, file snort.conf juga dibuat menjadi beberapa file yang sedikit berbeda pada bagian lokasi dimana rules disimpan yang telah disesuaikan dengan pengujian. File konfigurasi tadi masing – masing diberi nama sebagai berikut : -
SnortORI.conf : untuk pengujian dengan menggunakan rules bawaan dari Snort.
-
snortSNORTupdate.conf : untuk pengujian dengan menggunakan rules yang diperbaharui secara manual dari http://www.snort.org
-
snortSNORTupdateMODIF.conf : untuk pengujian dengan rules yang berasal dari http://www.snort.orgnamun pembaharuan dilakukan dengan menggunakan Oinkmaster.
Setelah file tersimpan, lakukan pengetesan apakah terdapat masalah pada file konfigurasi dengan mengetikkan baris perintah standar pada snort : #snort -c /etc/snort/snortORI.conf -i eth0 -l /var/log/snort/ -k all Untuk bantuan pada snort dapat dengan mengetikkan baris perintah : #snort --help
51
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
4.2.3. Instalasi Suricata IDS Suricata akan diinstall pada komputer IDS. Untuk melakukan instalasi Suricata, pastikan komputer IDS tersambung dengan koneksi internet. Kemudian jalankan baris perintah sebagai berikut : #add-apt-repository ppa:oisf/suricata-stable #apt-get update #apt-get install suricata #apt-get update #apt-get upgrade
4.2.4. Konfigurasi Suricata Setelah suricata terinstall pada Ubuntu 14.04 LTS, sesuaikan file konfigurasi
pada
file
suricata.yaml
yang
berada
di
/etc/suricata/suricata.yaml dengan jaringan yang digunakan. Lakukan beberapa perubahan pada bagian – bagian berikut dengan menjalankan baris perintah : #nano /etc/suricata/suricata.yaml … # Configure the type of alert (and other) logging you would like. outputs: # a line based alerts log similar to Snort's fast.log - fast: enabled: yes filename: fast.log append: yes #filetype: regular # 'regular', 'unix_stream' or
52
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
'unix_dgram' … address-groups: HOME_NET: any EXTERNAL_NET: any … Kemudian tekan ctrl+x dan kemudian y dan tekan enter untuk menyimpan file konfigurasi. Rules yang digunakan oleh Suricata adalah rules yang diunduh ketika
melakukan
menggunakan
instalasi rules
awal
dan
yang
untuk
rules
diunduh
diperbaharui
dari
situs
http://www.emergingthreats.net/open. Rules yang telah diperbaharui tadi kemudian digandakan pada folder yang berbeda untuk melakukan pengujian dengan menggunakan rules yang sudah dilakukan perubahan. Pada file konfigurasi Suricata yaitu suricata.yaml juga digandakan menjadi empat bagian sebagai berikut : -
suricataORI.yaml : untuk melakukan pengujian dengan menggunakan rules Suricata pada saat instalasi awal.
-
suricataUPDATE.yaml
:
untuk
melakukan
pengujian
dengan
menggunakan rules yang diperbaharui secara manual. -
suricataUPDATEmodif.yaml : untuk melakukan pengujian dengan menggunakan rules yang diperbaharui menggunakan Oinkmaster.
53
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Setelah semua disesuaikan, lakukan pengecekan supaya Suricata dapat dijalankan dengan mengetikkan perintah berikut #suricata –c /etc/suricata/suricataORI.yaml – i eth0 –A full –l /var/log/suricata untuk bantuan pada suricata dapat menggunakan baris perintah : #suricata –help 4.3.
Pytbull 4.3.1. Instalasi Pytbull 4.3.1.1.Instalasi Standar (Client) 4.3.1.1.1.
Persiapan
Pastikan Python (2.6.5) dan dependensinya telah terinstall dengan mengetikkan perintah. $ sudo apt-get install python python-scapy pythonfeedparser python-cherrypy3 Install juga tools yang dibutuhkan (nmap, hping3, nikto, ab, … ). Dapat menggunakan perintah : $ sudo apt-get install nmap hping3 nikto tcpreplay apache2-utils Terakhir, install ncrack untuk modul bruteForce : $ wget http://nmap.org/ncrack/dist/ncrack0.4ALPHA.tar.gz $ tar -xzf ncrack-0.4ALPHA.tar.gz $ cd ncrack-0.4ALPHA $ ./configure 54
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
$ make # make install
4.3.1.1.2. Instalasi Pytbull dapat diunduh dengan format tar.bz2 yang merupakan versi stabil dengan menggunakan perintah : $ cd /usr/local/src/ $ wget https://downloads.sourceforge.net/project/pyt bull/pytbull-2.0.tar.bz2 $ bzip2 -cd pytbull-2.0.tar.bz2 | tar xf $ sudo mv pytbull/ /opt/ $ cd /opt/python/
Pytbull juga dapat diunduh dari Mercurial (development release). Jika ingin mendapatkan pengembangan terakhir, install Pytbull dari Mercurial dengan mernginstall Mercurial terlebih dahulu dengan mengetikkan perintah : $ sudo apt-get install mercurial $ cd /opt/ $ sudo hg clone http://pytbull.hg.sourceforge.net:8000/hgroot /pytbull/pytbull 4.3.1.2. Server 4.3.1.2.1.
Persiapan
Install Python (2.6.5), FTP server (port 21/tcp), apache2 (port 80/tcp), dan SSH (port 22/tcp) . $
sudo
apt-get
install
python
vsftpd
apache2 openssh-server
55
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
File konfigurasi vsftpd berada di /etc/vsftpd.conf. disarankan untuk setidaknya memiliki dua parameter berikut : # Allow anonymous FTP? (Disabled by default) anonymous_enable=NO # Uncomment this to allow local users to log in. local_enable=YES 4.3.1.2.2.
Pytbull (server)
Salin reverse shell dari folder server/ pada pytbull ke server yang terdapat IDS/IPS. Kemudian jalankan perintah berikut : $
sudo
python
/server/pytbull-
server.py Reverse Shell sendiri merupakan sebuah program yang menyediakan sebuah port yang siap digunkan oleh client untuk melakukan remote. 4.3.2. Menjalankan Pytbull Jika telah memilih modul clientSideAttack, perlu menjalankan reverse shell pada server dengan menjalankan perintah berikut $ ./pytbull-server.py -p 34567
Sejak file diunduh di direktori saat ini, dapat juga dibuat folder /pdf dan memulai dari direktori induk. $ mkdir pdf/ $ cd pdf/ $ ../pytbull-server.py -p 34567
Jalankan Pytbull (yang berada di sisi client). Sebagai contoh untuk memulai Pytbull tess ke 192.168.100.48, yang menjalankan Snort.
56
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
$ sudo ./pytbull -t 192.168.100.48
Sebagai catatan anda perlu melakukan adaptasi atau perubahan (file config.cfg) pada port yang digunakan untuk menjalankan reverse shell jika anda menggunakan parameter optional –ppada sisi remote. Secara umum, reverse shell bekerja sebagai berikut : 1. Client (yang menjalankan Pytbull client) mengirim instruksi ke server (yang menjalankan reverse shell) untuk mengunduh file PDF yang berbahaya. 2. Server mengunduh file berbahaya menggunakan perintah wget dari pihak ketiga (server di internet, yang memasang file berbahaya). Itu akan memicu alert. (Snort atau Suricata). 3. Alert tersebut akan dikumpulkan oleh client melalui FTP.
Gambar 4.1 Reverse Shell
57
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
4.3.3. Konfigurasi Pytbull Pada komputer client dengan sistem operasi Ubuntu 14.04 yang telah terinstall Pytbull, diperlukan beberapa konfigurasi. Pada file konfigurasi Pytbull dialkukan beberapa perubahan agar Pytbull dapat melakukan pengujian terhadap IDS.
Berikut
adalah
isi
konfigurasi
file
Pytbull
yang
berada
di
/opt/Pytbull/conf/config.cfg : [CLIENT] ipaddr pytbull client iface useproxy proxyhost proxyport proxyuser proxypass
= 192.168.1.100 #alamat IP = eth0 = 0 = = = =
[PATHS] db = data/pytbull.db urlpdf = http://192.168.1.100/TESTFILE pdfdir = pdf/malicious pcapdir = pcap tempfile = /tmp/pytbull.tmp alertsfile = /var/log/snort/alert #log pada snort #alertsfile = /var/log/suricata/fast.log #log pada suricata [ENV] sudo nmap nikto niktoconf hping3 tcpreplay ab ping ncrack ncrackusers ncrackpasswords
= = = = = = = = = = =
/usr/bin/sudo /usr/bin/nmap /usr/bin/nikto /etc/nikto/config.txt /usr/sbin/hping3 /usr/bin/tcpreplay /usr/bin/ab /bin/ping /usr/local/bin/ncrack data/ncrack-users.txt data/ncrack-
58
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
passwords.txt localhost
= 127.0.0.1
[FTP] ftpproto ftpport ftpuser ftppasswd
= = = =
ftp 21 q 1
[TIMING] sleepbeforegetalerts sleepbeforenexttest sleepbeforetwoftp urltimeout
= = = =
2 1 2 5
[SERVER] reverseshellport
= 12345
[TESTS] clientSideAttacks testRules badTraffic fragmentedPackets bruteForce evasionTechniques shellCodes denialOfService pcapReplay normalUsage ipReputation
= = = = = = = = = = =
[TESTS_PARAMS] ipreputationnbtests
4.4.
1 1 1 1 1 1 1 1 1 1 0
= 10
Pemilihan Modul Pengujian Pytbull
Modul pengujian yang dipilih dan akan digunakan untuk melakukan serangan pada Snort dan Suricata ini mewakili dari kesimpulan yang dibuat pada laporan yang disusun oleh “Verizon Business Risk Team”. Dari laporan tersebut dapat disimpulkan limabelas teratas serangan terhadap celah keamanan, yaitu :
59
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
-
Keylogging dan spyware Merupakan malware yang secara spesifik didesain secara diam – diam untuk mengumpulkan, memantau dan melakukan pencatatan apa saja yang dilakukan oleh pengguna sistem.
-
Backdoor dan command / control Adalah tools yang menyediakan remote akses atau mengendalikan sistem yang terinfeksi atau bahkan keduanya dan didesain untuk berjalan diam –diam.
-
SQL injection Teknik serangan yang diguanaan untuk mengeksploitasi bagaimana halaman web berkomunikasi dengan back-end database.
-
Penyalahgunaan sistem akses Secara sengaja menyalahgunakan sumberdaya, akses maupun hak istimewa yang diberikan kepada salah seorang dalam sebuah organisaasi.
-
Akses yang tidak diijinkan melalui informasi default Merupakan suatu hal diamana penyerang mendapatkan akses ke dalam sistem atu perangakat yang dilindungi dengan perlindungan standar (yang dikenal dengan) username dan password.
-
Pelanggaran terhadap penggunakan yang telah disetujui dan peraturan lain 60
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Secara kebetulan atau sengaja bertujuan melanggar aturan yang telah disepakati. -
Akses illegal melalui kelemahan ataukesalahan seting access control lists (ACLs) Ketika ACLs lemah atau salah konfigurasi, penyerang dapat mengakses sumber daya dan menjalankan aksinya secara terang terangan.
-
Packet sniffer Memonitor dan mengcapture data yang melalui jaringan
-
Pengaksesan secara illegal melalui informasi yang dicuri Penyerang memperoleh akses ke sistem terlindungi mengunakan data yang valid tapi merupakan hasil curian.
-
Pretexting atau social engineering Teknik dimana penyerang menjalankan skenario untuk membujuk, memanipulasi, atau menipu korban dalam menjalankan aksinya atau menggali informasi.
-
Membypass otentikasi Menghindari otentikasi normal untuk mendapatkan akses ke dalam sistem secara illegal.
61
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
-
Pencuriat asset secara fisik Pencurian asset secara fisik.
-
Brute-force attack Proses secara otomatis dengan mencoba memasukkan kombinasi username dan password sampai berhasil.
-
RAM scrapper Merupakan bentuk baru dari malware yang didesain untuk menangkap data dari RAM pada sistem. Phishing (dan variasi “ishing” lainnya) Adalah salah satu teknik social engineering dimana penyerang menggunakan komunikasi elektronik (email) untuk mendapatkan informasi penerima pesan
Pada Pytbull telah tersedia ____ pengujian yang terbagi ke dalam sembilan modul yang dapat dijalankan. Modul yang digunakan dalam pengujian adalah sebagai berikut : -
Client Side Attack
-
TestRules
-
Bad Traffic (non RFC compliant)
-
Fragmented Packets
62
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
-
Multiple Failed Logins/brute force
-
Evasion techniques
-
Malware dan Virus
-
Shellcode
-
Denial of Service
-
Normal Usage
Tabel berikut adalah daftar serangan yang akan digunakan dalam pengujian IDS Snort dan Suricata : Tabel 4.1 Tabel daftar serangan yang dilakukan oleh Pytbull #
Description
Module
Port
Payload fmt
1
doc1
clientSideAttacks
wget
2
doc2
clientSideAttacks
wget
3
file
clientSideAttacks
wget
4
pdf1
clientSideAttacks
wget
5
pdf2
clientSideAttacks
wget
6
pdf3
clientSideAttacks
wget
7
pdf4
clientSideAttacks
wget
8
pdf5
clientSideAttacks
wget
9
pdf6
clientSideAttacks
wget
10
pdf7
clientSideAttacks
wget
11
pdf8
clientSideAttacks
wget
12
pdf9
clientSideAttacks
wget
13
pdf10
clientSideAttacks
wget
14
pdf11
clientSideAttacks
wget
15
pdf12
clientSideAttacks
wget
16
pdf13
clientSideAttacks
wget
17
pdf14
clientSideAttacks
wget
63
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
18
pdf15
clientSideAttacks
wget
19
pdf16
clientSideAttacks
wget
20
pdf17
clientSideAttacks
wget
21
pdf18
clientSideAttacks
wget
22
pdf19
clientSideAttacks
wget
23
pdf20
clientSideAttacks
wget
24
pdf21
clientSideAttacks
wget
25
pdf22
clientSideAttacks
wget
26
pdf23
clientSideAttacks
wget
27
pdf24
clientSideAttacks
wget
28
pdf25
clientSideAttacks
wget
29
pdf26
clientSideAttacks
wget
30
pdf27
clientSideAttacks
wget
31
pdf28
clientSideAttacks
wget
32
pdf29
clientSideAttacks
wget
33
pdf30
clientSideAttacks
wget
34
pdf31
clientSideAttacks
wget
35
pdf32
clientSideAttacks
wget
36
pdf33
clientSideAttacks
wget
37
pdf34
clientSideAttacks
wget
38
pdf35
clientSideAttacks
wget
39
pdf36
clientSideAttacks
wget
40
pdf37
clientSideAttacks
wget
41
pdf38
clientSideAttacks
wget
42
pdf39
clientSideAttacks
wget
43
ppt
clientSideAttacks
wget
44
swf1
clientSideAttacks
wget
45
swf2
clientSideAttacks
wget
46
xls1
clientSideAttacks
wget
47
xls2
clientSideAttacks
wget
48
xls3
clientSideAttacks
wget
49
xls4
clientSideAttacks
wget
50
xls5
clientSideAttacks
wget
64
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
51
Simple LFI
testRules
80/tcp
socket
52
LFI using NULL byte
testRules
80/tcp
socket
53
Full SYN Scan
testRules
command
54
Full Connect() Scan
testRules
command
55
SQL Injection
testRules
80/tcp
socket
56
Netcat Reverse Shell
testRules
22/tcp
socket
57
Nikto Scan
testRules
command
58
Nmap Xmas scan
badTraffic
command
59
Malformed Traffic
badTraffic
scapy
60
Land Attack
badTraffic
scapy
61
Ping of death
fragmentedPackets
scapy
62
Nestea Attack 1/3
fragmentedPackets
scapy
63
Nestea Attack 2/3
fragmentedPackets
scapy
64
Nestea Attack 3/3
fragmentedPackets
scapy
65
Multiple failed logins against FTP with ncrack
bruteForce
command
66
Nmap decoy test (6th position)
evasionTechniques
command
67
Nmap decoy test (7th position)
evasionTechniques
command
68
Hex encoding
evasionTechniques 80/tcp
socket
69
Nmap scan with fragmentation
evasionTechniques
command
70
Nikto Random URI encoding
evasionTechniques
command
71
Nikto Directory self reference
evasionTechniques
command
72
Nikto Premature URL ending
evasionTechniques
command
73
Nikto Prepend long random string
evasionTechniques
command
74
Nikto Fake parameter
evasionTechniques
command
75
Nikto TAB as request spacer
evasionTechniques
command
76
Nikto Change the case of the URL
evasionTechniques
command
77
Nikto Windows directory separator
evasionTechniques
command
78
Nikto Carriage return as request spacer
evasionTechniques
command
79
Nikto Binary value as request spacer
evasionTechniques
command
65
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
80
Javascript Obfuscation
evasionTechniques 80/tcp
socket
81
SHELLCODE ** sparc setuid 0
shellCodes
21/tcp
socket
82
SHELLCODE x86 setgid
shellCodes
21/tcp
socket
83
SHELLCODE IRIX SGI + NOOP
shellCodes
21/tcp
socket
84
SHELLCODE x86 setgid 0 && SHELLCODE x86 setuid 0
shellCodes
21/tcp
socket
85
OVERFLOW attempt
shellCodes
21/tcp
socket
86
SHELLCODE x86 setuid 0
shellCodes
21/tcp
socket
87
win32_bind_dllinject EXITFUNC=seh DLL=c:\ LPORT=4444 Size=312 Encoder=PexFnstenvSub
shellCodes
21/tcp
socket
88
win32_bind_dllinject EXITFUNC=seh DLL=c:\ LPORT=4444 Size=312 Encoder=Pex
shellCodes
21/tcp
socket
89
win32_bind - EXITFUNC=seh LPORT=4444 Size=709 Encoder=PexAlphaNum
shellCodes
21/tcp
socket
90
db "cmd.exe /c net user USERNAME PASSWORD /ADD && net localgroup Administrators /ADD USERNAMEN"
shellCodes
21/tcp
socket
91
Cisco: Creates a new VTY, shellCodes allocates a password then sets the privilege level to 15
21/tcp
socket
92
Rothenburg Shellcode
shellCodes
21/tcp
socket
93
Schauenburg Shellcode
shellCodes
21/tcp
socket
94
Mainz/Bielefeld Shellcode
shellCodes
21/tcp
socket
95
DoS against MSSQL
denialOfService
scapy
96
ApacheBench DoS
denialOfService
command
97
hping SYN flood
denialOfService
command
98
slammer worm
pcapReplay
pcap
99
ApacheBench 10 requests
normalUsage
command
normalUsage
command
100 Standard ping
66
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
4.5.
Instalasi web server Pada komputer web server, perlu dilakukan instalasi apache2 agar dapat
menyediakan layanan web yang nantinya digunakan untuk melakukan pengujian dengan menjalankan baris perintah : #apt-get install apache2 Komputer web server dapat diganti dengan mengunggah file pengujian ke web hosting yang berada di internet, namun karena keterbatasan koneksi yang dimiliki maka menggunakan web server yang tidak terhubung dengan internet. File yang digunakan untuk pengujian, disalin ke direktori /var/www/ . Lakukan konfigurasi alamat IP pada komputer web server menggunakan alamat IP 192.168.0.10/24.
4.6.
Instalasi Oinkmaster Oinkmaster adalah sebuah tools yang dapat digunakan untuk mengunduh
dan memodifikasi rules yang berasal dari internet, jaringan local maupun dari file local. Oinkmaster akan menggunakan file berekstensi “tar.gz” untuk di ekstrak kemudian dilakukan modifikasi pada file yang diekstrak tersebut sesuai perintah yang telah dibuat pada file konfigurasi Oinkmaster. Untuk menjalankan Oinkmaster dapat menggunakan perintah sebagai berikut :
67
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
#oinkmaster –C [option] –o Contoh : #oinkmaster –C /etc/oinkmaster.conf –r –e -v –o /etc/snort/rules Untuk bantuan dalam menggunakan Oinkmaster dapat mengetikkan perintah #oinkmaster -h 4.7.
Hasil Pengujian Setelah pengujian selesai, Pytbull akan mengaktifkan web server pytbull
yang menampilkan hasil pengujian dalam antarmuka halaman web dengan alamat http://127.0.0.1:8080. Pengguna harus membuka alamat tersebut pada komputer client dengan menggunakan peramban yang tersedia pada komputer client. Setelah alamat tersebut dibuka, maka Pytbull akan menampilkan hasil pengujian yang akan ditampilkan dalam bentuk grafik pada tab stats dan akan menampilkan hasil yang lebih detail pada tab details. Pengguna juga dapat melakukan pencarian atau hanya menampilkan hasil pengujian yang diinginkan dengan menggunakan tab search pada laman web Pytbull dan menentukan apa yang ingin ditampilkan. Selain menampilkan grafik status pengujian, Pytbull akan menampilkan detail dari setiap hasil tes yang dijalankan dalam bentuk tabel dengan menampilkan data alert yang dipicu oleh setiap tes yang dijalankan. Selain menampilkan alert, pada tabel juga menampilkan hasil pengujian dengan
68
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
menampilkan indikator warna sama dengan pada halaman status yaitu merah, kuning, atau hijau untuk setiap tes yang dijalankan. Untuk beberapa tes yang dijalankan, Pytbull juga dapat tidak menampilkan hasil pengujian karena IDS tidak menghasilkan alert pada tes tersebut, tes tersebut tidak mengancam, atau tes tersebut sudah sudah diketahui oleh IDS bukan sebagai ancaman.
Gambar 4.2 Pytbull details Dari tampilan detail setiap serangan yang dilakukan oleh Pytbull, data yang ditampilkan kemudian dianalisa dan ditampilkan ke dalam bentuk grafik sebagai berikut :
69
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Jumlah Serangan Terdeteksi
16 14 12 10 8 6 4
Snort
2
Suricata
0
Modul Pengujian
Gambar 4.3Grafik Hasil pengujian
Snort Suricata
13:40.800 13:49.440 13:58.080 14:06.720 14:15.360 14:24.000 14:32.640 Waktu Pengujian (menit)
Gambar 4.4 Grafik waktu pengujian
70
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
4.8.
Analisa Pengujian 4.8.1. Skenario 1 Hasil pengujian pada Skenario 1 menunjukkan hasil seperti pada grafik
berikut :
Jumlah Serangan Terdeteksi
16 14 12 10 8 6 4
Snort
2
Suricata
0
Modul Pengujian
Gambar 4.5Grafik hasil pengujian Skenario 1
Dari grafik hasil pengujian diperoleh hasil bahwa pada Snort dan Suricata dapat mendeteksi adanya percobaan serangan client side. Suricata dapat mendeteksi secara tepat 4 pola serangan yang dilancarkan pada modul serangan client side ini sedangkan Snort hanya dapat mendeteksi 1 pola serangan. Serangan yang berhasil dideteksi oleh Suricata dan Snort adalah serangan yang tersembunyi dalam file yang diunduh oleh IDS. Suricata mendeteksi adanya empat file yang
71
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
terdeteksi merupakan ancaman pada file pdf7, pdf9, pdf14, dan pdf39, sedangkan Snort hanya mendeteksi ancaman pada file pdf12. Suricata mendeteksi adanya ancaman bahwa terdapat file yang tersembunyi pada file pdf7, adanya perintah untuk melakukan PING pada IRC yang terdapat pada file pdf9, pada file pdf14 mendeteksi adanya kemungkinan percobaan serangan Shellcode 0x0c0c0c0c Heap Spray, dan adanya file PDF dengan fungsi penilaian yang kemungkinan berbahaya. Sementara Snort mendeksi adanya sambungan tcp pada SSL yang buruk pada file PDF12.
Pada modul testRules, Snort mampu mendeteksi dua serangan lebih banyak dari Suricata yang hanya mampu mendeteksi empat serangan pada modul testRules. Suricata tidak dapat mendeteksi adanya serangan pada serangan Simple LFI dan LFI using NULL byte dan hanya mendeteksi bahwa Firefox yang digunakan adalah palsu atau tidak didukung, namun Snort dapat mendeteksinya sebagai serangan yang mencoba untuk memperoleh informasi password yang berada pada direktori /etc/passwd/ . Suricata juga tidak mampu mendeteksi adanya serangan Netcat Reverse Shell, namun Snort dapat mendeteksinya. Snort tidak dapat mendeteksi adanya serangan SQL Injection yang dilancarkan namun Suricata dapat mendeteksinya dengan baik.
Modul serangan bad Traffic terdiri dari tiga uji coba serangan yaitu Nmap Xmas scan, malformed traffic, dan Land Attack. Dari ketiga serangan
72
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
tersebut,Suricata hanya dapat mendeteksi adanya malformed traffic dimana IP yang digunakan adalah versi 3. Snort dapat mendeteksi adanya dua serangan yang dilancarkan yaitu pada modul Nmap Xmas Scan dan Land Attack.
Pada modul fragmentedPacket, Snort mendeteksi adanya perintah PING dengan paket yang besar pada Serangan Ping of death, sementara pada modul serangan Nestea Attack 1/3, 2/3, dan 3/3 tidak mendeteksi adanya serangan. Suricata hanya mampu mendeteksi serangan pada Nestea Attack 3/3 dengan mendeteksi adanya pemecahan paket (fragmentasi) yang saling tumpang tindih.
Pada modul pengujian multipleFailedLogin, Snort dan Suricata dapat mendeteksi adanya percobaan untuk mengakses servis vsftpd oleh pihak luar dengan cara memasukkan kombinasi username dan password secara terus menerus.
Pada modul pengujian evasionTechniques yang terdiri dari 15 serangan dimana 13 serangan yang digunakan menggunakan tools bernama nikto. Snort dan Suricata tidak dapat mendeteksi serangan Hexd encoding dimana Snort mendeteksinya hanya sebagai bad traffic, sementara Suricata hanya mendeteksi bahwa Firefox yang digunakan adalah palsu atau tidak didukung. Snort juga tidak dapat mendeteksi pada serangan JAvascript Obfuscation.
73
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Pada modul pengujian shellcodes yang terdiri dari 14 serangan, Snort dapat mendeteksi 4 serangan shellcodes yaitu pada shellcode ** sparc setuid 0,shellcode x86 setgid, shellcode x86 setgid 0 && shellcode x86 setuid 0, dan shellcode x86 setuid 0. Sedangkan pada seranganshellcodes lainnya, Snort mendeteksi adanya serangan shellcode namun tidak sesuai dengan serangan yang dilancarkan (missdetection) . Suricata hanya dapat mendeteksi 3 3 serangan shellcode
yaitu
pada
0,win32_bind_dllinject
shellcode -
**
sparc
EXITFUNC=seh
setuid DLL=c:\
LPORT=4444 Size=312 Encoder=PexFnstenvSub, dan Rothenburg Shellcodes. Suricata mendeteksi adanya serangan rothenburg shellcodes pada serangan
win32_bind_dllinject
LPORT=4444
Size=312
-
EXITFUNC=seh
Encoder=PexFnstenvSub
DLL=c:\ dikarenakan
terdapat pola shellcodes yang sama dengan pola Rothenburg shellcodes.
Pada modul denialOfService dan pcapReplay, Snort tidak mendeteksi serangan yang dilancarkan, sementara Suricata mendeteksi serangan DoS against MSSQL pada modul denialOfService dimana serangan ditujukan ke servis MSSQL pada port 1433, dan file pcap berisi Slammer Worm berhasil dideteksi oleh Suricata.
Snort dan Suricata keduanya dapat mendeteksi Standard ping pada modul pengujian normalUsage.
74
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Pada skenario 1 ini Snort menggunakan rules dari versi yang sudah dibilang out-dated sedangkan Suricata menggunakan rules terbaru yang langsung diunduh ketika proses instalasi. Meskipun masih terlihat bahwa pada beberapa modul pengujian Snort dapat mendeteksi sedikit lebih banyak daripada Suricata. Snort dapat unggul pada modul pengujian testRules, badTraffic,dan shellCodes. Sedangkan Suricata unggul pada modul pengujian clientSide, evasionTechniques, denialOfService dan pcapReplay. Dari analisa diperoleh informasi bahwa jumlah percobaan serangan terbanyak yang dapat dideteksi adalah pada modul evasionTechniques, dimana pada evasionTechniques ini 10 dari 15 percobaan serangan dilakukan dengan menggunakan tools Nikto. Nikto ini merupakan suatu tools yang digunakan untuk melakukan pemindain celah keamanan pada web server.
Tabel 4.2 Tabel hasil pengujian Skenario 1 Snort clientSide testRules badTraffic fragmentedPacket multipleFailedLogin evasionTechniques shellCodes denialOfService pcapReplay normalUsage Jumlah
1 6 2 1 1 13 4 0 0 1 29
Suricata 4 4 1 1 1 14 3 1 1 1 31
75
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Dari penjumlahan 10 modul pengujian pada masing – masing IDS, Suricata dapat mendeteksi 31 percobaan serangan dari 100 percobaan serangan, sedangkan Snort dapat mendeteksi 29 percobaan serangan dari 100 percobaan serangan. Dari hasil skenario 1 ini, Suricata sedikit lebih unggul daripada Snort.
Snort Suricata
13:40.800 13:49.440 13:58.080 14:06.720 14:15.360 14:24.000 14:32.640 Waktu Pengujian (menit)
Gambar 4.6 Grafik waktu pengujian Skenario 1
Dari hasil waktu rata – rata pengujian pada skenario 1, diperoleh hasil bahwa Suricata memerlukan waktu selama 14 menit 25,399 detik untuk menyelesaikan pengujian skenario 1. Sedangkan snort hanya membutuhkan waktu rata – rata selama 13 menit 57,075 detik dalam untuk menyelesaikan pengujian pada skenario 1. Dengan selisih waktu yang mendekati 27 detik, Snort mampu unggul dengan waktu pendeteksian yang lebih baik.
76
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
4.8.2. Skenario 2
Jumlah Serangan Terdeteksi
30 25 20 15 10
Snort 5
Suricata
0
Modul Pengujian
Gambar 4.7 Grafik hasil pengujian Skenario 2
Hasil pengujian pada skenario 2 dapat dilihat pada grafik diatas, dimana pengujian dilakukan pada IDS yaitu Suricata, dan Snort. Pada skenario 2 ini, pembaharuan rules dilakukan dengan cara mengunduh pembaharuan rules dari laman web http://snort.org untuk Snort, dan http://emergingthreats.net/open untuk Suricata. Pembaharuan yang diunduh terkompresi dalam file arsip berekstensi tar.gz . Arsip unduhan tadi, untuk kemudian diekstrak ke direktori rules yang akan digunakan oleh Snort dan Suricata. Jadi pembaharuan pada skenario 2 ini hanya sebatas unduh, ekstrak, dan kemudian dipakai tanpa dilakukan perubahan pada file rules maupun baris alert pada file rules.
77
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Pada modul pengujian clientSide, Snort dan Suricata dapat mendeteksi serangan pada modul clientSide ini. Pada modul pengujian clientSide ini, Snort dapat mendeteksi 25 file yang mencurigakan yang diunduh. Dua puluh lima file tersebut memicu alert “SDF Combination Alert” yang berarti adanya kemungkinan beberapa data sensitif yang terdapat pada file tersebut yang dikirimkan melalui jaringan. Suricata hanya mendeteksi 2 file mencurigakan yaitu pada pdf7 dan pdf14. Pada modul pengujian testRules, Suricata unggul dengan mendeteksi 3 serangansedangkan Snort hanya dapat mendeteksi 1 serangan. Suricata mendeteksi dua serangan pada uji serangan SQL Injection dan Nikto Scan, sedangkan pada Snort hanya mendeteksi pada uji serangan Nikto Reverse Shell. Pengujian pada modul badTraffic hanya dapat dideteksi oleh Suricata tetapi hanya satu serangan pada modul badTraffic yang terdeteksi yaitu pada serangan malformed traffic yang memicu munculnya alert pada Suricata dengan keterangan versi IP yang digunakan salah. Alert yang muncul adalah sebagai berikut [**]
[1:2200011:1]
version [**]
SURICATA
IPv4
wrong
IP
[Classification: (null)] [Priority:
3] [**] [Raw pkt: BC 5F F4 56 DF AB 60 EB 69 0E B8 C7 08 00 32 00 00 1C 00 01 00 00 40 01 09 C7 C0 A8 01 64 C0 A8 ]
78
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Snort pada modul fragmentedPacket dapata mendeteksi dua serangan, sedangkan Suricata dapat mendeteksi satu serangan. Pada Snort yang terdeteksi adalah serangan Nestea Attack 1/3 dan Netstea Attack 3/3. SnortET hanya pada serangan Nestea Attack 1/3 dan Suricata hanya mendeteksi pada Nestea Attack 3/3. Pada modul pengujian bruteForce dimana serangan dilakukan dengan melakukan ujicoba login secara paksa terhadap servis FTP dengan menggunakan kombinasi username dan password yang salah berulang kali, Suricata dapat mendeteksi. Snort ternyata tidak mendeteksi adanya upaya login secara paksa tersebut. Suricata pada modul pengujian evasionTechniques dapat mendeteksi 14 percobaan serangan dari 15 percobaan serangan dan hanya tidak mendeteksi pada percobaan serangan Hex Encoding. Snort sendiri ternyata pada modul evasionTechniques ini hanya dapat mendeteksi 3 dari 15 percobaan serangan, yaitu dengan hanya mendeteksi percobaan serangan Nmap decoy test (6th position), Nmap decoy test (7th position), dan Nmap scan with fragmentation. Pada modul pengujian shellCodes, Suricata dapat mendeteksi dan mengidentifikasi 3 serangan shellcodes yaitu SHELLCODE setuid 0, win32_bind_dllinject -
**
sparc
EXITFUNC=seh DLL=c:\
LPORT=4444 Size=312 Encoder=PexFnstenvSub, dan Rothenburg Shellcode. Sedangkan Snort hanya mendeteksi serangan shellcodes sebagai
79
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
perintah TELNET pada kanal perintah FTP dan tidak dapat mengidentifikasi termasuk serangan shellcode yang mana. Pada modul pengujian denialOfService, ketiga IDS yaitu Suricata dan Snort dapat mendeteksi satu pola serangan. Pola serangan yang terdeteksi adalah pada serangan DoS pada MSSQL yaitu pada port 1433. Ketiga IDS mendeteksi adanya PING dengan kapasitas yang besar tehadap port 1433 pada IDS. File slammer_rw.pcap yang dikirimkan pada modul pcap replay, hanya dapat terdeteksi oleh Suricata, sedangkan Snort tidak dapat mendeteksinya. Pada modul normalUsage, Suricata dapat mendeteksi adanya standard PING, sedangkan pada Snort tidak dapat mendeteksinya,, Pada skenario 2 ini, hasil pengujian yang diperoleh pada Snort mengalami penurunan pendeteksian terutama pada modul pengujian shellcodes dan evasion techniques dimana pada shellcodes Snort hanya mendeteksinya sebagai perintah TELNET, sedangkan pada modul evasion tedchniques hanya dapat mendeteksi 3 dari 15 serangan. Sementara pada beberapa modul Suricata. Penurunan jumlah serangan yang terdeteksi oleh Snort diakibatkan oleh banyaknya baris alert pada file rules yang digunakan oleh Snort tidak diaktifkan. Sedangkan pada Suricata penurunan yang tidak terlalu banyak juga diakibatkan karena terdapat beberapa baris alert yang berhubungan dengan percobaan serangan yang dilancarkan oleh Pytbull tidak diaktifkan ketika menggunakan file rules yang diperbaharui.
80
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Tabel 4.3 Tabel hasil pengujian skenario 2 Snort clientSide 25 testRules 1 badTraffic 0 fragmentedPacket 2 multipleFailedLogin 0 evasionTechniques 3 shellCodes 0 denialOfService 1 pcapReplay 0 normalUsage 0 Jumlah 32
Suricata 2 3 1 1 1 14 3 1 1 1 28
Dari hasil pengujian pada skenario 2 ini, Snort lebih unggul daripada Suricata dalam mendeteksi serangan clientSide dimana Snort dapat mendeteksi 25 percobaan serangan sedangkan Suricata dapat mendeteksi 2 percobaan serangan. Sedangkan Suricata hanya dapat mendeteksi 28 dari 100 percobaan serangan, Suricata lebih unggul daripada Snort dalam mendeteksi 9 modul lainnya.
81
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Snort Suricata
12:23.04012:40.32012:57.60013:14.88013:32.16013:49.44014:06.72014:24.000 Waktu Pengujian (menit)
Gambar 4.8Grafik waktu pengujian Skenario 2
Waktu yang diperlukan untuk menyelesaikan 1 kali pengujian pada skenario 2 ini , waktu rata – rata tercepat diperoleh Suricata dengan waktu 13 menit 4 detik sedangkan Snort menyelesaikan pengujian dengan selisih waktu mencapai 1 menit 4 detik dari Suricata. Dengan jumlah pendeteksian yang lebih banyak, Snort lebih baik daripada Suricata. Akan tetapi jika dilihat secara keseluruhan, Suricata dapat mendeteksi adanya percobaan serangan dari 10 modul pengujian yang diujikan dengan waktu yang lebih cepat daripada Snort.
82
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
4.8.3. Skenario 3
Jumlah Serangan Terdeteksi
30 25 20 15 10
Snort Suricata
5 0
Modul Pengujian
Gambar 4.9Grafik hasil pengujian Skenario 3
Pada pengujian skenario 3 dengan menggunakan rules yang telah diperbaharui menggunakan Oinkmaster dengan pilihan untuk mengaktifkan semua baris alert pada file rules menunjukkan hasil sebagai berikut. Pada modul clientSide Snort dapat mendeteksi 27 file mencurigakan sedangkan Suricata jauh tertinggal dengan mendeteksi 10 file saja. File mencurigakan tersebut antara lain adanya hex obfuscation, mengunduh file installer pada windows berekstensi MSI, maupun serangan shellcodes.
83
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Pada modul pengujian testRules, Suricata dan Snort dapat mendeteksi 7 uji coba serangan. Suricata pada modul pengujian badTraffic dapat mendeteksi 3 pecobaan serangan, sedangkan Snort hanya 1 serangan saja. Pada Snort hanya dapat mendeteksi pada percobaan serangan NMAP Xmas Scan tetapi tidak mendeteksi percobaan serangan Maformed Traffic dan Land Attack. Pada modul pengujian fragmentedPackets, Suricata hanya mendeteksi 2 dari 4 percobaan serangan, sedangkan Snort dapat mendeteksi 3 dari 4 percobaan serangan.
Percobaan
serangan
Nestea
Attack
2/3
dengan
muatan
send(IP(dst="192.168.1.101", id=42, frag=48)/("X"*116), verbose=0) tidak dapat dideteksi oleh kedua IDS, sedangkan percobaan serangan Ping of Death dapat dideteksi oleh kedua IDS. Snort dapat mendeteksi adanya percobaan serangan Nestea Attack 1/3. Snort dan Suricata dapat mendeteksi percobaan serangan Nestea Attack 3/3. Pada percobaan serangan untuk multiple Failed Login, kedua IDS dapat mendeteksi adanya usaha untuk memperoleh hak akses ke komputer target secara paksa. Pada modul pengujian evasionTechniques, Suricata dan Snort dapat mendeteksi jumlah percobaan serangan yang sama yaitu 14 dari 15 percobaan serangan. Pada Suricata taidak dapat mendeteksi adanya percobaan serangan Hex Encoding yang dilancarkan dan hanya mendeteksi bahwa firefox tidak didukung.
84
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Sedangkan Snort tidak dapat mendeteksi percobaan serangan Javascript Obfuscation. Pada modul serangan Shellcodes, Suricata dapat mendeteksi 10 dari 14 percobaan serangan sedangkan Snort dapat mendeteksi 8 dari 14 percobaan serangan. Kedua IDS tidak dapat mendeteksi percobaan serangan SHELLCODE IRIX SGI + NOOP, OVERFLOW attempt, danCisco: Creates a new VTY, allocates a password then sets the privilege level
to
1.
Mainz/Bielefeld
Snort
dan
Suricata
Shellcode
juga
tidak
dapat
mendeteksi
. Snort juga tidak dapat mendeteksi
percobaan serangan db "cmd.exe /c net user USERNAME PASSWORD /ADD && net localgroup Administrators /ADD USERNAMEN". Pada modul pengujian denialOfService, kedua IDS hanya mendeteksi adanya ancaman pada percobaan serangan DoS against MSSQL. Sedangkan pada percobaan serangan ApacheBench DoS dan hping SYN flood ketiganya tidak dapat mendeteksi adanya ancaman. Modul pengujian pcapReplay, Suricata dapat mendeteksi adanya file pcap bermuatan slammer worm, sedangkan pada Snort tidak terdeteksi isi muatan pada file pcap tersebut. Ada kemungkinan bahwa Snort tidak dapat mendeteksi file pcap yang telah terinfeksi atau tidak dapat mendeteksi slammer worm itu sendiri. Pada modul pengujian normalUsage, kedua IDS dapat mendeteksi pada percobaan serangan Standard Ping yang berisi perintah /bin/ping -c 1
85
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
192.168.1.101 . sedangkan pada percobaan serangan ApacheBench 10 requests dengan muatan perintah /usr/bin/ab
-k
-c
10
-n
10
http://%target%/ tidak dapat terdeteksi oleh ketiga IDS. Peningkatan jumlah pendeteksian yang dilakukan oleh Snort dan Suricata disebabkan karena semua baris alert pada rules yang digunakan telah diaktifkan. Pengaktifan baris alert tersebut dilakukan dengan menghilangkan tanda hashtag (#) pada awal setiap baris alert. Tabel 4.4Tabel hasil pengujian Skenario 3 Snort clientSide testRules badTraffic fragmentedPacket multipleFailedLogin evasionTechniques shellCodes denialOfService pcapReplay normalUsage Jumlah
27 7 1 3 1 14 8 1 0 1 63
Suricata 10 7 3 2 1 14 10 1 1 1 50
Dari hasil penjumlahan 10 modul pengujian pada skenario 3 ini, Snort dapat mendeteksi dengan jumlah total 63 percobaan serangan, sedangkan Suricata dapat mendeteksi 50 dari 100 percobaan serangan. Dari hasil penjumlahan pada tabel hasil pengujian skenario 3, Snort lebih unggul daripada Suricata.
86
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
IDS Snort Suricata
10:04.800
10:22.080
10:39.360
10:56.640
11:13.920
Waktu Pengujian (menit)
Gambar 4.10 Grafik waktu pengujian Skenario 3
Pada pengujian skenario 3 ini, rata – rata waktu yang dibutuhkan untuk menyelesaikan 1 kali pengujian dapat dilihat pada grafik di atas. Suricata dapat menyelesaikan pengujian skenario 3 ini dengan waktu 10 menit 27 detik. Suricata menjadi yang tercepat pada skenario 3 ini, kemudian disusul oleh Snort dengan selisih 31 detik. Pada skenario 2 ini Snort lebih baik daripada Suricata dengan jumlah percobaan serangan yang terdeteksi lebih banyak daripada Suricata.
87
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
4.9.
Analisa Hasil Dari hasil pengujian yang dilakukan terhadap Snort dan Suricata yang
terbagi dari 4 skenario pengujian, dapat dirangkum pada table berikut : Tabel 4.5Tabel rangkuman hasil pengujian Skenario
Keterangan Jumlah terdeteksi
1
Waktu pengujian Penggunaan RAM Jumlah terdeteksi
2
Waktu pengujian Penggunaan RAM Jumlah terdeteksi
3
Waktu pengujian Penggunaan RAM
Snort
Suricata 29
31
13 menit 57,076 detik 14 menit 25,399 detik 112.2 MB
561,0 MB
32
28
14 menit 08,218 detik 13 menit 04,655 detik 277.2 MB
650,1 MB
63
50
11 menit 03,024 detik 10 menit 27,605 detik 1003,2 MB
2006,4 MB
Dari tabel rangkuman hasil pengujian, jumlah percobaan serangan yang terdeteksi oleh Snort lebih banyak daripada Suricata pada ketiga skenario pengujian namun berimbas pada waktu pengujian yang lebih lambat daripada Suricata pada skenario 2, skenario 3, dan skenario 4. Dari kebutuhan memori yang digunakan terlihat bahwa Snort menggunakan memori yang lebih sedikit daripada Suricata. Pada pengujian skenario 1, Suricata dapat mendeteksi serangan lebih banyak daripada Snort karena Suricata menggunakan rules terbaru sedangkan Snort menggunakan rules yang sudah lama sebagai rules bawaan. Sedangkan pada hasil pengujian skenario 2 dan skenario 3, Snort lebih banyak mendeteksi
88
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
serangan daripada Suricata. Hal ini bisa terjadi dikarenakan Snort menggunakan lebih banyak rules daripada Suricata. Pada Snort sendiri menggunakan 22.167 rules dan 329 so_rules, sedangkan pada Suricata menggunakan 19660 rules. Dengan menggunakan lebih banyak rules Snort dapat lebih banyak mendeteksi serangan. Pada skenario 3 yaitu pengujian dengan diaktifkannya semua rules pada Suricata dan Snort, kebutuhan memori untuk melakukan pendeteksian juga meningkat. Pada Suricata, penggunaan memori pada skenario 3 yang mencapai 2 kali lipat kebutuhan memori Snort menunjukkan bahwa kecepatan pendeteksian juga dapat terpengaruh oleh penggunaan memori yang lebih besar. Penggunaan memori yang lebih besar pada Suricata ini dikarenakan pada file konfigurasi Suricata yaitu suricata.yaml ada konfigurasi untuk mengatur profile detection engine dari Suricata yang diatur secara default menjadi “medium”. Maksud dari profile detection engine ini adalah mengatur penggunaan memori yang digunakan untuk menjalankan Suricata. Penggunaan memori ini dapat berubah sesuai dengan banyaknya jumlah rules yang diaktifkan dan digunakan untuk melakukan pendeteksian.
89
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB V KESIMPULAN DAN SARAN
5.1.
KESIMPULAN Berdasarkan hasil pengujian yang sudah dilakukan menggunakan Pytbull
terhadap IDS dengan menggunakan konfigurasi rules yang berbeda, maka didapatkan hasil yang dapat digunakan sebagai masukan kepada administratr jaringan sebagai berikut : 1.
Rules Snort versi 2.9.7 lebih bagus dan update daripada Suricata (“pada skenario 3”).
5.2.
SARAN Selain itu ada beberapa saran yang bisa dikembangkan pada penelitan ini
selanjutnya, antara lain: 1. Menggunakan konfigurasi yang telah dioptimalkan untuk masing – masing IDS Snort dan Suricata. 2. Dapat dilakukan perbandingan penggunaan sumber daya komputer dengan konfigurasi yang telah dioptimalkan. 3. Menggunakan tool pengujian IDS/IPS lain selain Pytbull.
90
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
DAFTAR PUSTAKA
Aanval. Snort vs Suricata.10 Juni 2014.https://wiki.aanval.com/wiki/Snort_vs_suricata Damaye, Sébastien. Pytbull. 10 Juni 2014. http://pytbull.sourceforge.net Damaye, Sebastien. Suricata-vs-Snort. 10 Mei 2015.http://www.aldeid.com/wiki/suricata-vs-snort/ Gerber, John. Three Open Source IDS/IPS Engines: The Setup. Security Advancements at the Monastery.4 Juli 2014.http://blog.securitymonks.com/2010/08/26/three-little-idsipsengines-build-their-open-source-solutions/. Glines, Allen.2012. IT Pro Ranking:IPS and IDS.reports.informationweek.com Komputer, Wahana..2010. Tutorial 5 Hari: Belajar Hacking dari NOL. Yogyakarta:Penerbit Andi Kristianto, Hengki. Pengertian Macam Macam Topologi Jaringan Komputer. 13 Juni 2015. http://hengkikristiantoateng.blogspot.com/2013/10/pengertianmacam-macam-topologi-jaringan-komputer.html Oinkmaster. Oinkmaster. 21 Juli 2015.http://oinkmaster.sourceforge.net Rafiudin, Rahmat. 2010. Mengganyang Hacker Dengan Snort. Yogyakarta : Penerbit Andi Redmine. Rule Management with Oinkmaster . 21 Juli 2015. https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Rule_Ma nagement_with_Oinkmaster Redmine. Suricata : Ubuntu Installation.20 November 2014. https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Ubuntu_I nstallation#Ubuntu-Installation https://redmine.openinfosecfoundation.org Snort. Snort.15 Juli 2014. http://snort.org/ Suricata. Open Source IDS / IPS / NSM engine. 15 Juli 2014. http://suricataids.org/ Vuurmur. Using Suricata IPS with Vuurmur. 18 September 2015.https://www.vuurmuur.org/trac/wiki/Suricata
91
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Wagito.2005. Jaringan Komputer : Teori dan Implementasi Berbasis Linux . Jogjakarta:Gava Media.
92