• Tidak ada hasil yang ditemukan

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

N/A
N/A
Protected

Academic year: 2017

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

Copied!
107
0
0

Teks penuh

(1)

RANCANG BANGUN APLIKASI INTRUSSION DETECTION

SYSTEM DENGAN MENGGUNAKAN METODE FUZZY

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.5.3 Fungsi Implikasi ... 19

2.5.4 Fuzzy Inference System... 20

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)

ABSTRAK

Seiring berkembangnya teknologi jaringan juga muncul berbagai masalah

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.

(7)

2

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

(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

(9)

4

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

(10)
(11)

5 BAB II

LANDASAN TEORI

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

(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

(13)

7

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

(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

(15)

9

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).

(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

(17)

11

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

(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

(19)

13

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

(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,

(21)

15

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

(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

(23)

17

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

(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.

(25)

19

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)

21

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

(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

(29)

23

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. <?...?>

(31)

25 BAB III

METODE PENELITIAN

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

(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

(33)

27

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)

29

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

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

(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

(37)

31

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:

(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

(39)

33

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.

(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)

35

=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)

37

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

(45)

39

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

(47)

41

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)

43

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

(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)

45

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

(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

(53)

47

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)

49

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)

51

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

Alphaflow : alpha fuzzy frekuensi low

Alphafmid : alpha fuzzy frekuensi middle

Alphafhigh : alpha fuzzy frekuensi high

Alphallow : alpha fuzzy length low

(59)

53

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

(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)

55

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)

57

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”;

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’”;

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

(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

(65)

59

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”;

Gambar

Gambar 3.1. Alur Kerja Sistem IDS
Gambar 3.2. IDS Topologi
Gambar 3.3. Diagram Alur Snort (Nalneesh Gaur, 2001).
Gambar 3.4. ER Diagram Snort (Roman Danyliw, 2002)
+7

Referensi

Dokumen terkait

36 Hapus data dari tabel master supplier Memilih daftar data supplier yang ingin dihapus (Gambar 4.79) Data supplier yang telah dihapus tidak tampil pada data

Data yang dimasukan tidak tersimpan dalam database dan akan muncul alert bahwa data telah tersedia. Menampilkan

Form Menu utama pada Aplikasi Pengolahan data statistika dengan metode korelasi Pearson Product Moment terdiri dari proses isi tabel yang akan menghasilkan

Gambar 4.2.6 Physical Data Model PDM Open Jurnal Sistem 4.2.5 Database Management System DBMS Berdasarkan Physical Data Model PDM yang telah dirancang sebelumnya, dapat dibentuk

Dalam form ini terdapat sebuah tabel yang digunakan untuk menampilkan daftar kata yang tersimpan pada database. Fungsi dari tombol Simpan adalah untuk menyimpan

diharapkan Output 1 Menyimpan data penugasan ambulans Id pemesanan kegiatan Data penugasan ambulans disimpan ke dalam database. Gambar

pada jam tertentu. Modul SD Card : Digunakan untuk menyimpan data keseluruhan.. Arduino UNO : Mikrokontroler yang digunakan sebagai media pemrosesan data. Fuzzy : Sebuah

Sequence Mengirim Pesan 3.4.4 PERANCANGAN DATABASE Di dalam database aplikasi ini terdapat sebuah tabel berisi attribute yang digunakan untuk menampung kata dasar dari aplikasi