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.
“RPL Tabanlı IOT Cihazları Zafiyetinin Tespiti İçin Makine Öğrenmesi Algoritmalarının Karşılaştırılması” isimli yüksek lisans tezimi bu blog sayfasını kullanarak açıkladım. Ş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. Bu bölümde, zafiyetli düğümlerle yapılan deney sonuçları ile, iyicil düğümlerle yapılan deney sonuçlarını istatistiksel metotlarla karşılaştıracağım. İstatistiksel metotlar bizlere makine öğrenmesi metotlarının düzgün çalışıp çalışmadığı hakkında bilgi verecektir.
Tablo 3.6’da Normal Düğümle Yapılan Azaltılmış Rank Deneyi, Normal Düğümle yapılan Taşma Deneyi, Normal Düğümle Yapılan Sürüm Numarası Artırma Deneyi, Zafiyetli Düğümle Yapılan Azaltılmış Rank Deneyi, Zafiyetli Düğümle Yapılan Taşma Saldırısı Deneyi ve Zafiyetli Düğümle Yapılan Sürüm Numarası Artırma Deneyine ait anlamlandırılmış veri tablolarına ait ortalama, medyan, maksimum, minimum, standart sapma, çarpıklık ve basıklık değerleri gözükmektedir. Elde edilen bu verilerle, anomalinin yorumlanması amaçlanmıştır.
Taşma saldırılarında ve sürüm numarası artırma saldırılarında, paket sayıları ortalamalarında bariz bir artış gözlemlenmiştir. Normal düğümlere ait paket ortalamaları 21-25 iken, bu iki saldırıda 34 ve 81’e yükselmiştir. Taşma saldırılarında, hedef düğüm oranının ve hedef düğüm süresinin ortalaması diğerlerine göre fazladır. Sürüm numarası değiştirme saldırısında, toplam paket süresinin ortalaması diğerlerine göre düşük kalmıştır. Taşma saldırılarında, toplam paket uzunluğunun ortalaması 5713,654 ‘tür iken diğer ortalamalara ait veriler 1900-2900 bandındadır. Yine taşma saldırılarında, hedef paket oranı diğer ortalamalara göre yüksek kalmıştır. Tüm saldırılarda DIO mesaj ortalamasında bir artış tespit edilmiştir. DIS, DAO ve diğer mesaj sayıları ortalamalarında, yine taşma saldırıları diğer ortalamalara göre anormal gözükmektedir. Bunun nedeni, taşma saldırılarında zafiyetli düğümün sürekli DIS mesajları iletmesidir. Gönderilen DIS mesajlarının diğer düğümler tarafından kabul edilmesi de diğer mesaj ortalamasını artırmıştır. Yapılan simülasyonda da bariz bir şekilde bu fark gözükmektedir.
Taşma saldırılarında ve sürüm numarası artırma saldırılarında, paket sayıları medyanlarında diğer medyanlara göre yüksektir. Taşma saldırılarında ve sürüm numarası artırma saldırılarında kaynak düğüm oranı, kaynak düğüm süresi, kaynak paket oranı medyanları diğer medyanlara göre düşük, toplam paket süresi, toplam paket uzunluğu medyanları diğer medyanlara nazaran yüksektir. Sürüm numarası artırma saldırısında, DIO sayısı medyanı diğerlerinden büyük oranda ayrışmıştır. Diğerleri, 0,5 ve 7 iken DIO sayısı medyanı 26’dır. Bunun nedeni, sürüm numarası güncellendiğinde DODAG yapısının yeniden oluşması ve düğümlerin daha fazla sayıda DIO mesajları iletmesidir. Sürüm numarası artırma saldırısında, DIO sayısı medyanındaki artış anomalinin tespitinde önemli yeri haizdir.
Tüm saldırı türlerinde, toplam paket sürelerinin maksimum değerleri diğer maksimum değerlerinden ayrışmaktadır. Azaltılmış rank saldırılarında, toplam paket süresi maksimum değeri saldırı olmayan değerlere göre aşırı büyükken, taşma ve sürüm numarası artırma saldırılarında bu değer diğer saldırı olmayan değerlere göre aşırı küçüktür. Tüm saldırı tiplerinde, DIO sayısı maksimum değerleri oldukça yüksektir. Normal düğümlerle yapılan simülasyonlarda, 30-63 bandında olan bu değerler, tüm saldırılarda 197-214 bandındadır. Taşma saldırılarında zafiyetli düğümün sürekli DIS mesajları ilettiği için DIS mesajlarının anormal bir şekilde oluştuğu gözükmektedir. Diğer veri setlerinde hiç DIS mesajı yokken, taşma saldırılarında anormal bir artış olduğu gözükmektedir. Diğer düğümler de gelen DIS mesajlarına cevap verdiği için diğer mesaj sayılarındaki bariz artış, maksimum değerinin aşırı fazla olmasına neden olmuştur.
Taşma saldırılarında hedef düğüm oranı minimum değeri diğerlerine göre ayrışmıştır.
Taşma saldırılarında ve sürüm numarası artırma saldırılarında paket sayısı, toplam paket uzunluğu standart sapma değerleri diğer değerlere göre aşırı yüksek, toplam paket süresi standart sapma değerleri diğer değerlere göre aşırı düşüktür. Azaltılmış Rank saldırılarında DIO sayısı standart sapma değeri, diğer değerlere göre oldukça yüksek kalmıştır. Taşma saldırılarında, zafiyetli düğüm sürekli DIS mesajı gönderdiği için, standart sapma değeri de oluşmuştur. Sürüm Numarası Artırma Saldırılarında, DAO sayısı standart sapma değeri diğerlerine göre yüksektir.
Taşma saldırılarına ait paket sayısı, hedef düğüm oranı, hedef düğüm süresi, toplam paket süresi, hedef paket oranı çarpıklığı, diğer verilere göre oldukça küçüktür. Tüm saldırılarda DIO sayısı çarpıklığı, normal düğümle yapılan simülasyon verilerine göre yüksek görülmüştür. Taşma saldırılarında, zafiyetli düğüm sürekli DIS mesajı gönderdiği için, çarpıklık değeri de oluşmuştur.
Taşma saldırılarındaki paket sayısı basıklığı diğer verilerin basıklığına göre oldukça düşüktür. Azaltılmış rank saldırılarında, toplam paket süresi ve DIO sayısı basıklığı diğer basıklık verilerine göre aşırı yüksektir. Taşma saldırılarında DAO mesaj sayısı basıklığı diğer basıklık verilerine göre aşırı yüksektir.
Tüm istatistiksel veriler göz önünde alındığında, taşma saldırılarında ciddi bir anomali söz konusudur. Bu anomali de makine öğrenmesi algoritmaları ile yüksek oranda tespit edilmesi ile sonuçlanmıştır. Özellikle bu saldırıda DIS mesajlarının oluşması normal simülasyon verilerine göre ciddi bir fark oluşturmuştur.
Sürüm Numarası artırma saldırıları istatistiksel verilerinin normal düğümlerle yapılan simülasyon verilerine göre de farklılaştığı gözlemlenmiştir.
Azaltılmış rank saldırılarının tespiti için en bariz şekilde gözlemlenen istatistiksel veri toplam paket süresi ve DIO sayısı basıklığıdır.
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.