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.
Tez çalışmamın a) Kapak sayfası, b) Giriş, c) Ana bölümler ve ç) Sonuç kısımlarından oluşan toplam 99 sayfalık kısmına ilişkin, 14/01/2022 tarihinde şahsım tarafından Turnitin adlı intihal tespit programından aşağıda belirtilen filtrelemeler uygulanarak alınmış olan özgünlük raporuna göre, tezimin benzerlik oranı %9’dur.
Uygulanan filtrelemeler:
1- Kaynakça hariç
2- Alıntılar hariç/dâhil
3- 5 kelimeden daha az örtüşme içeren metin kısımları hariç
Millî Savunma Üniversitesi Hezârfen Havacılık ve Uzay Teknolojileri Enstitüsü Lisansüstü Tez Çalışması Özgünlük Raporu Alınması ve Kullanılması Uygulama Usul ve Esasları’nı inceledim ve bu Uygulama Esasları’nda belirtilen azami benzerlik oranlarına göre tez çalışmamın herhangi bir intihal içermediğini; aksinin tespit edileceği muhtemel durumda doğabilecek her türlü hukuki sorumluluğu kabul ettiğimi ve yukarıda vermiş olduğum bilgilerin doğru olduğunu beyan ederim.
Murat Uğur KİRAZ
18 Ocak 2022
Millî Savunma Üniversitesi Enstitüleri Lisansüstü Tez Hazırlama Kılavuzu’nda yer alan kurallarına uygun olarak hazırladığım bu tez çalışmasında; tez içinde sunduğum verileri, bilgileri ve dokümanları akademik ve etik kurallar çerçevesinde elde ettiğimi, tüm bilgi, belge, değerlendirme ve sonuçları bilimsel etik ve ahlak kurallarına uygun olarak sunduğumu, tez çalışmasında yararlandığım eserlerin tümüne uygun atıfta bulunarak kaynak gösterdiğimi, kullanılan verilerde herhangi bir değişiklik yapmadığımı, bu tezde sunduğum çalışmanın özgün olduğunu, bildirir; aksi bir durumda aleyhime doğabilecek tüm hak kayıplarını kabullendiğimi beyan ederim.
Bu tezdeki düşünce, görüş, varsayım, sav veya tezler bana aittir; Millî Savunma Bakanlığı, Millî Savunma Üniversitesi ve Hezârfen Havacılık ve Uzay Teknolojileri Enstitüsü sorumlu tutulamaz.
Murat Uğur KİRAZ
18 Ocak 2022
Şu ana kadar benden maddi ve manevi desteğini esirgemeyen kıymetli annem, babam ve eşime.
Bilgisayar bilimleri, Dünya üzerinde İstanbul’un Fethi, Fransız İhtilali veya sanayi devrimi gibi muazzam bir etki bıraktı, Dünya düzenini değiştirdi, Dünya’yı yeniden şekillendirdi. Bu asla yadsınamayacak bir gerçek. Bu gerçeği en iyi şekillendiren, yöneten, ilerleten kişi / kurum / devlet veya her türlü topluluk, diğerlerine nazaran her türlü avantajı elinde tutacaktır.
Şu anda günlük hayatımızda ve endüstride kullanılan ve birbiri ile iletişimde olup internete çıkan “nesnelerin interneti cihazları” ile, bilgisayar bilimleri devriminin ilerleyişi muazzam bir ivme kazandı. Özellikle enerji sorununu olduğu ve enerjiyi en etkin şekilde kullanmamız gereken günümüzde, nesnelerin interneti cihazlarının azami enerji verimini elde etmek maksadıyla düşük güçte ve kayıplı ağlarda çalışan bir protokol Mart 2012 yılında İnternet Mühendisliği Görev Gücü (IETF-Internet Engineering Task Force) tarafından RPL ile (Routing Protocol for Low-Power and Lossy Networks – Düşük Güçlü ve Kayıplı Ağlar için IPv6 Yönlendirme Protokolü) ortaya çıkarıldı.
RPL protokolü ile nesnelerin interneti cihazları kararlı, hızlı ve enerji tasarrufu sağlayan bir mahiyette çalışmaktadır, ancak bu protokolünün karmaşıklığı ve bu protokolde çalışan 6LoWPAN (IPv6 over Low -Power Wireless Personal Area Networks- Düşük Güçlü Kablosuz Kişisel Alan Ağları üzerinden IPv6) cihazlarının düşük güvenlikli doğası gereği, bu protokol ağ içindeki veya dışındaki saldırılara karşı savunmasızdır. Bu yüzden, RPL protokolünde çalışan cihazlarda yapılan saldırıların makine öğrenmesi algoritmaları ile tespiti için literatürde birçok saldırı tespit sistemi geliştirilmiştir. Geliştirilen bu sistemler arasındaki en iyi sonucu veren sistemi bulmak veya daha iyisini geliştirmek adına kendime şu soruyu sordum. RPL protokolündeki saldırıları tespit etmede en etkili makine öğrenimi algoritması hangisidir? Bu tez çalışması bu soru ile doğmuştur.
Bu tez çalışmasında, birinci bölümde, tezin amacı, literatürde olan mevcut çalışmalar ve bu tez çalışmasının literatürdeki hangi eksikleri giderdiği anlatılmıştır. İkinci bölümde, IoT cihazlarında işleyen protokoller ile ilgili genel bilgiler verilmiş, özellikle RPL protokolü ve bu protokolde gerçekleştirilebilecek saldırılar detaylı biçimde açıklanmıştır. Üçüncü bölümde, deneylerin nasıl yapıldığı hangi yöntemlerin izlendiği açıklanmıştır. Sonuç bölümünde ise, deneyler sonucunda elde edilen veriler yorumlanmıştır.
İstanbul, Ocak 2022
Murat Uğur KİRAZ
RPL Tabanlı IOT Cihazları Zafiyetinin Tespiti İçin Makine Öğrenmesi Algoritmalarının Karşılaştırılması
Murat Uğur KİRAZ
Millî Savunma Üniversitesi, Havacılık ve Uzay Bilimleri Enstitüsü
İstanbul, Ocak 2022
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 1 ) 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 2 )’ı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.
Anahtar Sözcükler: RPL, Makine Öğrenmesi, Taşma Saldırıları, Versiyon Numarası Yükseltme Saldırısı, Azaltılmış Rank Saldırısı
1. 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 (Geri Dön)
2. D’Hondt, A., Bahmad, H., Vanhee, J., & Sadre, R. (2015). RPL attacks framework. Louvain-la-Neuve, Belgium: Universit catholique de Louvain. https://github.com/dhondta/rpl-attacks (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.