Fakultas Ilmu Komputer
6902
Pengembangan IDS Berbasis J48 Untuk Mendeteksi Serangan DoS Pada
Perangkat
Middleware
IoT
Hilman Nihri1, Eko Sakti Pramukantoro2, Primantara Hari Trisnawan3
Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya Email: 1hy.hilmann@gmail.com, 2eko.sakti@ub.ac.id, 3prima@ub.ac.id
Abstrak
Perkembangan perangkat IoT menyebabkan perubahan di setiap aspek kehidupan manusia. Oleh karena itu keamanan di perangkat IoT menjadi penting. Salah satu serangan dalam perangkat IoT adalah
exhaustion of resource. Serangan ini dapat dilakukan dengan melakukan serangan denial of service(DoS). Intrusion Detection System(IDS) dipilih menjadi solusi untuk masalah ini. IDS yang digunakan harus mampu mengantisipasi serangan DoS di middleware IoT. Machine learning dipilih sebagai pendeteksi dalam IDS ini karena kinerjanya lebih baik dalam mendeteksi anomali dan juga dapat berjalan lebih baik dengan sumber daya terbatas. Algoritma J48 dipilih sebagai algoritma machine learning karena memiliki akurasi yang lebih tinggi dibandingkan dengan algoritma lain. Penggunaan sumber daya, akurasi pembelajaran mesin, kemampuan memberikan peringatan, penebangan dan penanganan serangan adalah faktor sukses dalam IDS. Hasilnya menunjukkan bahwa IDS dalam makalah ini adalah solusi yang layak untuk mengantisipasi DoS di middleware IoT.
Kata kunci: Intrusion Detection System, Internet of Thing, Security, Denial of Service, Machine Learning, Weka
Abstract
The improvement of the IoT cause changes in every aspect of human life. Therefor security in IoT device is important. One kind of attacks in IoT device is exhaustion of resource. This attack can be done with denial of service(DoS). Intrusion Detection System(IDS) is chosen to be the solution for this problem. The IDS used must be capable to overcome DoS attack in IoT middleware. In this research, the middleware is used to help handle interoperability between each devices in this architecture. Machine learning is selected as detection mechanism in this research because it’s perform better in detecting anomaly and can run better with resource constrained devices. J48 algorithm is selected as algorithm in machine learning because have higher accuracy compared to another algorithm. Resource usage, machine learning accuracy, capability of giving alert, logging and handling attack are the success factor in the IDS. The results show that IDS in this paper is a feasible solution to anticipate DoS in middleware IoT.
Keywords: Intrusion Detection System, Internet of Thing, Security, Denial of Service, Machine Learning, Weka
1. PENDAHULUAN
IoT adalah salah satu perangkat baru yang dapat mengubah setiap aspek kehidupan manusia. Meskipun perangkat IoT memiliki
resource yang terbatas, perangkat ini dapat digunakan di banyak tempat seperti reaktor nuklir, pembangkit listrik dan lingkungan kesehatan (Cho dan Choi, 2011). Pertumbuhan IoT yang cepat juga meningkatkan risiko keamanannya. Pada bulan September 2016 serangan Distributed Denial of Service(DDoS) terbesar terjadi dengan jumlah lalu lintas mencapai 1,1 Tbps. Serangan itu berasal dari
perangkat IoT yang terinfeksi Mirai. (Kolias, dkk, 2017).
Serangan DoS biasanya terdeteksi setelah layanan jaringan tidak dapat diakses (Kasinathan, dkk., 2013). Serangan DoS paling sering terjadi karena mereka sangat mudah dilakukan. Namun pendeteksian dan penanganan serangan ini sangat sulit karena serangan DoS bervariasi dalam bentuk.
tersebut menunjukkan bahwa Snort tidak dapat memproses semua paket dan memiliki jumlah
rules yang terbatas. Hal ini disebabkan karena Snort tidak dirancang untuk perangkat dengan keterbatasan resource.
IDS yang diajukan oleh penelitian ini adalah IDS yang dapat berjalan dengan batasan pada perangkat IoT. IDS juga tidak mengganggu proses aktivitas dan dapat diandalkan dengan menangani serangan DoS di middleware IoT.
2. DASAR TEORI
2.1 Middleware IoT
Middleware adalah alat yang digunakan untuk membantu komunikasi antar perangkat dengan memproses protokol yang berbeda (Razzaque, dkk, 2016). Perangkat ini mengumpulkan semua data dari sensor dan memprosesnya. Middleware yang digunakan dalam penelitian sebelumnya (Farizi, 2018) menggunakan paradigma event-driven. Paradigma ini mengolah data berdasarkan peristiwa yang terjadi. Middleware ini terdiri dari tiga bagian, yaitu gateway sensor, unit layanan, dan gateway aplikasi. Semua data dari sensor akan dikirim melalui middleware ini.
Protokol yang digunakan untuk mengirim data dalam middleware ini adalah MQTT dan CoAP. Protokol ini menggunakan paket TCP dan UDP untuk mengirimkan data dari sensor ke
middleware. Port yang digunakan dalam
middleware adalah 1883 dan 5683.
2.2 DoS
Serangan DoS yang dilakukan secara terdistribusi disebut sebagai serangan
Distributed Denial of Service(DDoS). Serangan ini berdasarkan penelitian (Gupta dan Badve, 2017) bertujuan untuk menghabiskan sumber daya atau bandwith dari korban. Serangan ini sama seperti serangan DoS hanya berbeda pada skala serangan. Taksonomi DDoS dapat dilihat pada Gambar 1.
Bentuk pertama dari DoS adalah dengan mengirim banyak paket besar. Serangan ini dapat dilakukan dengan mengirim UDP atau ICMP dengan paket-paket besar dan jumlah
packet per second yang tinggi. Yang kedua adalah dengan menggunakan kelemahan protokol seperti SYN flood. Serangan ini menargetkan korban untuk menangani banyak permintaan yang membuat korban tidak dapat memproses yang sebenarnya. Yang terakhir
adalah dengan menggunakan kelemahan dalam lapisan aplikasi seperti slowloris.
Gambar 1. DoS Taxonomy
2.3 IDS
Perkembangan jaringan, kecepatan pertukaran data dan penggunaan internet yang tidak dapat diprediksi dapat menambah masalah yang mengakibatkan kegagalan pada sistem. Banyak pengembangkan sistem untuk mengurangi permasalahan tersebut. Sistem yang reliable, efektif, dapat memonitor serta dapat bertindak secara otomatis tanpa campur tangan manusia adalah sistem yang dikembangkan untuk menyelesaikan permasalahan tersebut. IDS adalah salah satu sistem yang dikembangkan untuk mendeteksi serangan berdasarkan informasi yang diperoleh dari merekam trafik pada jaringan (J. dan Muthukumar, 2015).
2.3.1 Taksonomi IDS
Gambar 2. Taksonomi IDS
Taksonomi pada IDS dibagi menjadi lima bagian. Setiap bagian tersebut harus diperhitungkan berdasarkan tujuan penggunaannya dan keuntungan kerugiannya. Kelima hal tersebut adalah lokasi, fungsi, penyebarannya, waktu pendeteksiannya dan mekanisme pendeteksiannya (Pharate, dkk., 2015). Gambar 2 menjelaskan tentang taksonomi dari IDS.
Machine Learning dapat digunakan untuk melakukan penggalian informasi pada data set yang tersedia. Dengan menggunakan perhitungan statistika dan algoritma yang matematis, machine learning dapat mengetahui informasi yang tersembunyi, pola dan hubungan antar atribut dalam sebuah data set. Fungsi ini menjadi sangat berguna untuk mengetahui data yang mencurigakan.
Machine learning juga dapat digunakan untuk mendeteksi serangan pada jaringan (J. dan Muthukumar, 2015). Pengembangan terhadap penggunaan machine learning telah dikembangkan untuk mengetahui algoritma yang terbaik untuk detection engine pada IDS Tabel 1 menunjukkan perbandingan performa antar algoritma yang diimplementasikan pada IDS .
Tabel 1. Akurasi Algoritma Machine Learning
Algoritma Akurasi
Adaboost 92.2073
Hyperpipes 92.2363
J48 96.2574
Naïve Bayes 90.5504
OneR 94.5741
Random Forest 35.8247
Random Tree 96.2258
ZeroR 92.2073
2.4.1 Feature Selection
Pada dasarnya, data yang digunakan dikumpulkan untuk machine learning berukuran sangat besar. Sehingga perlu dilakukan pengurangan pada data untuk mengurangi sumber daya yang dibutuhkan. Pengurangan dapat menggunakan metode filter, clustering atau penyeleksian fitur. (Gul dan Adali, 2017).
2.4.2 J48
Algoritma J48 termasuk dalam metode klasifikasi dengan berbasis divide and conquer. Decision tree digunakan karena semakin sedikit kategori data maka semakin tinggi akurasi pada metode ini (Sahu dan Mehtre, 2015). Berdasarkan pengumpulan data sebelumnya, penelitian ini sesuai dengan metode ini karena jaringan IoT pada penelitian ini tidak memiliki banyak kategori trafik. Decision tree terdiri dari node dan leaf nodes. Node akan melakukan test pada attribute dan leaf adalah kelas dari klasifikasi. Setiap path pada hasil J48 adalah rule akan digunakan pada IDS.
Algoritma J48 merupakan algoritma yang mengimplementasikan algoritma C4.5 dalam bahasa java. Algoritma ini diimplementasikan ke
dalam aplikasi Weka. Algoritma ini dibuat pada tahun 1993 oleh Quinalan. Psudocode algoritma J48 dapat dilihat pada Tabel 2
Gambar 2. Psuedo Code Algoritma J48
3. Implementasi
3.1 Lingkungan Penelitian
Middleware pada IoT adalah perangkat yang digunakan menghubungkan komputasi dan komunikasi antar perangkat dan membantu pemrosesan perbedaan protokol antar perangkat (Razzaque, dkk., 2016). Middleware yang digunakan pada penelitian sebelumnya (Farizi, 2018), menggunakan paradigma event-driven. Pada middleware ini terdiri dari tiga bagian, yaitu sensor gateway, service unit, dan
application gateway. Semua data dari sensor akan dikirim kepada sensor gateway.
Gambar 5 menunjukkan lingkungan sistem pada penelitian ini. Lingkungan penelitian ini terdiri dari sensor, middleware, internet gateway
device, webservice dan database.
TheMiddleware berfungsi sebagai middleware
Gambar 4. Lingkungan Penelitian
3.2 Pengumpulan Data
Survey pada sistem dilakukan untuk melakukan pengumpulan data. Survey meliputi proses penggalian trafik yang berjalan pada
middleware dengan aplikasi yang tepat. Proses ini akan membantu untuk memperoleh informasi detail dari sebuah protokol. Proses ini juga merupakan salah satu dari proses untuk merancang komponen pendeteksi dari IDS (Denatious dan John, 2012).
Tabel 3. Skenario Trafik Serangan
Trafik Serangan
Skenario
TCP SYN
Flood IPv4
Mengirimkan 10000 trafik TCP SYN Flood pada port 1883 dengan menggunakan IPv4
TCP SYN
Flood IPv6
Mengirimkan 10000 trafik TCP SYN Flood pada port 1883 dengan menggunakan IPv6
UDP FLOOD IPv4
Mengirimkan 10000 trafik UDP Flood pada port 5683 dengan menggunakan IPv4,
UDP FLOOD IPv6
Mengirimkan 10000 trafik UDP Flood pada port 5683 dengan menggunakan IPv6
Data trafik normal didapatkan dengan cara merekam semua paket yang masuk dan keluar dari jaringan yang ingin dilindungi. Kemudian data tersebut akan disimpan ke dalam bentuk json. Adapun trafik yang didapatkan pada saat melakukan survey trafik pada penelitian ini adalah SSH, Redis, MQTT, CoAP, NTP, ICMP ICMP. Arp, Eapol, DNS, MDNS, IGMP, DHCP. Data trafik serangan dibuat dengan melakukan pengiriman paket kepada
middleware. Data yang dikirim dapat dilhat pada Tabel 2.
3.3 Pembuatan Decision Tree
Machine learning yang digunakan dalam penelitian ini menggunakan decision tree. Decision tree digunakan karena semakin sedikit kategori data maka semakin tinggi akurasi pada metode ini (Sahu dan Mehtre, 2015). Berdasarkan pengumpulan data sebelumnya, penelitian ini sesuai dengan metode ini karena menanggulangi serangan DoS, terlebih lagi Host based dapat dijadikan target dari serangan DoS itu sendiri sehingga kurang handal dalam menanggulangi serangan DoS. Penelitian ini membutuhkan pendeteksian dan penanggulangan pada jaringan yang akan dilindungi. Selain itu, serangan DoS juga perlu dilakukan secara otomatis. IDS yang digunakan juga berbasis network sehingga mendukung implementasi prevention. Penelitian ini menggunakan single host karena jaringan yang dilindungi pada lingkungan penelitian hanya terdapat node dengan jumlah kecil dan trafik yang masih kecil karena perangkat yang digunakan adalah perangkat IoT. Jaringan IoT yang dilindungi akan melindungi dari serangan DoS, sehingga mekanisme pendeteksian pada penelitian perlu dilakukan secara real time agar dapat dicegah pada saat itu juga.
4. Pengujian
4.1 Akurasi Decision Tree
Akurasi terbaik didapatkan dengan menggunakan 20 fitur. Tabel 3 menunjukkan akurasi detection engine.
Adapun decision tree yang didapatkan pada dengan memproses 20 fitur tersebut dapat dilihat pada Tabel 4.
Tabel 3. Akurasi Detection Engine Berdasarkan Jumlah Fitur
Jumlah Fitur Akurasi
20 fitur 100%
Semua Fitur 100%
Gambar 5.Output Weka
4.2 Akurasi IDS
Hasil rata-rata yang diperoleh untuk akurasi paket yang diterima adalah 73,52%. Semakin banyak paket yang diterima maka semakin tinggi akurasinya. Jumlah paket yang didapat dari IDS dibandingkan dengan tcpdump. Angka ini juga mempengaruhi kinerja mesin pendeteksi dan peringatan pada sistem ini. Hasilnya dapat dilihat pada Tabel 5. Hasil rata-rata untuk pengujian akurasi mesin pendeteksi adalah 100% dan dapat dilihat pada Tabel 6. Hasil rata-rata yang diperoleh untuk menguji akurasi alert
adalah 18,05%. Tabel 7 menunjukkan ini.
Tabel 5.Performa Pengambilan Paket IDS IDS
Kategori Rata-rata Akurasi
NORMAL 96.73%
SYN FLOOD IPv4 68.02%
SYN FLOOD IPv6 68.26%
UDP FLOOD IPv4 64.86%
UDP FLOOD IPv6 69.74%
Rata-rata Total 73.52%
Tabel 6.Performa Detection Engine IDS
Kategori Rata-rata Akurasi
NORMAL 100%
SYN FLOOD IPv4 100%
SYN FLOOD IPv6 100%
UDP FLOOD IPv4 100%
UDP FLOOD IPv6 100%
Rata-rata Total 100%
Tabel 7.Performa Alert IDS
Kategori Rata-rata Akurasi
SYN FLOOD IPv4 17.20%
SYN FLOOD IPv6 18.40%
UDP FLOOD IPv4 19.70%
UDP FLOOD IPv6 16.90%
Rata-rata Total 18.05%
4.3 Performa IDS
Hasil pengujian rata-rata waktu yang dibutuhkan untuk mengklasifikasi sebuah paket pada penelitian ini adalah 0,0351 detik.
Gambar 6. Memory
Gambar 7. CPU
Hasil performa yang didapatkan pada pengujian memory¸ rata-rata peningkatan memory sebesar 50MB. Hasil ini dapat dilihat pada Gambar 6. Hasil pengujian CPU dapat dilihat pada Gambar 7. Hasil pengujian ini menunjukkan rata-rata peningkatan CPU
sebesar 16%.
5. KESIMPULAN
Berdasarkan hasil pengujian, beberapa kesimpulan dapat ditarik. Pembelajaran mesin dapat digunakan dalam IDS di perangkat IoT karena variasi paket pada perangkat IOT sedikit. Selain itu, IDS dapat mengklasifikasikan paket dengan rata-rata akurasi sebesar 100%. IDS yang dirancang dalam sistem ini tidak secara signifikan mengganggu proses aktivitas sistem ini. IDS ini hanya meningkatkan rata-rata penggunaan CPU sebesar 16% dan memory
sebesar 50Mb. Sehingga IDS ini bisa digunakan pada sistem ini.
sehingga IDS ini dapat digunakan sebagai solusi untuk mengatasi DoS pada perangkat middleware IoT.
6. DAFTAR PUSTAKA
Cho, E. J. & Choi, D., 2011. Distributed IDS for efficient resource management in wireless sensor network. Taipei, Taiwan , IEEE.
Farizi, S. A., 2018. PENGEMBANGAN SISTEM
DETEKSI KARBON MONOKSIDA
BERBASIS IOT. Malang: PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER
UNIVERSITAS BRAWIJAYA.
Kolias, C., Kambourakis, G., Stavrou, A. & Gritzalis, S., 2016. Intrusion Detection in 802.11 Networks: Empirical. IEEE
COMMUNICATION SURVEYS &
TUTORIALS, 18(1), pp. 184-208. Kasinathan, P., Pastrone, C., Spirito, M. A. &
Vinkovits, M., 2013. Denial-of-Service detection in 6LoWPAN based Internet of Things. Lyon, IEEE, pp. 600-607. Sforzin, A., Conti, M., Mármol, F. . G. & Bohli,
J.-M., 2016. RPiDS: Raspberry Pi IDS A Fruitful Intrusion Detection System for IoT. Toulouse, IEEE.
Gupta, B. B. & Badve, O. P., 2017. Taxonomy of DoS and DDoS attacks and desirable defense mechanism in a Cloud computing environment. Neural Computing and Applications, 28(12), pp. 3655-3682.
J., J. & Muthukumar, D. B., 2015. Intrusion Detection System (IDS): Anomaly Detection Using Outlier Detection Approach. Procedia Computer Science,
Volume 48, pp. 338-346.
Pharate, A., Bhat, H., Shilimkar, V. & Mhetre, N., 2015. Classification of Intrusion Detection System. International Journal of Computer Applications, 118(7), pp. 23-26.
Sahu, S. & Mehtre, B. M., 2015. International Conference on Advances in Computing, Communications and Informatics (ICACCI) : Network intrusion detection system using J48 Decision Tree. Kochi,
India, IEEE.
Razzaque, M. A., Jevric, M. M. & Paladei, A., 2016. Middleware for Internet of Things: A Survey. IEEE Internet of Things Journal, 3(1), pp. 70-95.
Denatious, D. K. & John, A., 2012. 2012 International Conference on Computer Communication and Informatics : Survey on Data Mining Techniques to Enhance Intrusion. Coimbatore, India, IEEE.
Gül, A. & Adalı, E., 2017. International