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.
(Mayzaud, Badonnel, & Chrisment, 2016 3), RPL protokolü ile ilgili yapılan saldırılarla ilgili yazdıkları makalede saldırıları Şekil 2.15’de gösterildiği gibi sınıflamışlardır.
Kaynaklara yönelik saldırılarda, DODAG’daki zafiyetli düğüm veya düğümler vasıtası ile normal düğümlerin kaynaklarını tüketmek için gereksiz işlemler gerçekleştirilmesi sağlanır. Bu saldırı ile düğümdeki enerji veya bellek tüketilir, veya işlemci fuzuli çalıştırılır. Bu tip saldırılar ile ağ ömrü istenilenden çok kısa sürede tükenir. (Mayzaud, Badonnel, & Chrisment, 20163))
Doğrudan saldırılarda, zafiyetli düğüm kaynakların tükenmesinden doğrudan sorumludur. Bu, tipik olarak, depolama modu etkin olduğunda, taşma (flooding) saldırıları gerçekleştirerek veya yönlendirme tablolarına göre aşırı yükleme saldırıları gerçekleştirerek yapılabilir. (Mayzaud, Badonnel, & Chrisment, 2016 3)
Bu saldırı, hedeflenen düğümün yönlendirme tablosunu dolduran DAO mesajlarını kullanarak sahte yollar duyurulması ile yapılır. Bu doygunluk, yeni normal yolların oluşturulmasını engeller ve ağın işleyişini etkiler. (Mayzaud, Badonnel, & Chrisment, 20163)
Taşma saldırıları, bir ağda büyük miktarda trafik oluşturmayı ve düğümleri ve bağlantıları kullanılamaz hale getirmeyi içerir. Bu saldırılarda, tüm ağ düğümlerinin veya bir kısmının kaynakları tükenebilir. Bu tip mesajlara HELLO-Flood saldırısı da denilebilir. Bu saldırılar iki şekilde yapılabilir:
Her iki durum da, ağ tıkanıklığına ve ayrıca RPL düğümlerinin doygunluğuna yol açar. (Mayzaud, Badonnel, & Chrisment, 20163)
Kötü niyetli düğümün diğer düğümlerin ağ için aşırı yük oluşturmasına neden olan saldırılardır.
RPL ağında, her bir düğüm bir sıra değeri ile ilişkilendirilir ve kök düğüme göre grafik yapısındaki konumuna karşılık gelir. İkinci bölümde bahsedildiği gibi, DODAG’ın döngüsel olmayan yapısını korumak için düğüm sırası her zaman aşağı yönde artmaktadır. Bu yüzden bir düğümün rankı üst düğümün rankından daima büyük omak zorundadır. Bu saldırı türü, zafiyetli düğümün, olması gerekenden daha yüksek bir sıra değeri bildirmesi ile gerçekleşir. (Mayzaud, Badonnel, & Chrisment, 20163)
Bu saldırının amacı, zafiyetli düğüm ile hedeflenen düğümün DIO damlama zamanlayıcısını (Trickle timer) sıfırlamaya zorlamaktır. Bu durumda, bu düğüm DIO mesajlarını daha sık iletmeye başlar ve RPL ağında yerel istikrarsızlık oluşturur. Bu aynı zamanda düğümlerin pilini tüketir ve bağlantıların kullanılabilirliğini etkiler. (Mayzaud, Badonnel, & Chrisment, 20163)
DODAG sürüm numarası, bir DODAG’ın yeni bir sürümünü oluşturmak için kök tarafından artırılan sıralı bir sayaçtır. Bir DODAG Sürümü benzersiz bir şekilde (RPL Olay Kimliğinde, DODAG kimliğinde, DODAG Sürüm Numarasında) başlıkla tanımlanır. Sürüm numarası yalnızca kök tarafından artırılır. Artırıldığı zaman ise DODAG’ın yeniden yapılandırılması gerekir, buna aynı zamanda genel onarım da denir. Daha eski bir değer, düğümün yeni DODAG grafiğine taşınmadığını ve bir üst düğüm olarak kullanılamayacağını gösterir. Zaafiyetli bir düğüm, versiyon numarasını değiştirip komşularına ilettiğinde tüm DODAG grafiği gereksiz bir biçimde yeniden oluşur. DODAG’ın art arda gereksiz yeniden yapılandırılması, mesaj ek yükünü önemli ölçüde artırır, düğüm kaynaklarını şekil 2.17’de gösterildiği gibi tüketir ve ağı tıkar. (Mayzaud, Badonnel, & Chrisment, 20163)
Alt optimizasyon saldırıları, optimum DODAG oluşumunu önleyen saldırılardır.
Zafiyetli düğümün alt DODAG’da olmayan düğümlere yönelik rotaları bildirmesi ile gerçekleştirilir. Bu nedenle ağda daha uzun gecikmeye, paket düşüşlerine veya ağ tıkanıklığına neden olabilir. (Mayzaud, Badonnel, & Chrisment, 20163)
Böyle bir saldırı iki adımda gerçekleşir. Birincisi, kötü amaçlı düğüm, sahte bilgi verilerinin reklamını yaparak (örneğin, üstün kalitede yukarı ve aşağı bağlantılar) çok fazla trafik çekmeyi başarır. Ardından, trafiği gayri meşru bir şekilde aldıktan sonra, onu değiştirir veya bırakır. (Mayzaud, Badonnel, & Chrisment, 20163)
Solucan deliği saldırıları, özel bir ağ bağlantısıyla birbirine bağlanan bir çift RPL saldırgan düğümünün (A ve B düğümlerinin) kullanımı olarak tanımlanabilir. Şekil 2.18’de bir örnek gösterilmektedir. Bu senaryoda, düğüm 4 tarafından alınan her paket, daha sonra yeniden oynatılmak üzere solucan deliği yoluyla düğüm 5’e iletilir. Görevler birbirinin yerine geçebilir olduğundan, düğüm 4, düğüm 5 ile aynı işlemleri gerçekleştirebilir. Kablosuz ağlar söz konusu olduğunda, bu saldırıyı gerçekleştirmek daha kolaydır. Bu saldırı, yönlendirme yolunu bozar. Bir saldırgan, yönlendirme bilgisini ağın başka bir kısmına, yani aslında uzak olan düğümlere tünellerse, birbirlerini yan yanaymış gibi görür. Sonuç olarak, amaç fonksiyonuna göre optimize edilmemiş rotalar oluşturabilirler. (Mayzaud, Badonnel, & Chrisment, 20163)
Bu saldırı, zafiyetli düğümün en maliyetli ebeveyni seçmesi ve ona bağlanması ile gerçekleşir. Bu da güç tüketimini artırır ve optimal ağ yolunu bozar.
Bu saldırı, zafiyetli bir düğümün diğer düğümlerden geçerli kontrol mesajlarını kaydetmesi ve bunları daha sonra ağda iletmesi ile gerçekleşir. (Mayzaud, Badonnel, & Chrisment, 20163)
Bir kara delik saldırısında, şekil 2.19’da tasvir edildiği gibi zafiyetli düğüm, iletmesi gereken tüm paketleri düşürür. Bu saldırı, trafiğin büyük bir kısmının kaybolmasına neden olan bir sinkhole saldırısıyla birleştirildiğinde çok zarar verici olabilir. Bir tür hizmet reddi (DoS) saldırısı olarak görülebilir. Saldırgan grafikte stratejik bir konumda bulunuyorsa, ağdan birkaç düğümü izole edebilir. (Mayzaud, Badonnel, & Chrisment, 2016)
DODAG’ın oluştuğu sırada, bir düğüm daha önce bir DAO mesajından öğrenilen aşağı doğru bir rotaya sahip olabilir, ancak bu rota artık alt düğümün yönlendirme tablosunda geçerli olmayabilir. Bu durumda DAO mesaj tutarsızlıklarını gidermek için RPL, DAO tutarsızlık döngüsü kurtarma adı verilen bir mekanizma sağlar. Bu saldırı, bu mekanizmanın suiistimali ile gerçekleşir. (Mayzaud, Badonnel, & Chrisment, 20163)
RPL ağlarının yaygın yapısı, ağ trafiğinin koklanması ve analizi gibi gizli dinleme faaliyetlerini gerçekleştiren kötü niyetli düğümlerin konuşlandırılmasını kolaylaştırabilir. (Mayzaud, Badonnel, & Chrisment, 20163)
Koklama saldırısı, ağ üzerinden iletilen paketleri dinlemekten oluşur. Bu saldırı, kablolu ve kablosuz ağlarda çok yaygındır ve iletişimin gizliliğini tehlikeye atar Bu saldırının pasif yapısı nedeniyle tespit edilmesi zordur. Koklamayı önlemenin tek yolu, şifrelemedir. (Mayzaud, Badonnel, & Chrisment, 20163)
Trafik analizi, bir bağlantı üzerindeki trafiğin özelliklerini ve modellerini kullanarak yönlendirme bilgilerini almayı amaçlar. Bu saldırı, paketler şifrelenmiş olsa bile gerçekleştirilebilir. Amaç, koklama saldırıları gibi, ebeveyn / çocuk ilişkilerini tanımlayarak topolojinin kısmi bir görünümü gibi RPL ağı hakkında bilgi toplamaktır. Bu saldırı sayesinde kötü niyetli bir düğüm toplanan bilgilerle muhtemelen başka saldırılar da gerçekleştirebilir. Sonuçlar saldırganın derecesine bağlıdır. Bu, kök düğüme yakınsa, büyük miktarda trafiği işleyebilir ve bu nedenle düğümün bir alt DODAG’ın kenarında bulunduğundan daha fazla bilgi alabilir. (Mayzaud, Badonnel, & Chrisment, 20163)
Kötüye kullanma saldırılarında, meşru bir düğümün kimliği gasp edilir veya aşırı performans talep edilir. Bu saldırılar kendi başına RPL ağı için çok zararlı değil. Bununla birlikte, önceki iki ana kategoride görülenler gibi diğer saldırılar için genellikle bir ilk adım olarak kullanılırlar. Saldırganın ağı ve topolojisini daha iyi anlamasına, daha iyi erişim elde etmesine veya trafiğin büyük bir bölümünü durdurmasına olanak tanırlar. (Mayzaud, Badonnel, & Chrisment, 20163)
Kötü amaçlı bir düğüm, anormal bir şekilde daha düşük bir rank duyurduğunda, performansını aşar. Sonuç olarak, birçok meşru düğüm saldırgan aracılığıyla DODAG grafiğine bağlanır. (Mayzaud, Badonnel, & Chrisment, 20163)
Bu saldırı bir ağa zarar vermez, ancak diğer yapı taşlarıyla birleştirmek çok etkili olabilir çünkü saldırganın kötü niyetli düğüm üzerinden bazı trafiği tünellemesine izin verir (örneğin, gizli dinleme için).
Bir saldırganın, kök düğümü belirlemek için ağ trafiğini koklayabilir. Bu tanımlama gerçekleştirildiğinde, DODAG kökünün adresini yanıltabilir ve ağ üzerinde kontrolü ele alabilir. (Mayzaud, Badonnel, & Chrisment, 20163)
1. Le, A., Loo, J., Luo, Y., & Lasebae, A. (2011). Specification-based IDS for securing RPL from topology attacks. 2011 IFIP Wireless Days (WD), 1-3. doi:10.1109/WD.2011.6098218 (Geri Dön)
2. Winter, T., Thubert, P., Brandt, A., Hui, J., Kelsey, R., Levis, P., . . . Alexander, R. (Mart 2012). RPL: IPv6 Routing Protocol for Low-Power and Lossy Networks. Internet Engineering Task Force. https://www.hjp.at/doc/rfc/rfc6550.html adresinden alındı (Geri Dön)
3. Mayzaud, A., Badonnel, R., & Chrisment, I. (2016). A Taxonomy of Attacks in RPL-based Internet. International Journal of Network Security, ACEEE a Division of Engineers Network, 459 – 473. https://hal.inria.fr/hal-01207859/document (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.