Zapewnienie poufności systemów IoT, a bezpieczeństwo Internetu Rzeczy - zagrożenia i zabezpieczenia

Opublikowane: 2022-11-15
Autor: Krzysztof Labuda

Abstract

Kiedy przygotowywałem się do certyfikacji  CEH, to w jego wersji v11 pojawił się moduł dedykowany IoT. W artykule postaram się przybliżyć wybrane rozwiązania i w kilku zdaniach wyrazić opinię o tym, jak możemy zapewnić poufność w systemach. Na łamach tego tekstu omówię zabezpieczenia systemów na warstwie sieciowej oraz zagrożenia wynikające z używania fal radiowych jako medium transmisyjnego. Dowiecie się również, z jakimi technikami ataku na systemy o swobodnym dostępie możecie spotkać się na co dzień. Może zaciekawi Was również mój poprzedni artykuł: Bezpieczeństwo internetu rzeczy – protokoły szyfrujące w systemach IoT.

 

Tworzymy skalowalne rozwiązania Internet of Things dla smart homes, produkcji i medycyny. Zbuduj i przetestuj z nami oprogramowanie do Twojego produktu IoT.

 

IoT albo IoE – co to takiego?

IoT czyli Internet of Things (albo w niektórych publikacjach Internet of Everything) to dziedzina w technologiach informacyjnych, której początki datuje się na wczesne lata 80. Mimo że w języku polskim mamy powiedzenie, że gdy coś jest do wszystkiego, to jest do niczego, to takie określenie IoT byłoby nader krzywdzące.

Najkrócej rzecz ujmując, urządzenia IoT, które oprócz przydatnych funkcji, czyli świadczenia zwyczajnych czynności ludziom (od zastosowań w przemyśle i automatyce, poprzez urządzenia do leczenia i ratowania życia, do czujników alarmowych, kamer przemysłowych oraz Smart TV) posiadają też moduł sieciowy. Nieważne, czy NIC (interfejs sieciowy) jest przewodowy czy bezprzewodowy, gdyż w każdym przypadku umożliwia on komunikację w ramach szeroko rozumianych sieci, w tym Internetu. Tak zrealizowane systemy komunikują się miedzy sobą, mogą też być odgórnie sterowane, a od Internetu oddziela je brama (IoT Gateway). Urządzenia IoT korzystają z dobrodziejstwa łączności i mogą być sterowane za pomocą aplikacji, a w elementach takich systemów często pojawiają się serwery chmurowe, w których dokonywana jest analiza danych. Wachlarz zastosowań systemów IoT jest bardzo szeroki, a co za tym idzie, mogą pojawić się dość istotne problemy natury bezpieczeństwa internetu rzeczy.

Zabezpieczenia na warstwach sieciowych

Z pomocą przychodzą mechanizmy i technologie zabezpieczania warstwy sieciowej , które mogą przewidywać segmentację sieci, czyli dzielenie sieci na osobne VLAN-y (segmentacja na warstwie L2). Dużą wartością dodaną dla bezpieczeństwa takich systemów będzie polityka NAC, oparta choćby o serwer radius i ogólnie standard  802.1X.

Aby usystematyzować te informacje, posłużę się ogólnym schematem architektury takich systemów:

Infografika dotycząca warstw aplikacji

W systemach IoT często możemy spotkać się z wymaganiem niskiego poboru energii, żeby zasilanie bateryjne wytrzymywało jak najdłużej (na przykład w systemach takich jak ZigBee). Jest tutaj niestety potrzebny kompromis, bo algorytmy szyfrowania bywają łakome na zasoby obliczeniowe – zwłaszcza te asymetryczne (potęgowanie, czyli wielokrotne mnożenie, mnożenie punktów na krzywych eliptycznych, czyli wielokrotne ich dodawanie) są obliczeniowo kosztowne i wykazują korelację ze zużyciem energii.

Jestem zadeklarowanym pasjonatem szachów, więc pozwolę sobie na przytoczenie pewnego żartu jednego z silniejszych polskich arcymistrzów szachowych, Bartosza Soćki. Rozważania o sile komputerów wobec ludzkich możliwości w tej dyscyplinie i płynącym z tego faktu zagrożeniom w postaci dopingu elektronicznego, skwitował stwierdzeniem, że współcześni arcymistrzowie sporo muszą się napocić, aby nie przegrać z młynkiem do kawy. Gdy usłyszałem ten żart, natychmiast przyszły mi skojarzenia na temat wszechobecności urządzeń IoT i tego, jak w niektórych dziedzinach dość skąpa moc obliczeniowa może stawić czoła ludzkiemu intelektowi! Ale do sedna.

Internet rzeczy – zagrożenia dla systemów IoT

Używanie łączności bezprzewodowej niesie za sobą poważne zagrożenie, że nie da się ukryć systemu, który jest obecny w widmie częstotliwościowym. Wynika z tego wprost, że systemy te są podatne na podsłuchiwanie, a co za tym idzie – podsłuchana komunikacja może zostać poddana działaniom inżynierii wstecznej (np. kryptoanalizie). Systemy radiowe w warstwie funkcjonalnej opierają się o techniki modulacji i teorii informacji – osoba, która je analizuje, musi wykazać się biegłością również w tej materii.

  • Trzeba w takich systemach unikać używania powtarzających się komend w komunikacji, gdyż te, przy cierpliwej obserwacji atakującego i sprawnym użyciu idei ataku powtarzającego (Replay attack), mogą odkryć sekrety danego rozwiązania w bezpieczeństwie IoT.
  • Kolejnym zagrożeniem dla tych systemów jest próba ich celowego zakłócania (jamming). Przed złośliwym jammingiem trudno się zabezpieczyć, zwłaszcza gdy gęstość widmowa mocy sygnałów zakłócających przewyższa te używane do standardowej komunikacji. W inżynierii radiowej wyodrębniono osobną dziedzinę (EMC Kompatybilność elektromagnetyczna), która stawia sobie za cel opracowywanie mechanizmów zapewniających bezproblemowe współistnienie systemów radiowych. Istnieje co najmniej kilka wysokospecjalistycznych narzędzi opartych o technologię radia programowalnego (SDR), które mogą zostać z powodzeniem użyte do testowania systemów IoE. Godnymi wymienienia jako dedykowane urządzenia do badania fal radiowych są URH (Universal Radio Hacker), GNU Radio, Gqrx i HackRF czy PandwaRF Marauder.

Gdy mamy swobodny dostęp do takiego urządzenia IoT, pojawiają się możliwości podłączenia się pod interfejs SPI Flash czy eMMC (potrzebne zdolności lutowania ) i przeczytania całego oprogramowania układowego, gdzie znaleźć można wiele informacji (np. kod źródłowy i binarki usług oferowanych przez urządzenie (whardcodowane) hasła wpisane na sztywno czy klucze sesyjne SSH). Do samej analizy oprogramowania układowego wielce pomocne mogą być narzędzia dostępne tutaj. Przy użyciu specjalistycznej aparatury (analizatora widma, oscyloskopu) możliwe jest poszukiwanie tzw. bocznych kanałów.

Zasadniczo techniki te polegają na obserwacjach urządzenia podczas jego normalnej pracy. Zwraca się uwagę na parametry takie jak zużycie energii, emitowanie ciepła, czy promieniowanie elektromagnetyczne. Bardzo dobre rezultaty można jednak uzyskać stosując podejście, w którym celowo zaburzamy normalne działanie badanego urządzenia IoT.

Przykładowo, gdy zaczniemy zakłócać sygnał zegarowy urządzenia (te podejścia są nazywane ogólnie Fault Injection Attacks) dokonują się np. próby odblokowania JTAG (glitching). Gdy interfejs JTAG zostanie odblokowany, otwiera furtkę i mamy możliwość manipulowania działaniem oprogramowania wbudowanego. Dzięki temu, na podstawie obserwacji przebiegów urządzenia, możemy odkryć większość mechanizmów kontrolnych opartych o oprogramowanie zapewniających bezpieczeństwo badanego urządzenia. Aby utrudnić takie czynności, stosuje się różnego rodzaju powłoki ekranujące (zawarte w samej konstrukcji urządzenia podczas jego montażu), które osłabiając emitowane pole elektromagnetyczne, osłabiają ten boczny kanał.

Bezpieczeństwo internetu rzeczy – zabezpieczanie systemów IoT

Same zabezpieczenia fizyczne (zalewanie żywicą epoksydową, czy ukrywanie linii adresowych pomiędzy komponentami elektronicznymi) mogą pomóc w uniemożliwieniu fizycznego dostania się do obwodów drukowanych.

Żeby dobrze zabezpieczyć system IoT przed wspomnianymi rodzajami ataków, można użyć metod inżynierii wstecznej dla sprawdzenia odporności na tego typu ataki:

W tym przypadku podczas realizowania szyfru tworzy się wykres zależności od zużycia mocy w funkcji czasu i na jego podstawie dochodzi się do sedna. W podejściu SPA (Simple Power Analysis) systemy oparte o RSA, opierające się na warstwie funkcjonalnej o technikę faktoryzacji, wykazują podatność na tego typu analizy. Należy się temu przeciwstawić, wykorzystując techniki typu aktywnego maskowania danych wejściowych np. poprzez ich losowe opóźnianie oraz dodawanie przetwarzania nadmiarowych elementów – tak aby zbić z tropu potencjalnego atakującego.

Z kolei w podejściu DPA (Differential Power Analysis), używając analizy statystycznej na zbiorze pomiarów badanego systemu kryptograficznego (podczas jego działania), podejmuje się próby ekstrakcji klucza. Co do technik zabezpieczających, to na rynku są dostępne specjalne biblioteki, które mogą zlikwidować to ryzyko, ale istnieją również rozwiązania sprzętowe, uniemożliwiające tego rodzaju ataki.

Tutaj znajdziesz przykład badań nad wiodącym na rynku i uznanym za bezpieczny –  algorytmem symetrycznym AES.

OWASP TOP 10 i STRIDE – wsparcie w opracowywaniu planu testów penetracyjnych

 

Podsumowanie

Na koniec warto wspomnieć o dwóch modelach, które pomagają wprowadzać polityki bezpieczeństwa informacji w organizacjach: trójkącie CIA i Sześciokącie Parkera.

Pod akronimem CIA kryją się 3 elementy: 

  • Confidentialy (poufność),
  • Integrity (spójność),
  • Availabilty (dostępność).

Ten model został rozszerzony w 2002 roku przez Donna B. Parkera i dodano do niego następujące elementy: 

  • Possesion (posiadanie),
  • Authenticity (prawdziwość / niezaprzeczalność),
  • Utility (użyteczność).

Swobodny dostęp jest blisko związany ze stanem posiadania. Łatwo sobie więc wyobrazić sytuację, że jakieś urządzenie posiada wyrafinowane i niebanalne zabezpieczenia, które kruszy tak prozaiczna czynność jak ręczne resetowanie urządzenia do ustawień fabrycznych.

IoT to dziedzina, która cały czas przeżywa bardzo dynamiczny wzrost udziału w rynku, a samych źródeł traktujących o standardach wytwarzania, czy poradników z dobrymi praktykami ich zabezpieczania, jest naprawdę pokaźna ilość. Zagrożenia, czyhające na bezpieczeństwo urządzeń IoT, oraz ich zabezpieczanie to temat rzeka – przedstawione przeze mnie punkty nie wyczerpują tematu, ale stanowią dobry punkt do otwarcia dyskusji, do czego gorąco zachęcam.

Jeśli posiadasz system IoT lub dopiero planujesz jego stworzenie i chcesz uodpornić je na ataki hackerów, napisz do nas. Posiadamy bogate doświadczenie we wdrażaniu procesów bezpieczeństwa zarówno do systemów IoT, jak i wysoko wyspecjalizowanych systemów embedded. Umów się na bezpłatną konsultację i omów z nami swój pomysł!

 

*Materiały na podstawie, których powstało opracowanie: IoT Security Foundation / Techtarget
Autor: Krzysztof Labuda,
Konsultant ds. testów bezpieczeństwa

Uczestnik programu Certified Ethical Hacker CEH v11, który uczy najnowszych narzędzi, technik i metodologii hackerskich klasy komercyjnej, używanych przez hakerów i specjalistów ds. bezpieczeństwa informacji.

SKONTAKTUJ SIĘ
Wypełnij
formularz.
Skontaktujemy się z Tobą,
żeby umówić rozmowę
w dogodnym dla Ciebie terminie.