RPL tabanlı IoT cihazları zafiyetinin tespiti için makine öğrenmesi algoritmalarının karşılaştırılması
Comparison of machine learning algorithms to detect RPL-based IoT devices vulnerability
Yazar: MURAT UĞUR KİRAZ
Danışman: DR. ÖĞR. ÜYESİ ATINÇ YILMAZ
Milli Savunma Üniversitesi / Hezarfen Havacılık ve Uzay Teknolojileri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı / Siber Güvenlik Bilim Dalı
Derece: Yüksek Lisans, 2022
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control
Dizin: Makine öğrenmesi = Machine learning ; Siber saldırı = Cyber attack ; Yönlendirme protokolleri = Routing protocols

Özet:
RPL protokolü (Routing Protocol for Low-Power and Lossy Networks-Düşük Güçlü ve Kayıplı Ağlar için Yönlendirme Protokolü), Nesnelerin İnterneti (IoT-Internet of Things) cihazlarında güç tüketimini optimize etmek için IETF (Winter, ve diğerleri, Mart 2012) tarafından tasarlanmış bir ağ protokolüdür. IoT cihazları, sınırlı işlem gücüne, sınırlı belleğe sahip olmalarının yanında genellikle pil ile çalıştıkları için sınırlı enerjiye sahiptir. Kayıplı ağlarda enerji sorununu gidermek için tasarlanan RPL, n sayıda IoT cihazını birbiri üzerinden DAG (Directed Acyclic Graph-Yönlendirilmiş Asiklik Grafik) oluşturarak en kısa mesafeyi kurmayı amaçlar. Böylece harcanan enerjiyi optimize eder. Ancak, RPL protokolünün karmaşık altyapısı ve IoT cihazlarının düşük kapasitesi nedeniyle, bu protokol saldırılara açıktır. Bu nedenle, ağ katmanında hızlı, pratik, karmaşık olmayan ve güvenilir bir saldırı tespit sistemi geliştirmek önem arz eder. RPL ile çalışan IoT cihazlarına bir saldırı olması durumunda, 3. katman ağ paketlerinde bir anormallik meydana gelir. Bu paketlerin makine öğrenimi algoritmalarıyla işlenmesi, saldırının tespitini son derece kolaylaştıracaktır. Bu makalede (D'Hondt, Bahmad, Vanhee, & Sadre, 2015)'ın RPL protokolünde Taşma Saldırılarını, Sürüm Numarası Arttırma Saldırılarını ve Azaltılmış Rank saldırılarını simüle eden yazılımda oluşturdukları normal ve zafiyetli düğümler kullanılarak her saldırıya ait ham veri setleri elde edilmiştir. Ham veri setlerinin anlamlı hale getirilmesinin ardından, bu veri setleri 1/3 oranında test ve 2/3 oranında eğitim veri seti olarak ayırılmış, eğitim veri seti "Karar Ağacı", "Lojistik Regresyon", "Rasgele Orman", "Navie Bayes", "K En Yakın Komşu" ve "Yapay Sinir Ağları" algoritmaları ile eğitilmiş ve test edilmiştir. Saldırılara ilişkin test sonuçları karşılaştırılmış, karşılaştırma sonucunda, Taşma Saldırılarının tespitinde %97,2 doğruluk oranı ile Yapay Sinir Ağları algoritması, Sürüm Numarası Artırma Saldırılarının tespitinde %81 doğruluk oranı ile K En Yakın Komşu algoritması, Azaltılmış Rank saldırılarının tespitinde %58 doğruluk oranı ile Yapay Sinir Ağları algoritması başarı gösterdiği tespit edilmiştir.

Abstract:
The RPL protocol (Routing Protocol for Low-Power and Lossy Networks) is a network protocol designed by IETF (Winter, et al. March 2012) to optimize power consumption in the Internet of Things (IoT) devices. IoT devices have limited processing power, limited memory, and limited energy because they usually run on batteries. Designed to solve the energy problem in lossy networks, RPL aims to establish the shortest distance by creating a DAG (Directed Acyclic Graph) of n number of IoT devices over each other. Thus, it optimizes the energy expended. However, due to the complex infrastructure of the RPL protocol and the low capacity of IoT devices, this protocol is vulnerable to attacks. Therefore, it is crucial to develop a fast, practical, uncomplicated, and reliable intrusion detection system at the network layer. An anomaly will occur in layer three network packets in the event of an attack on RPL-powered IoT devices. Processing these packets with machine learning algorithms will make it extremely easy to detect the attack. (D'Hondt, Bahmad, Vanhee, & Sadre, 2015) succeeded in simulating Flooding, Version Number Increase, and Decreased Rank Attacks. With the normal and malicious IoT motes that they created; the raw data sets of each attack were obtained. After the raw data sets were made meaningful, these data sets were separated as 1/3 test and 2/3 training data set. Datasets were trained and tested by "Decision Tree," "Logistic Regression," "Random Forest," "Naive Bayes," "K Nearest Neighbor," and "Artificial Neural Networks" algorithms. As a result of the comparison, the Deep Learning algorithm detected Flooding Attacks with a 97.2% accuracy rate. The K Nearest Neighbor algorithm detected Version Number Increasing Attack with an 81% accuracy rate. The Deep Learning algorithm detected decreased rank attacks with a 58% accuracy rate.