Internet Of Things: IoT Security - Rozdział 2

1. Modele warstwowe sieci są często używane do ilustrowania, jak odbywa się komunikacja danych od końca do końca. Korzystanie z modelu warstwowego do wyjaśnienia protokołów i operacji ma wiele zalet:
  • Ułatwiają projektowanie protokołów, ponieważ protokoły działające na określonej warstwie mają zdefiniowane informacje, na których działają, i zdefiniowany interfejs do warstw powyżej i poniżej.
  • Sprzyjają konkurencji, ponieważ produkty różnych producentów mogą ze sobą współpracować.
  • Zapobiegają wpływowi zmian technologii lub możliwości w jednej warstwie na inne warstwy powyżej i poniżej. 
  • Zapewniają wspólny język do opisywania funkcji i możliwości sieciowych.
2. Modele używane w sieciach komputerowych: model OSI i model TCP/IP. 

3. Oto krótki opis warstw modelu TCP/IP i modelu OSI:

Model TCP/IP (4 warstwy):
  • Warstwa dostępu do sieci - ta warstwa odpowiada za fizyczne połączenie i transmisję danych między urządzeniami w sieci. Używa ona różnych standardów i technologii, takich jak Ethernet, Wi-Fi, Bluetooth, itp.
  • Warstwa internetowa - ta warstwa odpowiada za przypisywanie adresów IP urządzeniom i routowanie pakietów danych między sieciami. Używa ona głównie protokołu IP, ale także innych protokołów, takich jak ICMP, ARP, RARP, itp.
  • Warstwa transportowa - ta warstwa odpowiada za nawiązywanie, utrzymywanie i zakończenie połączeń między urządzeniami. Używa ona głównie protokołów TCP i UDP, które zapewniają niezawodność, kontrolę przepływu i korekcję błędów.
  • Warstwa aplikacji - ta warstwa odpowiada za dostarczanie usług i funkcji użytkownikom końcowym. Używa ona różnych protokołów wysokiego poziomu, takich jak HTTP, FTP, SMTP, DNS, Telnet, itp.
Model OSI (7 warstw):
  • Warstwa fizyczna - ta warstwa odpowiada za przesyłanie bitów danych przez medium fizyczne, takie jak kabel, światłowód, fale radiowe, itp. Używa ona różnych standardów i technologii, takich jak Ethernet, Wi-Fi, Bluetooth, itp.
  • Warstwa łącza danych - ta warstwa odpowiada za organizowanie bitów danych w ramki i zapewnianie niezawodności i kontroli dostępu do medium transmisyjnego. Używa ona głównie protokołów MAC i LLC, ale także innych protokołów, takich jak HDLC, PPP, SLIP, itp.
  • Warstwa sieciowa - ta warstwa odpowiada za przypisywanie adresów logicznych urządzeniom i routowanie pakietów danych między sieciami. Używa ona głównie protokołu IP, ale także innych protokołów, takich jak ICMP, IGMP, RIP, OSPF, itp.
  • Warstwa transportowa - ta warstwa odpowiada za nawiązywanie, utrzymywanie i zakończenie połączeń między urządzeniami. Używa ona głównie protokołów TCP i UDP, ale także innych protokołów, takich jak SCTP, DCCP, itp.
  • Warstwa sesji - ta warstwa odpowiada za zarządzanie sesjami komunikacyjnymi między urządzeniami. Używa ona różnych usług i protokołów, takich jak RPC, NFS, SQL, NetBIOS, itp.
  • Warstwa prezentacji - ta warstwa odpowiada za przekształcanie danych w formę zrozumiałą dla warstwy aplikacji. Używa ona różnych usług i protokołów, takich jak ASCII, EBCDIC, JPEG, MPEG, SSL, TLS, itp.
  • Warstwa aplikacji - ta warstwa odpowiada za dostarczanie usług i funkcji użytkownikom końcowym. Używa ona różnych protokołów wysokiego poziomu, takich jak HTTP, FTP, SMTP, DNS, Telnet, itp.
4. IoT model referencyjny to ramy, które mają na celu ułatwić zrozumienie, dyskusję i rozwój rozwiązań dla Internetu Rzeczy. Składa się on z siedmiu części, nazywanych poziomami, które opisują różne funkcje i aspekty IoT.

Poziom 1: Urządzenia fizyczne i kontrolery. Ten poziom obejmuje wszystkie urządzenia, które mogą być podłączone do sieci IoT, takie jak sensory, aktuatory, kamery, smartfony, itp. Urządzenia te mogą zbierać, przetwarzać i wysyłać dane do innych urządzeń lub usług IoT. Kontrolery to urządzenia, które mogą zarządzać i koordynować działanie innych urządzeń.
Poziom 2: Łączność. Ten poziom obejmuje wszystkie protokoły i technologie, które umożliwiają komunikację między urządzeniami i usługami IoT. Może to być komunikacja bezprzewodowa, przewodowa, lokalna, globalna, itp. Na tym poziomie odbywa się transmisja danych w formie pakietów, ramek lub strumieni.
Poziom 3: Przetwarzanie brzegowe. Ten poziom obejmuje wszystkie urządzenia i usługi, które mogą wykonywać zaawansowane przetwarzanie danych na krawędzi sieci IoT, czyli blisko źródła danych. Może to być np. filtrowanie, agregacja, analiza, optymalizacja, uczenie maszynowe, itp. Celem tego poziomu jest zwiększenie wydajności, niezawodności i bezpieczeństwa IoT poprzez redukcję opóźnień, kosztów i ryzyka związanego z przesyłaniem danych do chmury lub centrum danych.
Poziom 4: Platforma. Ten poziom obejmuje wszystkie usługi i aplikacje, które zapewniają podstawową infrastrukturę i funkcjonalność dla IoT. Może to być np. zarządzanie urządzeniami, zarządzanie tożsamością, zarządzanie danymi, zarządzanie zdarzeniami, zarządzanie regułami, zarządzanie bezpieczeństwem, itp. Na tym poziomie odbywa się integracja, orkiestracja i zarządzanie różnymi elementami IoT.
Poziom 5: Aplikacje. Ten poziom obejmuje wszystkie usługi i aplikacje, które zapewniają konkretną wartość i korzyści dla użytkowników i organizacji z IoT. Może to być np. monitorowanie, sterowanie, optymalizacja, automatyzacja, predykcja, itp. Na tym poziomie odbywa się przetwarzanie, analiza i wizualizacja danych z IoT w celu uzyskania wglądu, wiedzy i decyzji.
Poziom 6: Biznes. Ten poziom obejmuje wszystkie aspekty biznesowe i ekonomiczne związane z IoT. Może to być np. model biznesowy, strategia, rynek, konkurencja, wartość, koszt, przychód, zysk, ryzyko, itp. Na tym poziomie odbywa się ocena, planowanie i realizacja celów i korzyści biznesowych z IoT.
Poziom 7: Współpraca i procesy. Ten poziom obejmuje wszystkie aspekty społeczne i organizacyjne związane z IoT. Może to być np. ludzie, procesy, kultura, etyka, prawo, regulacje, standardy, itp. Na tym poziomie odbywa się współpraca, komunikacja i koordynacja między różnymi podmiotami i interesariuszami związanych z IoT.

Bezpieczeństwo musi przenikać przez wszystkie poziomy w modelu referencyjnym IoT. Środki bezpieczeństwa obejmują:
  • Zabezpieczanie sprzętu i oprogramowania każdego urządzenia lub systemu podłączonego do sieci IoT.
  • Zapewnianie bezpieczeństwa dla wszystkich procesów, które zachodzą na każdym poziomie w sieci.
  • Zabezpieczanie przepływu danych i komunikacji między każdym poziomem.
5. W 2008 roku Europejski Instytut Norm Telekomunikacyjnych (ETSI) stworzył architekturę dla komunikacji maszyna-maszyna (M2M), która obejmuje również urządzenia IoT. Celem modelu było zapewnienie wspólnej ramy do zrozumienia rozmieszczenia różnych standardów i protokołów w systemie IoT. Model ETSI obejmuje trzy dziedziny
  • Dziedzina aplikacji - To jest miejsce, gdzie mogą zachodzić funkcje zarządzania, takie jak analiza danych, zarządzanie łącznością, inteligentne zarządzanie energią, zarządzanie flotą, lub dowolna aplikacja, która wykorzystuje dane z urządzeń IoT.
  • Dziedzina sieci - To jest miejsce, gdzie dane opuszczają lokalną sieć i są transportowane do dziedziny aplikacji za pomocą protokołów przewodowych i bezprzewodowych, takich jak Multiprotocol Label Switching (MPLS), Long-Term Evolution (LTE) i Worldwide Interoperability for Microwave Access (WiMax).
  • Dziedzina urządzeń M2M - To jest miejsce, gdzie urządzenia końcowe, takie jak sensoryi kontrolery, łączą się z siecią za pomocą bramek M2M, używając różnych protokołów, takich jak IEEE 802.15.4 i Bluetooth.
6. Systemy IoT są duże i złożone, składające się z tysięcy sensorów, aktuatorów i bramek, które łączą się za pomocą wielu protokołów. Bezpieczeństwo systemu IoT zależy od zrozumienia, gdzie występują podatności. System można uprościć, dzieląc go na obszary funkcjonalne: warstwy aplikacji, komunikacji i urządzeń. 

Na przykład, w systemie nawadniania, warstwa urządzeń może obejmować zraszacze, czujniki wilgotności i temperatury oraz aktuatory. Te urządzenia mogą być podłączone do lokalnego panelu sterowania, który monitoruje stan systemu (warstwa komunikacji). Panel sterowania może być podłączony do zdalnego centrum danych, gdzie są agregowane dane z wielu systemów nawadniania (warstwa aplikacji).

Zarządzanie danymi zależy od miejsca i czasu ich przetwarzania. Czy są one przetwarzane blisko ziemi, gdzie rzeczy są podłączone do sieci, czy na lokalnym urządzeniu z większą mocą, takim jak panel sterowania systemu nawadniania? Czy nadzorca może zdalnie zastąpić autonomiczne działania panelu sterowania za pomocą aplikacji mobilnej lub stacjonarnej w chmurze?

Bezpieczeństwo musi przenikać przez cały system IoT, niezależnie od aspektów funkcjonalnej łączności i zarządzania danymi.

7. Standardy i protokoły IoT:

Dotyczące aplikacji:
  • Zigbee - Zawiera zestaw protokołów i korzysta z niskonapięciowych radiowęzłów cyfrowych opartych na standardzie bezprzewodowym IEEE 802.15.4. Zawiera protokoły na warstwach aplikacji i komunikacji. Większość komponentów w specyfikacji Zigbee znajduje się na warstwie aplikacji.
  • HTTP/HTTPS - To są solidne protokoły aplikacji do pobierania i wysyłania danych.
  • MQTT - To jest lekki protokół publikowania i subskrybowania wiadomości zaprojektowany dla urządzeń o ograniczonych zasobach, które korzystają z TCP.
  • CoAP - Specjalistyczny protokół aplikacji zaprojektowany do transmisji danych przez urządzenia o ograniczonych zasobach w sieciach M2M.
Dotyczące komunikacji:
  • Thread - To jest standard dla automatyki domowej, który używa protokołu Internet Protocol version 6 (IPv6) do routingu na sieci bezprzewodowej IEEE 802.15.4.
  • TCP - To jest niezawodny protokół transportowy, który gwarantuje dostarczenie danych za pomocą systemu wiadomości synchronizacyjnych i potwierdzających.
  • UDP - To jest lekki, nieniezawodny protokół transportowy, który nie ma mechanizmu gwarantującego dostarczenie danych.
  • RPL - To jest protokół routingu dla sieci o niskim zużyciu energii i dużej utracie, który korzysta z IPv6. Sieci o dużej utracie są klasyfikowane jako te, które zwykle mają wysokie wskaźniki utraty, niskie prędkości transmisji danych i niestabilność.
  • IPv6 - To jest 128-bitowa przestrzeń adresowa, która dostarcza 340 undecylionów unikalnych adresów, co jest więcej niż wystarczająco dla dowolnej możliwej liczby urządzeń IoT.
  • 6LoWPAN - To jest standard Internet Engineering Task Force (IETF) dla urządzeń bezprzewodowych IPv6 o niskim zużyciu energii w sieci personalnej, który dostarcza sposób na dostosowanie IPv6 do standardu IEEE 802.15.4. Dlatego 6LoWPAN jest pokazany jako przechodzący między warstwami sieci komunikacyjnej i urządzeń na rysunku.
Dotyczące urządzeń:
  • IEEE 802.15.4 - To jest standard Institute of Electrical and Electronic Engineers dla sieci personalnych o niskiej przepustowości (LR-WPANs), który ma być używany przez urządzenia o niskim koszcie i niskiej prędkości.
  • Bluetooth Low Energy (BLE) - To jest protokół sieci personalnej (WPAN) korzystający z częstotliwości radiowej 2,4 GHz. Wersja LE zapewnia znacznie zmniejszone zużycie energii bez poświęcania zasięgu.
  • Wi-Fi - To jest zbiór standardów IEEE 802.11 dla sieci lokalnych WLAN, które działają na częstotliwościach 2,4 GHz i 5 GHz.
  • NFC - To jest zbiór protokołów dla komunikacji urządzenie-do-urządzenia, gdy urządzenia są bardzo blisko siebie (w odległości 4 cm lub 1,6 cala).
  • Cellular - Obejmuje wszystkie technologie komórkowe 3G, 4G, 5G.
  • LoRaWAN, Sigfox, NB-IoT - Protokoły sieci o dużym zasięgu (LPWAN) zaprojektowane do przesyłania małych ładunków danych na duże odległości przy niskich prędkościach transmisji.
8. Triada CIA kieruje podstawowymi wymaganiami każdej operacji związanej z cyberbezpieczeństwem. Litery w triadzie CIA oznaczają poufność, integralność i dostępność danych i informacji.
  • Poufność - To wymaganie utrzymuje kontrolę nad dostępem do informacji i ich ujawnianiem. Przesyłane i przechowywane dane są szyfrowane dla prywatności.
  • Integralność - To wymaganie zapobiega nieodpowiedniemu dodawaniu, modyfikacji lub niszczeniu danych i informacji. Przed transmisją powinien być tworzony skrót danych, który powinien być odporny na manipulacje. Kontrole dostępu powinny być również w miejscu, aby chronić przechowywane dane.
  • Dostępność - To wymaganie zapewnia dostęp do informacji, gdy jest to wymagane. Oznacza to, że urządzenia IoT mogą komunikować się w sieci, aby mogły przesyłać dane do aplikacji IoT i mogły być przez nie kontrolowane. Oznacza to również, że urządzenia nie mogą być uszkodzone ani manipulowane.


9. Wymagania dotyczące bezpieczeństwa skoncentrowane na urządzeniach IoT:
  • Zapewnienie prywatności danych: Ogólne wymaganie dotyczące poufności, które obejmuje ochronę wszystkich danych biznesowych i osobistych, zarówno podczas transmisji, jak i przechowywania.
  • Minimalizacja powierzchni ataku: Zabezpieczenie wszystkich potencjalnych punktów wejścia do sieci i zamknięcie wszystkich niepotrzebnych punktów wejścia.
  • Rejestrowanie kluczowych zdarzeń: Proces zapisywania zdarzeń w systemie, który obejmuje pomiar normalnej działalności sieci i alarmy dotyczące nietypowej aktywności sieciowej.
  • Minimalne wsparcie operacji związanych z bezpieczeństwem: Szkolenie i zarządzanie personelem zajmującym się bezpieczeństwem, który musi być w stanie monitorować systemy pod kątem incydentów związanych z bezpieczeństwem, reagować na nowo odkryte podatności i prowadzić dochodzenia w sprawie naruszeń bezpieczeństwa.
  • Bezpieczne uruchamianie i integralność systemu: Zapewnienie, że systemy operacyjne i oprogramowanie na urządzeniach IoT nie są manipulowane przez hakerów lub złośliwe oprogramowanie.
  • Stabilny i bezpieczny system: Zapobieganie uruchamianiu niepotrzebnych usług sieciowych na systemach operacyjnych urządzeń IoT, które mogą stanowić drogę dla potencjalnych zagrożeń.
  • Bezpieczne aktualizacje firmware i systemu operacyjnego: Możliwość aktualizacji firmware urządzenia i systemów operacyjnych, gdy zostaną odkryte podatności, za pomocą bezpiecznego mechanizmu aktualizacji przez sieć.
  • Bezpieczna komunikacja: Zapobieganie przechwytywaniu i fałszowaniu danych w systemach IoT poprzez weryfikację autentyczności źródeł danych.
  • Brak domyślnych lub słabych danych uwierzytelniających: Stosowanie silnego procesu uwierzytelniania we wszystkich urządzeniach IoT i zmiana domyślnych danych uwierzytelniających przed uruchomieniem urządzenia.
  • Bezpieczne interfejsy internetowe: Zabezpieczanie interfejsów internetowych i danych uwierzytelniających używanych między urządzeniami IoT a aplikacjami internetowymi przed atakami.