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.
IoT cihazları ile ilgili birçok uygulama katmanı protokolü geliştirilmiştir. Aşağıda sık kullanılan IoT uygulama katmanı protokollerinden
Kısıtlı Uygulama Protokolü (CoAP), IETF tarafından hazırlanmıştır. CoAP, bir IP ağında çalışan kaynak kısıtlı cihazlar için Temsili Durum Aktarımına (REST) dayalı bir web aktarım protokolüdür. CoAP, HTTP ile birçok benzerliğe sahiptir, ancak aynı zamanda bazı temel farklılıklara sahiptir. Kısıtlı cihazlar sayı olarak büyük olabilir, ancak genellikle işlev veya konum bakımından birbirleriyle ilişkilidir. Örneğin, bir binadaki tüm ışık anahtarları bir gruba ait olabilir ve tüm termostatlar başka bir gruba ait olabilir. Gruplar konuşlandırılmadan önce önceden konfigüre edilebilir veya operasyon sırasında dinamik olarak oluşturulabilir. Bilginin bir grup aygıta gönderilmesi veya bu aygıttan alınması gerekiyorsa, grup iletişim mekanizmaları iletişimin verimliliğini ve gecikmesini artırabilir ve belirli bir uygulama için bant genişliği gereksinimlerini azaltabilir. HTTP, CoAP grup iletişimine eşdeğer herhangi bir işlevi desteklemez. (Rahman & Dijk, 2014 1)
Veri Dağıtım Hizmeti (DDS), dağıtık mimarideki cihazlar için oluşturulmuş bir uygulama katmanı protokolüdür. Bunu sağlamak için abonelere bilgi sağlamaktan sorumlu olan DCPS (Merkezi Veri Yayınlama-Abone Olma) protokolünün kullanabileceği standartlaştırılmış bir yazılım uygulama programlama arabirimi (API) sunar. DDS, bir “altyapı” çözümü olarak uygulandığından, herhangi bir yazılım uygulaması için iletişim ara yüzü olarak eklenebilir. (Pardo‐Castellote, Farabaugh , & Warren, 2005 2)
MQTT, OASIS tarafından hazırlanan bir protokoldür. (Banks & Gupta, 28 Eylül 2014 3) MQTT, bir İstemci Sunucusu yayınlama / abone olma mesajlaşma aktarım protokolüdür. Küçük bir kod izinin gerekli olduğu ve / veya ağ bant genişliğinin önemli olduğu Makineden Makineye (M2M) ve Nesnelerin İnterneti (IoT) bağlamları gibi kısıtlı ortamlar dahil olmak üzere birçok durumda kullanım için tasarlanmıştır.
AMQP ve OASIS tarafından hazırlanan bir protokoldür. AMQP, açık standart olan, mesaj odaklı, güvenilir ve güvenli iletişim sağlayan, en çok bir kez, en az bir kez ve tam olarak bir kez teslimatı destekleyen hem noktadan noktaya hem de yayınlama abonelik modelleri için uygun olan ve bir uygulama katmanı protokolüdür. (OASIS Advanced Message Queuing Protocol (AMQP), 2012 4)
Genişletilebilir Mesajlaşma ve Durum Protokolü (XMPP) XML (eXtensible Markup Language- Genişletilebilir İşaretleme Dili) tabanlı, açık, güvenli, spam içermeyen bir uygulama katmanı protokolüdür. (P. Saint, 2004 5) Aşağıdaki hususları sağlar:
Birçok elemandan oluşan IoT ağındaki kaynaklar ve hizmetlerin gerek kaydının tutulması gerekse keşfi için otomatik ve verimli bir kaynak yönetimi mekanizması oluşturulması hayati derecede önemlidir. Hizmet keşif protokolleri olarak Çok Noktaya Yayın Etki Alanı Adı Sistemi (Multicast Domain Name System) (mDNS) ve Etki Alanı Adı Sistem Hizmet Keşfi’nden (Domain Name System Service Discovery) (DNS-SD) bahsedebiliriz.
mDNS, bir IETF standardıdır. (Cheshire & Krochmal, Multicast DNS, Şubat 2013 6) Yerel alan ağında, çok miktarda IoT cihazı bulunuyorsa ve her bir IoT cihazının IP adresini ezberlemek mümkün değilse, mDNS servisinin kullanılması mantıklıdır. IP adreslerine isim verilmesini sağlar. Tek noktaya yayın yapan DNS sunucusuna benzer şekilde çalışır. DNS ad alanı herhangi bir ek yapılandırma olmadan yerel olarak kullanıldığı için çok esnektir. mDNS, otomatik yapılandırma sağlaması, cihazları yönetmek için ek altyapı gerekmemesi, yüksek düzeyde hata toleransı göstermesi gibi nedenlerle yerleşik IP tabanlı cihazlar için tercih edilen bir yöntemdir. IoT cihazlar kümesinde mDNS’in kullanılması şu şekilde olacaktır: İstek yapan IoT cihazı, kimlikleri sorgulamak için önce yerel etki alanındaki tüm düğümlere IP mesajı gönderir. Bu mesajla, bir istemci belirli bir ada sahip farklı cihazlardan yanıt vermesini ister. İstekler alındıktan sonra, adını içeren hedef cihaz, IP adresini içeren bir çok noktaya yayın yanıt paketi gönderir. IoT ağındaki tüm cihazlar, bu hizmeti daha sonra kullanmak için hedef cihazın adını ve ilgili IP adresini önbellekte depolar.
DNS-SD protokolü de bir IETF standardıdır. (Cheshire & Krochmal, DNS-Based Service Discovery, Şubat 2013 6) IoT sistemlerinde, DNS-SD kullanıcıların istenen hizmetleri keşfetmesini kolaylaştırmak için standart DNS mesajlarını kullanır. DNS-SD protokolü, ek yapılandırma olmadan cihazların bağlanmasına yardımcı olur. DNS-SD’de hizmet keşfi, iki aşamalı bir süreçtir,
IoT cihazlarında RFID (Radio-Frequency Identification- Radyo frekansı tanımlama) teknolojisi, nesneleri tanımlamak için günümüzde kullanılmaktadır. RFID etiket okuyucu, bir nesnede bulunan benzersiz etiket numarasını okur ve nesne adı hizmet uygulamalarına iletir. RFID etiketindeki benzersiz etiket numarası Elektronik Ürün Kodu (EPC-Electronic Product Code) numarası olarak bilinir. Bu EPC numarası esas olarak akıllı öğelerin tanımlanmasına ve izlenmesine yardımcı olur. EPCglobal organizasyonu, EPC ve RFID standartlarının geliştirilmesinden ve yönetilmesinden sorumludur. (Grasso, 2004 7)
Z – Wave, 30 m’ye kadar noktadan noktaya iletişimi desteklemek için Z ‐ Wave Alliance ve Sigma Designs tarafından geliştirilmiş düşük güçlü bir iletişim protokolüdür. (Al-Fuqaha, Guizani, Mohammadi, Aledhari, & Ayyash, 2015 8)
Kablosuz iletişimde, enerjiyi maliyet etkin kullanmak maksadıyla, bluetooth çekirdeğinin geliştirilerek oluşturulmuş BLE (Bluetooth Low Energy- Bluetooth Düşük Enerji) standardı, 100 metre mesafede IoT cihazları tarafından kullanılmaktadır. (Mackensen & Lai, 2012 9)
IEEE (Institute of Electrical and Electronics Engineers- Elektrik ve Elektronik Mühendisleri Enstitüsü) 802.15.4, fiziksel katman ve MAC (Media Access Control- Medya Erişim Kontrolü) katmanının işlevlerini sağlayan, LR-WPAN (Low Rate Wireless Personal Area Network-Düşük Hızlı Kablosuz Kişisel Alan Ağı) ağı için teknik bir standarttır. (Howitt & Gutierrez, 2003 10) IEEE 802.15.4, düşük güç tüketimi ile güvenilir yüksek veri hızlı iletişim sağlar. (Zheng & Lee, 2006 11) Büyük ölçekli düğüm işleme yeteneği ve düşük veri iletim güç tüketimi nedeniyle, çeşitli IoT sistemlerinde yaygın olarak kullanılmaktadır. Benzer şekilde, 802.15.4, IoT sistemlerinde iletişimi desteklemek için kullanılan farklı protokollerin geliştirilmesinin temelini oluşturur. Bu protokoller, düşük güçlü kablosuz kişisel alan ağlarında (6LoWPAN) ZigBee, IPv6’dır. 802.15.4’ün fiziksel katmanı Doğrudan Sıralı Yaygın Spektrum’a (Direct Sequence Spread Spectrum) (DSSS) dayanır ve verileri üç frekans bandında (yani 2,4 GHz, 915 MHz ve 868 MHz) iletebilir. Frekans bandına göre farklı veri hızlarında (40 ila 250 kbps) iletişimi destekler. Düşük frekanslar uzun bir mesafeyi kapsar ve daha iyi hassasiyet sağlamada iyidir. Öte yandan, yüksek frekanslar, düşük gecikmeyi ve yüksek verimliliği destekler. IEEE 802.1.4’ün MAC katmanı, ağdaki birden fazla düğümün sürekli eşzamanlı iletiminin çakışmasını azaltabilen CSMA / CA protokolüne dayanmaktadır. (Gutierrez, ve diğerleri, 2001 12)
IEEE 802.15.4, iki tür ağ düğümünü desteklemek için uygulanmıştır. Bunlar, azaltılmış fonksiyonlu cihazlar (RFD-Reduced Functioned Devices) ve tam fonksiyonlu cihazlardır (FFD-Full Functioned Devices). RFD, sınırlı kaynaklara ve iletişim gereksinimlerine sahip basit bir ağ cihazıdır. Öte yandan, FFD cihazlarının daha fazla kaynağı vardır. FFD ekipmanı şunları yapabilir:
IEEE 802.15.4 standardının ağ düğümleri birbirleriyle yıldız, eşler arası ve küme-ağaç topolojilerinde iletişim kurabilir. Bu topolojiler Şekil 2.2’de gösterilmiştir.
IEEE 802.15.4 düşük güç tüketimi sağlamaktadır ve birkaç IoT uygulaması için uygundur ancak 802.15.4 protokolü, daha geniş alanlara dağılmış çok sayıda IoT cihazından oluşan IoT uygulamaları için uygun değildir. (Olyaei, Pirskanen, Raeesi, Hazmi, & Valkama, 2013 14 ) Bu boşluğu doldurmak maksadıyla, IEEE 802.11 standardı düşük güçlü sensör iletişim teknolojilerine altyapı oluşturması maksadı ile evrimleştirilmiş ve IEEE 802.11ah protokolü ortaya çıkmıştır. IEEE 802.11ah’ye ait örnek bir büyük ölçekli IoT sisteminin örneği Şekil-2.3’de verilmiştir.
Zigbee, kablosuz kontrol ve izleme uygulamalarında pille çalışan cihazları hedefleyen düşük maliyetli, düşük güçlü, kablosuz bir ağ standardıdır. IEEE’nin 802.15.4 protokolü üzerinde 2,4 GHz bandında çalışan ve kendi kendini onaran bir örgü ağ kullanılarak oluşturulmuştur. (Safaric & Malaric, 2006 15)
LTE–A, (Long-term Evolution – Advanced Düşük Hızlı Kablosuz Kişisel Alan Ağı Gelişmiş Uzun Vadeli Evrim) 4G LTE olarak da adlandırılır. Yüksek hızlı hücresel ağlar için bir iletişim standardıdır.
Ağ katmanı protokolleri, ayrı bir başlık altında anlatılmıştır.
1. Rahman, A., & Dijk, E. (2014, Ekim). Internet Engineering Task Force (IETF)-7390. https://tools.ietf.org/html/rfc7390 (Geri Dön)
2. Pardo‐Castellote, G. P., Farabaugh , B., & Warren, R. (2005). An Introduction to DDS and Data-Centric Communications. Real‐Time Innovations. (Geri Dön)
3. Banks, A., & Gupta, R. (28 Eylül 2014). MQTT Version 3.1.1. Candidate OASIS Standard 02. http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/mqtt-v3.1.1.html. (Geri Dön)
4. OASIS Advanced Message Queuing Protocol (AMQP). http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-overview-v1.0-os.html (Geri Dön)
5. P. Saint, A. (2004). Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence. Jabber Software Foundation. https://www.hjp.at/doc/rfc/rfc3922.html (Geri Dön)
6. Cheshire, S., & Krochmal, M. (Şubat 2013). DNS-Based Service Discovery. Internet Engineering Task Force (IETF). (Geri Dön)
7. Grasso, J. (2004). The EPCglobal network: overview of design, benefits, & security. EPCglobal, 24. (Geri Dön)
8. Al-Fuqaha, A., Guizani, M., Mohammadi, M., Aledhari, M., & Ayyash, M. (2015). Internet of Things: A Survey on Enabling Technologies, Protocols, and Applications. IEEE Communications Surveys Tutorials, 17(4), 2347-2376. doi:10.1109/COMST.2015.2444095 (Geri Dön)
9. Mackensen, E., & Lai, M. (2012). Bluetooth Low Energy (BLE) based wireless sensors. SENSORS, 2012 IEEE, 1-4. doi:10.1109/ICSENS.2012.6411303 (Geri Dön)
10. Howitt, I., & Gutierrez, J. (2003). IEEE 802.15.4 low rate – wireless personal area network coexistence issues. 2003 IEEE Wireless Communications and Networking, 2003. WCNC 2003., 1481-1486 vol.3. doi:10.1109/WCNC.2003.1200605 (Geri Dön)
11. Zheng, J., & Lee, M. (2006). A comprehensive performance study of IEEE 802.15. 4. Sensor Network Operations 4, 218–237. (Geri Dön)
12. Gutierrez, J., Naeve, M., Callaway, E., Bourgeois, M., Mitter, V., & Heile, B. (2001). IEEE 802.15.4: a developing standard for low-power low-cost wireless personal area networks. IEEE Network, 12-19. doi:10.1109/65.953229 (Geri Dön)
13. Cuomo, F., Della Luna, S., Cipollone, E., Todorova, P., & Suihko, T. (2008). Topology Formation in IEEE 802.15.4: Cluster-Tree Characterization. 2008 Sixth Annual IEEE International Conference on Pervasive Computing and Communications (PerCom), 276-281. doi:10.1109/PERCOM.2008.26 (Geri Dön)
14. Olyaei, B., Pirskanen, J., Raeesi, O., Hazmi, A., & Valkama, M. (2013). Performance comparison between slotted IEEE 802.15.4 and IEEE 802.1 lah in IoT based applications. 2013 IEEE 9th International Conference on Wireless and Mobile Computing, Networking and Communications (WiMob), 332-337. doi:10.1109/WiMOB.2013.6673381 (Geri Dön)
15. Safaric, S., & Malaric, K. (2006). ZigBee Wireless Standard. Proceedings ELMAR 2006, (s. 259-262). Zadar, Croatia. doi:10.1109/ELMAR.2006.329562 (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.