Access’den PostgreSQL’e Tablo Aktarma
Bu yazıda, excel ve python aracılığıyla Access DB’deki, bir tablonun postgresql’e aktarılması anlatılmaktadır.
Bu tez çalışması ile, RPL protokolünde gerçekleşecek taşma, sürüm numarası artırma ve azaltılmış rank saldırılarını tespit edebilmek maksadıyla IoT cihazları, Cooja simülatöründe tamamen normal düğümlerle ve içinde zafiyetli düğüm barındıran normal düğümlerle simüle edilmiş, simülasyon sonucunda ham veri seti oluşturulmuş, bu ham veri seti anlamlı hale getirilerek, zafiyetli ve normal olarak etiketlenmiştir. Anlamlı hale getirilen yeni veri seti, 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”, “Naive 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.
Bu tez çalışması ile özellikle Taşma ve Sürüm Numarası yükseltme saldırılarını tespit edebilecek hızlı, güvenilir, basit bir model oluşturulmuş, bu model ile en iyi sonucu verebilecek makine öğrenmesi algoritması belirlenmiştir. Deneyler sonucunda, verilerin anlamlı hale getirilmesi aşaması doğrudan ağ paketleri analiz edilerek yapılmıştır.
(Yavuz, 2018) 1, ham verileri sunduğu yöntemle “zenginleştirdikten” sonra sadece derin öğrenme algoritması ile Azaltılmış Rank Saldırılarını 94.7%, Taşma Saldırılarını 99%, Sürüm Numarası Artırma Saldırılarını 95% doğruluk oranı ile tespit etmiştir. Ancak deneyleri cooja simülatöründe 100-1000 arasında değişen düğümle gerçekleştirmiştir. 250 düğümden fazla çalıştırılan simülatör, hem işlemciyi aşırı yormakta hem de bellek kaynaklarını çok tüketmektedir. Bu nedenlerden dolayı simülatörün verilerin doğruluğunun yeniden gözden geçirilmesi gerektiği düşünülmektedir. Dolayısı ile bu çalışmadan elde edilen sonuç daha az düğümle yeniden sonuçlandırılmalıdır.
(Müller, Debus, Kowatsch, & Böttinger, 2019), 2 RPL’de gerçekleşen, Azaltılmış Rank Saldırısını %68, Taşma Saldırısını 90%, Sürüm Numarası Artırma Saldırısını, 96% doğruluk oranı ile tespit etmişlerdir. Bu tez çalışmasında sunulan teknik ile azaltılmış rank saldırısı aynı nispette tespit edilirken, taşma saldırıları daha iyi bir performansla tespit edilmiştir. Müller ve arkadaşlarının sunduğu çözüm sürüm numarası artırma saldırılarının tespitinde daha başarılı olmuştur.
(Verma & Ranga, 2019), 3 Sinkhole, Kara Delik, Sybil, Clone ID, Selective Forwarding, Hello Flooding and Local Repair saldırılarını geliştirdikleri ELNIDS isimli yöntemle %94.5 oranında tespit edebilmişlerdir. Ancak çalışmalarında kullandıkları veri setinin 20 adet özelliği barındırdığından bahsedilmekte, bu 20 özelliğin neler olduğundan bahsedilmemektedir. Bu tez çalışmasında sadece ağ paketleri verilerinden oluşan veri setinden yararlanılmıştır.
(Neerugatti & Reddy, 2019), 4 rank saldırılarını KNN tabanlı bir makine öğrenmesi algoritması olan MLTKNN algoritması ile farklı sayıda düğümler ile (5-30) %90 ve üzerinde doğruluk oranı ile saldırıyı tespit etmişlerdir. Ancak ilgili makalede bahsedilen rank saldırısının artırılmış rank saldırısı mı yoksa azaltılmış rank saldırısı mı olduğu bilinmemektedir.
Belavagi (2020) ve Çakır (2020) 5 yaptıkları çalışmalarda ağ paketleri dışında başka parametreler de kullanmışlardır. (Güç Tüketimi, İşlemci yoğunluğu gibi) Pratikte bu değerleri almak ve işlemek ağda ayrı bir maliyet gerektirecektir. Ancak, bu tez çalışmasında sunulan veri anlamlandırılması ve uygun makine öğrenmesi metotları ile daha az maliyetle hızlı ve etkili bir çözüm bulunmuştur. Aynı zamanda, tek bir makine öğrenmesi ile saldırıların tespiti gerçekleştirilmemiş, yine hızlı ve güvenilir algoritmalar karşılaştırılarak en uygun makine öğrenmesi metodu saptanmıştır.
Taşma, Sürüm Numarası Artırma ve Azaltılmış Rank saldırılarını tespit etmek maksadıyla ağda oluşan paketler doğrudan bu tez çalışmasında sunulan veri anlamlandırılması metodu ile özetlendikten sonra Rastgele Orman algoritması ile eğitilip kullanılabilir. Rastgele Orman algoritması üç saldırıyı da yüksek doğrulukla tespit edebilmektedir.
Azaltılmış Rank saldırılarının sunulan yöntem ile tespit edilebilmesi diğer saldırılara nispetle oldukça düşüktür. (Seth, Biswas, & Dhar, 2020) 6 Gidiş-Dönüş Sürelerini kullanarak Azaltılmış Rank Saldırılarını tespit etmek için bir model geliştirmiştir. Ancak, bu çalışma 3. katman ağ paketlerinin özetlenmesi ile yapılmamıştır. Tablo 3.5 yeniden incelendiğinde, Azaltılmış Rank saldırısında oluşan network paketleri, veri anlamlandırması sürecinden sonra diğer saldırılara nazaran çok daha fazla satırla özetlenmiştir. Bu da anormal bir durumun olduğunun işaretidir, ancak makine öğrenmesi algoritmaları, mevcut modelle bu saldırıyı yüksek doğruluk oranı ile tespit edememiştir. Gelecekte, Azaltılmış Rank saldırısını 3’üncü katman ağ paketlerini işleyerek tespit edebilen bir model geliştirilebileceği değerlendirilmektedir.
1. Yavuz, F. Y. (2018). Deep Learning in Cyber Security for the Internet of Things. (Geri Dön)
2. Müller, N., Debus, P., Kowatsch, D., & Böttinger, K. (2019). Distributed Anomaly Detection of Single Mote Attacks in RPL Networks. Proceedings of the 16th International Joint Conference on e-Business and Telecommunications (ICETE 2019),. DOI:DOI: 10.5220/0007836003780385 (Geri Dön)
3. Verma, A., & Ranga, V. (2019). ELNIDS: Ensemble Learning-based Network Intrusion Detection System for RPL-based Internet of Things. 2019 4th International Conference on Internet of Things: Smart Innovation and Usages (IoT-SIU). doi:10.1109/IoT-SIU.2019.8777504 (Geri Dön)
4. Neerugatti, V., & Reddy, A. M. (2019). Machine Learning Based Technique for Detection of Rank Attack in RPL based Internet of Things Networks. International Journal of Innovative Technology and Exploring Engineering. (Geri Dön)
5. Belavagi, M. C., & Muniyal, B. (2020). Multiple intrusion detection in RPL-based networks. International Journal of Electrical and Computer Engineering (IJECE). doi:10.11591/ijece.v10i1.pp467-476 (Geri Dön)
6. Seth, A. D., Biswas, S., & Dhar, A. K. (2020). Detection and Verification of Decreased Rank Attack using Round-Trip Times in RPL-Based 6LoWPAN Networks. 2020 IEEE International Conference on Advanced Networks and Telecommunications Systems (ANTS), 1-6. doi:10.1109/ANTS50601.2020.9342754. (Geri Dön)
Bu yazıda, excel ve python aracılığıyla Access DB’deki, bir tablonun postgresql’e aktarılması anlatılmaktadır.
Bu bölümde, RPL protokolüne yapılan Taşma Saldırısı, Azaltılmış Rank Saldırısı ve Sürüm Numarası Artırma Saldırısı “Karar Ağacı”, “Lojistik Regresyon”, “Rasgele Orman”, “Naive Bayes”, “K En Yakın Komşu” ve “Yapay Sinir Ağları” algoritmaları ile eğitilmiş ve test edilmiştir.
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.
RPL Tabanlı IOT Cihazları Zafiyetinin Tespiti İçin Makine Öğrenmesi Algoritmalarının Karşılaştırılması başlıklı yüksek lisans tezimi nasıl yaptığımı, bu süreçte elde ettiğim tecrübelerimi ve bu tezdeki kodları bir yazı dizisi halinde blog sayfamda paylaşmaya devam ediyorum.
Şimdiye kadar, RPL protokolü ve RPL protokolünde gerçekleşen saldırılarla ilgili detaylı bilgi verdim. Sonrasında, Taşma Saldırıları, Sürüm Numarası Artırma Saldırısı ve Azaltılmış Rank Saldırısı ile ilgili deneyler yapıp, ham verileri elde ettim ve bu ham verileri anlamlı hale getirdim. Zafiyetli düğümlerle yapılan deney sonuçları ile, iyicil düğümlerle yapılan deney sonuçlarını istatistiksel metotlarla karşılaştırdım.
Bu bölümde ise makine öğrenmesi algoritmaları ile tespit ettiğimiz saldırıların sayısal sonuçlarını yorumlayacağım.