TA : Rancang Bangun Aplikasi Intrusion Detection System Dengan Menggunakan Metode Fuzzy.

(1)

TUGAS AKHIR

Oleh :

Nama : Indra Wahyu Nugroho NIM : 08.41020.0033

Program : S1 (Strata Satu) Jurusan : Sistem Komputer

SEKOLAH TINGGI

MANAJEMEN INFORMATIKA & TEKNIK KOMPUTER SURABAYA


(2)

xx

KATA PENGANTAR ... v

DAFTAR ISI... vii

DAFTAR GAMBAR ... x

DAFTAR TABEL... xiv

DAFTAR LAMPIRAN ... xv

BAB I PENDAHULUAN ... 1

1.1 Latar Belakang Masalah... 1

1.2 Perumusan Masalah ... 2

1.3 Pembatasan Masalah ... 2

1.4 Tujuan ... 3

1.5 Sistematika Penulisan ... 3

BAB II LANDASAN TEORI ... 5

2.1 Intrusion Detection System ... 5

2.1.1 Teknologi IDS ... 5

2.1.2 Jenis-jenis Pendeteksian... 7

2.2 Open System Interconection Model... 8

2.3 TCP/IP... 9

2.3.1 Model TCP/IP ... 10

2.4. Denial Of Service Attack ... 12

2.5 Logika Fuzzy... 13

2.5.1 Himpunan Fuzzy... 14


(3)

xx

2.6 Database ... 21

2.7 MySQL... 22

2.8 PHP ... 23

BAB III METODE PENELITIAN... 25

3.1 Perancangan Sistem dan Blok Diagram Sistem ... 25

3.2 Rancangan Sistem ... 26

3.2.1 Perancangan Modul Sniffing Paket... 27

3.2.2 Sampling Data Serangan ... 29

3.2.3 Perancangan Fuzzy... 29

3.3 Desain Sistem... 36

3.3.1 Desain Input ... 37

3.3.2 Desain Proses ... 39

3.3.3 Desain Output ... 40

3.3.4 Desain Autentifikasi... 41

3.4 Implementasi Program ... 42

3.4.1 Pengumpulan Data (DatabaseLog Snort)... 42

3.4.2 Konfigurasi IP Address ... 53

3.4.3 Penulisan Program ... 56

BAB IV PENGUJIAN SISTEM ... 61

4.1 Pengujian Authentifikasi... 61

4.1.1 Tujuan Pengujian ... 61


(4)

xx

4.2 Pengujian Serangan DoS... 65

4.2.1 Tujuan ... 65

4.2.2 Alat Pengujian ... 65

4.2.3 Prosedur Pengujian ... 66

4.2.4 Hasil Pengujian ... 66

4.3 Pengujian Data Fuzzy ... 75

4.3.1 Tujuan ... 75

4.3.2 Alat Pengujian ... 75

4.3.3 Prosedur pengujian... 75

4.3.4 Hasil Pengujian ... 76

4.4 Analisis Sistem ... 84

4.4.1 Pendeteksian Paket Normal ... 84

4.4.2 Pendeteksian Serangan Paket POD ... 87

4.4.3 Pendeteksian Serangan Paket UDP Flooding ... 89

4.4.4 Pendeteksian Serangan Paket TCP Flooding... 91

4.4.5 Pendeteksian Paket SeranganSyn-ACK ...93

4.4.6 Pendetektsian Paket HTTP ... 95

BAB V PENUTUP... 98

5.1 Simpulan ... 98

5.2 Saran... 99


(5)

keamanan, salah satunya adalah Denial Of Service Attadck (DoS). DoS merupakan serangan yang digunakan oleh hacker untuk mematikan sistem komputer server sehingga server tidak bisa memberikan layanannya kepada user.

Langkah awal untuk mengantisipasi adanya berbagai paket yang tidak diinginkan adalah dengan membangun aplikasi Intrussion Detection System (IDS) kedalam router.

Aplikasi IDS dapat dibuat dengan menggunakan metode fuzzy dimana terdapat 3 tahap proses pengklasifikasian serangan yaitu pembentukan fungsi keanggotaan variabel, pembentukan aturan fuzzy dan defuzzyfikasi. Proses pengklasifikasian serangan dimulai dari mendengarkan lalu lintas paket jaringan yang melalui router oleh Snort. Dari data Snort selanjutnya memilah datalength

dan frekuensi kedalam sebuah tabel database fuzzy. Tahapan selanjutnya adalah mencari nilai alpha masing-masing aturan dan mencari nilai defuzzyfikasi.

Hasil yang didapatkan dari tugas akhir ini aplikasi IDS yang dibangun dapat mengklasifikasikan serangan DoS dengan menggunakan teknik ICMP

flooding, TCP flooding, UDP flooding dan paket ICMP normal tetapi masih belum mampu mengidentifikasi dan mengklasifikasikan serangan syn-ack karena nilailengthpaketsyn-ackterlalu kecil serta belum mampu mengidentifikasi paket http sebagai paket bukan serangan karena nilai length paket http sama dengan nilailengthpaket TCPflooding.LogIDS ditampilkan dalam bentuk web sehingga memudahkanuseruntuk membaca dan menganalisis paket serangan.


(6)

1 1.1 Latar Belakang Masalah

Pesatnya perkembangan teknologi jaringan juga disertai munculnya berbagai permasalahan keamanan. Contoh dari permasalahan keamanan ini adalah adanya berbagai metode serangan jaringan komputer diantaranya Denial of Service Attack, User to Root Attacks, Remote to Locate Attacks, Scanning Port. Untuk mengidentifikasi jenis serangan ini dapat menerapkan Intrusion Detection System (IDS)kedalam sebuah sistem jaringan.

IDS merupakan suatu tindakan untuk mendeteksi adanya trafik paket yang tidak diinginkan dalam sebuah jaringan atau device (Wu,2009). Dalam perkembangannya aplikasi IDS dapat dibangun dengan menggunakan beberapa metode yaiitu Enhanced Evolving Clustering Method, Adaptive Neuro-Fuzzy Inferense System, PCA Neural Network dan Fuzzy Logic. Setiap metode ini tentunya mempunyai beberapa kelebihan dan kelemahan.

Dari beberapa metode IDS diatas menurut Cox (1994) logika fuzzy merupakan metode yang mudah dimengerti karena logika fuzy menggunakan dasar teori himpunan, sehingga konsep matematis yang mendasari penalaran fuzzy tersebut cukup mudah untuk dimengerti. Saat ini logika fuzzy telah diaplikasikan dalam berbagai bidang ilmu seperti pengendalian, jaringan dan industri. Dalam bidang jaringan logika fuzzy dapat diterapkan dalam membangun sistem IDS.


(7)

Untuk menerapkan metode fuzzy kedalam sistem IDS diperlukan data-data serangan guna menyusun variabel-variabel fuzzy. Untuk mengumpulkan data-data serangan tersebut dapat dilakukan melalui proses sniffing. Setelah data terkumpul selanjutnya dianalisa untuk membuat variabel-variabel fuzzy yang dibutuhkan beserta aturan-aturan fuzzy.

Karena memiliki konsep yang sederhana metode fuzzy dipilih sebagai pengambil keputusan sistem IDS. Dalam Tugas Akhir ini dapat dilihat seberapa akuratkah penerapan metode fuzzy, karena selain membahas tentang bagaimana membangun sistem IDS dengan metode fuzzy tugas akhir ini juga membahas hasil pendeteksian serangan sehingga dapat dilihat bagaimana hasil klasifikasi serangan melalui metode fuzzy.

1.2 Perumusan Masalah

Dari latar belakang masalah didapatkan rumusan masalah seperti yang ditulis dibawah ini.

1. Bagaimana mengidentifikasi dan mengklasifikasikan paket serangan dan paket normal

2. Bagaimana menerapkan logika fuzzy untuk mengidentifikasikan adanya serangan

3. Bagaimana membuat antarmuka yang mudah dimengerti olehuser.

1.3 Pembatasan Masalah

Adapun beberapa batasan masalah pada tugas akhir rancang bangun IDS dengan menggunakan metode fuzzy adalah sebagai berikut.


(8)

1. Sistem Operasi yang digunakan adalah Linux

2. Jenis serangan yang dideteksi adalahDenial of Service Attack 3. Hasil analisa paket ditampilkan dalam sistem log berbasis web 4. Attack toolsyang digunakan adalah Longcat

5. Pengujian dilakukan oleh dua komputer dengan klasifikasi: komputer A (bisa disebut dengan komputer router) sebagai target serangan dan komputer B sebagai penyerang

6. Pengujian dilakukan dalam jaringan intranet.

1.4 Tujuan

Tujuan dalam membuat penelitian tugas akhir ini adalah sebagai berikut. 1. Dapat mengidentifikasi dan mengklasifikasikan paket serangan dan paket

normal

2. Dapat menerapkan logika fuzzy untuk mengidentifikasikan adanya serangan 3. Dapat membuat antarmuka yang mudah dimengerti oleh user

1.5. Sistematika Penulisan

Sistematika penulisan buku tugas akhir ini terdiri dari lima bab, dimana dalam tiap bab terdapat beberapa sub-bab. Ringkasan uraian dari tiap bab tersebut adalah sebagai berikut.

Bab I Pendahuluan

Pada bab ini menjelaskan tentang latar belakang, perumusan masalah, pembatasan masalah, tujuan, dan sistematika penulisan buku tugas akhir. Bab II Landasan Teori


(9)

Bab ini menjelaskan tentang beberapa teori pendukung tugas akhir seperti mekanisme pengiriman data dalam jaringan atau lebih dikenal dengan nama Open System Interconnection (OSI). Juga dijelaskan teori tentang Intrusion Detection System, konsep logika fuzzy mulai dari pengertian sampati tahap-tahap akhir pengambil keputusan serta teori Denial of Service Attack (DoS).

Bab III Metode Penelitian

Bab ini menjelaskan tahap-tahap pembangunan sistem IDS dimulai dari konsep, algoritma pemrograman hingga penulisan kode-kode program. Bab IV Pengujian Sistem

Bab ini menjelaskan pengujian yang dilakukan dengan cara melakukan serangan kedalam sebuah komputer yang telah dipasang aplikasi IDS yang telah dibuat oleh penulis. Dari hasil pengujian tersebut selanjutnya akan dijelaskan hasil analisis terhadap sistem IDS.

Bab V Penutup

Bab ini menjelaskan tentang kesimpulan dari tugas akhir yang telah dikerjakan dan saran-saran untuk pengembangan lebih lanjut.


(10)

(11)

5 2.1 Intrusion Detection System

Intrusion Detection System (IDS) adalah suatu tindakan untuk mendeteksi adanya trafik paket yang tidak diinginkan dalam sebuah jaringan atau device. Sebuah IDS dapat diimplementasikan melalui software atau aplikasi yang terinstall dalam sebuah device, dan aplikasi tersebut dapat memantau paket jaringan untuk mendeteksi adanya paket-paket ilegal seperti paket yang merusak kebijakan ruleskeamanan, dan paket yang ditujukan untuk mengambil hak akses suatu pengguna (Wu, 2009).

2.1.1 Teknologi IDS

Beberapa jenis dari teknologi IDS adalah Network-Based, Wireless IDS, Network Behavior Anomali Detection dan Host-Based. Pengembangan dan implementasi teknologi IDS ke dalam sebuah sistem jaringan tergantung dari variasi konfigurasi jaringan itu sendiri. Pada dasarnya setiap jenis teknologi IDS mempunyai keuntungan dan kekurangan dalam hal pendeteksian, konfigurasi dan biaya, tetapi secara umum teknologi IDS yang paling sering digunakan adalah Network-Based dan Host-Based. Secara spesifik berikut penjelasan dari masing-masing tipe teknologi IDS (Wu, 2009).

A. Network-Based

Network Intrusion Detection System (NIDS) adalah salah satu tipe IDS yang populer atau paling banyak diimplementasikan kedalam sebuah sistem


(12)

jaringan. Tipe ini menganalisa paket-paket jaringan pada semua lapisan Open System Interconnection (OSI) dan membuat sebuah tindakan kepada paket tersebut. Kebanyakan NIDS lebih mudah diterapkan kedalam suatu jaringan dan dapat memantau paket dari banyak sistem sekaligus (Wu, 2009).

B. WLAN IDS

Wireless Local Area Network (WLAN)IDS menyerupai NIDS yang dapat menganalisa paket-paket jaringan. WLAN ini dapat menganalisa paket wireless secara spesifik, termasuk pemindaian pengguna eksternal yang mencoba untuk terhubung ke Access Point (AP). Karena WLAN IDS sendiri sebenarnya adalah NIDS dengan menggunakan wireless maka aturan-aturan keamanan yang diterapkan lebih luas (Wu, 2009).

C. Network Behavior Anomaly Detection

Network Behavior Anomaly Detection (NBAD) memantau paket pada segmen-segmen jaringan untuk menentukan anomali-anomali dalam jumlah paket atau tipe paket. Segment yang biasanya melihat paket yang sangat kecil atau segmen yang hanya melihat paket tertentu yang dapat mengubah jumlah atau jenis paket jika suatu kejadian yang tidak diinginkan terjadi (Wu, 2009).

D. Host-Based

Host-based Intrusion Detection System (HIDS) menganalisa paket jaringan dan pengaturan sistem secara spesifik seperti software calls, local security policy, local log audits, dll. HIDS harus diinstal di setiap mesin dan membutuhkan konfigurasi secara spesifik pada sistem operasi dan software (Wu, 2009).


(13)

2.1.2 Jenis-jenis Pendeteksian

Menurut Wu dalam bukunya Information Assurance Tools Report yang diterbitkan pada tahun 2009 terdapat beberapa jenis-jenis pendeteksian dalam implementasi IDS. Jenis-jenis tersebut adalah Signature-Based Detection, Anomaly-Based Detection, dan Stateful Protocol Inspection. Berikut penjelasan mengenai macam-macam jenis pendeteksian.

A.Signature-Based Detection

Sebuah IDS dapat menggunakan pendeteksian Signature-Based Detetection dari sebuah paket, bergantung data paket yang diketahui untuk menganalisa potensi terjadinya paket ilegal. Tipe pendeteksi ini sangat cepat dan mudah dikonfigurasi. Bagaimanapun juga seorang penyerang dapat dengan mudah memodifikasi sebuah serangan untuk menyiasati agar tidak terkenali oleh Signature-Based IDS. Meskipun kemampuan tipe ini terbatas dalam mendeteksi banyaknya serangan, tipe ini mempunyai kelebihan dalam hal keakuratan (Wu, 2009).

B. Anomaly-Based Detection

IDS yang dapat memantau paket jaringan dan mendeteksi data yang tidak valid, atau umumnya tidak normal menggunakan jenis deteksi Anomaly-Based. Metode ini berguna untuk mendeteksi paket-paket yang tidak diinginkan (Wu,2009).

C. Stateful Protocol Inspection

Stateful Protocol Inspection menyerupai pendeteksi berbasis anomali, tetapi jenis ini dapat menganalisa paket lapisan 3 OSI yaitu lapisan Network dan lapisan 4 yaitu lapisan protokol.


(14)

2.2Open System Interconection Model

Model Open System Interconnection (OSI) diciptakan oleh International Organization for Standarization (ISO) yang menyediakan kerangka logika terstruktur bagaimana proses komunikasi data berinteraksi melalui jaringan. Standar ini dikembangkan untuk industri komputer agar komputer dapat berkomunikasi pada jaringan yang berbeda secara efisien (Lammle, 2000).

Gambar 2.1.Tujuh Lapisan OSI Model (Lammle, 2000)

Seperti Gambar 2.1 terdapat 7 lapisan pada model OSI. Setiap lapisan bertanggung jawab secara khusus pada proses komunikasi data. Misal, satu lapisan bertanggung jawab untuk membentuk koneksi antar perangkat, sementara lapisan lainnya bertanggung jawab untuk mengoreksi terjadinya “error” selama prosestransferdata berlangsung.

Model OSI dibagi dalam dua grup yaitu upper layer dan lower layer. Upper layer berfokus pada aplikasi pengguna dan bagaimana data direpresentasikan di komputer. Sedangkan lower layer bertanggung jawab dalam komunikasi data melalui jaringan aktual.


(15)

Tujuan utama penggunaan model OSI adalah untuk membantu desainer jaringan memahami fungsi dari tiap-tiap lapisan yang berhubungan dengan aliran komunikasi data. Termasuk jenis protokol jaringan dan metode transmisi. Model OSI dibagi menjadi 7 lapisan, dengan karakteristik dan fungsinya masing-masing. Tiap lapisan harus dapat berkomunikasi dengan lapisan diatasnya maupun dibawahnya secara langsung melalui serentetan protokol danstandard.

2.3 TCP/IP

Transmisson Control Protocol (TCP) addalah suatu protocol atau perantara yang dapat mentransmisikan data per segmen, artinya paket data dipecah dalam jumlah yang sesuai dengan besaran paket, kemudian dikirim satu persatu hingga selesai. Selain daripada itu, TCP bertugas menangani pengiriman message ukuran sembarang yang andal dan juga mendefinisikan suatu mekanisme pengiriman dari semua jenis data pada suatu jarringan (Yugianto dan Rachman, 2012).

SedangkanInternet Protocol (IP) adalahprotocolyang mengaturrouting dari pentransmisian melewati jaringan antara pengirim dan penerima, termasuk juga isu yang terkait dengan pengalamatan jaringan dan komputer, sehingga dapat dikatakan bahwa IP merupakan perantara komunikasi antar komputer dengan menggunakan IP-Address sebagai suatu identitas dari jaringan maupun komputer (Yugianto dan Rachman, 2012).

Pengiriman data akan dikemas dalam paket dengan label serupa IP-Address pengirim dan penerima paket data. Apabila penerima melihat


(16)

pengiriman paket tersebut dengan identitas (IP-Address), maka paket data tersebut akan diambil dan disalurkan ke TCP melaluiport, dimana aplikasi menunggu.

Jika pada model OSI pengembangann modelnya lebih berdasarkan teori maka pengembangan TCP/IP ini lebih kepada aplikasinya. Oleh karena itu perkembangan TCP/IP lebih cepat dari perkembangan OSI.

2.3.1 Model TCP/IP

Model TCP/IP dapat diterapkan dalam beberapa lapisan, yaitu seperti yang terlihat pada Gambar 2.2.

Gambar 2.2. Model TCP/IP (Lammle,2000)

Gambar 2.2 merupakan 4 lapisan model TCP/IP, yaitu lapisan Applciation, Host-to-Host, InternetdanNetwork Access. Setiap lapisan tersebut mempunyai peranan masing-masing dalam proses komunikasi data, dibawah ini dijelaskan fungsi masing-masing dari 4 lapisan TCP/IP.

A.Aplication Layer

Model TCP/IP dalam Application Layer yaitu aplikasi yang berinteraksi langsung dengan user (Yugianto dan Rachman, 2012). Layer ini bertanggung jawab untuk menyediakan servis-servis bagi aplikasi yang berjalan pada komputer. Layer aplikasi tidak menyediakan software itu sendiri tapi hanya


(17)

menyediakan servis yang bisa dimanfaatkan oleh software yang berjalan pada komputer kita, misalnya Mozilla Firefox memanfaatkan protokol HTTP untuk mengakses suatu halaman web. Beberapa protokol yang beroperasi pada lapisan ini adalah Dynamic Host Configuration Protocol (DHCP), Domain Name System (DNS),Hypertext Transfer Protocol(HTTP),File Transfer Protocol(FTP), dll. B.Transport Layer

Definisi Transport Layer yaitu dijmana data akan dikirimkan dengan format tertentu ke Application Layer, contoh: telnet, ftp, smtp (Yugianto dan Rachman, 2012). Artinya lapisan ini menyediakan servis yang akan digunakan olehApplication Layer, misalnya: HTTPsoftware meminta TCP untuk menjamin sampainya data pada tujuan, jika terjaddi gangguan pada saat transmisi maka HTTP tidak akan melakukan apa-apa, tapi TCP mengirim ulang data yang hilang dan memastikan sampainya data pada tujuan.

C.Internet Layer

Layer ini akan menangani routing datagram ke tujuan serta melakukan fragmentasi dan defragmentasi. Internet Layer merupakan protokol terpenting, yaitu Internet Protocol (IP) dan Internet Control Message Protocol (ICMP) (Yugianto dan Rachman, 2012).

D.Network Access Layer

Layer ini akan bertugas menangani hubungan ke NIC serta menentukan besarnya paket data dan sekaligus mengonversi alamat IP ke alamat mesin (Yugianto dan Rachman, 2012). Contohnya mendefiniskan protokol-protokol dan juga hardware yang digunakan untuk pengiriman data misalnya cabling,


(18)

pemberianheader dantrailer sehingga data bisa melewati tipe-tipe jaringan yang berbeda topologi, mentransmisi data yang berupa bits ke jaringan, dsb.

2.4Denial Of Service Attack

Menurut Yugianto dan Rachman dalam bukunya “Router Teknologi, Konsep, Konfigurasi, dan Trobleshooting” serangan DoS didesain untuk mencegah layanan ke host yang mencoba untuk membentuk koneksi. Pada umumnya, DoS digunakan oleh hacker untuk mematikan sistem. DoS dikenal dengan namaSYN floodingartinya membanjiri dan merusak3-way handshake.

Gambar 2.3.Serangan DoS (Yugianto dan Rachman, 2012)

Pada Gambar 2.3 komputer penyerang memberikan permintaan SYN dengan informasi yang salah, sehingga mengakibatkan komputer server memberikan jawaban paket SYN ACK secara terus menerus, akibatnya koneksi jaringan akan gagal.


(19)

2.5 Logika Fuzzy

Logika fuzzy merupakan salah satu komponen pembentuk soft computing. Logika fuzzy pertama kali diperkenalkan oleh Prof. Lotfi A. Zadeh pada tahun 1965. Dasar logika fuzzy adalah teori himpunan fuzzy. Pada teori himpunan fuzzy peranan derajat keanggotaan sebagai penentu elemen dalam suatu himpunan sangatlah penting. Nilai keanggotaan atau derajat keanggotaan atau membership function menjadi ciri utama dari penalaran dengan logika fuzzy tersebut (Kusumadewi dan Purnomo, 2010).

Logika fuzzy mempunyai konsep yang sederhana dan dapat diterapkan dalam berbagai aplikasi soft computing, karena acuan dalam menyelesaikan suatu pokok permasalahan menggunakan pendekatan-pendekatan yang biasa terjadi dalam khalayak umum. Dari acuan tersebut kemudian diadaptasi menjadi sebuah komposisi aturan.

Menurut Cox (1994), ada beberapa alasan mengapa orang menggunakan logika fuzzy, antara lain :

1). konsep logika fuzzy mudah dimengerti, karena logika fuzzy menggunakan dasar teori himpunan, maka konsep matematis yang mendasari penalaran fuzzy tersebut cukup mudah untuk dimengerti,

2). logika fuzzy sangat fleksibel, artinya mampu beradaptasi dengan perubahan-perubahan dan ketidakpastian yang menyertai permasalahan,

3). logika fuzzy memiliki toleransi terhadap data yang tidak tepat. Jika diberikan sekelompok data yang cukup homogen, dan kemudian beberapa data eksklusif, maka logika fuzzy memiliki kemampuan untuk menangani data eksklusif tersebut,


(20)

4). logika fuzzy didasarkan pada bahasa alami. Logika fuzzy menggunakan bahasa sehari-hari sehingga mudah dimengerti.

2.5.1 Himpunan Fuzzy

Definisi himpunan fuzzy adalah sekumpulan obyek x dengan masing-masing obyek memiliki nilai keanggotaa “μ” atau disebut juga dengan nilai kebenaran. Jika Zi,t adalah sekumpulan obyek, Zi,t=(Z1,t , Z2,t, …, Zm,t) dan anggotanya dinyatakan dengan Z maka himpunan fuzzy dari A didalam Z F={(Z, “μ”_F(z))| ZZ_(i,t) }. Dengan F adalah notasi himpunan fuzzy, μ_F (x) adalah derajat keanggotaan dari Z (nilai antara 0 sampai 1) (Kusumadewi, 2006).

Himpunan fuzzy memiliki 2 attribut, yaitu.

1. Linguistik, yaitu penamaan suatu grup yang mewakili suatu keadaan atau kondisi tertentu dengan menggunakan bahasa alami, seperti: MUDA, PAROBAYA, TUA

2. Numeris, yaitu suatu nilai (angka) yang menunjukkan ukuran dari suatu variabel seperti: 40,25.50, dsb.

Ada beberapa hal yang perlu diketahui dalam memahami sistem fuzzy, antara lain :

1). variabel fuzzy, merupakan variabel yang hendak dibahas dalam suatu sistem fuzzy. Contoh: umur, temperatur, permintaan, dsb,

2). himpunan fuzzy, merupakan suatu grup yang mewakili suatu kondisi atau keadaan tertentu dalam suatu variabel fuzzy,


(21)

Contoh:

Gambar 2.4.Himpunan Fuzzy Pada Variabel Temperatur (Kusumadewi dan Purnomo, 2010)

Pada Gambar 2.4 variabel temperatur dibagi menjadi 5 himpunan fuzzy yaitu: DINGIN, SEJUK, NORMAL, HANGAT, dan PANAS. Dengan beberapa contoh µ(x) adalah.

1. µDINGIN(15)=1 artinya sebuah temperatur dikatakan DINGIN karena mencapai suhu 15ºC

2. µSEJUK(20)=1 artinya sebuah temperatur dikatakan SEJUK karena telah mencapai suhu 20ºC

3. µNORMAL(25)=1 artinya sebuah temperatur dikatakan NORMAL karena telah mencapai suhu 25ºC

4. µHANGAT(25)=0 artinya sebuah temperatur dikatakan TIDAK HANGAT karena mencapai suhu 25ºC

5. µPANAS(30)=0 artinya sebuah temperatur dikatakan TIDAK PANAS karena mencapai suhu 30ºC

3). semesta pembicaraan, yaitu keseluruhan nilai yang diperbolehkan untuk dioperasikan dalam suatu variabel fuzzy. Semesta pembicaraan merupakan himpunan bilangan real yang senantiasa naik (bertambah) secara monoton dari kiri ke kanan. Nilai semesta pembicaraan dapat berupa bilangan positif

Temperatur (0C)

15 20 25 30 40

0

Dingin Sejuk Normal Hangat Panas

µ[X] 1


(22)

maupun negatif. Adakalanya nilai semesta pembicaraan ini tidak dibatasi batas atasnya. Contoh semesta pembicaraan untuk variabel temperatur [0 40], 4). domain, adalah keseluruhan nilai yang diizinkan dalam semesta pembicaraan dan boleh dioperasikan dalam suatu himpunan fuzzy. Seperti halnya semesta pembicaraan, domain merupakan himpunan bilangan real yang senantiasa naik (bertambah) secara monoton dari kiri ke kanan. Nilai domain dapat berupa bilangan positif maupun negatif. Contoh domain himpunan fuzzy pada gambar 2.4 yaitu.

1. DINGIN = [0 20] 2. SEJUK =[15 25] 3. NORMAL =[20 30] 4. HANGAT =[25 35] 5. PANAS =[30 40] 2.5.2 Fungsi Keanggotaan

Menurut Kusumadewi dan Purnomo (2010) fungsi keanggotaan (membership function)adalah suatu kurva yang menunjukkan pemetaan titik-titik input data kedalam nilai keanggotaannya (sering juga disebut dengan derajat keanggotaan) yang memiliki interval antara 0 sampai 1. Salah satu cara yang dapat digunakan untuk mendapatkan nilai keanggotaan adalah dengan melalui pendekatan fungsi. Ada beberapa fungsi yang bisa digunakan.

A. Representasi Linear

Pada representasi linear, pemetaan input ke derajat keanggotaannya digambarkan sebagai suatu garis lurus. Bentuk ini paling sederhana dan menjadi


(23)

pilihan yang baik untuk mendekati suatu konsep yang kurang jelas. Ada 2 jenis representasi linear yaitu representasi linear naik dan turun.

Gambar 2.5.Representasi Linear Naik (Kusumadewi dan Purnomo, 2010) Gambar 2.5 merupakan bentuk grafis representasi linear naik dengan karakteristik kenaikan himpunan dimulai pada nilai domain yang memiliki nilai keanggotaan nol (0) bergerak ke kanan atas menuju ke nilai domain yang memiliki derajat keanggotaan lebih tinggi.

Fungsi Keanggotaan:

0; x≤a

µ(x)= (x-a)/b-a); a≤x≤b

1; x≥b

Gambar 2.6.Representasi Linear Turun (Kusumadewi dan Purnomo, 2010) Gambar 2.6 merupakan grafis representasi linear turun dengan karakteristik garis lurus dimulai dari nilai domain dengan derajat keanggotaan

0 a b

Derajat Keanggotaan µ[x]

a b

0 1

1

Derajat Keanggotaan µ[x]


(24)

tertinggi pada sisi kiri, kemudian bergerak menurun ke nilai domain yang memiliki derajat keanggotaan lebih rendah.

Fungsi keanggotaan:

µ(x)= (b-x)/b-a); a≤x≤b

0; x ≥b

B. Representasi Kurva Segitiga

Kurva Segitiga pada dasarnya merupakan gabungan antara 2 garis (linear) seperti terlihat pada Gambar 2.7.

Gambar 2.7.Representasi Kurva Segitiga (Kusumadewi dan Purnomo, 2010) Fungsi keanggotaan:

0; x≤a atau x≥c

µ(x)= (x-a)/b-a); a≤x≤b

1; b≤x≤c

C. Representasi Kurva Trapesium

Kurva segitiga pada dasarnya seperti bentuk segitiga, hanya saja ada beberapa titik yang memiliki nilai keanggotaan 1.

Gambar 2.8.Representasi Kurva Trapesium (Kusumadewi dan Purnomo, 2010) Derajat

Keanggotaan µ[x]

0 1

a b d

domain c Derajat

Keanggotaan µ[x] 0 1


(25)

Fungsi Keanggotaan:

0; x≤a atau x≥d

µ(x)= (x-a)/b-a); a≤x≤b

1; b≤x≤c

(d-x)/(d-c) x≥d 2.5.3 Fungsi Implikasi

Menurut Kusumadewi dan Purnomo (2010) tiap-tiap aturan (proposisi) pada basis pengetahuan fuzzy akan berhubungan dengan suatu relasi fuzzy. Bentuk umum dari aturan yang digunakan dalam fungsi implikasi adalah:

IF x is A THEN y is B

dengan x dan y adalah skalar, dan A dan B adalah himpunan fuzzy. Proposisi yang mengikuti IF disebut sebagai anteseden, sedangkan proposisi yang mengikuti THEN disebut sebagai konseskuen. Proposisi ini dapat diperluas dengan menggunakan operator fuzzy, seperti (Cox, 1994):

IF ( x1is A1) o (x2is A2) o (x3is A3) o …… o(xNis AN) THEN y is B

Dengan o adalah operator (misal: OR atau AND).

2.5.4Fuzzy Inference System

Ada 2Fuzzy Inference System(FIS) yang populer digunakan yaitu metode Mamdani dan metode Sugeno. Adapun penjelasan dari masing-masing metode tersebut adalah sebagai berikut.


(26)

Metode mamdani sering dikenal sebagai metode Max-Min (Kusumadewi dan Purnomo, 2010). Metode ini diperkenalkan oleh Ebrahim Mamdani pada tahun 1975. Untuk mendapatkan output, diperlukan 4 tahapan:

1. Pembentukan himpunan fuzzy 2. Aplikasi fungsi implikasi 3. Komposisi Aturan 4. Penegasan(defuzzy). B. Metode Sugeno

Penalaran dengan metode Sugeno hampir sama dengan penalaran metode Mamdani, hanya saja output (konsekuen) sistem tidak berupa konstanta atau persamaan linear (Kusumadewi dan Purnomo, 2010). Metode ini diperkenalkan oleh Takagi-Sugeno Kang pada tahun 1985, sehingga metode ini sering dinamakan dengan metode TSK.

Sistem fuzzy Sugeno memperbaiki kelemahan yang dimiliki oleh sistem fuzzy murni untuk menambah suatu perhitungan matematika sederhana sebagai bagian THEN. Pada perubahan ini, sistem fuzzy memiliki suatu nilai rata-rata tertimbang (Weighted Average Values) didalam bagian aturan fuzzy IF-THEN. Sistem fuzzy Sugeno memiliki kelemahan terutama pada bian THEN, yaitu dengan adanya perhitungan matematika sehingga tidak menyediakan kerangka alami untuk merepresentasikan penggetahuan manusia sebenarnya. Permasalahan kedua adalah tidak adanya kebebasan untuk menggunakan prinsip yang berbeda dalam logika fuzzy, sehingga ketidakpastian dari sistem fuzzy tidak dapat direpresentasikan secara baik.


(27)

1. Model Fuzzy Sugeno Orde-Nol

Secara umum bentuk model fuzzy Sugeno Orde-Nol adalah:

IF ( x1is A1) o (x2is A2) o (x3is A3) o …… o(xNis AN) THEN z=k

dengan Ai adalah himpunan fuzzy ke-i sebagai anteseden, dan k adalah suatu konstanta (tegas) sebagai konsekuen

2. Model Fuzzy Sugeno Orde-Satu

Secara umum bentuk model fuzzy Sugeno Orde-Satu adalah:

IF ( x1is A1) o (x2is A2) o …… o(xNis AN) THEN z=p1*x1+…+pN*xN+q

dengan Ai adalah himpunan fuzzy ke-i sebagai anteseden, dan pi adalah suatu konstanta (tegas) ke-i dan q juga merupakan konstanta dalam konsekuen.

Apabila komposisi aturan menggunakan metode Sugeno, maka deffuzifikasi dilakukan dengan cara mencari nilai rata-ratanya.

2.6Database

Menurut Sutami dan Sutrisno (2005) databasemerupakan kumpulan data yang pada umumnya menggambarkan aktivitas-aktivitas dan pelakunya dalam suatu organisasi, misalkan database universitas yang berisi mahasiswa, dosen, kuliah, dan lain-lain. Sistem database adalah sistem komputer yang digunakan untuk menyimpan dan mengelola data tersebut. Sistem database memiliki empat komponen penting, yaitu.

1. Data, merupakan informasi yang disimpan dalam suatu struktur tertentu yang terintegrasi


(28)

2. Hardware, merupakan perangkat keras berupa komputer dengan media penyimpan sekunder yang digunakan untuk menyimpan data karena pada umumnya database memiliki ukuran yang besar

3. Software, merupakan perangkat lunak yang digunakan untuk melakukan pengelolaan data

4. User, merupakan orang yang menggunakan data yang tersimpan dan terkelola. User dapat berupa seorang yang mengelola database tersebut, yang disebut dengan database administrator (dba), bisa juga end user yang mengambil hasil dari pengelolaandatabasemelalui bahasa query.Userjuga dapat seorang programmer yang membangun aplikasi yang terhubung ke database dengan menggunakan pemrograman seperti C, VB, dll.

2.7 MySQL

Menurut Nugroho (2004) MySQL adalah sebuah programdatabaseserver yang mampu menerima dan mengirimkan datanya dengan sangat cepat, multi user serta menggunakan perintah standar SQL (Structured Query Language). MySQL memiliki dua bentuk lisensi, yaitu FreeSoftware dan Shareware. MySQL yang umum digunakan adalah MySQL FreeSoftware yang berada dibawah lisensi GNU/GPL (General Public License).

MySQL termasuk database yang memiliki beberapa distro yang mampu dijalankan pada beberapa platform, meski secara resmi tentu saja memilliki sebuah platformsendiri. Pada mulanya MySQL memang hanya berjalan dibawah platform Unix dan Linux, akan tetapi dalam perkembangannya sekarang


(29)

bermunculan beberapa distro yang mampu berjalan pada beberapa platform yang sifatnyasharewaredancorporate,seperti Windows.

2.8 PHP

PHP singkatan dari Hypertext Preprocessor yang digunakan sebagai bahasa script server-side dalam pengembangan web yang disisipkan pada dokumen HTML. Menurut Peranginangin (2006) PHP merupakan software open source yang disebarkan dan dilisensikan secara gratis dan ditulis menggunakan bahasa C. Penggunaan PHP memungkinkan web dapat dibuat dinamis sehingga maintenancesitus web tersebut menjadi lebih mudah dan efisien.

Menurut Peranginangin (2006) PHP memiliki banyak kelebihan yang tidak dimiliki oleh bahasascriptsejenis. PHP difokuskan pada pembuatanscript server-side, yang bisa melakukan apa saja yang dapat dilakukan oleh CGI, seperti mengumpulkan data dari form, menghasilkan isi halaman web dinamis, dan kemampuan mengirim serta menerima cookies, bahkan lebih daripada kemampuan CGI. PHP dapat digunakan pada semua sistem operasi antara lain Linux, UNIX, Microsoft Windows, Mac OS X dan RISC OS. PHP juga mendukung banyak web serve3r seperti Apache, Microsoft Internet Information Server (MIIS), Personal Web Server (PWS) dan masih banyak lagi lainnya.

Syntaxprogram ditulis dalam apitan tanda khusus PHP. Ada empat macam pasangan tag PHP yang dapat digunakan untuk menandai blok script php. Berikut contoh penulisansyntaxPHP:

1. <?php …?>


(30)

3. <?...?> 4. <%...%>


(31)

25

3.1 Perancangan Sistem Dan Blok Diagram Sistem

Didalam perancangan aplikasi IDS dengan menggunakan metode fuzzy terdiri dari 2 modul utama, yaitu modul packet sniffing, dan modul fuzzy dimana masing-masing modul mempunyai fungsi yang berbeda-beda. Modul paket

sniffing berfungsi untuk mengumpulkan data dan modul fuzzy berfungsi untuk mengklasifikasikan serangan berdasarkan metode fuzzy Sugeno. Log serangan ditampilkan bentuk web.

Penyusunan dua modul diatas berdasarkan atas diagram alur sistem aplikasi IDS sebagai berikut:

Gambar 3.1.Alur Kerja Sistem IDS

Gambar 3.1 menunjukkan alur kerja sistem IDS secara umum. Sistem mulai bekerja dengan menjalankan modul sniffing paket yang berfungsi untuk memonitoring semua paket data yang melalui interface ethernet router. Aplikasi yang digunakan untuk memantau paket data adalah snort. Semua paket data yang


(32)

termonitor oleh router akan disimpan dalam bentuk database. Dari database

tersebut diolah untuk membuat keputusan fuzzy melaluiquerysql.

Pengolahan data dilakukan berdasarkan aturan-aturan fuzzy yang telah dibentuk sesuai dengan karakter serangan. Setelah melalui proses klasifikasi serangan oleh modul fuzzy selanjutnya data-data yang terindikasi serangan ditampilkan dalam bentuk web log. Sistem IDS ini diterapkan pada router yang berfungsi sebagai keluar masuknya trafik jaringan. Adapun diagram blok topologi sistem IDS adalah sebagai berikut:

Gambar 3.2. IDS Topologi

Pada Gambar 3.2 IDS akan memonitor paket data dari workstation 192.168.10.5/24, data yang terindikasi serangan akan disimpan dan ditampilkan dalam history log router. Penampilan log sistem IDS berbasis web dengan memanfaatkan pemrograman php. Pada weblogdata serangan ditampilkan alamat ip penyerang sehingga memudahkan administrator jaringan untuk melakukan analisis serangan.

3.2 Rancangan Sistem

Sesuai dengan diagram alur sistem ids pada Gambar 3.1 terdapat 3 komponen penting dalam pembuatan aplikasi IDS dengan menggunakan metode fuzzy, yaitu paket sniffing, pengklasifikasian serangan dan web log. Dibawah ini akan dijelaskan bagaimana sistem IDS dibuat.


(33)

3.2.1 Perancangan ModulSniffingPaket

Modul paket sniffing merupakan tahapan awal dalam perancangan sistem IDS. Modul ini berperan untuk menangkap data serangan dan menyimpan data tersebut ke dalam database. Aplikasi network sniffing yang digunakan adalah

snort-mysql. Dibawah ini merupakan blok diagram alur bagaimana snort bekerja.

Gambar 3.3.Diagram Alur Snort(Nalneesh Gaur, 2001).

Gambar 3.3 merupakan diagram alur Snort, dari Gambar 3.3 dapat dilihat beberapa tahapan snort untuk mendapatkan log paket data. Tahap awal snort menangkap paket data mentah, paket data ini masih berupa susunan bilangan biner. Paket data ditangkap oleh decoder modul melalui berbagai interface

jaringan (contohnya Ethernet, PPP), Setelah data diolah olehdecoder selanjutnya

detection engine mengaplikasikan aturan-aturan protokol dalam snort ke dalam paket tersebut. Data yang telah diolah oleh detection engine ditampilkan sebagai


(34)

Data log hasil sniffing snort akan ditampilkan dalam bentuk database. Dari data inilah nantinya akan diolah untuk memunculkan hasil keputusan serangan. Berikut ER diagramdatabasesnort:

Gambar 3.4.ER Diagram Snort (Roman Danyliw, 2002)

Dalam Gambar 3.4 ditunjukkan ER Diagram snort, dalam ER Diagram dapat dilihat bahwa snort mempunyai 22 tabel. Tabel event terhubung dengan 8 tabel yaitu tabel iphdr, sensor, data, icmphdr, udphdr, tcphdr, signature, sensor, dan

acid_ag_alerts. Tabel eventmenyimpan waktu capture packet terjadi, sehingga 8 tabel yang membutuhkan data waktu capture packet akan memanggil data dari tabel event. Tabeliphdr terhubung dengan 3 tabel yaituprotocols, acid_ip_cache

dan opt. Dalam tabel iphdr menyimpan data ip host pengirim, ip host penerima, ip protokol dan ip length. Dalam sistem IDS pengolahan data diambil dari tabel


(35)

3.2.2SamplingData Serangan

Sampling data serangan berguna untuk membantu menentukan besaran domain kategori variabel fuzzy. Melalui sampling data yang tersimpan dalam database snort terdapat 4 jenis data paket yang berbeda yaitu paket normal, paket udp flooding, paket tcp flooding dan paket icmp flooding. Berikut ini sampling

masing-masing paket data yang ditunjukkan dalam Tabel 3.1. Tabel 3.1.Sampling Data Serangan

Paket Frekuensi (/s) Jumlah

Length (B/s)

ICMP Normal 3 180

UDP Flooding 1 1500

TCP Flooding 1 1500

ICMP Flooding 3 65078

Syn-Ack 3 120

HTTP 1 1440

Tabel 3.1 berisi contoh nilai frekuensi dan length dari paket serangan yang ditangkap oleh Snort, data tersebut diambil dari data yang tersimpan dalam tabel

acid_eventdaniphdrpada database snort.

3.2.3 Perancangan Fuzzy

Aplikasi IDS yang dirancang ini menggunakan algoritma fuzzy yang menghasilkan identifikasi serangan ke dalam 4 bagian yaitu bukan serangan atau normal, low, middle, dan high. Fuzzy yang digunakan menggunakan metode Sugeno. Dalam metode fuzzy Sugeno terdapat 3 tahapan utama dalam menentukan hasil keputusan yaitu pembentukan fungsi keanggotaan, penyusunan aturan fuzzy dan defuzzyfikasi . Dibawah ini dijelaskan tahapan penyusunan metode fuzzy Sugeno.


(36)

Tahap pertama adalah pembentukan fungsi keanggotaan dimana terdapat 2 fungsi keanggotaan fuzzy yaitu fungsi keanggotaan variabel frekuensi dan

length.

Fungsi keanggotaan variablelength:

Gambar 3.5.Fungsi Keanggotaan VariabelLength

Nilai length yang ditunjukkan Gambar 3.5 berdasarkan acuan yang didapat dari hasilsamplingpada Tabel 3.1. Darisamplingtersebut diketahui nilailengthICMP normal adalah 180 Byte per detik sehingga ditentukan nilai length kategori low

adalah 190 - 200 Byte (derajat keanggotaan 1), selanjutnya dipilih kelipatan 20 Byte untuk masing masing titik tertinggi derajat keanggotaan (=1) tiap kategori.

Pada variabel length(B), data yang dimiliki adalah 200 B, 220 B dan 240 B, dengan demikian pada variabel ini bisa dibagi menjadi 3 himpunan fuzzy yaitu LOW, MEDIUM dan HIGH. Himpunan fuzzy LOW memiliki domain [190,220], dengan derajat keanggotaan tertinggi (=1) terletak pada 190-200 B yang artinya

length paket adalah LOW, tetapi jika frekuensi lebih dari 200 B maka kondisi

length paket mendekati MEDIUM. Himpunan fuzzy LOW direpresentasikan dengan fungsi keanggotaan trapesium dengan derajat keanggotaan semakin rendah jika nilailengthmelebihi 200 B.

1

Length

0

190 200 220 240

Low Medium High

Derajat Keanggotaan µ[x]


(37)

Himpunan fuzzy MEDIUM memiliki domain [200,240], dengan derajat keanggotaan MEDIUM tertinggi (=1) terletak pada nilai 220. Jika nilai length

kurang dari 220 B maka kondisi nilai length mendekati kondisi LOW, sehingga derajat keanggotaannya pada himpunan MEDIUM akan berkurang. Tetapi jika nilai length melebihi nilai 240 B maka kondisi nilai length mendekati kondisi HIGH. Himpunan fuzzy MEDIUM direpresentasikan dengan fungsi keanggotaan segitiga dengan derajat keanggotaan tertinggi (=1) jikalengthmendekati nilai 240 B.

Himpunan fuzzy HIGH memiliki domain [240, +] dengan derajat keanggotaan HIGH tertinggi (=1) terletak pada nilai lebih dari sama dengan 240. Jika nilai length kurang dari 240 B maka variabrel length mendekati kondisi MEDIUM, sehingga derajat keanggotaannya pada himpunan HIGH akan berkurang sedangkan derajat keanggotaan pada himpunan MEDIUM akan bertambah. Tetapi jika frekuensi paket melebihi 240 B maka kondisilengthpaket adalah HIGH. Himpunan fuzzy HIGH direpresentasikan dengan fungsi keanggotaan trapesium dengan derajat keanggotaan tertinggi (=1) jika nilai length

lebih dari sama dengan 240 B.

Berikut ini adalah fungsi keanggotaan frekuensi:

Gambar 3.6.Fungsi Keanggotaan Variabel Frekuensi Frekuensi (/s)

1

0

6 8 10

Low Medium High

Derajat Keanggotaan µ[x]


(38)

Nilai frekuensi yang ditunjukkan Gambar 3.6 berdasarkan acuan yang didapat dari hasilsamplingpada Tabel 3.1. Darisamplingtersebut diketahui nilailengthICMP normal adalah 3 per detik sehingga ditentukan nilai frekuensi low adalah 1 – 6 (derajat keanggotaan 1) dengan nilai terkecil adalah 1, untuk selanjutnya dipilih kelipatan 2 untuk masing masing titik tertinggi derajat keanggotaan (=1) tiap kategori.

Pada variabel frekuensi, data yang dimiliki 6(/s), 8(/s) dan 1(/s), dengan demikian variabel ini bisa dibagi menjadi 3 himpunan fuzzy, yaitu LOW, MEDIUM dan HIGH. Himpunan fuzzy LOW memiliki domain [0,8] dengan derajat keanggotaan LOW tertinggi (=1) terletak pada nilai lebih dari sama dengan 0(/s) dan kurang dari 6(/s). Jika tingkat frekuensi terletak padarange6(/s) sampai 8(/s) maka kondisi frekuensi paket mendekati kondisi MEDIUM. Himpunan fuzzy LOW direpresentasikan dengan fungsi keaanggotaan trapesium dengan derajat keanggotaan tertinggi mencapai (=1) apabila nilai length mencapai

range0-40(/s).

Himpunan fuzzy MEDIUM memiliki domain [6,10] dengan derajat keanggotaan tertinggi (=1) terletak pada nilai 8(/s). Jika tingkat nilai frekuensi kurang dari 8(/s), maka kondisi length sudah mendekati LOW. Tetapi jika tingkat frekuensi melebihi 8(/s) maka kondisi frekuensi mendekati HIGH. Himpunan fuzzy MEDIUM direpresentasikan dengan fungsi keanggotaan segitiga dengan derajat keanggotaan tertinggi (=1) jika tingkat nilai length berada pada nilai 8(/s).

Himpunan fuzzy HIGH memiliki domain [10,+] dengan derajat keanggotaan HIGH tertinggi (=1) terletak pada nilai lebih lebih dari sama dengan 10(/s). Jika tingkat nilai frekuensi kurang dari 10(/s) maka kondisi frekuensi


(39)

mendekati MEDIUM. Tetapi jika tingkat frekuensi melebihi 10(/s) maka tingkat frekuensi adalah HIGH. Himpunan fuzzy HIGH direpresentasikan dengan fungsi keanggotaan trapesium dengan derajat keanggotaan tertinggi (=1) apabila tingkat frekuensi lebih dari sama dengan 10(/s).

Tahap kedua adalah penyusunan aturan fuzzy, berikut adalah tabel aturan fuzzy:

Tabel 3.2.Aturan Fuzzy Frekuensi

Length High Medium Low

High Attack High Attack High Attack Med

Medium Attack High Attack Med Attack Med

Low Attack Med Attack Med Attack Low

Dari Tabel 3.2 diketahui terdapat 9 aturan fuzzy yaitu:

1. [R1]IFFrekuensi HIGH and Length HIGHTHENATTACK HIGH 2. [R2]IFFrekuensi HIGH and Length MEDIUMTHENATTACK HIGH 3. [R3]IFFrekuensi HIGH and Length LOWTHENATTACK HIGH 4. [R4]IFFrekuensi MEDIUM and Length HIGHTHENATTACK HIGH 5. [R5] IF Frekuensi MEDIUM and Length MEDIUM THEN ATTACK

MEDIUM

6. [R6]IFFrekuensi MEDIUM and Length LOWTHENATTACK MEDIUM 7. [R7]IFFrekuensi LOW and Length HIGHTHENATTACK MEDIUM 8. [R8]IFFrekuensi LOW and Length MEDIUMTHENATTACK MEDIUM 9. [R9]IFFrekuensi LOW and Length LOWTHENATTACK LOW

Tahap yang ketiga adalah pembentukan defuzyfikasi. Berikut ini adalah contoh jika paket data yang didapatkan memiliki frekuensi 3(/s) dan length 243B. 1. [R1]IFFrekuensi HIGH and Length HIGHTHENATTACK HIGH


(40)

α-predikat1 = µFrHIGH

n

µLthHIGH

= min(µFrHIGH(3), µLthHIGH(243)) =min(0;1) = 0

Nilai z1 = 2400

2. [R2]IFFrekuensi HIGH and Length MEDIUMTHENATTACK HIGH

α-predikat2 = µFrHIGH

n

µLthMEDIUM

= min(µFrHIGH(3), µLthMEDIUM(243)) =min(0;0) = 0

Nilai z1 = 2400

3. [R3]IFFrekuensi HIGH and Length LOWTHENATTACK HIGH

α-predikat3 = µFrHIGH

n

µLthLOW

= min(µFrHIGH(3), µLthLOW(243)) =min(0;0) = 0

Nilai z1 = 2400

4. [R4]IFFrekuensi MEDIUM and Length HIGHTHENATTACK HIGH

α-predikat4 = µFrMEDIUM

n

µLthHIGH

= min(µFrHIGH(3), µLthHIGH(243)) =min(0;1) = 0

Nilai z1 = 2400

5. [R5] IF Frekuensi MEDIUM and Length MEDIUM THEN ATTACK MEDIUM

α-predikat5 = µFrMEDIUM

n

µLthMEDIUM


(41)

=min(0;0) = 0 Nilai z2 = 1760

6. [R6]IFFrekuensi MEDIUM and Length LOWTHENATTACK MEDIUM

α-predikat6 = µFrMEDIUM

n

µLthLOW

= min(µFrMEDIUM(3), µLthLOW(243)) =min(0;0) = 0

Nilai z2 = 1760

7. [R7] IFFrekuensi LOW and Length HIGHTHENATTACK MEDIUM

α-predikat7 = µFrLOW

n

µLthHIGH

= min(µFrLOW(3), µLthHIGH(243)) =min(1;1) = 1

Nilai z2 = 1760

8. [R8] IFFrekuensi LOW and Length MEDIUMTHENATTACK MEDIUM

α-predikat8 = µFrLOW

n

µLthMEDIUM

= min(µFrLOW(3), µLthMEDIUM(243)) =min(1;0) = 0

Nilai z2 = 1760

9. [R9]IFFrekuensi LOW and Length LOWTHENATTACK LOW

α-predikat9 = µFrLOW

n

µLthLOW

= min(µFrLOW(3), µLthLOW(243)) =min(1;0) = 0


(42)

Nilai Zx adalah nilai perkalian batas masing-masing derajat keanggotaan tertinggi (=1) suatu kategori. Setelah didapatkan masing-masing α-predikat dan nilai zx untuk setiap aturan maka diperoleh nilai z, yaitu:

Z= αpred1*z1 + αpred2*z1 + αpred3*z1 + αpred4*z1 + αpred5*z2 + αpred6*z2 + αpred7*z2 + αpred8*z2 + αpred9*z3 / αpred1 + αpred2 + αpred3 + αpred4

=0 * 2400 + 0 * 2400 + 0 * 2400 + 0 * 2400 + 0 * 1760 + 0 * 1760+ 1 * 1760 + 0 * 1760 + 0 * 1200 / 0+1+0+0+0+0+0+0

=1760/1 = 1760

Kategori defuzzyfikasi =Attack Middle

Dimana kategori untuk masing masing z adalah: 1200 =Attack Low

1760 = Attack Middle

2400 =Attack High

3.3 Desain Sistem

Desain sistem IDS meliputi pengolahan database, proses pengklasifikasian serangan dan proses penampilan web log. Untuk lebih jelasnya dapat dilihat Gambar 3.7.


(43)

Pada hasil yang ditampilkan dalam aplikasi PHP, web log merupakan hasil query defuzzyfikasi dari tabel database snort. Proses defuzzyfikasi menggunakan query sql tidak terlalu membebani kinerja router, sehingga router dapat memproses defuzzyfikasi secara cepat. Sistem pendeteksian bersifat

realtime jadi data serangan yang diolah bersifat up to date artinya data tersebut setiap saat dapat bertambah. Aplikasi yang dibuat hanya dijalankan sekali dan akan menjalankan proses terus menerus tanpa henti, kecuali jika aplikasi ditutup oleh useryang berwenang sehingga secara otomatis sistem tidak akan melakukan proses pendeteksian serangan.

3.3.1 DesainInput

Input dari sistem pendeteksian serangan adalah berupa data serangan yang setiap saat terus bertambah dari database log milik snort selanjutnya akan diproses oleh program sesuai queryfuzzy yang ada. Data input terdiri dari 2 tabel snort yaitu tabeleventdaniphdr.Gambar 3.8 merupakan contoh data tabelevent.


(44)

Gambar 3.8 menunjukkan Tabel event yang mempunyai beberapa field yaitu sid, cid, signature dan timestamp. Field data yang diambil untuk diolah dalam query

defuzzyfikasi hanya 3 field yaitu sid, cid dan timestamp. Field sid dan cid

menghubungkan ke tabel paket data seperti IP/TCP/UDP/ICMP header, sedangkantimestampberisi waktu data ditangkap olehpacket sniffersnort.

Berikut ini adalah data tabeliphdr:

Gambar 3.9.Data Tabel iphdr

Pada Gambar 3.9 diatas merupakan databasesnort yang terdiri dari berbagai field hasil log paket data. Namun tidak semua data yang ada di database log

digunakan. Untuk membangun sistem IDS ini hanya 5 parameter yang digunakan yaitu sid, cid, ip_src, ip_dst dan ip_proto. Data log yang sudah dilakukan seleksi dan siap diolah ditunjukkan pada Gambar 3.10


(45)

Gambar 3.10.Data iphdr yang sudah diseleksi 3.3.2 Desain Proses

Perintah query yang dipakai untuk melihat dan menyeleksi data dari berbagai field adalah select. Syntax dasar penggunaan select adalah select [nama field] from [nama tabel] where [expr…] group by [expr..]. Perintah query untuk menampilkan data yang terdapat pada Gambar 3.10 adalah select sid, cid, ip_src, ip_dst, ip_proto from iphdr.

Berikut blok diagramquerydefuzzyfikasi yang ditunjukkan oleh Gambar 3.11.


(46)

Pada Gambar 3.11query mulai bekerja dengan memilih data yang ada pada tabel event dan iphdr. Adapun field yang diseleksi adalah timestamp, ip_src, ip_dst, ip_len dan ip_proto. Selanjutnya query mencari nilai frekuensi dan rata-rata

ip_len berdasarkan data field timestamp yang telah digroup per satuan detik. Untuk nilai alpha frekuensi dan alpha length didapatkan dengan memasukkan nilai frekuensi dan rata-rata ip_len hasil group timestamp kedalam metode fuzzy sugeno. Tahapan akhir yaitu defuzzyfikasi didapatkan dengan menjumlahkan hasil perkalian alpha dan nilai zx yang sudah ditentukan kemudian dibagi dengan penjumlahan 9 nilai rule. Pencocokan data dilakukan berdasarkan sid dan cid.

3.3.3 Desain Output

Output yang dihasilkan oleh sistem pendeteksian serangan ini berupa data hasil pengolahan query yang menghasilkan nilai defuzzyfikasi. Nilai defuzzyfikasi inilah yang digunakan sebagai acuan untuk menentukan hasil serangan. Berikut ini adalah kategori nilai serangan, dapat dilihat pada Tabel 3.3.

Tabel 3.3.Pengklasifikasian Hasil Serangan

Nilai Defuzzyfikasi Kategori Attack

0 Bukan Serangan

1 – 1200 Low

1201 – 2399 Medium

>= 2400 High

Nilai defuzzyfikasi yang ditunjukkan oleh Tabel 3.3 didapatkan dari hasil perkalian masing-masing batas derajat keanggotaan 1 dari tiap kategori variabel

lengthdan frekuensi. Batas derajat keanggotaan 1 kategori low terletak pada nilai 200 untuk variabellengthdan 6 untuk variabel frekuensi maka hasil perkalian dari 2 variabel adalah 200 * 6 = 1200. Batas derajat keanggotaan 1 kategori middle


(47)

terletak pada nilai 220 untuk variabel length dan 8 untuk variabel frekuensi maka hasil perkalian dari 2 variabel tersebut adalah 220 * 8 = 1760. Batas derajat keanggotaan 1 kategori highterletak pada nilai 240 untuk variabel length dan 10 untuk variabel frekuensi maka hasil perkalian dari 2 variabel tersebut adalah 240 * 10 = 2400. Dari perkalian tersebut didapatkan jangkauan nilai lowadalah 1-1200, jangkauan kategori high lebih dari sama dengan 2400 sehingga jangkauan nilai

middleadalah 1201-2399. Nilai defuzzyfikasi 0 adalah nilai untuk kategori bukan serangan sebab nilai 0 menyatakan bahwa suatu paket memiliki derajat keanggotaan 0.

3.3.4 Desain Autentifikasi

Autentifikasi digunakan untuk mengatur user yang diperbolehkan mengakses log IDS. Blog diagram proses autentifikasi user adalah sebagai berikut.

Gambar 3.12.Diagram Blok Autentifikasi

Pada Gambar 3.12 proses autentifikasi dimulai dengan memasukkan username


(48)

sesuai dengan data yang terdapat pada database. Jika username dan password

benar maka oleh sistem akan diijinkan untuk masuk pada halaman web log IDS, sebaliknya jika salah terdapat dua kemungkinan yaitu ingin mengulangi memasukkanusernamedanpasswordatau ingin mengakiri proses autentifikasi.

3.4 Implementasi Program

Berdasarkan uraian dari desain sistem, maka tahapan utama untuk membangun aplikasi pendeteksian serangan dengan menggunakan metode fuzzy dengan algoritma fuzzy Sugeno yaitu tahap perolehan data oleh snort sebagai data

log input. Sebelum dilakukan proses pengolahan data menggunakan fuzzy Sugeno maka data dari log snort harus diseleksi sesuai kebutuhan variabel fuzzy. Setelah didapatkan data variabel fuzzy selanjutnya diolah menurut tahapan-tahapan desain sistem fuzzy.

3.4.1 Pengumpulan Data (Database LogSnort)

Snort mempunyai kemampuan mendeteksi serangan dan menuliskan data-data serangannya di filelog, namun snort tidak hanya bisa menulis log pada sebuah file saja, namun snort juga bisa menuliskan log nya kedalam sebuah

database baik itu database mysql, postgre ataupun oracle. Agar snort dapat menuliskan data log kedalam database maka perlu dilakukan konfigurasi yang berbeda dari konfigurasi standar.


(49)

Gambar 3.13.Diagram Blok Pengumpulan Data

Pada Gambar 3.13 langkah yang dilakukan pertama kali adalah melakukan instalasi mysql-server. Kemudian langkah kedua adalah melakukan instalasi php, selanjutnya melakukan instalasi phpmyadmin.Service terakhir yang perlu diinstal adalah snort-mysql. Langkah terakhir adalah membuat databasefuzzy yang berisi variabel-variabel fuzzy.

Dibawah ini merupakan penjelasan langkah-langkah instalasi service

pada Gambar 3.13, sebagai berikut: 1. Instalasi mysql-server

Sebelum instalasi snort maka perlu dilakukan instalasi database server yaitu menggunakan mysql-server. Untuk menginstall package mysql-server dilakukan pada shell linux dengan mengetikkan perintah #apt-get install mysql-server. Secara otomatis package dan library dependencies akan terinstall pada sistem linux. Proses instalasi ditunjukkan seperti Gambar 3.14.


(50)

Gambar 3.14.Proses Instalasi MySQL-Server 2. Instalasi php5

Langkah instalasi php5 dilakukan dengan mengetikkan perintah #apt-get install php5. Kemudian ketik y untuk konfirmasi instalasi seperti ditunjukkan pada Gambar 3.15.

Gambar 3.15.Proses Instalasi PHP5 3. Instalasi phpmyadmin

Phpmyadmin digunakan untuk memudahkan memonitor dan memanajemen


(51)

install phpmyadmin. Kemudian ketik y untuk konfirmasi instalasi seperti ditunjukkan pada Gambar 3.16.

Gambar 3.16.Konfirmasi Instalasi Phpmyadmin

Setelah proses instalasi selesai akan muncul tampilan antarmuka konfigurasi web server. Pilih Apache2 sebagai web server. Proses ditunjukkan pada Gambar 3.17.

Gambar 3.17Pemilihan Web Server

Proses selanjutnya adalah pemilihan auto configure atau manual configure database mysql. Untuk memudahkan set up database pilih yes. Proses ditunjukkan seperti pada Gambar 3.18.


(52)

Gambar 3.18Pemilihan auto konfigurasidatabase

Proses berikutnya adalah memasukkan password administrasi database

pengguna. Proses ditunjukkan seperti pada Gambar 3.19

Gambar 3.19Password MySQL untuk phpmyadmin

Proses pada Gambar 3.19 merupakan tahapan akhir konfigurasi phpmyadmin. Gambar 3.20 menunjukkan akhir proses instalasi dan konfigurasi phpmyadmin.


(53)

Gambar 3.20.Proses Akhir Instalasi dan Konfigurasi Phpmyadmin 4. Instalasi snort-mysql

Untuk instalasi snort-mysql dapat menggunakan console dengan perintah #apt-get-install snort-mysql. Selanjutnya akan muncul jendela untuk mengisi

address rangejaringan lokal.

Gambar 3.21.Konfigurasi IP Address Local Network

Gambar 3.21 merupakan konfigurasi IP Address jaringan lokal, pada sistem IDS ini alamat jaringan lokal adalah 192.168.10.0/24. Artinya snort akan memantau jaringan lokal 192.168.10.0/24.


(54)

Gambar 3.22 merupakan konfirmasi untuk set updatabasesnort-mysql. Pilih

<Yes>untuk melanjutkan konfigurasidatabase.

Gambar 3.23.Tahap akhir Package Configuration

Gambar 3.23 merupakan tahap akhir package configuration. Pilih <Ok>

untuk mengakhiri konfigurasi paket. Langkah selanjutnya adalah membuat

database snort melalui mysql command prompt. Login pada terminal dengan mengetikkan perintah #mysql –u root –p, selanjutnya muncul pesan Enter password:. Jika password telah benar dimasukkan maka dapat masuk mysql command promtseperti Gambar 3.24.


(55)

Gambar 3.24 menunjukkan tampilan mysql command prompt yang berguna untuk menjalankan operasi mysql. Untuk membuat database snort dilakukan melalui perintah #create database snort;. Langkah selanjutnya adalah kembali keluar dari mysql prompt dengan perintah #quit; sehingga akan kembali padashelllinux. Setelahdatabaseberhasil dibuat langkah selanjutnya adalah memasukkan skemadatabasesnort pada databasesnort-mysql dengan perintah #zcat create /usr/share/doc/snort-mysql/create_mysql.gz | mysql –u root –p snort. Langkah selanjutnya adalah melakukan konfigurasi ulang

database snort-mysql dengan cara mengetikkan perintah #dpkg-reconfigure snort-mysql.

Gambar 3.25.Snort Start Method

Gambar 3.25 adalah pemilihan metode kapanservicesnort dijalankan. Metode yang dipilih adalah boot. Artinya pada saat komputer dihidupkan secara otomatis snort akan dijalankan, sehingga user tidak perlu untuk memulai

servicesnort secara manual.


(56)

Gambar 3.26 merupakan konfigurasi interface snort yang digunakan untuk mendengarkan paket data pada suatuhost. Interface yang dipilih adalah eth0.

Gambar 3.27.Mengaktifkan Snort dalam Mode Promiscuous

Gambar 3.27 merupakan proses untuk mengaktifkan snort dalam mode

promiscuous. Modepromiscuousmembuat snort mampu mendengarkan paket yang melewati segmen Ethernet dalam koneksi antar 2 host komputer lainnya. Langkah terakkhir adalah menghilangkan file db-pending-config pada

database snort, agar snort dapat berjalan dengan baik. Perintah untuk menghapus file adalah#rm –rf /etc/snort/db-pending-config

5. Menjalankan Snort

Untuk menjalankan snort pertama kali dilakukan dengan mengetik perintah

#/etc/init.d/snort start. Untuk selanjutnya snort akan berjalan otomatis pada saat booting komputer. Untuk melihat apakah snort sudah jalan atau belum adalah dengan menjalankan perintah #ps -aux | grep snort seperti yang ditunjukkan pada Gambar 3.28.


(57)

Seperti yang ditunjukkkan oleh Gambar 3.28 service snort telah berjalan dalam modedaemon.

6. Membuat tabel Fuzzy

Secaradefaulttabel snort-mysql hanya terdiri dari 22 tabel. Tabel fuzzy berisi 26 kolom yang berisikan data variabel fuzzy dan klasifikasi serangan. Untuk membuat tabel fuzzy dapat dilakukan melalui phpmyadmin.

Gambar 3.29.Membuat Tabel Baru

Tabel fuzzy dibuat dengan cara mengisikan nama tabel dan jumlah kolom, kemudian klik Go. Seperti yang ditunjukkan pada Gambar 3.29 nama tabel adalahfuzzy_idsdan jumlah kolom adalah 26.

.


(58)

Gambar 3.30 merupakan halaman pengisian nama kolom tabel beserta dengan atributnya. Setelah melakukan pengisian secara lengkap klik Save untuk menyimpan tabel fuzzy. Berikut ini adalah struktur tabel fuzzy yang telah dibuat.

Tabel 3.4.Struktur Tabel fuzzy_ids

Column Type Sid int(10) cid int(10) Id int(10) Timestamp Datetime ip_src int(10) ip_dst int(10) Frekuensi int(10) Iplen smallint(10) ip_proto int(10) Alphaflow Float Alphafmid Float Alphallow Float Alphalmid Float Alphalhigh Float rule1 Float rule2 Float rule3 Float rule4 Float rule5 Float rule6 Float rule7 Float rule8 Float rule9 Float Attack Float attack_kategori varchar(40) Dimana:

Alphaflow : alpha fuzzy frekuensi low Alphafmid : alpha fuzzy frekuensi middle Alphafhigh : alpha fuzzy frekuensi high Alphallow : alpha fuzzy length low Alphalmid : alpha fuzzy length middle


(59)

Alphalhigh : alpha fuzzy length high Rule 1 -9 : Aturan fuzzy

Tabel 3.4 merupakan struktur tabel fuzzy_ids, kolom sid dan cid merupakan

foreign keydari tabelacid_event, sedangkan id menjadiprimary keydari tabel fuzzy_ids. Kolom timestamp, ip_src, ip_dst dan ip_proto berisikan data yang sama dengan tabel acid_event. Kolom frekuensi berisi jumlah banyaknya paket data persatuan detik, kolom ip_len berisi banyaknya jumlah data persatuan detik. Kolom alphaflow, alphafmid, alphafhigh, alphallow, alphalmid dan alphalhigh berisi perhitungan alpha fuzzy dari variabel frekuensi dan length. Kolom rule1, rule2, rule3, rule4, rule5, rule6, rule7, rule8 dan rule9 berisi perhitungan nilai zx aturan fuzzy. Kolom attack berisi perhitungan defuzzyfikasi dan kolom attack_kategori berisi klasifikasi serangan.

3.4.2 Konfigurasi IPAddress

Dalam pengujian sistem IDS berdasarkan metode fuzzy ini terdapat 2 konfigurasi utama yaitu konfigurasi ip address router dan ip address host.Berikut ini konfigurasi masing-masing ipaddress:

1. Konfigurasi ipaddressrouter

Konfigurasi ip address router dilakukan dengan mengedit file

/etc/network/interfaces, dengan mengetikkan perintah #gedit /etc/network/interfaces.Kemudian mengisi konfigurasi file dibawah ini:

auto lo

iface lo inet loopback auto eth0

iface eth0 inet static address 192.168.10.11


(60)

netmask 255.255.255.0 network 192.168.10.0 broadcast 192.168.10.0

Kemudian klik File – Save pada window gedit, selanjutnya jalankan perintah

#/etc/init.d/networking restart

2. Konfigurasi ip address client

Adapun sistem operasiclientadalah Windows 7, oleh karena itu pengaturan ip

addressdilakukan dengan cara:

Klik kanan padaicon network pilihNetwork and Sharing Center,seperti yang

ditunjukkan pada Gambar 3.31.

Gambar 3.31.Network and Sharing Center

Klik Change Adapter Setting sehingga muncul jendela Network Connection

seperti yang ditunjukkan pada Gambar 3.32.


(61)

Klik kanan pada icon Local Area Connection pilih Properties, sehingga muncul jendela Local Area Connection Properties seperti yang ditunjukkan pada Gambar 3.33.

Gambar 3.33.Jendela Local Area Connection Properties Kemudian klikInternet Protocol Version 4 (TCP/IPv4),pilihProperties

sehingga muncul jendela baru seperti pada Gambar 3.34.


(62)

Konfigurasi ip yang ditunjukkan oleh Gambar 3.34 terdiri dari beberapa bagian yaitu ip address dengan alamat 192.168.10.5. subnet mask

255.255.255.0, default gateway 192.168.10.12. Konfirmasi ip address dapat dilakukan dengan menekan tombolOK.

3.4.3 Penulisan Program A. ProgramAuthentifikasi

Berdasarikan alur diagram yang ditunjukkan pada Gambar 3.12 dibuat diagram blok implementasi program yaitu:


(63)

Gambar 3.35 menunjukkan username dan password disimpan dalam variabel

myusernamedanmypasswordpada halaman webmain_login.php.Scriptprogram tersebut adalah sebagai berikut:

<input name=”myusername” type=”text” id=”myusername”> <input name=”mypassword” type=”password” id=”mypassword”>

Selanjutnya program akan memverifikasi username dan password pada halaman

checklogin.php. Verifikasi dimulai dengan membuka koneksi dengan database

terlebih dahulu, yaitu denganscript:

$host=”localhost”; $username=”root”; $password=”password”; $db_name=”login”; $tbl_name=”login_ids”;

mysql_connect(“host”,”$username”,”$password”)or die(“cannot connect”);

mysql_select_db(“&db_name”)or die(“cannot select DB”);

Setelah koneksi berhasil selanjutnya langkah yang dilakukan adalah dengan mendefinisikanusernamedanpasswordke dalam metode POST denganscript:

$myusername=$_POST[‘myusername’]; $mypassword=$_POST[‘mypassword’];

Pengecekanusernamedanpassworddilakukan denganscript:

$sql=”SELECT * FROM $tbl_name WHERE username=’$myusername’ and password=’$mypassword’”; $count=mysql_num_rows($result); if($count==1){ session_register(“myusername”); session_register(“mypassword”); header(“location:tampil_ids.php”); } else{

echo “Wrong Username or Password”; }

Jika myusername dan mypassword sama dengan data username dan password

pada tabel login_ids secara otomatis user akan diarahkan pada halaman web tampil_ids.php, sebaliknya jika salah akan ditampilkan pesanWrong Username or Password.


(64)

B. Program Fuzzy

Berdasarkan alur kerja sistem IDS yang ditunjukkan pada Gambar 3.1 dibuat blok diagram implementasi program seperti yang ditunjukkan pada Gambar 3.36.

Gambar 3.36. Diagram Blok Penulisan Program

Dari Gambar 3.36 terdapat beberapa langkah sequensial penulisan program, adapun langkah-langkah tersebut adalah.

1. Langkah pertama yang dilakukan program adalah menghapus isi tabel fuzzy_ids, langkah ini dilakukan agar tidak terjadi duplicate entries pada saat


(65)

proses update kolom sid, cid, timestamp, ip_src dan ip_dst. Script program dari hapus tabel adalah.

$qry = “truncate fuzzy_ids”; $sql = mysql_query($qry);

2. Langkah selanjutnya mengkopikan kolom sid, cid, timestamp, ip_src dan

ip_dst dari tabel acid_event ke dalam tabel fuzzy_ids, scriptprogram tersebut adalah:

$qry2= ”insert into fuzzy_ids (sid,cid,timestamp,ip_src,ip_dst) select sid,cid,timestamp,ip_src,ip_dst from acid_event”;

$sql = mysql_query($qry2); 3. Updatekolom frekuensi denganscript:

$qry3= ”update fuzzy_ids as t left join (select sid,cid,timestamp,count(ip_src) as NumEvents from acid_event group by timestamp) as m on m.sid = t.sid and m.cid = t.cid and m.timestamp = t.timestamp set t.frekuensi = m.NumEvents where t.id is not null”;

$sql = mysql_query($qry3); 4. Updatekolomiplendenganscript:

$qry4= ”update fuzzy_ids inner join iphdr on fuzzy_ids.sid=iphdr.sid and fuzzy_ids.cid = iphdr.cid set fuzzy_ids.iplen = iphdr.ip_len”;

$sql = mysql_query($qry4);

5. Hitung alpha frekuensi dan alpha length denganscript:

$qry5= ”update fuzzy_ids left join (select frekuensi, if(frekuensi >=0 and frekuensi <=6, 1, if(frekuensi >=6 and frekuensi <=8, (8 – frekuensi)/2,9)) as alpha_flow from fuzzy_ids ) as alpha using (frekuensi) set alphaflow = alpha_flow”;

$sql = mysql_query($qry5);

$qry8= ”update fuzzy_ids left join (select iplen, if(sum(iplen) >=190 and sum(iplen) <=220, 1, if(sum(iplen) >=200 and sum(iplen) <=220, (220 – sum(iplen))/20,9)) as alpha_llow from fuzzy_ids where ip_dst = 3232238091 group by timestamp ) as alpha using (iplen) set alphallow = alpha_llow”;

$sql = mysql_query($qry8); 6. Updaterule fuzzy denganscript:

$qry11= ”update fuzzy_ids left join (select alphafhigh, alphalhigh, least (alphafhigh,alphalhigh) as rule_1 from fuzzy_ids) as nilairule1 using (alphafhigh,alphalhigh) set rule1 =rule_1”;


(66)

7. Update nilai defuzzyfikasi attack denganscript:

$qry20= ”update fuzzy_ids left join (select rule1, rule2, rule3, rule4, rule5, rule6, rule7, rule8, rule9, (rule1*2400 + rule2*2400 + rule3*2400 +rule4*2400 + rule5*1760 +rule6*1760 +rule7*1760 + rule8*1760 + rule9*1200) / (rule1+rule2+rule3+rule4+rule5+rule6+rule7+rule8+rule9) as tempcount from fuzzy_ids) as totalcount using (rule1,rule2,rule3,rule4,rule5,rule6,rule7,rule8,rule9 set attack=tempcount ";

$sql = mysql_query($qry20); 8. Updatekategori attack denganscript:

$qry21 = “ update fuzzy_ids set attack_kategori=if((attack) =0 , \"bukan serangan\",if ((attack) > 0 and (attack) <=1200,\"low\", if ((attack) >1200 and (attack) <2400,\"middle\",\"high\")))";


(67)

61

Pengujian sistem terhadap aplikasi IDS dilakukan dari host a yang melakukan serangan langsung kepada host b seperti yang ditunjukkan pada Gambar 4.1.

Gambar 4.1.Skema Serangan DoS

Gambar 4.1 merupakan contoh skema serangan yang dilakukan oleh satu host

(host A) menuju router. Tujuan dari serangan tersebut adalah menghentikan

service yang diberikan oleh router sehingga seluruh jaringan yang tersambung oleh router akandown.

4.1 Pengujian Authentifikasi

Autentifikasi diperlukan supaya tidak sembarang user dapat melihat log

serangan IDS. Proses autentifikasi dilakukan dengan memasukkan username dan

password pada halaman login. Jika username dan password dikenali oleh database maka user dapat melihat log serangan ids, jika tidak maka user disuruh memasukkan ulangpassword.

4.1.1 Tujuan

Tujuan pengujian autentifikasi adalah untuk melihat proses autentifikasi sudah berjalan dengan benar atau tidak.


(68)

4.1.2 Alat Pengujian

Berikut ini adalah beberapa alat yang digunakan: 1. PC Router

4.1.3 Prosedur Pengujian

Berikut adalah beberapa tahapan prosedur pengujian: 1. Hidupkan PC Router

2. Daftarkanusernamedanpasswordpadadatabase login

3. Masukkanusernamedanpasswordpada halamanlogin

4.1.4 Hasil Pengujian

Untuk mendaftarkan username dan password dilakukan dengan menggunakan aplikasiphpmyadmin. Berikut contohusernamedanpasswordyang telah didaftarkan pada database login yang ditunjukkan pada Gambar 4.2.


(69)

Gambar 4.2 menunjukkandatabaselogin yang berisikanid 1,username indradan

password 1234 . Apabila username dan password sudah terdaftar pada database login maka user dapat melakukan proses autentifikasi. Pertama-tama user diarahkan untuk masuk pada form login pada halaman main_login. Berikut ini adalahform loginyang tersedia:

Gambar 4.3. Form Login

Gambar 4.3 menunjukkan form login , proses login dapat berhasil jika user memasukkanusernamedan passwordsesuai dengan data yang ada pada database login. Jika salah maka secara otomatis browser akan mengarahkan ke halaman

checkloginuntuk menunjukkan bahwa usernamedan password yang dimasukkan salah. Berikut contoh login tidak sesuai dengan database:


(70)

Gambar 4.4 menunjukkan user salah dalam memasukkan username atau

password. Halaman checklogin berfungsi untuk menunjukkan bahwa user salah memasukkanusernamedanpassword. Halaman ini akan langsung secara otomatis muncul apabila user salah login. Sementara itu apabila login benar maka browser akan mengarahkan pada halamanlog IDS. Berikut ini adalah pengisian data login yang benar.

Gambar 4.5.Login sesuai dengan Database

Gambar 4.5 menunjukkan pengisian username dan password yang benar. Jika data login diisi dengan benar maka browser akan mengarahkan pada halaman

tampil_ids untuk menampilkan hasil log serangan. Berikut ini adalah halaman tampil_ids:


(71)

Gambar 4.6 menunjukkan halaman web log IDS, halaman ini akan muncul jika user berhasil memasukkanusernamedanpassworddengan benar.

4.2 Pengujian Serangan DoS

Pengujian serangan DoS dilakukan oleh host A seperti skema serangan pada gambar 4.1. Host A melakukan serangan dengan menggunakan tools DoS Longcat versi 2.2 dan melalui command prompt Windows. Terdapat beberapa jenis pengujian serangan yaitu penyerangan melalui protokol ICMP, UDP dan TCP, selain itu juga dilakukan pengujian terhadap pengiriman paket normal.

4.2.1 Tujuan

Tujuan yang dilakukan adalah untuk mengetahui apakah aplikasi dapat mendeteksi serangan yang dilakukan oleh host dari beberapa protokol yaitu ICMP, UDP dan TCP. Dari pengujian ini juga melihat apakah sistem IDS yang telah dibuat mampu membedakan paket biasa atau serangan.

4.2.2 Alat Pengujian

Berikut adalah beberapa alat yang digunakan: 1. PC Router

2. PC Client 3. Switch 4. Kabel UTP

5. Tools DoS Longcat


(72)

7. Command Shell Linux 8. Browser Internet

4.2.3 Prosedur Pengujian

Berikut beberapa tahap-tahap prosedur pengujian: 1. Menghidupkan PC Router

2. Menghidupkan PC Client

3. Menyambungkan masing-masing kabel UTP PC Router dan PC Client ke switch

4. Menjalankanservicesnort pada PC Router

5. Memulai serangan dengan menggunakan DoStoolsyang sudah disediakan.

4.2.4 Hasil Pengujian

A. Hasil Pengujian Paket Normal

Pengujian pengiriman paket normal dilakukan melalui command prompt

Windows. Langkah pertama adalah memanggilcommand prompt window melalui jendela run kemudian ketikkan perintah cmd seperti yang ditunjukkan pada Gambar 4.7.


(73)

Gambar 4.7 merupakan jendela runyang berfungsi untuk memunculka command prompt Windows. Jendela run akan muncul dengan menekan logo windows + R pada keyboard. Dengan menekan tombol OK selanjutnya akan muncul jendela

command promptseperti yang ditunjukkan pada Gambar 4.8:

Gambar 4.8.Jendela Command Prompt Windows

Gambar 4.8 menunjukkan tampilan jendela command prompt Windows. Melalui

command prompt seperti yang ditunjukkan pada Gambar 4.8 dapat dilakukan pengiriman paket normal melalui protokol ICMP. Pengiriman dilakukan dengan mengetikkan perintah c:\>ping 192.168.10.11 dimana 192.168.10.11 adalah alamathosttarget.


(74)

Gambar 4.9 menunjukkan bahwa host target 192.168.10.11 tersambung dengan host pengirim. Indikasi tersebut ditunjukkan dengan pesan reply from 192.168.10.11. Adapun hasil weblog pada pc router ditunjukkan oleh Gambar 4.10.

Gambar 4.10.Hasil Web Log IDS

Pada Gambar 4.10 terdapat beberapa kolom yaitu timestamp, ip_src, ip_dst dan

attack_kategori. Kolom timestamp berfungsi untuk menunjukkan waktu paket diterima oleh packet sniffing snort, kolom ip_src berfungsi untuk menunjukkan alamat ip pengirim paket, kolom ip_dst berfungsi untuk menunjukkan alamat ip tujuan dan attack_kategori berfungsi untuk menunjukkan jenis serangan. Pada gambar 4.10 menunjukkan terdapat 4 paket data dengan masing-masing paket berasal dari host 192.168.10.5 dengan alamat tujuan 192.168.10.11 dengan masing-masing waktu seperti yang ditunjukkan pada gambar. Keempat paket data tersebut mempunyaiattack_kategoriyang sama yaitu bukan serangan.

B. Hasil Pengujian Paket Serangan Protokol ICMP

Ping of Death(POD) adalah salah satu teknik serangan DoS yang bekerja dengan cara mengirim paket ICMP dalam frekuensi dan panjang paket data yang besar secara berkelanjutan. Teknik POD dapat dilakukan melalui command


(75)

promptwindows. Gambar dibawah ini merupakan perintah POD yang dijalankan dalam jendelacommand prompt.

Gambar 4.11.Serangan POD

Pada Gambar 4.11 untuk melakukan serangan POD perintah yang dijalankan adalah ping 192.168.10.11 –l 65000 –t. Ping adalah perintah untuk mengecek koneksi melalui protokol ICMP, 192.168.10.11 adalah alamat host target, -l adalah opsi ping untuk mengirim paket sebesar 65000 bytes dan –t berfungsi agar komputer mengirim paket 65000 kepada host 192.168.10.11 secara terus-menerus, perintah ini akan berhenti jika user menekan tombolctrl+C keyboard.


(76)

Pada Gambar 4.12 ditampilkan sebuah tabel dengan beberapa kolom data yaitu

timestamp, ip_src, ip_dst dan attack_kategori. Dari tabel tersebut dapat dilihat bahwa terdapat 7 baris data ip_src, ip_dstdanattack_kategori yang sama dengan masing-masing data berisi 192.168.10.5, 192.168.10.11 dan middle tapi masing-masing mempunyai waktu yang berbeda. Contoh data dari baris pertama berarti host dengan alamat ip 192.168.10.15 mengirim paket pada pukul 20:08:12 tanggal 2013-09-06 dengan tujuan host 192.168.10.11, oleh sistem IDS paket ini diklasifikasikan paket serangan dengan kategorimiddle.

C. Hasil Pengujian UDPFlooding

Salah satu teknik serangan DoS UDP yaitu dengan mengirimkan paket UDP sebanyak-banyaknya ke host tujuan atau disebut UDP flooding, untuk melakukan serangan ini dapat dilakukan dengan memanfaatkan aplikasi Longcat seperti Gambar 4.13:


(77)

Untuk melakukan serangan udp packet flooding dimulai dengan mengisi alamat host target pada kolom ip address dan memilih protokol serangan seperti yang ditunjukkan pada Gambar 4.13. Untuk mengirim paket serangan dilakukan dengan menekan tombol RAEP dan untuk menghentikan pengiriman paket serangan dilakukan dengan menkean tombol STOP.

Gambar 4.14. Web Log IDS

Gambar 4.14 menunjukkan web log IDS dari hasil serangan udp packet flooding

yang dilakukan melalui aplikasi Longcat. Dari gambar tersebut dapat dilihat web log menampilkan satu baris data dengan beberapa kolom yaitu timestamp, ip_src, ip_dst, attack_kategori. Dari hasil data yang ditunjukkan host dengan alamat ip 192.168.10.5 mengirim paket data pada host 192.168.10.11 pada pukul 21:01:43 tanggal 2013-09-16 diketahui mempunyai attack_kategori middle. Hal ini berarti bahwa host 192.168.10.5 telah melakukan percobaan serangan berskalamiddle.

D. Hasil Pengujian TCPFlooding

Pengujian serangan tcp packet flooding dilakukan dengan menggunakan aplikasi Longcat. Serangan ini dilakukan dengan cara mengirim paket TCP sebanyak-banyaknya pada host target. Berikut ini adalah cara mengirim paket serangan TCP dengan menggunakan aplikasi Longcat, seperti yang ditunjukkan oleh Gambar 4.15.


(78)

Gambar 4.15. Tool Longcat (TCP)

Untuk memulai serangan langkah pertama yang dilakukan adalah memasukkan alamat ip target yaitu 192.168.10.11 serta protokol paket yang dikirimkan yaitu TCP pada kolomip address dan protocolseperti yang ditunjukkan pada Gambar 4.15. Selanjutnya klik RAEP untuk memulai serangan dan klik STOP untuk menghentikan serangan.

Gambar 4.16.Web Log IDS

Gambar 4.16 menunjukkan satu baris data yang berisikan datatimestamp, ip_src, ip_dst dan attack_kategori. Dari web log tersebut dapat dilihat bahwa terdapat paket dari host alamat 192.168.10.5 menuju host 192.168.10.11 pada pukul


(1)

96

: min (0;1) = 0 attack = high

Rule 2 : min (alphafhigh;alphalmid) : min (0;0) = 0

attack = high

Rule 3 : min (alphafhigh;alphallow) : min (0;0) = 0

attack = high

Rule 4 : min (alphafmid;alphalhigh) : min (0;1) = 0

attack = high

Rule 5 : min (alphafmid;alphalmid) : min (0;0) = 0

attack = middle

Rule 6 : min (alphafmid;alphallow) : min (0;0) = 0

attack = middle

Rule 7 : min (alphaflow;alphalhigh) : min (0;1) = 1

attack = middle

Rule 8 : min (alphaflow;alphalmid) : min (1;1) = 0

attack = middle


(2)

97

: min (1;0) = 0 attack = low

Dari nilai rule diatas diperoleh nilai defuzzyfikasi serangan:

attack = rule 1 * 2400 + rule 2 * 2400 + rule 3 * 2400 + rule 4 * 2400 + rule 5 * 1760 + rule 6 * 1760 + rule 7 * 1760 + rule 8 * 1760 + rule 9 * 1200 / (rule 1 + rule 2 + rule 3 + rule 4 + rule 5 + rule 6 + rule 7 + rule 8 + rule 9)

=0 * 2400 +0 * 2400 + 0 * 2400 + 0 * 2400 + 0 * 1760 + 0 * 1760 + 1 * 1760 + 0 * 1760 + 0 * 1760 / (1)

=1760 / 1= 1760

Dengan didapatkan nilai defuzzyfikasi = 1760 membuat nilai attack termasuk kedalam kategori seranganmiddle.


(3)

(4)

98 BAB V PENUTUP

5.1 Simpulan

Dari beberapa pengujian sistem yang telah ditunjukkan dalam bab IV terdapat beberapa kesimpulan yaitu.

1. Kemampuan Aplikasi Sistem IDS yang dibuat adalah sebagai berikut.

a). mengidentifikasi dan mengklasifikasikan paket ping normal dengan frekuensi sebanyak 3 per detik dan length paket sebanyak 180 Byte per detik

b). mengidentifikasi dan mengklasifikasikan paket serangan ICMP flooding dengan frekuensi serangan sebanyak 1 per detik danlengthpaket sebanyak 5 per detik danlengthpaket sebanyak 325.000 Byte per detik

c). mengidentifikasi dan mengklasifikasikan paket serangan UDP flooding dengan frekuensi serangan sebanyak 1 per detik danlengthpaket sebanyak 1.500 Byte per detik

d). mengidentifikasi dan mengklasifikasikan paket serangan TCP flooding dengan frekuensi serangan sebanyak 1 per detik danlengthpaket sebanyak 1.500 Byte per detik

e). belum mampu mengidentifikasi dan mengklasifikasikan paket serangan syn-ack dengan maksimal frekuensi serangan sebanyak 4 per detik dan maksimallengthpaket sebanyak 160 Byte per detik


(5)

99

f). belum mampu mengidentifikasi dan mengklasifikasikan data HTTP dengan benar dengan frekuensi 1 per detik dan length paket sebanyak 1440 Byte per detik

2. Penerapan logika fuzzy dapat mengklasifikasikan paket serangan DoS ICMP flooding, UDP flooding dan TCP flooding tapi belum mampu mengklasifikasikan paket serangan syn-ack dan mengidentifikasi data HTTP dengan benar

3. Penampilan log IDS berbasis web yang sederhana berupa tabel yang berisi informasi waktu, IP asal, IP tujuan dan klasifikasi serangan memudahkan user untuk memahami hasil pengkalsifikasian serangan.

5.2 Saran

Dari kesimpulan dan kelemahan sistem terdapat beberapa saran untuk mengembangkan sistem IDS dengan menggunakan metode fuzzy, yaitu.

1. Perlu menambah variabel fuzzy untuk mengembangkan sistem agar dapat mendeteksi serangan lainnya

2. Perlu untuk membuat modul sniffing sendiri sehingga data tidak tergantung daridatabasesnort

3. Perlu pembuatan beberapa feature baru dalam web log IDS misalnya pengosongan histori


(6)

DAFTAR PUSTAKA

Cox, Earl. 1994. The Fuzzy Systems Handbook (A Prsctitioner’s Guide to Building, Using, and Maintaining Fuzzy Systems).Massachussets:Academic press, Inc.

Danyliw, Roman. 2002. ACID: Database (v100-103) ER Diagram. (Online). http://acidlab.sourceforge.net/acid_db_er_v102.html, diakses 5 Agustus 2013.

Gaul, Naneesh. 2001. SNORT: Planning IDS for your Enterprise. (Online). http://www.linuxjournal.com/article/4668, diakses 12 Mei 2013.

Kusumadewi, Sri dan Hari Purnomo. 2010. Aplikasi Logika Fuzzy Untuk Pendukung Keputusan.Yogyakarta:Graha Ilmu.

Lammle, Todd. 2000. CCNA Cisco Certified Network Associate Study Guide. Alameda : Sybex

Nugroho, Bunafit.2004.Database Reslasional Dengan MySQL.Yogyakarta: Andi Peranginangin, Kasiman. 2006. Aplikasi WEB dengan PHP dan MySQL.

Yogyakarta: Andi.

Yugianto, Gin-gin dan Oscar Rachman. 2012. Router Teknologi, Konsep, Konfigurasi, dan Troubleshooting.Bandung: Informatika Bandung