Langkah 8: Tiap-tiap node di output layer ( ,Y kk 1, 2,3,..., )m melakukan perbaikan bias dan bobotnya (j = 0,1,2,…,p) dengan menggunakan persamaan (14):
( ) ( )
jk jk jk
w baru w lama w (14)
tiap-tiap node di hidden layer (Zj, j= 1,2,3,…,p) melakukan perubahan bobot dan bias yang berasal dari tiap node di input layer (i=1,2…,n)
dengan menggunakan persamaan (15):
( ) ( )
i j i j ij
v baru v lama v (15)
Langkah 9: Tes kondisi berhenti
Untuk memeriksa tes kondisi berhenti biasanya menggunakan persamaan MSE (Mean Square Error) seperti terlihat pada persamaan (16):
2 1 1 ( ) n i MSE Ti Yi N
(16)N adalah jumlah data pelatihan, Ti adalah target data ke- i, dan Yi adalah output jaringan untuk data ke-i.
13
3 METODE
Metode yang digunakan pada penelitian ini terdiri dari analisis masalah, perancangan sistem, implementasi sistem, pengujian dan evaluasi sistem. Adapun tahapan-tahapan penelitian yang akan dilakukan seperti ditunjukkan Gambar 7.
Mulai Analisis Masalah Perancangan Sistem Intrusion Detection System (IDS) Jaringan OpenFlow Implementasi Sistem Pengujian dan Evaluasi Sistem Selesai
Gambar 7 Metode penelitian Analisis Masalah
Pada tahap ini akan dilakukan analisis permasalahan. Permasalahan tersebut adalah berkaitan dengan OpenFlow controller yang masih rentan terhadap serangan-serangan pada jaringan. Permasalahan tersebut karena di dalam jaringan OpenFlowantara control plane dan data plane saling dipisahkan. Oleh karena itu bagaimana mencari solusi terhadap permasalahan tersebut. Jenis serangan yang ada diantaranya adalah normal attacks, denial of service (DoS) dan lain-lain. Sistem yang akan dibangun, diharapkan mampu mendeteksi serangan secara realtime serta mempunyai tingkat akurasi deteksi di atas 85% (Alrajeh dan Lloret 2013).
Perancangan Sistem
Pada tahap perancangan sistem ada dua sistem yang akan dibangun yaitu perancangan jaringan OpenFlow dan perancangan intrusion detection system (IDS). Perancangan Jaringan OpenFlow
Pada tahap perancangan jaringan OpenFlow akan dirancang bagaimana arsitektur dari jaringan OpenFlow yang akan dibangun nantinya. Komponen-komponen yang dibutuhkan dalam perancangan jaringan OpenFlow diantaranya adalah perancangan OpenFlow Switch, OpenFlow controller serta host. Arsitektur
14
perancangan jaringan OpenFlow yang digunakan adalah seperti ditunjukkan pada Gambar 8. Host OpenFlow Controller Internet OpenFlow Switch Host
Gambar 8 Arsitektur perancangan jaringan OpenFlow (Hedge dan Hu 2014)
Perancangan Sistem IDS
Pada tahap ini akan dilakukan perancangan sistem IDS. Tahap pertama yang akan dilakukan adalah pelatihan model sistem IDS. Pelatihan model sistem IDS menggunakan metode backpropagation neural network. Pelatihan ini bertujuan untuk mencari model klasifikasi yang terbaik. Data yang digunakan untuk proses pelatihan model menggunakan KDD dataset 1999 yang dikeluarkan oleh DARPA (Defense Advances Research Project Agency) (Kumar dan Devaraj 2010). Data set tersebut merupakan hasil capture trafik jaringan yang berasal dari snort. Data tersebut mempunyai 41 fitur, yang diberi label normal dan anomaly (serangan). Setelah dilakukan pelatihan model, tahap selanjutnya adalah melakukan pengujian model klasifikasi ke dalam sistem IDS secara realtime. Beberapa proses yang dilakukan pada perancangan IDS dengan menggunakan metode backpropagation neural network seperti ditunjukkan pada Gambar 9. Untuk gambar sebelah kiri merupakan pelatihan model sistem IDS dan gambar sebelah kanan merupakan proses pengujian sistem IDS secara realtime.
Proses Training Dataset KDD99 Preprocessing Model Data Klasifikasi Network Data Monitoring Proses Klasifikasi Backpropagation OpenFlow Network Log Hasil Klasifikasi Network Data Monitoring Preprocessing Informasi Klasifikasi Administrator Gambar 9 Perancangan sistem IDS dengan backpropagation
15
Pelatihan Model IDS
Network Data Monitoring
Pada proses ini akan dilakukan pengambilan data dari lalu lintas jaringan dan akan diterima oleh data preprocessing sebelumnya akan dilakukan ekstrasi. Namun untuk proses pengujian, data yang digunakan yaitu KDD Cup 1999. Adapun atribut-atribut yang terdapat pada dataset KDD Cup 1999 seperti ditunjukkan pada Tabel 1.
Tabel 1 Klasifikasi fitur
No Fitur Deskripsi
1 duration lama (detik) koneksi
2 protocol_type tipe protokol (tcp,udp,dsb..)
3 service network service di destination (http, telnet, dll..)
4 flag flag
5 src_bytes jumlah bytes dari source ke destination 6 dst_bytes jumlah bytes dari destination ke source 7 land status koneksi , normal atau error 8 wrong_fragment jumlah fragment yang salah 9 urgent jumlah paket yang urgent
10 count jumlah koneksi ke host yg sama dengan koneksi yang ada sekarang dalam rentang 2 detik
11 serror_rate % dari koneksi yang terdapat "SYN" error
12 rerror_rate % dari koneksi yang terdapat "REJ" error 13 same_srv_rate % dari koneksi ke service yg sama 14 diff_srv_rate % dari koneksi ke service yang berbeda 15 srv_count jumlah koneksi ke service yang sama
terakhir
16 srv_serror_rate % dari koneksi yang terdapat "SYN" 17 srv_rerror_rate error % dari koneksi yang terdapat 18 srv_diff_host_rate % dari koneksi ke host yg berbeda 19 dst_host_count jumlah koneksi ke host yg sama dengan
koneksi yang ada sekarang dalam rentang 2 detik
20 dst_host_serror_rate % dari koneksi yang terdapat "SYN" error
21 dst_host_rerror_rate % dari koneksi yang terdapat "REJ" error 22 dst_host_same_srv_rate % dari koneksi ke service yang sama 23 dst_host_diff_srv_rate % dari koneksi ke service yang berbeda 24 dst_host_srv_count % dari koneksi yang terdapat "REJ" error 25 dst_host_srv_serror_rate % dari koneksi yang terdapat "REJ" error 26 dst_host_srv_rerror_rate % dari koneksi yang terdapat "REJ" error 27 dst_host_srv_diff_host_rate % dari koneksi ke host yg berbeda
28 dst_host_same_src_port_rate % dari koneksi ke port service yang sama 29 hot jumlah indikator "hot" secara berurutan 30 num_failed_logins jumlah percobaan login yang gagal 1
16
No Fitur Deskripsi
31 logged_in jika berhasil login, 0 sebaliknya 32 num_compromised jumlah kondisi "compromised" 33 root_sheel 1 jika root shell didapat, 0 sebaliknya 34 su_attempted 1 jika dilakukan percobaan perintah "su
root", 0 sebaliknya
35 num_root jumlah "root" yang diakses 36 num_file_creations jumlah operasi pembuatan file 37 num_shells jumlah prompt shell
38 num_access_files jumlah operasi pada access control files 39 num_outbound_cmds berurutan
40 is_host_login 1 jika login termasuk dalam daftar "hot", 0 sebaliknya
41 is_guest_login 1 jika login adalah "guest", 0 sebaliknya 42 class jenis trafik (normal, atau jenis serangan
tertentu)
DataPreprocessing
Pada proses data preprocessing akan dilakukan ekstrasi data terhadap data yang akan digunakan untuk data pelatihan, sehingga membentuk fitur-fitur connection record. Setelah proses data preprocessing maka akan dilakukan proses normalisasi data, karena dalam di dalam metode backpropagation neural network hanya mengenali angka 0 hingga 1.
Normalisasi
Berdasarkan data preprocessing, akan dilakukan normalisasi data, agar dapat digunakan sebagai proses training. Proses normalisasi menggunakan metode Min-Max seperti ditunjukkan pada persamaan (17), dimana x’ adalah hasil nilai normalisasi, min(x) adalah nilai minimum pada atribut x dan max(x) adalah nilai maksimum pada atribut x (Vollmer dan Manic 2009):
�′ = ��− � �
�� � − � � (17)
Pelatihan Model Sistem IDS
Proses pelatihan model sistem IDS dilakukan untuk mencari model maupun fungsi yang dapat mengklasifikasikan kelas-kelas data yang belum diketahui dengan menggunakan metode backpropagation neural network. Setelah dilakukan pelatihan model dan menghasilkan model yang terbaik, maka model tersebut akan diterapkan pada sistem IDS secara realtime.
Pengujian Model Sistem IDS
Setelah dilakukan pelatihan model sistem IDS, proses selanjutnya adalah melakukan pengujian terhadap model yang telah didapatkan ke dalam sistem IDS realtime. Pengujian model sistem IDS berfungsi untuk mendapatkan hasil apakah sistem IDS yang dibangun dapat berjalan dengan baik atau tidak. Pada pengujian ini kategori serangan akan dibagi ke dalam tiga kategori yaitu low, medium dan high Nugroho et al. (2014).
17
Implementasi Sistem
Pada tahap implementasi terdapat dua tahapan yaitu implementasi jaringan OpenFlow serta implementasi sistem IDS menggunakan backpropagation neural network. Penelitian ini dilaksanakan di LAB Net Centric Computing (NCC) Departemen Ilmu Komputer IPB. Pada penelitian ini dibutuhkan alat dan bahan yaitu sebagai berikut:
Spesifikasi Perangkat Keras:
1. OpenFlow Switch: PC (Personal Computer) Pentium 4, Ram 512 MB 2. OpenFlow Controller dan Sistem IDS:
a. Prosesor Intel Core i3 2.40 GHz b. Ram 4 GB
c. Harddisk 1 TB Spesifikasi Perangkat Lunak:
1. Sistem Operasi : Linux Ubuntu 14.04 2. OpenFlow Controller : Floodlight
3. OpenFlow Switch : OpenVSwitch Versi 2.02 4. Pemrograman : Python
Pengujian dan Evaluasi Sistem
Tahap pengujian akan dilakukan dengan melakukan serangan terhadap controller dengan mengirimkan paket normal maupun paket DoS. Adapun skenario pengujian yang akan dilakukan adalah melakukan monitoring menggunakan sistem IDS berbasiskan backpropagation terhadap trafik jaringan OpenFlow. Setelah dilakukan monitoring jaringan maka sistem IDS akan mendeteksi terhadap paket-paket data yang ada pada jaringan, apakah termasuk ke dalam paket-paket serangan maupun bukan serangan. Tahap selanjutnya melakukan evaluasi terhadap kinerja sistem yang telah dibangun, apakah dapat berjalan dengan baik atau tidak.
18
4 HASIL DAN PEMBAHASAN
Analisis Masalah
Berdasarkan permasalahan yang terdapat di dalam jaringan OpenFlow, yaitu pemisahan antara control plane dan data plane, maka dapat diusulkan bagaimana menerapkan sistem IDS berbasis backpropagation neural network pada jaringan OpenFlow. Sistem IDS yang dibangun mampu memonitoring terhadap trafik jaringan yang ada. Namun dalam proses klasifikasi menggunakan metode backpropagation neural network. Beberapa fitur yang dibangun dalam sistem IDS adalah sebagai berikut:
1. Fasilitas pemantuan lalu lintas yang ada di dalam jaringanOpenFlow. 2. Proses training data menggunakan backpropagation neural network.
3. Menampilkan hasil klasifikasi trafik jaringan menggunakan backpropagation neural network dengan fungsi aktivasi yang dikategorikan low (kategori rendah), medium (kategori sedang) dan high (kategori tinggi).
4. Menampilkan laporan paket-paket data yang telah terklasifikasi dalam kategori low (paket kategori rendah), medium (paket kategori sedang) dan high (paket kategori tinggi).
Perancangan Sistem
Perancangan sistem bertujuan untuk merancang terhadap sistem yang akan dibangun. Perancangan sistem terdapat dua tahapan yaitu merancang jaringan OpenFlow dan merancang sistem IDS menggunakan metode backpropagation neural network.
Perancangan Jaringan OpenFlow
Tahap perancangan jaringan OpenFlow adalah bagaimana merancang komponen-komponen yang akan digunakan di dalam membangun jaringan OpenFlow. Adapun perancangan arsitektur serta komponen-komponen yang digunakan dalam jaringan OpenFlowseperti ditunjukkan pada Gambar 10.
Attacker Host OpenFlow Switch Controller Sistem IDS Switch FMIPA FAPERTA FATETA FAHUTAN FAPERIKANAN FAPET FKH LSI KAMPUS IPB BARANANGSIANG REKTORAT LAB NCC
19
Berdasarkan Gambar 10, jaringan OpenFlow diimplementasikan di LAB NCC dan terhubung dengan jaringan kampus IPB. Beberapa komponen-komponen yang akan dirancang pada jaringan OpenFlow adalah sebagai berikut:
a. OpenFlow Switch
OpenFlow switch berfungsi untuk meneruskan paket dari satu port ke port yang lain. Pada perancangan OpenFlow switch menggunakan aplikasi OpenVswitchversi 2.0.2. Aplikasi tersebut dipasang pada OpenFlow switch. b. Controller
Controller berfungsi untuk mengontrol suatu paket, ke mana paket tersebut akan diteruskan dalam jaringan OpenFlow. Pada bagian controller menggunakan aplikasi floodlight. Di dalam controller tersebut dilengkapi dengan sistem IDS yang berbasiskan backpropagation. Sistem IDS tersebut berfungsi untuk memantu paket-paket data yang keluar masuk dalam jaringan c. Attacker
Attacker merupakan sebuah komputer host yang berfungsi sebagai penyerang, yang akan mengirimkan paket-paket normal maupun abnormal ke komputer controller. Komputer attacker tersebut telah terpasang aplikasi yang digunakan melakukan serangan yaitu Net Tools dan Nmap.
d. Host
Host adalah sebuah komputer host yang terhubung ke dalam jaringan OpenFlow.
Perancangan Sistem IDS
Tahap perancangan sistem IDS adalah merancang arsitektur dari sistem IDS yang akan dibangun menggunakan metode backpropagation. Secara garis besar perancangan sistem IDS yang dibangun diantaranya proses capture data, preprocessing dan proses pelatihan. Proses perancangan sistem IDS yang akan dilakukan adalah:
a. Network Data Monitoring
Pada bagian ini adalah proses pengambilan paket data yang berasal dari jaringan komputer yang diambil dalam waktu-waktu tertentu. Pada penelitian ini data didapat dari KDD dataset 1999 intrusion detection system yang dikeluarkan oleh DARPA (Defense Advances Research Project Agency). Setelah proses pengambilan paket data selesai, maka tahap selanjutnya adalah proses preprocessing data.
b. Data Preprocessing
Pada Tabel 2 merupakan sebagian dari data KDD dataset 1999 yang sudah diekstraksi fiturnya:
20
Tabel 2 Ekstraksi data
c. Normalisasi Data
Pada tahap ini dilakukan normalisasi terhadap data KDD dataset 1999, setelah dilakukan ekstraksi data. Normalisasi data menggunakan rumus Min-Max persamaan 17 dan menghasilkan dengan rentang nilai antara [0 – 1] yang ditampilkan pada Tabel 3.
Tabel 3 Normalisasi data
Berdasarkan data KDD dataset 1999, maka data yang digunakan pada penelitian ini berjumlah 1000 data, yang terdiri dari 41 fitur dan 2 kelas, yaitu kelas normal dan anomaly. Distribusi data pelatihan ditunjukkan pada Tabel 4.
21
Tabel 4. Distribusi data pelatihan
Kelas Jumlah Data
Normal 516
Anomaly 484
Jumlah 1000
d. Pelatihan Model IDS
Pada proses pelatihan ini digunakan untuk mencari parameter yang terbaik, sehingga nantinya dapat diimplementasikan ke dalam sistem IDS. Arsitektur backpropagation menggunakan 1 hidden layer (lapisan tersembunyi), dimana neuron input layer 41 fitur, jumlah neuron hidden layer 20 dan 1 neuron output layer. Berikut adalah perancangan arsitektur jaringan backpropagation seperti ditunjukkan pada Gambar 11.
Z1 Z20 Y X1 X2 X41 bv bw V1.1 V2.1 V41.41 W1.1 W0 V0.41 0 = Normal 1 = Anomaly W20.20 V0.1 Output Layer Hidden Layer Input Layer
Gambar 11 Perancangan arsitektur backpropagation Keterangan Gambar 13:
X = node input pada lapisan input Z = node hidden (lapisan tersembunyi) Y = node output pada lapisan output
V1.1,…,V41.41 = bobot dari lapisan input ke hidden
W1.1,…,W20.20 = bobot dari lapisan hidden ke output
bv = bias dari lapisan input ke lapisan hidden bw = bias dari lapisan hidden ke lapisan output
Untuk mendapat model yang terbaik, pengujian dilakukan menggunakan tool WEKA. Adapun beberapa parameter backpropagation yang digunakan untuk pengujian dataset yang ditunjukkan pada Tabel 5.
Tabel 5 Perbandingan pelatihan
No Parameter Rata-Rata Akurasi MSE
Learning Rate Momentum Epoch
1 0.01 0.5 500 97.3 % 0.1572
2 0.04 0.07 500 97.1 % 0.1577
22
No Parameter Rata-Rata Akurasi MSE
Learning Rate Momentum Epoch
4 0.2 0.4 1000 97.5 % 0.1528 5 0.3 0.6 1000 97.6 % 0.148 6 0.4 0.6 1000 97,7 % 0.147 7 0.4 0.9 1000 92.2 % 0.2713 8 0.5 0.9 500 86,8 % 0.3613 9 0.5 0.6 1000 97.3 % 0.1562 10 0.5 0.9 1000 86.6 % 0.3654
Berdasarkan pengujian yang dilakukan maka didapat akurasi yang terbaik adalah model pelatihan ke-6 dengan parameter pelatihan input layer: 41, hidden layer: 20, output: 1, learning rate: 0.4, momentum: 0.6 dan epoch: 1000 dengan hasil rata-rata akurasi 97,7%, dengan nilai MSE 0.147. Dengan nilai akurasi yang didapatkan maka dapat disimpulkan bahwa metode backpropagation dapat diterapkan ke dalam sistem IDS secara realtime dengan kinerja yang lebih baik. Pengujian Model Sistem IDS
Setelah mendapatkan model yang terbaik, maka proses selanjutnya adalah melakukan pengujian model ke dalam sistem IDS secara realtime. Adapun parameter yang digunakan untuk proses pelatihan adalah neuron input layer: 41, neuronhidden layer: 20, learning rate: 0.4, neuronoutput layer: 1 momentum: 0.6, epoch: 1000.
Implementasi Sistem
Implementasi merupakan tahapan dimana sistem siap dioperasikan pada keadaan yang sebenarnya, sehingga akan diketahui apakah sistem yang dirancang benar-benar dapat menghasilkan tujuan yang ingin dicapai. Pada tahapan implementasi terdapat dua tahapan yaitu implementasi jaringan OpenFlow dan sistem IDS menggunakan metode backpropagation neural network.
Implementasi JaringanOpenFlow
Setelah tahap perancangan arsitektur serta kompononen-komponen yang dibutuhkan dalam implementasi jaringan OpenFlow, maka tahap selanjutnya adalah implementasi ke dalam perangkat sebenarnya. Tahap implementasi ini dilakukan di Lab Net Centric Computing (NCC) Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam (FMIPA) Institut Pertanian Bogor (IPB).
Adapun proses implementasi jaringan OpenFlow diantaranya adalah melakukan instalasi serta konfigurasi OpenFlow switch menggunakan OpenVSwitch versi 2.02 dan konfigurasi OpenFlow controller menggunakan aplikasi floodlight. Sistem operasi yang digunakan adalah Ubuntu 14.04 LTS.
23
Implementasi Sistem IDS
Setelah proses perancangan sistem IDS dan pelatihan model IDS menggunakan metode backpropagation neural network maka langkah selanjutnya adalah tahap implementasi sistem IDS secara realtime menggunakan bahasa pemrograman python. Adapun lingkungan implementasi sistem IDS yang akan digunakan adalah sebagai berikut:
Implementasi sistem IDS dilakukan dalam lingkungan perangkat keras komputer yang memiliki spesifikasi sebagai berikut:
1. Prosesor Intel Core i3 2.40 GHz
2. Laptop DELL Inspiron 14’’ resolusi 1280 x 768 pixels
3. Ram 4 GB 4. Harddisk 1 TB
Sedangkan lingkungan pengembangan sistem tersebut memiliki spesifikasi perangkat lunak sebagai berikut :
1. Bahasa pemrograman : Python 2. Librarynetwork capture : Scapy 3. Librarybackpropagation : Pybrain
4. Editor : Geany
5. Sistem Operasi : Linux Ubuntu 15.04
Adapun untuk implementasi sistem IDS menggunakan backpropagation neural network secara realtime dijelaskan pada pseudecode berikut ini.
Fungsi Membuat Jaringan Neural Network
Fungsi membuat jaringan neural network berfungsi untuk membuat nilai bobot dalam jaringan neural network. Nilai bobot tersebut dilakukan secara acak. Adapun arsitektur jaringan yang dibuat adalah 41 neuron input layer, 20 neuron hidden layer dan 1 neuron hidden layer. Adapun pseudocode ditampilkan dibawah ini.
FUNCTION Membuat Pelatihan NN
nn=create_nn(41,20,1,bias=True,hiddenclass=
SigmoidLayer) nn= (membaca jaringan NN)
ENDFUNCTION Fungsi Pelatihan
Fungsi pelatihan berfungsi untuk melatih terhadap data, apabila akan dilakukan pelatihan. Adapun paremeternya adalah learning rate: 0.4, momentum: 0.6. Adapun pseudocode ditampilkan dibawah ini.
FUNCTION Train():
OUTPUT ‘Mulai Pelatihan’
ds = SupervisedDataSet(41,1)
open(‘file training’)
Trainer=backptrain(create_nn,learningrate=0.4, momentum=0.6)
24
Training dataset(ds,1000) Menyimpan file training; OUTPUT 'Pelatihan Selesai' ENDFUNCTION
Fungsi Packet
Fungsi packet berfungsi untuk memilih port jaringan yang digunakan, apakah port TCP maupun UDP. Adapun pseudocode ditampilkan dibawah ini.
FUNCTION packet(DestinationPort, SourcePort)
IF DestinationPort == 443 or SourcePort == 443 return True
ELSE
return False ENDFUNCTION
Fungsi Sniffing Paket
Fungsi sniffing paket berfungsi untuk pengambilan paket trafik jaringan. Lalu paket tersebut akan diteruskan ke dalam fungsi preprocessing. Adapun pseudocode ditampilkan dibawah ini.
FUNCTION pkt_callback(pkt) IF paket_raw AND Packet
TCP.DestinationPort,TCP.SourcePort=False load = tampilkan paket
load=lakukan konversi string ke heksadesimal(load)
preprocessor(paket,load)#membuat kode ascii ENDIF
ENDFUNCTION Fungsi Preprocessing
Fungsi preprocessing berfungsi untuk membersihkan paket-paket yang diambil dari trafik jaringan, sehingga dapat digunakan sebagai proses klasifikasi data. Adapun pseudocode ditampilkan dibawah ini.
FUNCTION preprocessing(paket,load) push = [0] * 2
IF Protocol = UDP THEN push[0]=1 IF Flags = MF THEN push[1]=1 DestinationPort= konversi ke biner packet_length = konversi ke biner
dic =(‘payload data’)
FOR w in dic: IF w in load then Tambahkan nilai(1) ELSE Tambahkan nilai (0) ENDIF ENDFOR
25
OUTPUT push, kembalikan nilai push Classifier(push,paket)
ENDFUNCTION Fungsi Klasifikasi
Fungsi klasifikasi berfungsi untuk melakukan klasifikasi terhadap output yang didapatkan dari fungsi preprocessing, sehingga akan diklasifikasikan ke dalam kategori <0.2 low, 0.2-0.5 medium, dan >0.5 high. Adapun pseudocode ditampilkan dibawah ini.
FUNCTION Classifier (end_packet,paket): rate = fungsi aktivasi(end_packet) Print rate
IF rate > 0.5 then
Output('alert_high’)
Else If 0.2 < rate < 0.5 then
Output(‘alert_medium’) Else <0.2 then Output (‘alert_low’) Endif EndFunction Fungsi Output
Fungsi output berfungsi untuk menyimpan hasil dari fungsi klasifikasi paket data. Hasil klasifikasi disimpan ke dalam file teks. Adapun pseudocode ditampilkan dibawah ini.
FUNCTION Output(file,text): Open File
Create File Text ENDFUNCTION
Hasil Pengujian dan Evaluasi Sistem
Setelah sistem dilakukan implementasi maka langkah selanjutnya adalah proses pengujian serta evaluasi terhadap sistem yang telah dibangun. Pengujian sistem bertujuan untuk mengetahui apakah sistem yang dibangun dapat berjalan dengan baik atau tidak. Pengujian dilakukan untuk mengetahui kesalahan-kesalahan yang terjadi pada sistem yang telah dibangun. Proses pengujian dilakukan ke dalam dua tahapan yaitu pengujian jaringan OpenFlowdan pengujian sistem IDS ke dalam jaringan OpenFlow. Untuk lingkungan pengujian seperti ditunjukkan pada Gambar 12. Pengujian dilakukan di LAB NCC FMIPA IPB. Adapun komponen-komponen yang digunakan diantaranya adalah Host dengan IP address 172.18.88.104/24, Attacker (penyerang) dengan IP address 172.18.88.104/24, OpenFlow switch dengan IP address 172.18.88.101/24, Controller yang dilengkapi dengan sistem IDS dengan IP address
26
172.18.88.100/24, switch dengan gateway 172.18.88.1/24 yang menghubungkan dengan jaringan FMIPA dan terhubungan dengan jaringan kampus IPB.
Attacker Host OpenFlow Switch Controller Sistem IDS Switch FMIPA FAPERTA FATETA FAHUTAN FAPERIKANAN FAPET FKH LSI KAMPUS IPB BARANANGSIANG REKTORAT IP: 172.18.88.100/24 IP: 172.18.88.101/24 IP: 172.18.88.1/24 IP: 172.18.88.104/24 IP: 172.18.88.105/24 LAB NCC
Gambar 12 Lingkungan pengujian sistem Pengujian Jaringan OpenFlow
Pengujian dilakukan dengan menjalankan aplikasi floodlight controller melalui terminal Ubuntu, hasil yang didapatkan ditampilkan dalam Gambar 15. Berdasarkan Gambar 13 bahwa floodlight controller yang dibangun telah terhubung dengan OpenFlow switch. Ini membuktikan bahwa jaringan OpenFlow yang dibangun dapat berjalan dengan baik.
27
Seperti yang ditunjukkan pada Gambar 14 adalah tampilan web monitoring floodlight controller. Dengan mengakses http://localhost:8080/ui/index.html. Dengan aplikasi floodlight monitoring dapat mengetahui OpenFlow switch yang terhubung ke controller, jumlah host yang telah terhubung serta mengetahui paket trafik yang ada dalam jaringan, ip address serta ukuran paket-paket data yang keluar maupun masuk dalam jaringan.
Gambar 14 Floodlight monitoring
Pada Gambar 15 merupakan hasil capture menggunakan tool Wireshark. Terlihat paket trafik yang terdapat pada jaringan OpenFlow, baik paket yang masuk maupun keluar dalam jaringan.
Gambar 15 Trafik paket jaringan OpenFlow Pengujian Sistem IDS
Pengujian sistem IDS berfungsi untuk mengetahui apakah sistem yang telah dibangun dapat berjalan dengan baik atau tidak. Pengujian dilakukan dengan cara
28
sistem IDS diletakkan di dalam controller. Pengujian dilakukan dengan menjalankan sistem IDS melalui terminal Ubuntu. Sistem IDS akan memonitoring paket trafik jaringan OpenFlow, terutama pada controller. Hasil klasifikasi paket data menggunakan fungsi aktivasi backpropagation neural network dapat dikategorikan ke dalam tiga kategori yaitu: <0.2 low, 0.2-0.5 medium dan >0.5 high. Beberapa skema pengujian yang dilakukan adalah sebagai berikut:
a. Pengujian Aktivitas Normal
Pengujian aktivitas normal dilakukan dengan memonitoring jaringan OpenFlow yang terintegrasi dengan jaringan Lab NCC IPB. Pada pengujian ini tidak ada aktivitas serangan maupun aktivitas akses data keluar jaringan. Berdasarkan pengujian yang dilakukan bahwa aktivitas jaringan yang ada terlihat