KEAMANAN JARINGAN OPENFLOW MENGGUNAKAN INTRUSION DETECTION SYSTEM (IDS) BERBASIS BACKPROPAGATION NEURAL NETWORK
GUNTORO
SEKOLAH PASCASARJANA INSTITUT PERTANIAN BOGOR BOGOR 2015
PERNYATAAN MENGENAI TESIS DAN SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA Dengan ini saya menyatakan bahwa tesis berjudul Keamanan Jaringan OpenFlow menggunakan Intrusion Detection System (IDS) berbasis Backpropagation Neural Network adalah benar karya saya dengan arahan dari komisi pembimbing dan belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir tesis ini. Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut Pertanian Bogor. Bogor, Desember 2015 Guntoro NIM G651130181
RINGKASAN GUNTORO. Keamanan Jaringan OpenFlow menggunakan Intrusion Detection System berbasis Backpropagation Neural Network. Dibimbing oleh HERU SUKOCO dan SUGI GURITMAN. Protokol OpenFlow (OFP) adalah salah satu teknik jaringan komputer yang memisahkan antara control plane dan data plane. Keuntungan dengan adanya pemisahan tersebut, sebuah jaringan komputer dapat diprogram secara dinamis tanpa harus terikat dengan salah satu vendor tertentu. Adanya pemisahan control plane dan data plane, dapat menjadi ancaman terhadap data yang dikirimkan. Oleh karena itu, jaringan berbasiskan OFP memerlukan mekanisme keamanan yang mampu mengidentifikasi trafik data. Penelitian ini menerapkan dan menguji mekanisme keamanan pada jaringan OFP menggunakan teknik intrusion detection system (IDS). IDS merupakan salah satu skema keamanan yang dapat diintegrasikan dengan teknologi OpenFlow. IDS yang digunakan pada penelitian adalah metode backpropagation neural network (BPNN) untuk mengklasifikasikan paket-paket yang datang terhadap jenis serangan. Penerapan BPNN diharapkan mampu mengidentifikasi serangan-serangan pada jaringan OpenFlow. Metode penelitian ini terdiri dari beberapa proses yaitu analisis masalah, perancangan sistem yang terdiri perancangan jaringan OpenFlow dan perancangan sistem IDS, implementasi sistem dan pengujian serta evaluasi sistem. Implementasi jaringan OpenFlow dilakukan di LAB Net Centric Computing (NCC) IPB. Implementasi sistem IDS menggunakan metode backpropagation neural network diterapkan pada controller. Adapun ruang lingkup penelitian ini adalah. 1) Implementasi jaringan OpenFlow hanya pada jaringan LAN. 2) Penelitian berfokus terhadap keamanan controller. 3) Target serangan yang dilakukan adalah OpenFlow controller. 4) Keamanan jaringan OpenFlow menggunakan sistem IDS. 5) Jenis serangan yang digunakan adalah normal, DoS attack dan HTTP. 6) Metode yang digunakan untuk klasifikasi jenis paket data menggunakan backpropagation neural network. Pengujian dilakukan dengan dua tahapan yaitu pelatihan model IDS dan pengujian sistem IDS secara realtime. Pelatihan model IDS yaitu melatih dataset trafik jaringan menggunakan metode backpropagation neural network, sehingga mendapatkan model klasifikasi yang terbaik. Dataset yang digunakan untuk pelatihan menggunakan dataset KDD Cup 1999 yang dikeluarkan oleh DARPA (Defense Advances Research Project Agency). Setelah dilakukan pelatihan, hasil akurasi yang didapatkan yaitu rata-rata 97,7%. Pengujian secara sistem IDS secara realtime yaitu menguji sistem IDS menggunakan metode backpropagation neural network dengan data trafik jaringan realtime. Skema pengujian sistem IDS secara realtime terdiri dari pengujian paket normal, HTTP dan UDP flooding. Klasifikasi serangan dikategorikan ke dalam tiga level yaitu <0.2 kategori low, 0.2 – 0.5 kategori medium dan >0.5 kategori high. Berdasarkan pengujian yang dilakukan, sistem IDS berbasis backpropagation neural network yang diterapkan pada jaringan OpenFlow dalam penelitian ini dapat mengklasifikasikan paket normal, HTTP dan UDP flooding. Selain itu, IDS ini mampu mendeteksi serangan ke dalam tiga kategori yang telah dirancang. Hasil akurasi yang didapatkan dalam mendeteksi serangan adalah rata-rata 90%. Kata kunci: backpropagation, neural network, OpenFlow, intrusion detection system
SUMMARY GUNTORO. Security of OpenFlow Network using Intrusion Detection System based Backpropagation Neural Network. Supervised by HERU SUKOCO and SUGI GURITMAN. OpenFlow protocol (OFP) is one technique that separates the computer network between the control plane and data plane. The advantage with separation of these, a computer network can be programmed dynamically without having to be tied to one specific vendor. Separation of control plane and data plane can be a threat to data transmitted. Therefore, OFP based network requires security mechanisms That can identify data traffic. This research implemented and evaluated the security mechanisms using techniques OFP based intrusion detection system (IDS). IDS is a security scheme that integrates with OpenFlow technology. IDS used in the research is the method of backpropagation neural network (BPNN) to classify the packets that come against this type of attack. Application of BPNN was to identify attacks an OpenFlow network. The method of this research consists of several steps, such as analysis, system design consisting OpenFlow network design and design of IDS, system implementation, experimental and evaluation system. Implementation of OpenFlow network was done in LAB Net-Centric Computing (NCC) IPB. Implementation of IDS was conducted using backpropagation and was applied to the controller. The scopes of this research are. 1) Implementation of OpenFlow network was implemented only on LAN network. 2) The study focuses on the safety controller. 3) Target attacks carried out is OpenFlow controller. 4) Security of OpenFlow network was conducted using IDS. 5) This type of attack used is normal, DoS attacks and HTTP. 6) The method for classification of types of data packets is backpropagation neural network. This experimental was done on two steps: training and testing models of IDS in real-time. IDS model training is dataset network traffic using backpropagation neural network, thus getting the best classification model. The dataset used in this research was KDD Cup 1999 dataset released by DARPA (Defense Advances Research Projects Agency). After the training, the accuracy of the results 97.7%. Experimental of IDS in real-time IDS was conducted using backpropagation neural network with real-time network traffic data. Experimental schema of IDS in realtime was done using the normal access, HTTP, and UDP flooding. The classification of attacks is categorized into three levels, namely <0.2 low, 0.2 - 0.5 medium and >0.5 high. Based on the experimental performed, IDS based backpropagation neural network applied to the OpenFlow network can classify packet normal, HTTP and UDP flooding. Furthermore, IDS is able to detect attacks into three categories that have been designed. The accuracy of the results obtained in detecting the attack was an average of 90%. Keywords: backpropagation, neural network, intrusion detection system, OpenFlow
© Hak Cipta Milik IPB, Tahun 2015 Hak Cipta Dilindungi Undang-Undang Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan atau menyebutkan sumbernya. Pengutipan hanya untuk kepentingan pendidikan, penelitian, penulisan karya ilmiah, penyusunan laporan, penulisan kritik, atau tinjauan suatu masalah; dan pengutipan tersebut tidak merugikan kepentingan IPB Dilarang mengumumkan dan memperbanyak sebagian atau seluruh karya tulis ini dalam bentuk apa pun tanpa izin IPB
KEAMANAN JARINGAN OPENFLOW MENGGUNAKAN INTRUSION DETECTION SYSTEM (IDS) BERBASIS BACKPROPAGATION NEURAL NETWORK
GUNTORO
Tesis sebagai salah satu syarat untuk memperoleh gelar Magister Komputer pada Program Studi Ilmu Komputer
SEKOLAH PASCASARJANA INSTITUT PERTANIAN BOGOR BOGOR 2015
Penguji Luar Komisi pada Ujian Tesis: Dr Ir Sri Wahjuni, MT
PRAKATA Puji dan syukur penulis panjatkan kepada Allah subhanahu wa ta’ala atas segala karunia-Nya sehingga karya ilmiah ini berhasil diselesaikan. Tema yang dipilih dalam penelitian yang dilaksanakan sejak bulan Januari 2015 ini ialah Keamanan Jaringan OpenFlow Menggunakan Intrusion Detection System (IDS) Berbasis Backpropagation Neural Network. Terima kasih penulis ucapkan kepada Bapak DrEng Heru Sukoco, SSi MT dan Bapak Dr Drs Sugi Guritman selaku pembimbing, serta Ibu Dr Ir Sri Wahjuni, MT selaku penguji yang telah banyak memberi saran. Ungkapan terima kasih juga disampaikan kepada ayahanda Misban, ibunda Warsini, serta seluruh keluarga dan teman-teman ilkom angkatan 15, atas segala doa dan kasih sayangnya. Semoga karya ilmiah ini bermanfaat.
Bogor, Desember 2015 Guntoro
DAFTAR ISI DAFTAR TABEL
vi
DAFTAR GAMBAR
vi
DAFTAR LAMPIRAN
vi
1 PENDAHULUAN Latar Belakang Perumusan Masalah Tujuan Penelitian Manfaat Penelitian Ruang Lingkup Penelitian
1 1 2 3 3 3
2 TINJAUAN PUSTAKA Software Defined Networking (SDN) Perbandingan Jaringan Tradisional dengan Jaringan SDN Jaringan OpenFlow Intrusion Detection System (IDS) Artificial Neural Network (ANN) Backpropagation
4 4 4 5 5 8 8
3 METODE Analisis Masalah Perancangan Sistem Implementasi Sistem Pengujian dan Evaluasi Sistem
13 13 13 17 17
4 HASIL DAN PEMBAHASAN Analisis Masalah Perancangan Sistem Implementasi Sistem Hasil Pengujian dan Evaluasi Sistem
18 18 18 22 25
5 SIMPULAN DAN SARAN Simpulan Saran
31 31 31
DAFTAR PUSTAKA
32
LAMPIRAN
34
RIWAYAT HIDUP
38
DAFTAR TABEL 1 2 3 4 5
Klasifikasi fitur ........................................................................................... 15 Ekstraksi data ............................................................................................. 20 Normalisasi data ......................................................................................... 20 Distribusi data pelatihan ............................................................................. 21 Perbandingan pelatihan ............................................................................... 21
DAFTAR GAMBAR 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Perbandingan jaringan tradisional dengan jaringan SDN Arsitektur protokol OpenFlow Klasifikasi IDS Network based IDS Host based IDS Arsitektur backpropagation Metode penelitian Arsitektur perancangan jaringan OpenFlow Perancangan sistem IDS dengan backpropagation Arsitektur perancangan jaringan OpenFlow Perancangan arsitektur backpropagation Lingkungan pengujian sistem Koneksi floodlight controller dengan OpenFlow switch Floodlight monitoring Trafik paket jaringan OpenFlow Aktivitas normal low alert Aktivitas normal medium alert Aktivitas normal high alert UDP flooding low alert UDP flooding medium alert UDP flooding high alert Akses HTTP low alert Akses HTTP medium alert Akses HTTP high alert
4 5 6 6 7 8 13 14 14 18 21 26 26 27 27 28 28 28 29 29 29 30 30 30
DAFTAR LAMPIRAN 1 2 3 4 5 6 7 8 9
Konfigurasi OpenFlow switch dengan OpenVSwitch Konfigurasi controller floodlight Informasi port OpenFlow switch Koneksi controller dan OpenFlow switch Trafik paket normal Trafik paket UDP flooding Trafik paket HTTP Topologi jaringan OpenFlow Informasi port dan flow dalam OpenFlow switch
34 34 35 35 35 36 36 37 37
1 PENDAHULUAN Latar Belakang Pada jaringan tradisional, sebuah perangkat switch hanya berfungsi untuk meneruskan suatu paket melalui port ke port yang lain tanpa membedakan protokol data yang dikirimkan (Shinde dan Tamhankar 2013). Salah satu teknologi yang berkembang saat ini adalah software-defined networking (SDN). Teknologi SDN merupakan sebuah pendekatan tentang teknologi jaringan komputer yang dikembangkan oleh UC Berkeley dan Stanford University pada tahun 2008. Konsep utama dari teknologi SDN adalah memisahkan antara control plane dengan data plane Kloti et al. (2013). Teknologi SDN mempunyai beberapa metode yang digunakan untuk mengontrol data antar komunikasi pada perangkat jaringan. Salah satu teknologi SDN yang sedang berkembang saat ini adalah protokol OpenFlow. Protokol OpenFlow merupakan sebuah arsitektur jaringan komputer pada perangkat switch, yang berfungsi untuk melakukan komunikasi data, di mana antara data plane dengan control plane saling dipisahkan Kloti et al. (2013). Sebuah perangkat switch melakukan pengiriman data menggunakan satu atau lebih dari flow table. Flow table berisikan beberapa aturan yang digunakan untuk mengatur lalu lintas pada jaringan komputer. Aturan-aturan tersebut dapat dikonfigurasi pada perangkat controller. Perangkat tersebut dapat mengatur lalu lintas paket-paket yang berjalan pada sebuah jaringan OpenFlow. Keuntungan dengan adanya controller, sebuah jaringan komputer dapat di program secara dinamis, baik topologi jaringan maupun masalah routing tanpa harus terikat dengan vendor tertentu. Tetapi controller menjadi sebuah ancaman tersendiri bagi keamanan paket data yang melewati jaringan OpenFlow, apabila tidak memiliki sistem keamanan yang mampu melindungi jaringan yang ada. Beberapa isu ancaman yang sering terjadi pada jaringan OpenFlow diantaranya adalah DoS attacks, ping flood, packet sniffing serta ancaman-ancaman lainnya (Hedge dan Hu 2014). Oleh karena itu diperlukannya suatu layanan keamanan jaringan yang dapat mengidentifikasi terhadap serangan-serangan yang ada. Terdapat beberapa teknik keamanan komputer yang dapat diterapkan pada jaringan komputer diantaranya adalah firewall, virtual private network (VPN), serta enkripsi paket data yang dikirimkan. Tetapi dengan perkembangan teknologi komputer yang begitu pesat, seorang hacker mampu mencari kelemahan sistem keamanan yang ada, sehingga teknik keamanan jaringan yang ada tidak mampu melindungi paket-paket data yang dikirimkan. Salah satu layanan keamanan jaringan yang dapat memonitoring serta mendeteksi terhadap serangan intruder adalah intrusion detection system (IDS) Romao et al. (2013). IDS merupakan layanan keamanan jaringan yang dapat mendeteksi semua aktivitas paket data yang masuk maupun keluar jaringan serta mampu mengidentifikasi paket-paket data yang mencurigakan Upadhyaya et al. (2013). Sistem tersebut dapat membantu bagi administrator jaringan untuk memonitoring serta mendeteksi serangan-serangan yang berbahaya dari ancaman para intruder. Penelitian Kumar et al. (2012) membahas tentang konsep OpenFlow switch menggunakan intrusion detection system. Penelitian ini juga bertujuan membuat keamanan switch menggunakan protokol OpenFlow. Penelitian Romao et al. (2013)
2
melakukan analisis keamanan jaringan OpenFlow, keamanan komunikasi antara OpenFlow switch dengan controller. Penelitian ini membahas tentang pentingnya layanan keamanan yang digunakan untuk komunikasi antara OpenFlow switch dengan controller. Beberapa rekomendasi dalam penelitian ini adalah pentingnya penerapan Vlan pada jaringan OpenFlow, pentingnya menerapkan layanan keamanan TLS serta penerapan sistem intrusi. Penelitian Kloti et al. (2013) menganalisis keamanan yang terdapat pada teknologi OpenFlow. Serangan yang dapat membahayakan teknologi OpenFlow yaitu Denial of Service (DoS). Serangan ini dapat terjadi pada OpenFlow switch maupun controller. Penelitian (Khatri 2013) melakukan implementasi serta menganalisis terhadap protokol OpenFlow pada jaringan LAN. Protokol OpenFlow sangat cocok pada jaringan berbasis backbone atau jaringan area kampus. Penelitian Hedge dan Hu (2014) tentang isu-isu keamanan jaringan SDN atau OpenFlow. Di dalam penelitian ini membahas tentang ancaman yang dapat terjadi pada jaringan OpenFlow, ancaman tersebut dapat terjadi pada layer switch atau router, transport dan aplikasi. Serangan-serangan yang dapat terjadi diantaranya adalah serangan DDoS attack, ping flood, SYN flood, maupun buffer overflow. Penelitian Dotcenko et al. (2014) tentang manajemen keamanan informasi berbasis fuzzy logic pada software-defined networks. Dalam penelitian ini membahas tentang menajemen keamanan informasi menggunakan algoritme soft-computing serta melakukan implementasi prototipe sistem IDS pada jaringan SDN, yang terdiri dari modul statistik, modul sistem pendukung keputusan. Modul tersebut diimplementasikan dalam Beacon controller dengan menggunakan pemrograman java. Penelitian ini melakukan evaluasi sistem menggunakan simulator mininet. Dari penelitian di atas belum ada yang membahas tentang penerapan sistem IDS menggunakan metode backpropagation neural network ke dalam jaringan OpenFlow. Backpropagation adalah salah satu algoritme pelatihan neural network dalam kategori supervised learning. Algoritme backpropagation yang menggunakan ide dari syaraf biologi manusia, sehingga dalam menyelesaikan permasalahan akan dilakukan pelatihan-pelatihan Gupta et al. (2012). Dengan sistem IDS berbasis backpropagation neural network, dapat melakukan klasifikasi jenis paket jaringan baik serangan maupun bukan serangan. Penelitian ini bertujuan menerapkan sistem IDS berbasis backpropagation neural network ke dalam jaringan OpenFlow. Metode backpropagation neural network berfungsi untuk mengenali pola-pola serangan serta mengklasifikasikan jenis paket data yang ada pada jaringan OpenFlow, baik dalam kategori serangan maupun bukan serangan.
Perumusan Masalah Berdasarkan uraian latar belakang di atas, maka rumusan masalah dalam penelitian ini adalah: 1. Bagaimana membangun jaringan OpenFlow dan mengintegrasikan dengan jaringan yang ada? 2. Bagaimana mengimplementasikan sistem IDS pada jaringan OpenFlow? 3. Bagaimana mengidentifikasi jenis paket data yang terdapat dalam jaringan OpenFlow menggunakan backpropagation neural network?
3
4. Bagaimana menganalisis keamanan jaringan OpenFlow menggunakan sistem IDS berbasis backpropagation neural network?
Tujuan Penelitian Penelitian ini bertujuan untuk menganalisis data paket pada jaringan OpenFlow dengan menerapkan mekanisme keamanan jaringan menggunakan menggunakan intrusion detection system (IDS) berbasis backpropagation neural network Manfaat Penelitian 1. 2. 3. 4.
Manfaat yang didapatkan pada penelitian ini adalah sebagai berikut: Dengan adanya layanan jaringan OpenFlow tersebut memudahkan bagi administrator jaringan dalam mengelola jaringannya Sistem IDS mampu mengidentifikasi terhadap serangan pada jaringan komputer Dengan Sistem IDS menggunakan backpropagation neural network dapat mengklasifikasikan jenis paket data yang ada pada jaringan OpenFlow Paket-paket data yang melewati jaringan OpenFlow dapat terjamin keamananannya
Ruang Lingkup Penelitian Agar lebih terarah dan berjalan dengan baik, maka penelitian ini membatasi pada: 1. Implementasi jaringan OpenFlow hanya pada jaringan LAN 2. Penelitian ini berfokus terhadap keamanan OpenFlow controller 3. Target serangan dilakukan adalah OpenFlow controller 4. Keamanan jaringan OpenFlow menggunakan sistem IDS 5. Jenis serangan yang digunakan adalah normal attack dan DoS attack 6. Metode yang digunakan untuk mengklasifikasikan jenis paket data menggunakan backpropagation neural network
4
2 TINJAUAN PUSTAKA Software Defined Networking (SDN) Software-defined networking (SDN) berkaitan dengan arsitektur perangkatperangkat jaringan komputer seperti router, switch serta perangkat jaringan lainnya. Secara umum dalam perangkat jaringan terdapat dua bagian yaitu control plane dan data plane (Kim dan Feamster 2013). Control plane merupakan bagian yang berfungsi untuk mengatur logika pada perangkat jaringan seperti routing table, pemetaan jaringan, dan lain sebagainya. Sedangkan data plane merupakan bagian yang berfungsi untuk meneruskan paket data yang masuk melalui suatu port pada perangkat jaringan menuju port keluar dengan berkomunikasi kepada control plane.
Perbandingan Jaringan Tradisional dengan Jaringan SDN Konsep software-defined networking adalah melakukan pemisahan antara control plane dengan data plane, di mana pada bagian data plane berada pada perangkat jaringan, sedangkan control plane terpisah dari perangkat jaringan yang disebut controller Kloti et al. (2013). Sedangkan konsep di dalam jaringan tradisional, yaitu control plane dengan data plane berada pada perangkat jaringan yang sama dan tidak saling dipisahkan. Adapun perbandingan antara jaringan tradisional dengan jaringan SDN seperti ditunjukkan pada Gambar 1. Pada gambar bagian atas merupakan arsitektur dari jaringan tradisional sedangkan sebelah bawah merupakan arsitektur dari jaringan SDN. Di dalam jaringan tradisional terlihat bahwa antara control plane dan data plane terdapat di dalam satu perangkat serta saling terhubung ke dalam perangkat jaringan komputer yang lain. Di dalam jaringan SDN, terlihat bahwa antara data plane dan control plane saling terpisah. Setiap data plane terhubung ke dalam control plane yang terpusat.
Jaringan Tradisional
Switch
Data Plane
Control Plane
Jaringan SDN
Programmable Switch
Data Plane Controller
Gambar 1 Perbandingan jaringan tradisional dengan jaringan SDN (Farooq dan Hu 2014)
5
Jaringan OpenFlow Jaringan OpenFlow berbeda dengan jaringan tradisional. Di dalam jaringan OpenFlow, sebuah controller mempunyai peranan yang sangat penting dalam mengatur komunikasi sebuah jaringan. Sebuah controller menentukan setiap paket data yang ada di dalam jaringan, kemana paket data harus dikirimkan. Setiap paket data yang melewati jaringan OpenFlow harus diverifikasi oleh controller. Menurut Kumar et al. (2012), terdapat beberapa komponen OpenFlow switch yaitu flow table, secure channel dan OpenFlow protocol. Seperti ditampilkan pada Gambar 2. OpenFlow Switch OpenFlow Protocol
Secure Channel
SSL
Controller
Flow Table 0
Flow Table n
Group Table
Pipeline
Gambar 2 Arsitektur protokol OpenFlow Flow table merupakan komunikasi sebuah switch yang berfungsi untuk mengatur setiap data flow dengan menghubungkan pada setiap flow table entry. Sebuah flow table memiliki tiga bagian yaitu packet header yang berfungsi untuk menentukan bagaimana paket akan diteruskan. Action berfungsi untuk menspesifikasikan tindakan apa yang harus diambil terhadap sebuah flow dan counter berfungsi untuk menyatakan jumlah paket yang diproses pada tiap flow. Menurut Mckeown et al. (2008), beberapa tindakan yang dilakukan ketika paket data masuk, diantaranya meneruskan paket ke dalam port tertentu, memblokir setiap trafik tertentu, mengenkapsulasi serta meneruskan paket ke controller. Secure channel adalah sebuah layanan keamanan yang menghubungkan antara OpenFlow switch dengan controller. Sehingga paket-paket data yang melewati antara OpenFlow switch dengan controller terjamin keamanannya. OpenFlow protocol berfungsi untuk menyediakan layanan yang terbuka untuk komunikasi antara controller dengan OpenFlow switch. Intrusion Detection System (IDS) Intrusion detection system (IDS) merupakan layanan keamanan jaringan yang memeriksa semua aktivitas masuk maupun keluar serta mengidentifikasi paketpaket data yang mencurigakan Silva et al. (2004). IDS pada dasarnya merupakan suatu sistem yang memiliki kemampuan untuk menganalisa paket-paket data secara realtime, mencatat semua kegiatan dalam jaringan serta menghentikan terhadap serangan-serangan maupun penyalahgunaan. Komponen-komponen yang terdapat pada sebuah sistem IDS adalah sensor yang berfungsi untuk mengenali security event, console yang berfungsi untuk memonitoring paket-paket data, alert serta mengontrol sensor dan central engine berfungsi untuk menyimpan setiap log yang dilakukan oleh sensor ke dalam database.
6
Model Intrusion Detection System (IDS) Menurut Beigh dan Peer (2012) sistem IDS dapat diklasifikasikan ke dalam 3 bagian, yaitu Host Based Intrusion Detection System (HIDS), Network Based Intrusion Detection System (NIDS), dan Hybrid Intrusion Detection System. Sedangkan untuk menganalisis jenis pola serangan dapat diklasifikasikan ke dalam 2 bagian yaitu Misuse Based Intrusion Detection System dan Anomaly Based Intrusion Detection System, seperti ditunjukkan pada Gambar 3. Model Intrusion Detection System (IDS)
Jenis IDS
Network Based IDS
Teknik Deteksi Serangan
Host Based IDS
Misuse Based IDS
Hybrid IDS
Anomaly Based IDS
Gambar 3 Klasifikasi IDS Jenis Intrusion Detection System (IDS) Network Based Intrusion Detection System (NIDS) Network Based Intrusion Detection System adalah sebuah tipe IDS yang ditempatkan pada suatu titik tertentu yang berfungsi untuk melakukan pengawasan terhadap trafik sebuah jaringan baik yang menuju maupun berasal dari perangkat di dalam jaringan. Sehingga semua perangkat yang berasal dari dalam maupun dari luar jaringan dilakukan scanning Beigh dan Peer (2012). Adapun arsitektur dari Network Based IDS ditunjukkan pada Gambar 4. SENSOR IDS SENSOR IDS
FIREWALL INTERNET
WEB SERVER
DNS SERVER
Gambar 4 Network based IDS Host Based Intrusion Detection System (HIDS) Host Based Intrusion Detection System adalah sebuah tipe IDS yang berjalan pada host yang berdiri sendiri dalam sebuah jaringan. Tipe HIDS melakukan pengawasan terhadap trafik baik dari dalam maupun dari luar selanjutnya akan
7
memberikan peringatan kepada user atau administrator jaringan Beigh dan Peer (2012). Adapun arsitektur dari Host Based IDS ditunjukkan pada Gambar 5.
AGENT
AGENT Firewall Internet
AGENT
AGENT
AGENT
AGENT
AGENT WEB SERVER
AGENT DNS SERVER
Gambar 5 Host based IDS Hybrid Intrusion Detection System (Hybrid IDS) Hybrid Intrusion Detection System merupakan sebuah gabungan teknik IDS antara NIDS dengan HIDS, sehingga mendapatkan kemampuan yang lebih efisien dari penggabungan dua teknik tersebut. Beigh dan Peer (2012). Teknik Deteksi Serangan Misuse Based Intrusion Detection System Misuse based merupakan tipe signature based atau knowledge based. Dalam mendeteksi jenis serangan, teknik misuse based IDS mengumpulkan informasi serta membandingkan informasi tersebut dengan database menggunakan deteksi signature. Sravani dan Srinivasu (2014). Anomaly Based Intrusion Detection System Dalam mendeteksi serangan, Anomaly Based IDS akan melakukan pengawasan trafik pada jaringan serta melakukan perbandingan terhadap trafik yang terjadi dengan trafik yang ada. Umumnya teknik ini menggunakan model statistik dalam mendeteksi pola aktivitas jaringan, baik paket normal dan tidak normal. (Hoque 2012). Dalam model anomaly based-IDS, perilaku penyerang berbeda dengan pengguna normal. Dengan demikian bagi seorang administrator jaringan harus mendefinisikan perilaku serangan dan keadaan normal dari sistem IDS. Hal-hal yang perlu didefinisikan diantaranya adalah protokol jaringan, banyaknya trafik serta ukuran paket data normal. Sistem detector anomali akan melakukan monitoring terhadap jaringan, kemudian akan membandingkan dengan paket data normal yang telah ditetapkan. Kelemahan dari Anomaly Based-IDS adalah sering terjadi false-positive, sehingga perlu mendefinisikan keadaan paket normal secara spesifik.
8
Artificial Neural Network (ANN) Artificial Neural Network (ANN) merupakan salah satu teknik soft computing untuk memproses informasi yang melakukan pembelajaran seperti otak manusia. Jaringan syaraf tiruan merupakan sebuah pemodelan statistik yang hanya mengambil ide dari syaraf biologi manusia, yaitu dapat menyelesaikan masalah setelah dilakukan pembelajaran sebelumnya. Jaringan syaraf tiruan juga dapat digunakan untuk memodelkan sebuah input serta output sehingga menemukan polapola dari sebuah data Gupta et al. (2012). Proses pembelajaran di dalam jaringan syaraf tiruan dapat dikategorikan dalam 2 model yaitu supervised learning dan unsupervised learning. Model supervised learning disebut juga model klasifikasi. Model supervised learning merupakan model pembelajaran terawasi, dimana nilai output yang diharapkan telah diketahui sebelumnya. Beberapa model dari supervised learning adalah jaringan perceptron, ADALINE dan backpropagation. Sedangkan model unsupervised learning disebut juga model clustering. Model unsupervised learning merupakan model pembelajaran dalam kategori pembelajaran tak terawasi, dimana output tidak ditentukan sebelumnya. Metode ini bertujuan untuk mengetahui suatu kelas atau cluster tertentu Gupta et al. (2012). Dalam tesis ini model yang digunakan adalah supervised learning dengan metode backpropagation. Backpropagation Backpropagation merupakan salah satu algoritme pelatihan neural network yang menggunakan metode supervised learning. Metode backpropagation mempunyai banyak lapisan atau disebut dengan multi layer perceptron. Algoritme backpropagation menggunakan error output dalam mengubah nilai bobot atau disebut dengan backward. Untuk mendapatkan nilai error, maka langkah awal yang dikerjakan adalah tahap forward propagation Gupta et al. (2012). Gambar 6 merupakan arsitektur model backpropagation. Y1
W10
Yk
Wj0
Wjp
Wj1
Wm0 W11 1
Wm1
Wjj W1j
Z1
V11
Vj1
V1i
Zp
Vji
Vpn
Vjn Vpi
X1
Wmp
W1p
Wjj Zj
Vp1
1
Ym
V1n
Xi
Gambar 6 Arsitektur backpropagation (Fausett 1994)
Xn
9
Arsitektur backpropagation terdiri dari n input layer (ditambah dengan sebuah bias), satu hidden layer dengan p buah node (ditambah satu bias) dan m buah node pada output layer, seperti terlihat pada Gambar 6. Proses pelatihan backpropagation terdiri dari tiga tahapan yaitu input layer, hidden layer dan output layer. Vij merupakan bobot dari input Xi ke unit hidden layer Zj (Vj0 merupakan bobot yang menghubungkan bias dari input ke hidden layer Zj). Wkj merupakan bobot dari unit hidden layer Zj ke unit output Yk (Wk0 merupakan bobot yang menghubungkan bias dari hidden layer Zj ke output layer Yk). Pelatihan backpropagation terdiri dari tiga fase. Pertama, fase maju, yaitu pola input dihitung secara maju (feed forward) mulai dari input layer hingga output layer dengan menggunakan fungsi aktivasi yang telah ditentukan. Kedua, fase mundur atau disebut proses pengujian, yaitu menghitung selisih antara output jaringan dengan target output yang dinginkan sebagai error yang terjadi, kemudian error tersebut dipropagasikan mundur dimulai dari bobot yang berhubungan langsung dengan node-node di ouput layer. Ketiga, fase modifikasi atau perubahan bobot, yang berfungsi untuk menurunkan error yang terjadi. Ketiga fase tersebut diulang-ulang terus hingga kondisi penghentian dipenuhi. Penulisan istilah: x = Vektor input pembelajaran x= (x1, x2,…xj,…,xn) t = Vektor target output t = (t1, t2,…,tk,…,tm) δk = Bagian koreksi error penyesuaian bobot wjk berpedoman pada error output neuron yk δj = Bagian koreksi error penyesuaian bobot vij berpedoman pada error output neuron zj α = Learning rate Xi = Input neuron voj = Bias pada hidden neuron ke- j Zj = Hidden neuron ke-j Nilai input zj ditunjukkan dengan: n
z _ in j v0 j xi vij i 1
Z_inj = Nilai output dengan menggunakan fungsi aktivasi yang dipilih ditunjukkan dengan: z j f ( z _ in j ) w0k = Bias output Yk = Output neuron ke-k Nilai input dengan Yk ditunjukkan dengan y_ink: p
y _ ink w0 k z j wk j 1
Nilai output dengan menggunakan fungsi aktivasi yang dipilih ditunjukkan dengan: yk f ( y _ ink )
10
Learning Rate (α) Learning rate merupakan salah satu parameter pelatihan yang digunakan untuk menghitung nilai koreksi bobot pada waktu proses pelatihan. Nilai learning rate antara 0 hingga 1. Semakin besar nilai learning rate yang digunakan, maka semakin cepat pula waktu proses pelatihan. Namun, jika nilai learning rate terlalu besar, maka ketelitian jaringan akan semakin rendah. Begitu pula apabila nilai learning semakin kecil, maka ketelitian jaringan akan semakin besar, tetapi membutuhkan waktu yang lama. Fungsi Aktivasi Fungsi aktivasi mempunyai beberapa karakteristik yang harus dipenuhi yaitu kontinu, diferensial dan fungsi yang tidak turun. Fungsi aktivasi yang sering digunakan adalah fungsi sigmoid yang memiliki range (0, 1) seperti yang terlihat pada persamaan (1) (Fausett 1994). 1
𝑓(𝑥 ) = 1+exp−𝑥
dengan turunan 𝑓′(𝑥 ) = 𝑓(𝑥)(1 − 𝑓(𝑥 ))
(1)
Momentum Momentum berfungsi untuk mempercepat pelatihan pembelajaran. Metode momentum melibatkan bobot ditambah faktor tertentu dari penyesuaian sebelumnya. Penambahan momentum dimaksudkan untuk menghindari perubahan bobot yang mencolok akibat adanya data yang sangat berbeda dengan yang lain. Formula yang digunakan perubahan bobot menggunakan momentum adalah seperti terlihat pada persamaan (2). wjk (t 1) k z j wjk (t )
(2)
Algoritme Pelatihan Backpropagation Beberapa tahapan yang dilakukan pada proses pelatihan backpropagation yaitu (Fausett 1994): Langkah 0: Inisialisasi bobot dengan bilangan acak kecil Langkah 1: Jika kondisi penghentian belum terpenuhi, kerjakan langkah 2-9 Langkah 2: Untuk setiap pasangan data pelatihan, lakukan langkah 3-8 Fase 1 : Feedforward Langkah 3: Tiap-tiap unit input (Xi, i=1,2,3,...,n) menerima sinyal xi dan meneruskan sinyal tersebut ke semua unit pada lapisan yang ada di atasnya (lapisan tersembunyi) Langkah 4: Tiap-tiap unit pada suatu lapisan tersembunyi (Zi, j=1,2,3...,p) menjumlahkan sinyal-sinyal input terbobot. Fungsi yang digunakan seperti terlihat pada persamaan (3): n
z _ in j v0 j xi vij
(3)
i 1
gunakan fungsi aktivasi untuk menghitung sinyal output, seperti pada persamaan (4):
11
z j f ( z _ in j )
(4)
dan kirim sinyal ini ke node-node di output layer. Langkah 5: Tiap-tiap node di output layer ( Yk, k = 1,2,3,…,m ) menjumlahkan sinyal-sinyal masukan berbobot menggunakan persamaan (5): p
y _ ink w0 k z j wk
(5)
j 1
gunakan fungsi aktivasi untuk menghitung sinyal output, seperti pada persamaan (6): yk f ( y _ ink )
(6)
dan kirim sinyal tersebut ke node-node di output layer. Fase 2: Backpropagation Langkah 6: Tiap-tiap node di output layer (Yk, k=1,2,3…,m) menerima pola target berkaitan dengan pola pelatihan masukannya. Hitung galat informasi menggunakan persamaan (7):
k (tk yk ) f '( y _ ink )
(7)
kemudian hitung koreksi bobot (yang nantinya digunakan untuk memperbaiki nilai wjk dengan menggunakan persamaan (8): w jk k z j
(8)
hitung juga koreksi bias (yang nantinya digunakan untuk memperbaiki nilai w0k ) menggunakan persamaan (9): w0k k
(9)
Langkah 7: Tiap-tiap node di hidden layer (zj = menjumlahkan delta masukannya (dari node- node pada lapisan di atasnya) menggunakan persamaan (10): m
_ in j k w jk
(10)
k 1
kalikan nilai ini dengan turunan dari fungsi aktivasinya untuk menghitung informasi error sesuai dengan persamaan (11):
j _ in j f '( z _ in j )
(11)
12
Kemudian hitung koreksi bobot (yang nantinya digunakan untuk memperbaiki nilai vij) dengan menggunakan persamaan (12): vi j j xi
(12)
hitung juga koreksi bias (yang nantinya digunakan untuk memperbaiki nilai v0j ) menggunakan persamaan (13): v0 j j
(13)
Fase 3: Perubahan Bobot dan Bias Langkah 8: Tiap-tiap node di output layer (Yk , k 1, 2,3,..., m) melakukan perbaikan bias dan bobotnya (j = 0,1,2,…,p) dengan menggunakan persamaan (14): wjk (baru) wjk (lama) w jk
(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): vi j (baru) vi j (lama) vij
(15)
Langkah 9: Tes kondisi berhenti Untuk memeriksa tes kondisi berhenti biasanya menggunakan persamaan MSE (Mean Square Error) seperti terlihat pada persamaan (16): 1 n (16) MSE (Ti Yi) 2 N i 1 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. Perancangan Sistem
Mulai
Analisis Masalah
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 OpenFlow antara 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. Komponenkomponen 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.
Internet OpenFlow Switch
OpenFlow Controller
Host
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. Dataset KDD99
OpenFlow Network
Network Data Monitoring
Network Data Monitoring
Preprocessing Preprocessing
Proses Training
Model Data Klasifikasi
Proses Klasifikasi Backpropagation
Log Hasil Klasifikasi
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 atributatribut yang terdapat pada dataset KDD Cup 1999 seperti ditunjukkan pada Tabel 1. Tabel 1 Klasifikasi fitur No Fitur 1 duration 2 protocol_type 3 service 4 5 6 7 8 9 10
flag src_bytes dst_bytes land wrong_fragment urgent count
11
serror_rate
12 13 14 15
rerror_rate same_srv_rate diff_srv_rate srv_count
16 17 18 19
srv_serror_rate srv_rerror_rate srv_diff_host_rate dst_host_count
20
dst_host_serror_rate
21 22 23 24 25 26 27 28 29 30
dst_host_rerror_rate dst_host_same_srv_rate dst_host_diff_srv_rate dst_host_srv_count dst_host_srv_serror_rate dst_host_srv_rerror_rate dst_host_srv_diff_host_rate dst_host_same_src_port_rate hot num_failed_logins
Deskripsi lama (detik) koneksi tipe protokol (tcp,udp,dsb..) network service di destination (http, telnet, dll..) flag jumlah bytes dari source ke destination jumlah bytes dari destination ke source status koneksi , normal atau error jumlah fragment yang salah jumlah paket yang urgent jumlah koneksi ke host yg sama dengan koneksi yang ada sekarang dalam rentang 2 detik % dari koneksi yang terdapat "SYN" error % dari koneksi yang terdapat "REJ" error % dari koneksi ke service yg sama % dari koneksi ke service yang berbeda jumlah koneksi ke service yang sama terakhir % dari koneksi yang terdapat "SYN" error % dari koneksi yang terdapat % dari koneksi ke host yg berbeda jumlah koneksi ke host yg sama dengan koneksi yang ada sekarang dalam rentang 2 detik % dari koneksi yang terdapat "SYN" error % dari koneksi yang terdapat "REJ" error % dari koneksi ke service yang sama % dari koneksi ke service yang berbeda % dari koneksi yang terdapat "REJ" error % dari koneksi yang terdapat "REJ" error % dari koneksi yang terdapat "REJ" error % dari koneksi ke host yg berbeda % dari koneksi ke port service yang sama jumlah indikator "hot" secara berurutan jumlah percobaan login yang gagal 1
16
No 31 32 33 34
Fitur logged_in num_compromised root_sheel su_attempted
35 36 37 38 39 40
num_root num_file_creations num_shells num_access_files num_outbound_cmds is_host_login
41 42
is_guest_login class
Deskripsi jika berhasil login, 0 sebaliknya jumlah kondisi "compromised" 1 jika root shell didapat, 0 sebaliknya 1 jika dilakukan percobaan perintah "su root", 0 sebaliknya jumlah "root" yang diakses jumlah operasi pembuatan file jumlah prompt shell jumlah operasi pada access control files berurutan 1 jika login termasuk dalam daftar "hot", 0 sebaliknya 1 jika login adalah "guest", 0 sebaliknya jenis trafik (normal, atau jenis serangan tertentu)
Data Preprocessing 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 2. OpenFlow Controller 3. OpenFlow Switch 4. Pemrograman
: Linux Ubuntu 14.04 : Floodlight : OpenVSwitch Versi 2.02 : 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 paketpaket data yang ada pada jaringan, apakah termasuk ke dalam 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 jaringan OpenFlow. 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 OpenFlow seperti ditunjukkan pada Gambar 10. REKTORAT
KAMPUS IPB BARANANGSIANG
LSI
FATETA FMIPA
FAPET
FAPERTA
FKH FAHUTAN FAPERIKANAN
Switch Controller Sistem IDS OpenFlow Switch
Host
Attacker LAB NCC
Gambar 10 Arsitektur perancangan jaringan OpenFlow
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 OpenVswitch versi 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. Input Layer
X1
Hidden Layer
V1.1 Z1
V2.1
W1.1
Output Layer
X2
Y
0 = Normal 1 = Anomaly
W20.20 Z20
V41.41
X41
W0 V0.1
V0.41
bw
bv
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 Parameter No Learning Rate Momentum 1 0.01 0.5 2 0.04 0.07 3 0.04 0.07
Epoch 500 500 1000
Rata-Rata Akurasi
MSE
97.3 % 97.1 % 97.4 %
0.1572 0.1577 0.1515
22
No 4 5 6 7 8 9 10
Parameter Learning Rate Momentum 0.2 0.4 0.3 0.6 0.4 0.6 0.4 0.9 0.5 0.9 0.5 0.6 0.5 0.9
Epoch 1000 1000 1000 1000 500 1000 1000
Rata-Rata Akurasi
MSE
97.5 % 97.6 % 97,7 % 92.2 % 86,8 % 97.3 % 86.6 %
0.1528 0.148 0.147 0.2713 0.3613 0.1562 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, neuron hidden layer: 20, learning rate: 0.4, neuron output 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 Jaringan OpenFlow 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. Library network capture : Scapy 3. Library backpropagation : 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 kesalahankesalahan yang terjadi pada sistem yang telah dibangun. Proses pengujian dilakukan ke dalam dua tahapan yaitu pengujian jaringan OpenFlow dan 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. REKTORAT
KAMPUS IPB BARANANGSIANG
LSI
FATETA FMIPA
FAPET
FAPERTA
FKH
IP: 172.18.88.1/24 IP: 172.18.88.100/24
FAPERIKANAN
Switch IP: 172.18.88.101/24
FAHUTAN
Controller Sistem IDS
OpenFlow Switch Host
Attacker
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.
Gambar 13 Koneksi floodlight controller dengan OpenFlow switch
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 bahwa paket terklasifikasi ke dalam kategori low, medium dan high. Hasil klasifikasi paket data seperti ditunjukkan pada Gambar 16,17 dan 18.
Gambar 16 Aktivitas normal low alert
Gambar 17 Aktivitas normal medium alert
Gambar 18 Aktivitas normal high alert
29
b. Pengujian UDP Flooding Pada pengujian ini menggunakan aplikasi Net Tools dengan menjalankan UDP Flooder, serta aplikasi Zenmap dengan menjalankan Slow Comprehensive Scan. Pengujian dilakukan menggunakan komputer attack dengan IP 172.18.88.104/24, dengan mengirimkan paket ke komputer controller dengan IP 172.18.88.100/24. Hasil yang didapatkan bahwa sistem IDS mampu mendeteksi IP attacker yang melakukan penyerangan ke komputer controller, serta dapat mengklasifikasikan paket-paket data ke dalam beberapa kategori yaitu paket low, medium dan high. Hasil klasifikasi paket data ditampilkan pada Gambar 19, 20 dan 21.
Gambar 19 UDP flooding low alert
Gambar 20 UDP flooding medium alert
Gambar 21 UDP flooding high alert c. Pengujian Akses HTTP Pengujian dilakukan dengan cara mengakses salah satu website melalui browser internet. Pengujian ini bertujuan untuk mengetahui jenis paket yang berbahaya atau yang tidak berbahaya. Pada pengujian ini terlihat bahwa sistem IDS dapat mengklasifikasikan paket-paket data yang berasal dari internet dalam kategori low, medium dan high. Hasil klasifikasi paket data ditampilkan dalam Gambar 22, 23 dan 24.
30
Gambar 22 Akses HTTP low alert
Gambar 23 Akses HTTP medium alert
Gambar 24 Akses HTTP high alert Evaluasi Sistem Berdasarkan pengujian yang dilakukan, bahwa jaringan OpenFlow yang dibangun dapat berjalan dengan baik dengan indikator bahwa OpenFlow switch dan controller terhubung serta terintegrasi dengan jaringan Lab NCC IPB. Sistem IDS yang dibangun menggunakan backpropagation neural network mampu memonitoring serta mengklasifikasikan paket-paket data trafik jaringan OpenFlow, baik yang masuk maupu keluar jaringan dengan <0.2 kategori low, 02-0.5 kategori medium dan >0.5 kategori high. Hasil akurasi dalam mendeteksi serangan adalah rata-rata 90%.
31
5 SIMPULAN DAN SARAN Simpulan Berdasarkan pengujian serta evaluasi sistem, maka dapat disimpulkan bahwa prototipe sistem IDS dapat diimplementasikan ke dalam jaringan OpenFlow. Proses implementasi jaringan OpenFlow hanya menggunakan satu OpenFlow switch. Pengujian sistem IDS dilakukan dua tahapan yaitu pelatihan model sistem IDS dan pengujian sistem IDS secara realtime. Dalam pengujian model sistem IDS menggunakan metode backpropagation didapatkan rata-rata akurasi 97,7%. Sedangkan pengujian sistem IDS secara realtime mampu memonitoring serta mengklasifikasikan ke dalam paket kategori low, medium dan high dengan hasil akurasi deteksi rata-rata 90%. Penerapan sistem IDS ke dalam jaringan OpenFlow lebih terpusat dibandingkan dengan jaringan tradisional, karena paket-paket data harus melewati OpenFlow controller, sehingga tanpa harus memasang sensorsensor IDS pada tiap-tiap perangkat switch. Saran Beberapa saran yang diberikan untuk penelitian selanjutnya adalah, implementasi jaringan OpenFlow dapat diimplementasikan ke dalam jaringan yang lebih besar, sehingga dapat mengetahui perbandingan kinerja jaringan OpenFlow dan jaringan tradisional. Untuk sistem keamanan jaringan OpenFlow dapat menerapkan teknik keamanan jaringan yang lebih baru, misalnya deep inspection packet (DIP). Metode untuk klasifikasi sistem IDS dapat mencoba metode hybrid (menggabungkan lebih dari satu algoritme klasifikasi), sehingga dapat mengetahui perbandingan akurasi dalam mendeteksi paket-paket data jaringan OpenFlow.
32
DAFTAR PUSTAKA Alrajeh NA, Lloret J. (2013). Intrusion Detection Systems Based on Artificial Intelligence Techniques in Wireless Sensor Networks. International Journal of Distributed Sensor Networks. 1–6.doi.10.1155/2013/351047 Beigh BM, Peer, PMA. (2012). Intrusion Detection and Prevention System : Classification and Quick Review. ARPN Journal of Science and Technology, 2(7):661–675. [diunduh 2014 Des 19]. Tersedia pada http://www.ejournalofscience.org/archive/vol2no7/vol2no7_17.pdf Dotcenko S, Vladyko A, Letenko I. (2014). A Fuzzy Logic-Based Information Security Management for Software Defined Networks. International Conference on Advanced Communication Technology (ICACT). 16(2):167– 171.doi. 10.1109/ICACT.2014.6778942 Farooq M, Hu F. (2014). Language and Programming in SDN/OpenFlow. F Hu, editor. Network Innovation through OpenFlow and SDN. Boca Raton (US): CRC Press. hlm 94-107. Fausett, L. (1994). Fundamentals of Neural Networks Architectures, Algorithms, and Application. Prentice Hall. Gupta BB, Joshi RC, Misra M. (2012). ANN Based Scheme to Predict Number of Zombies in a DDoS Attack. International Journal of Network Security. 14(2): 61–70. [diunduh 2015 August 26]. Tersedia pada http://ijns.jalaxy.com.tw/contents/ijns-v14-n2/ijns-2012-v14-n2-p61-70.pdf Hedge N, Hu F. (2014). Security Issues in SDN/OpenFlow. F. Hu, editor. Network Innovation through OpenFlow and SDN. Boca Raton (US): CRC Press. hlm 436–455. Khatri V. (2013). Analysis of OpenFlow Protocol in Local Area Networks. [tesis]. Tampere (FI). Tampere University of Technology. Kim H, Feamster N. (2013). Improving Network Management with Software Defined Networking. IEEE Communications Magazine. 51(2):114–119. http://doi.org/10.1109/MCOM.2013.6461195 Kloti R, Kotronis V, Smith P. (2013). OpenFlow: A Security Analysis. IEEE International Conference on Network Protocols (ICNP). 1– 6.doi.10.1109/ICNP.2013.6733671Kumar, P. G., & Devaraj, D. (2010). Intrusion Detection Using Artificial Neural Network With Input Features. ICTACT Journal On Soft Computing, (1), 30–36. Retrieved from http://ictactjournals.in/paper/ijsc5_page_30-36.pdf Kumar S, Kumar T, Singh G, Nehra MS. (2012). Open Flow Switch with Intrusion Detection System. International Journal of Scientific Research Engineering & Technology (IJSRET). 1(October):1–4. [diunduh 2014 Des 17]. Tersedia pada http://www.ijsret.org/pdf/suresh_kumar.pdf Mckeown N, Anderson T, Balakrishnan H, Parulkar G, Peterson L, Rexford J, Louis S. (2008). OpenFlow: Enabling Innovation in Campus Networks. ACM SIGCOMM Computer Communication Review. 38(2):69– 74.doi.10.1145/1355734.1355746 Nugroho IW, Harianto, Mardiani IDGR. (2014). Rancang Bangun Aplikasi Intrusion Detection System Dengan Menggunakan Metode Fuzzy. Journal of Control and Network Systems, 3(1):37–45.
33
Romao D, Dijkhuizen N van, Konstantaras S, Thessalonikefs G. (2013). Practical Security Analysis of OpenFlow. [tesis]. Amsterdam (NL). University of Amsterdam. Shinde MB, Tamhankar S. G. (2013). Review: Software Defined Networking and OpenFlow. International Journal of Scientific Research in Network Security and Communication. 1(2):18–20. [diunduh 2014 Des 17]. Tersedia pada http://www.isroset.org/pub_paper/IJSRNSC/ISRSOET-IJSRNSC00085.1.pdf Silva LDS, Santos ACF dos, Silva JDS da, Montes A. (2004). A Neural Network Application for Attack Detection in Computer Networks. IEEE International Joint Conference on Neural Networks. 2:1569–1574. doi:10.1109/IJCNN.2004.1380190 Sravani K, Srinivasu P. (2014). Comparative Study of Machine Learning Algorithm for Intrusion Detection System. Advances in Intelligent Systems and Computing. 247:189–196.doi.10.1007/978-3-319-02931-3 Upadhyaya D, Jain S, Pradesh U. (2013). Hybrid Approach for Network Intrusion Detection System Using K-Medoid Clustering and Naive Bayes Classification. International Journal of Computer Science Issues. 10(3):231– 236. [diunduh 2015 August 28]. Tersedia pada http://ijcsi.org/papers/IJCSI10-3-1-231-236.pdf Vollmer T, Manic M. (2009). Computationally Efficient Neural Network Intrusion Security Awareness. International Symposium on Resillient Control Systems. 25–30.doi.10.1109/ISRCS.2009.5251357
34
Lampiran 1 Konfigurasi OpenFlow switch dengan OpenVSwitch Install OpenVSwitch #apt-get instal openvswitch-datapath-source bridge-utils #module-assistant auto-install openvswitch-datapath #apt-get install openvswitch-common
Melihat konfigurasi Openvswitch #ovs-vsctl show
Membuat bridge ovs-vsctl add-br br0 menambahkan port ethernet ke dalam bridge ovs-vsctl add-port br0 eth1 eth2 eth3 eth4
Melihat proses OpenVSwitch ps -ea | grep Obs
Lampiran 2 Konfigurasi controller floodlight Download paket java aptitude -y install default-jdk ant git
Download paket floodlight Controller cd /opt git clone git://github.com/floodlight/floodlight.git cd floodlight/ ant ... dist: [jar] Building jar: /opt/floodlight/target/floodlight.jar [jar] Building jar: /opt/floodlight/target/floodlighttest.jar BUILD SUCCESSFUL Total time: 25 seconds
Menjalankan floodlight controller java -jar target/floodlight.jar
Koneksi OpenFlow switch ke floodlight controller ovs-vsctl set-controller br0 tcp:172.18.88.100:6633
35
Lampiran 3 Informasi port OpenFlow switch
Lampiran 4 Koneksi controller dan OpenFlow switch
Lampiran 5 Trafik paket normal
36
Lampiran 6 Trafik paket UDP flooding
Lampiran 7 Trafik paket HTTP
37
Lampiran 8 Topologi jaringan OpenFlow
Lampiran 9 Informasi port dan flow dalam OpenFlow switch
38
RIWAYAT HIDUP Penulis dilahirkan di Bangkinang, Kab. Kampar - Riau pada tanggal 12 Januari 1988. Penulis merupakan anak pertama dari empat bersaudara pasangan Misban dan Warsini. Penulis mengenyam pendidikan dasar di SD Negeri 030 Laboi Jaya Kec. Bangkinang (1994-2000). Kemudian, penulis melanjutkan pendidikan menengah di SMP Negeri 5 Laboi Jaya, Bangkinang (2000-2003). Pada tahun 2006, penulis menamatkan pendidikan di SMK PGRI Bangkinang, Kab. Kampar - Riau. Penulis berkesempatan melanjutkan studi di Universitas Islam Negeri Sultan Syarif Kasim Riau melalui jalur Penerimaan Bibit Unggul Daerah (PBUD) di Jurusan Teknik Informatika, Fakultas Sains dan Teknologi. Penulis juga menjadi asisten praktikum pada Mata Kuliah Jaringan Komputer (2009-2010). Penulis pernah menjadi pengajar dan IT Support di Yayasan Pendidikan An Namiroh Pekanbaru tahun (2011-2013)