Nesnelerin İnterneti (IoT) #1

Gülçin ÖZER
Pubso Yayın Topluluğu
9 min readJun 6, 2022
Photo by George Colbeanu on Unsplash

Nesnelerin İnterneti Nedir?

Bir cihazın internete bağlanabilmesi olayını temel alır ve bu temelin çevresinde gerçekleşen eklentilerle kurulan çevrimiçi sistemlerin geneline denir.

Bir sokak düşün. Sokağın başında, sonunda ve ortasına ikişer kişi var ve bunlar birbiriyle kulaklarına takılı telsiz kulaklıklar aracılığıyla anlık olarak iletişim kuruyor. Bunlar nasıl insanların interneti ise aradaki mesafeye rağmen cihazların birbirine veri gönderip alabildiği ve böylece birbirlerinin davranışlarını yönlendirebildiği sistemler de nesnelerin internetidir.

Anlattığımız gibi IoT bir sistemdir. Bu sistem cihazlar ve bağlantılardan oluşur. Cihazların tümü düğüm (node) olarak adlandırılır. Sistem genel olarak internal master node (iç ana düğüm) ve remote server (uzak sunucu) yapılarına ayrılır. Bu sistemin kendi içinde iletişim kurmasını sağlamak için de bir istemci sunucu (client server) oluşturmak gerekir. Bu konuşma dediğimiz iletişim ise veri protokolleri aracılığıyla gerçekleştirilir.

IoT Nasıl Çalışır?

Öncelikle düzeni biraz daha pratik kavrayabilmemiz adına şu şekilde ifade edebilirim. Veriyi çekmek istediğimiz cihaz veya sistemle internet aracılığıyla iletişim/etkileşim halinde oluyoruz. Bu sayede almak istediğimiz bildirimi veya düzenlenmesini istediğimiz durumu kontrol edebiliyoruz. Önceden bu işlemler az önce anlattığım kadar kolay değildi. Çünkü gerekli olan çipler çok büyüktü ve teknolojik gelişmelerimiz o kadar da uygun değildi.

IoT, şu anda bile potansiyelinin çok altında. 5G teknolojisinin gelişmesiyle IoT’un potansiyeline daha da yaklaşacağını düşünüyorum. Çünkü 5G ile hem internet çok hızlanacak hem de haberleşmedeki gecikmeler en aza indirgenecek. Örneğin A kentindeki bir doktor B kendindeki bir hastayı uzaktan robotları kontrol ederek ameliyat edebilecek. Bunun için de çok hızlı internete ve çok düşük gecikmelere ihtiyacımız var.

Pekiii sağlıktan ulaşıma, otomotivden akıllı evlere, spordan tarıma derken hemen hemen her yerde duymaya başladık bu IoT’u. Gitgide gelişen ve gelecekte de duymakla kalmayıp iç içe yaşayacağımız bu teknolojinin nasıl çalıştığını inceleyelim mi? IoT sistemimiz çalışırken bazı unsurlara ihtiyaç duyar. Bunlar:

  1. IoT Sensörleri: IoT cihazları verecekleri kararları sensörler yardımıyla alır.
  2. IoT İnternet Ağı: Verileri alan alıcılar bu bilgileri Wifi, LTE kullanarak genel veya özel paylaşımla bulutlara gönderirler.
  3. Bulut Sistemi: Alınan verilerin tüm IoT cihazları tarafından yorumlanabilmesi ve harekete geçebilmesi için veriler bulutta depolanır.
  4. Hyper Decision Framework: Depolanan verilere göre kararların hızlı bir şekilde alınmasını sağlar
  5. Kullanıcı Arayüzü: Kullanıcı arayüzü, kullanıcıların IoT cihazlarını yönlendirmesini ve anlık olarak sonuçlara ulaşabilmesini sağlar. Bu arayüz ile kullanıcılar sonuçlara, grafiklere ve anlık verilere erişim sağlar.

Bir IoT önce sensörler veya cihazlar aracılığıyla veriyi alır. Daha sonra Wi-Fi, Bluetooth, NFC gibi iletişim protokolleri kullanılarak bulutla iletişim kurulur. (Burada bahsettiğimiz iletişim protokollerinden #2 yazımızda bahsedeceğiz.) Bu iletişim sonucunda veriler değerlendirilir. Sisteme göre uygun bildirimler gönderilir veya değiştirilmesi gereken komut önceden tanımlandıysa bizlerin müdahalesine gerek kalmadan değiştirilir.

Çalışma sistemini değerlendirecek olursak bizlere düşen iş yükünü azaltıyor. Karar verme ve uygulama mekanizması ile de oldukça pratik ama bu özellikleri sana sistem üzerindeki hakimiyetimizin azaldığı izlenimini vermesin. İstersen uygulama alanlarını kısıtlayabilir, komutlar verebilirsin. Unutma; bu teknoloji bizlere kolaylık sağlamak adına geliştiriliyor, bizlerin yerini almak adına değil. Kumanda hala bizim elimizde 😊

Photo by Ludovic Toinel on Unsplash

IoT’un Kullanım Alanları

Nesnelerin internetinde amaç, akılsız olan her şeyi akıllı yapmak. Bu akıllı cihazlardan alınan verilerle de makine öğrenmesi, yapay zekâ ve big data teknolojilerini geliştirmek ve akıllı bir dünya yaratmak. Bu akıllı dünya meydana gelirken IoT tarafı hangi alanlarda nasıl kullanılıyor gel bunlara göz atalım.

Bir termostat düşünür müsün? Neler yapabilir? Evinin sıcaklığını ölçebilir. İnternetten hava durumu bilgisine erişip evinin sıcaklığı ile kıyaslama yapabilir ve evinin sıcaklığını uygun bir şekilde değiştirebilir. Üstelik sen de bu durumu dilersen uzaktan açıp kapatabilir veya sistemin kendi düzenlemelerini değiştirerek kontrol edebilirsin.

IoT ile entegre edilmiş bir priz bize prizimizin hangi saatlerde açılıp kapanacağını kontrol edebilme imkanı sunar. Böylece tükettiğimiz elektrik miktarını bildirim olarak alabilir, elektrik tüketimimizi kontrol edebiliriz. Elektrik faturamızdan tasarruf ederken ona yön de verebiliriz.

Photo by Moritz Kindler on Unsplash

Tarım alanındaki akıllı sulama sistemlerinde de oldukça başarılı olan IoT, toprağa yerleştirilen sensörler sayesinde topraktaki nem oranını ölçüyor ve sulama periyotlarını belirliyor. Aynı zamanda internetten aldığı hava durumu bilgisiyle de yakın zamanda yağmur yağacaksa sulama yapmamayı tercih edebiliyor. Böylelikle su tasarrufu yapılıyor.

Ya da kendi yatak odanı baştan başa nesnelerin interneti ortamına dönüştürdüğünü düşün. O zaman derin bir nefes al ve geriye yaslan. Senden gözünde canlandırmanı istediğim bir şey var:

Evinin uzun koridorunda yürüdün ve odanın kapısına geldin, kapın kapalı. İçeride yalnızca ufak bir vızırtı var. Kapının altından sızan bir ışık huzmesi dahi görünmüyor. Kapıyı açıyorsun. Yalnızca kapıyı açtın: klik! Birden ışık yandı. Eğer çalışma saatlerin arasındaysan akıllı ampul odaklanma rengi ve parlaklığında yandı, akıllı masan çalışma düzenine yükseklik ayarı yaptı, bilgisayarın çalışma saatin olduğu için kendiliğinden açıldı, o vızırtı sesinin kaynağı olan akıllı robot temizliğe son verdi ve yuvasına geri döndü, akıllı havalandırıcın esinti seni rahatsız etmesin diye çalışmayı durdurdu, ısıtıcın düşük ayarda çalışmaya başladı. Odandaki her şey senin için çalışıyor, buradaki küçük dünyan senin etrafında dönüyor. Önceden programlandılar. Sen hangi saatlerde nasıl çalışmalarını istiyorsan öyle çalışıyor, hangi davranışlarına nasıl tepki vermelerini istiyorsan öyle tepki veriyorlar. Hatta yapay zekâ modüllerini işin içinde dahil ettiğinde senin yakın bir arkadaşın hatta ailen gibi seni tanıyorlar ve sen demeden anlıyor, hatta zevklerinde ve davranışlarındaki değişimi dahi fark edip kendilerini buna uyduruyorlar. Odandaki sensörler fırıl fırıl çalışıyor. Böylece akıllı cihazlar senden gelecek komutlara da hazır. Yalnızca ihtiyaç anında ihtiyaç duyduğun kadar çalıştıkları için enerji tasarrufu hat safhada çünkü gerektiği zaman yeterince çalıştıklarından gerekmediğinde cihazlarda mutlak bir uyku hali oluyor.

Telefonun, laptopun, tabletin, akıllı saatin, ışıkların, temizlik ünitelerin, ısıtıcıların, hava düzenleyicilerin, kokuların, perden, hareket sensörlerin, ışık sensörlerin, ısı sensörlerin… Hepsini nesnelerin interneti ortamına dahil edebilirsin. Tabii hepsinin dahil olduğu bir ortam fazla kaotik olurdu. Ben sana yalnızca kendi dondurmanı oluşturabilmen için hangi çeşnileri seçebileceğini sayıyorum.

Ve çevrendeki bu kadar sayıda cihazın internete bağlı ve kendi kendine çalışması seni korkutmasın. IoT güvenliği kavramı tam da bunun için var. Ve güvenlilikleri sağlandığında gerçekten hayat kurtarıcı niteliğindeler.

Photo by Jonas Leupe on Unsplash

Nesnelerin İnterneti: Veri Protokolleri

MQTT (Message Queuing Telemetry Transport)

Cihazlar (makinadan makinaya) arasında “yayıncı-üye” temelli basit (düşük boyutlu) veri akışını sağlar. Hafif ağırlıklı (lightweight) yapısından dolayı cihazlarda güç tüketimini de en aza indirir. Buradan yola çıkarak düşük güç tüketimli cihazların bu protokolle çalıştığını söyleyebiliriz. TCP/IP üzerinde çalıştığı için uygulama sahası çok geniştir ve uygulaması da nispeten kolaydır.

Özellikle endüstriyel IoT uygulamalarında MQTT kullanılır. Makineden makineye iletişimi sağlar. Yalnız bir dezavantajı vardır ki tanımlanmış bir veri gösterimi veya cihaz yönetimi yapılandırması yoktur.

CoAP (Constrainad Application Protocol)

Türkçe karşılığı “Kısıtlı Uygulama Protokolü” olan CoAP, adından da anlaşılacağı üzere kısıtlı imkanlar (kaynak, bant genişliği vb.) sunabilen IoT cihazların arasındaki iletişimi sağlayan bir veri protokolüdür. Erişim konusunda bizlere kolaylık sağlayan HTTP’nin IoT cihazları için kullanılabilir bir formata entegre edilmesinde rol oynar. Çünkü HTTP’nin ağırlığı ve yüksek kaynağa olan ihtiyacı, IoT cihazlarının amaç ve uygulama konusunda sorunlara sebep olabiliyor. Bu durumda devreye CoAP giriyor. CoAP, HTTP’nin imkanlarını IoT cihazlarına kazandırmaya çalışır da diyebiliriz.

AMQP (Advanced Message Queuing Protocol)

Açık kaynaklı bir protokoldür. Sunucular arasında işlemsel iletilerin aktarılmasını sağlar. Genel işlem metinlerini önceliklendirir ve saklar. Bu iki işlem arasında ilişkisel bir süreç yürütmek de bu protokolün yapabildikleri arasındadır. Sunucu tabanlı büyük uygulamalarda kullanılmaya uygundur çünkü yüksek güvenlikli bir sistemdir ve kararlı çalışır. Yüksek güvenlikli yapısından dolayı da bankacılık sektöründe fazlasıyla kullanılır. Yalnız ağır bir teknoloji olup bundan dolayı yüksek bir kaynak istediğinden sensör tabanlı küçük IoT cihazları ile kullanılmaya müsait bir protokol değildir. AMQP üç farklı bileşenden meydana gelir:

Queue (kuyruk): İletilerin, consumerların (tüketici) kendisiyle ilişkili olduğu ve buradan aldığı iletiler.

Exchange (değişim): Aracının iletilerini alan ve bunları kuyruğa yönlendiren sunucu.

Bindings (veri bağlantıları): İletileri sunucudan kuyruklara dağıtma kuralları.

AMQP yayıncılar verileri sunucuya gönderdikten sonra sunucu veriyi gereken kuyruğa iletir. Bu iletim ise 4 farklı yöntemle yapılır: Doğrudan gönderim (direct exchange), fanout gönderim (fanout exchange), başlık gönderim (topic exchange), üstbilgi gönderim (headers exchange).

Photo by Markus Spiske on Unsplash

DDS (Data Distribution Service)

Türkçe karşılığı “Veri Dağıtım Hizmeti” dir. DDS, IoT cihazları ve kullanıcıları arasındaki veri, bildirim, komut gibi iletişimleri sağlar. Aradaki iletişimi sağladığı için oldukça hızlı olmasını tercih ederiz öyle değil mi? İşte burada DDS’yi tercih etmek doğru bir karar olur. Çünkü temeli gereği gecikme süresi oldukça düşüktür. Hatta dünyanın en büyük teleskobu projesinde, ELT (Extremly Large Telescop) projesinde, 784 aynayı senkron biçimde koordine etmek için kullandıklarını söylemişlerdi.

“Yayımla — abone ol” mimarisi çerçevesinde çalışan DDS, veriyi paylaşırken belirli bir hedefi izlemez. Bu veriye abone olan tüm yapılara gönderir. Veriyi merkeze alması özelliğiyle de aldığı verileri takip eder, işler ve gerekli zamanlarda da bildirim verir.

Kronometrelerdeki veriyi yetkili kişilere bildirmede, akıllı binalarda, savunma sanayisinde, havacılıkta ve birçok alanda kullanılıyor.

HTTP (Hypertext Transfer Protocol)

HTTP hepimizin en yakından vakıf olduğu veri aktarım protokolü. Her internet sitesi bağlantısının ilk 4 harfi olmaktan tutalım, burada bahsedeceğimiz gibi IoT için veri aktarılmasına kadar gepgeniş bir yelpazede yer bulur. Temelde IoT sistemlerinin iletişimi için kullanılır. Yalnızca bu iş için fazla ağırdır ve ihtiyaç duyduğu kaynak hacmi tercih edilme sıklığını düşüren en büyük faktördür. Yine de halen üç boyutlu yazıcılar gibi büyük boyutlu aktarımların gerektiği çözümlerde iş gören bir tercih olmaktan geri değil.

WebSocket

Network cihazlarının anlık olarak birbirleri arasında herhangi bir yenileme ve isteme şartı olmadan bilgi paylaşmasını ve güncel bilgiyi birbirlerine iletmesini sağlayan bir protokoldür. “İstemci — sunucu” arasındaki bağlantı temellidir. Bu özelliği ile de sunucu veya istemciden birisi aradaki bağlantıyı sonlandırana kadar veri aktarımı ve iletişim canlı kalır. En az bir tarafın bağlantıyı sonlandırılması durumunda ise her iki taraf için de bağlantı kesilir.

WebSockets; kolay kullanılması, entegrasyona olan yatkınlığı gibi özellikleriyle bizlere pratiklik sağlar ve kullanımını artırır. Gerçek zamanlı web uygulamaları, oyunlar ve mesajlaşma uygulamaları gibi birçok alanda kullanıldığını da görebiliriz.

IoT Güvenliği

Siber güvenlik saldırıları IoT sistemlerinin şu alanlarını hedef alıyor olabilir:

Sistemdeki işlemler: Web servisleri veya uydularla doğrudan bağlantılı olan süreçlere yapılan saldırılar.

Sistemdeki iletişim: Sistem içerisindeki her türlü iletişime, gerek iletilen bilgiye erişmek gerekse de iletişimi bozarak bu aktarımı manipüle etme amacı taşıyan saldırılar.

Sistemin depolama alanı: Veri kuyruklarına, sağlıklı çalışan sistemlere yapılan saldırılar.

Saldırılar ise beşe ayrılır.

Sahtekarlık

Sistem içerisindeki yayını keserek veya kısmen geçersiz kılarak yayını oluşturan üzerinde hile yapar. Bu Man in the Middle (MitM) saldırısı olarak bilinir.

Bilgilerin Açığa Çıkması

Saldırganlar yayına dahil olup bilgileri ele geçirir veya yayını bozarak bilginin sağlıklı dağıtılmasını engeller.

Kurcalama

Saldırganlar fiziksel cihazları kurcalayarak pillerin bitmesine neden olabilir veya Random Number Generating (RND) saldırısı yapabilir. Cihazlar üzerinde çalışan yazılıma erişim sağlanırsa cihazların özgün kimliğine ulaşıp sistemin genel kripto bilgisi çözülmeye çalışılabilir. Bu tehlikelidir.

Hizmet Reddi

Hizmetin çalışmasını sabote etmeyi hedefler. Fiziksel veya dijital olarak (radyo frekansı gönderme gibi) bağlantıya hasar verilir ve çalışması engellenir.

Ayrıcalık Yükseltme

Sisteme bağlı cihaz görevinin dışına zorlanabilir. Akıllı ampul normal değerinin çok üzerinde bir parlaklık değerine zorlanıp yangına sebebiyet verebilir.

Photo by FLY:D on Unsplash

IoT, içerisinde birçok sürpriz ve pratik yol barındıran ama bir o kadar da güvenlik önlemlerine ihtiyaç duyan bir teknoloji. Kullandığımız teknolojinin güvenlik açığının olması bizim için fazlasıyla tehlike içerir. Pekiii bu güvenliği nasıl sağlarız? Gelin beraber inceleyelim 😊

  • Debug/Test arayüzleri kullanım dışı bırakılmalı.
  • Fiziksel güvenlikte ya yetkiler sınırlandırılmalı ya da tamamen kullanım dışı bırakılmalı.
  • Lokal ağ servislerine erişimde güçlü şifreler kullanılmalı ve sınırlandırılmalı.
  • TCP/UDP Listen Portların açık veya kapalı kalması durumları kontrol edilmeli.
  • Cihaz konfigürasyonu sağlanmalı
  • Kullanılan yazılım güncel tutulmalı.
  • Güvenli haberleşme için sertifikalar güncel olmalı ve güvenli ağlarla (WPA2/WPA3) bağlantı kurulmalı.

Kaynakça

https://ankaref.com/blog/baslica-iot-nesnelerin-interneti-veri-protokolleri-nelerdir-42

https://www.avsystem.com/blog/iot-protocols-and-standards/

https://www.btkakademi.gov.tr/portal/course/nesnelerin-interneti-iot-ve-guevenligi-10625 (BTK Akademi — Nesnelerin İnterneti (IoT) ve Güvenliği Programı)

https://medium.com/yaz%C4%B1l%C4%B1m-mimarileri/arakatmanlar-4-dds-arakatman%C4%B1-ile-sistem-geli%C5%9Ftirme-81d5d3ebf36f

https://www.argenova.com.tr/web-socket-api-websockets-nedir

https://www.academia.edu/44079274/IoT_Veri_Protokolleri_MQTT_CoAP_AMQP_ve_HTTP_Kar%C5%9F%C4%B1la%C5%9Ft%C4%B1rmas%C4%B1

https://azure.microsoft.com/tr-tr/overview/internet-of-things-iot/iot-security-cybersecurity/

Yazarlar

--

--