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.
D’Hondt ve diğerlerinin (2015) 1 hazırladıkları akademik rapor ile Cooja IoT simülatörünü kullanarak RPL protokolüne yönelik saldırılardan Taşma Saldırılarını, Sürüm Numarası Artırma Saldırılarını ve Azaltılmış Rank Saldırılarını (Decreased Rank) simüle etmeyi başarmışlardır.
Yapılan bu çalışma ve saldırı simülasyonları ile ilgili düzenlemeler, D’Hondt ve diğerlerinin (2015) oluşturduğu, https://github.com/dhondta/rpl-attacks depoda barınmaktadır.
Tez çalışması için, Github deposunda bulunan talimatlar izlenerek, Linux işletim sistemi olan gerçek bir bilgisayara saldırı senaryolarının bulunduğu işletim sistemi, sanal bir ortama(virtualbox) kurulmuştur.
D’Hondt ve diğerlerinin (2015) RPL saldırıları ile ilgili oluşturduğu Contiki Cooja işletim sisteminin nasıl kurulduğuyla ilgili hazırladığım video aşağıda yer almaktadır.
D’Hondt ve diğerlerinin (2015) yaptığı bu çalışma ile Cooja IoT simülatöründe kullanılacak olan normal ve zafiyetli düğümler oluşturulacaktır.
Başlangıç olarak, “git” yazılımınız yoksa, yükleyin.
sudo apt install git
Aşağıdaki repoyu klonlayın
git clone https://github.com/dhondta/rpl-attacks
Eğer “vagrant” yazılımınız yoksa, yükleyin. (Vagrant, VirtualBox, VMware, KVM, AWS vb. gibi taşınabilir sanal yazılım geliştirmeleri oluşturmak ve sürdürmek için kullanılan açık kaynaklı bir üründür.) Bu repo “VirtualBox” kullanır detaylı bilgiye buradan ulaşabilirsiniz : https://www.vagrantup.com/
sudo apt install vagrant
“VirtualBox” yazılımınız yoksa, yükleyin.
sudo apt-get install virtualbox
Aşağıdaki bu komut ile virtualBox görüntüsünü indirmeye çalışacağız. (Rpl-saldırılar dizininde olmalıyız)
cd rpl-attacks
vagrant up
VirtualBox görüntüsünü indirirken, bu hata oluşursa, Virtual Box Extension paketini yüklemelisiniz.
There was an error while executing `VBoxManage`, a CLI used by Vagrant for controlling VirtualBox. The command and stderr is shown below.
Command: [“startvm”, “babf7b04-48ef-4682-a5b2-2ca8156ef406”, “–type”, “gui”]
Stderr: VBoxManage: error: Implementation of the USB 2.0 controller not found! VBoxManage: error: Because the USB 2.0 controller state is part of the saved VM state, the VM cannot be started. To fix this problem, either install the ‘Oracle VM VirtualBox Extension Pack’ or disable USB 2.0 support in the VM settings. VBoxManage: error: Note! This error could also mean that an incompatible version of the ‘Oracle VM VirtualBox Extension Pack’ is installed (VERR_NOT_FOUND) VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component ConsoleWrap, interface IConsole
sudo apt install virtualbox-ext-pack
Ardından “esc” düğmesine basın ve evet’i seçin.
Ardından bu komutu uygulayın.
sudo modprobe vboxdrv
Ardından bu komutu çalıştırın. Rpl-attacks klasöründe olmanız gerektiğini unutmayın.
vagrant up
Bir sonraki blog yazımda, normal ve zafiyetli IoT düğümlerini bu çalışma ile nasıl üretildiğini sizlere aktaracağım.
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.