PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · iii halaman persetujuan skripsi...
Transcript of PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI - core.ac.uk · iii halaman persetujuan skripsi...
i
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ii
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iii
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:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iv
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
v
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vi
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vii
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)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
viii
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ix
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
x
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xi
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xii
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiii
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiv
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xv
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvi
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvii
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xviii
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4
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).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5
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 :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
6
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8
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 yang melintas sepanjang media komunikasi,
memungkinkan pengguna jaringan untuk saling bertukar atau
menggunakan perangkat lunak maupun perangkat keras secara berbagi.
Masing – masing komputer atau alat – alat lain yang dihubungkan pada
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
13
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).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14
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 :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
15
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
16
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
18
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
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 :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22
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 :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
23
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
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,
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
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 :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
#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/<lokasi
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
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 end-
system. 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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
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
Memory (RAM)
4 GB 2 GB 2 GB
Processors AMD A10-
5800K
Intel Core i5-
460M
Intel Core 2solo
Harddisk 500 GB 640 GB 320 GB
Operating System (OS) Ubuntu 14.04
LTS
Ubuntu 14.04
LTS
Ubuntu 12.04
LTS
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
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 :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
Internet
Web Server
SWITCH Client
Pytbull
192.168.0.10/24 192.168.0.100/24
IDS
Snort/Suricata
192.168.0.101/24
Gambar 3.1 Topologi Jaringan Instalasi Awal
Web Server
SWITCH Client
Pytbull
192.168.0.10/24 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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
40
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
41
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
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 :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
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 :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
#oinkmaster –C /etc/oinkmaster.conf –r –e –o
<lokasi rules pada Snort dan Suricata>
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
45
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
46
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
:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
47
#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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
48
2. Menggunakan Binary Code
- Install paket yang dibutuhkan untuk melakukan compile pada Snort
$ sudo apt-get update
$ sudo apt-get install flex bison build-
essential checkinstall libpcap-dev
libnet1-dev libpcre3-dev libmysqlclient15-
dev libnetfilter-queue-dev iptables-dev
- Unduh source code DAQ, Snort, dan Libdnet
$ wget
https://www.snort.org/downloads/snort/daq-
2.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 :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
49
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
50
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 <lokasi 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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
51
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
52
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
53
'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 instalasi awal dan untuk rules diperbaharui
menggunakan rules yang diunduh 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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
54
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 python-
feedparser 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/ncrack-
0.4ALPHA.tar.gz
$ tar -xzf ncrack-0.4ALPHA.tar.gz
$ cd ncrack-0.4ALPHA
$ ./configure
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
55
$ 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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
56
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 <location>/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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
57
$ 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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
58
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 = 192.168.1.100 #alamat IP
pytbull client
iface = eth0
useproxy = 0
proxyhost =
proxyport =
proxyuser =
proxypass =
[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 = /usr/bin/sudo
nmap = /usr/bin/nmap
nikto = /usr/bin/nikto
niktoconf = /etc/nikto/config.txt
hping3 = /usr/sbin/hping3
tcpreplay = /usr/bin/tcpreplay
ab = /usr/bin/ab
ping = /bin/ping
ncrack = /usr/local/bin/ncrack
ncrackusers = data/ncrack-users.txt
ncrackpasswords = data/ncrack-
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
59
passwords.txt
localhost = 127.0.0.1
[FTP]
ftpproto = ftp
ftpport = 21
ftpuser = q
ftppasswd = 1
[TIMING]
sleepbeforegetalerts = 2
sleepbeforenexttest = 1
sleepbeforetwoftp = 2
urltimeout = 5
[SERVER]
reverseshellport = 12345
[TESTS]
clientSideAttacks = 1
testRules = 1
badTraffic = 1
fragmentedPackets = 1
bruteForce = 1
evasionTechniques = 1
shellCodes = 1
denialOfService = 1
pcapReplay = 1
normalUsage = 1
ipReputation = 0
[TESTS_PARAMS]
ipreputationnbtests = 10
4.4. 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 :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
60
- 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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
61
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
62
- 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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
63
- 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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
64
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
65
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
66
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,
allocates a password then sets the
privilege level to 15
shellCodes 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
100 Standard ping normalUsage command
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
67
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 :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
68
#oinkmaster –C <lokasi file oinkmaster.conf>
[option] –o <lokasi rules tujuan>
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
69
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 :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
70
Gambar 4.3Grafik Hasil pengujian
Gambar 4.4 Grafik waktu pengujian
0
2
4
6
8
10
12
14
16Ju
mla
h S
era
nga
n T
erd
ete
ksi
Modul 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)
Snort
Suricata
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
71
4.8. Analisa Pengujian
4.8.1. Skenario 1
Hasil pengujian pada Skenario 1 menunjukkan hasil seperti pada grafik
berikut :
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
0
2
4
6
8
10
12
14
16
Jum
lah
Se
ran
gan
Te
rde
teks
i
Modul Pengujian
Snort
Suricata
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
72
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
73
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
74
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 shellcode ** sparc setuid
0,win32_bind_dllinject - EXITFUNC=seh DLL=c:\
LPORT=4444 Size=312 Encoder=PexFnstenvSub, dan Rothenburg
Shellcodes. Suricata mendeteksi adanya serangan rothenburg shellcodes pada
serangan win32_bind_dllinject - EXITFUNC=seh DLL=c:\
LPORT=4444 Size=312 Encoder=PexFnstenvSub 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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
75
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 Suricata
clientSide 1 4
testRules 6 4
badTraffic 2 1
fragmentedPacket 1 1
multipleFailedLogin 1 1
evasionTechniques 13 14
shellCodes 4 3
denialOfService 0 1
pcapReplay 0 1
normalUsage 1 1
Jumlah 29 31
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
76
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.
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.
13:40.800 13:49.440 13:58.080 14:06.720 14:15.360 14:24.000 14:32.640
Waktu Pengujian (menit)
Snort
Suricata
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
77
4.8.2. Skenario 2
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.
0
5
10
15
20
25
30
Jum
lah
Se
ran
gan
Te
rde
teks
i
Modul Pengujian
Snort
Suricata
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
78
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] SURICATA IPv4 wrong IP
version [**] [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 ]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
79
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 ** sparc
setuid 0, win32_bind_dllinject - EXITFUNC=seh DLL=c:\
LPORT=4444 Size=312 Encoder=PexFnstenvSub, dan Rothenburg
Shellcode. Sedangkan Snort hanya mendeteksi serangan shellcodes sebagai
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
80
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
81
Tabel 4.3 Tabel hasil pengujian skenario 2
Snort Suricata
clientSide 25 2
testRules 1 3
badTraffic 0 1
fragmentedPacket 2 1
multipleFailedLogin 0 1
evasionTechniques 3 14
shellCodes 0 3
denialOfService 1 1
pcapReplay 0 1
normalUsage 0 1
Jumlah 32 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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
82
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.
12:23.04012:40.32012:57.60013:14.88013:32.16013:49.44014:06.72014:24.000
Waktu Pengujian (menit)
Snort
Suricata
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
83
4.8.3. Skenario 3
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.
0
5
10
15
20
25
30
Jum
lah
Se
ran
gan
Te
rde
teks
i
Modul Pengujian
Snort
Suricata
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
84
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
85
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. Snort dan Suricata juga tidak dapat mendeteksi
Mainz/Bielefeld Shellcode . 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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
86
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 Suricata
clientSide 27 10
testRules 7 7
badTraffic 1 3
fragmentedPacket 3 2
multipleFailedLogin 1 1
evasionTechniques 14 14
shellCodes 8 10
denialOfService 1 1
pcapReplay 0 1
normalUsage 1 1
Jumlah 63 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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
87
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.
10:04.800 10:22.080 10:39.360 10:56.640 11:13.920
Waktu Pengujian (menit)
IDS
Snort
Suricata
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
88
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 Snort Suricata
1
Jumlah terdeteksi 29 31
Waktu pengujian 13 menit 57,076 detik 14 menit 25,399 detik
Penggunaan RAM 112.2 MB 561,0 MB
2
Jumlah terdeteksi 32 28
Waktu pengujian 14 menit 08,218 detik 13 menit 04,655 detik
Penggunaan RAM 277.2 MB 650,1 MB
3
Jumlah terdeteksi 63 50
Waktu pengujian 11 menit 03,024 detik 10 menit 27,605 detik
Penggunaan RAM 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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
89
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
90
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
91
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-idsips-
engines-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/pengertian-
macam-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://suricata-
ids.org/
Vuurmur. Using Suricata IPS with Vuurmur. 18 September
2015.https://www.vuurmuur.org/trac/wiki/Suricata
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
92
Wagito.2005. Jaringan Komputer : Teori dan Implementasi Berbasis Linux .
Jogjakarta:Gava Media.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI