Internet Of Things: IoT Security - Rozdział 6

 1. Big bounty hunter to tzw. "łowca nagród za błędy". Zostaje on zatrudniony celem poszukiwania błędów w oprogramowaniu. HackerOne to jedna z pierwszych firm oferujących usługi oceny podatności oparte na modelu crowdsourcingu. HackerOne zatrudnia etycznych hakerów do wykorzystania swoich talentów na prośbę klientów biznesowych HackerOne.

2. Ocena podatności identyfikuje luki, które prawdopodobnie zostaną wykorzystane przez aktorów zagrożeń. Mogą być one przeprowadzane rutynowo i regularnie, często w sposób zautomatyzowany, lub mogą być skierowane na konkretne komponenty systemu IoT. Składa się ona z następujących etapów:

3. Ocena podatności może być podzielona na trzy typy, w zależności od tego, kto ją przeprowadza i jak dobrze oceniający znają sieć:

  • Biała skrzynka - Oceniąjący posiadają wiedzę o systemach sieciowych, które są oceniane. Często koncentrują się na określonych aspektach systemu, aby przeprowadzić swoje oceny. Ci testerzy zazwyczaj działają wewnątrz organizacji.
  • Czarna skrzynka - Ta ocena jest najbardziej zbliżona do rzeczywistego ataku. Oceniąjący, którzy zwykle pracują dla firmy zewnętrznej, nie mają wiedzy o architekturze sieci przed przeprowadzeniem oceny.
  • Szara skrzynka - Testerzy białej skrzynki identyfikują podatności, a następnie zatrudnia się testerów czarnej skrzynki, aby skierować ich na odkryte podatności. Tester szarej skrzynki ma częściową wiedzę o testowanych systemach sieciowych, w tym dostęp do dokumentacji architektury wewnętrznej sieci. Celem jest zweryfikowanie podatności, określenie łatwości ich wykorzystania i określenie potencjalnych skutków eksploatacji.
4. Testy penetracyjne to zaawansowany poziom oceny podatności. Polegają na skoncentrowanych atakach, które ujawniają potencjalne skutki związane z znanymi podatnościami. Wykwalifikowani etyczni hakerzy przyjmują rolę aktorów zagrożeń i przeprowadzają rzeczywiste ataki, które mają naśladować działania złośliwych hakerów. Testy penetracyjne są narzędziem oceny stosowanym w testach czarnej skrzynki, ponieważ hakerzy działają bez wiedzy o wewnętrznym działaniu badanego systemu. Testy penetracyjne mogą ujawnić potencjalne szkody wynikające z wykorzystania znanej podatności.

Testy penetracyjne mogą być również używane do potwierdzenia, że podatności zidentyfikowane podczas innych ocen podatności faktycznie istnieją i mogą spowodować znaczne szkody, jeśli zostaną wykorzystane. Gdy są używane w ten sposób, są uważane za testy szarej skrzynki. Wreszcie, testy penetracyjne mogą być używane do potwierdzenia, że podjęte środki mające na celu eliminację podatności były skuteczne i podatność już nie istnieje.

5. Narzędzia do mapowania portów, takie jak Nmap, Netcat czy SolarWinds Port Scanner, są nieocenione przy odkrywaniu otwartych portów na systemach końcowych i urządzeniach sieciowych. Otwarte porty nasłuchujące mogą zapewnić hakerom dostęp do systemu.

6. Istnieje kilka powszechnych typów metod ataku na hasła, które mogą być używane do oceny bezpieczeństwa haseł:
  • Atak siłowy - Ten atak jest bardzo czasochłonny, nieefektywny, zautomatyzowany sposób próbowania każdej możliwej kombinacji liter, cyfr i symboli do wyzwań logowania.
  • Atak słownikowy - Ten atak używa list słów, które mogą być używane jako hasła. Niektóre listy zawierają prawdziwe przykłady haseł, które zostały skradzione z kont użytkowników.
  • Podsłuchiwanie i łamanie haseł - Wiele haseł jest przechowywanych lub przesyłanych jako hashe. Analizatory protokołów mogą być używane do przechwytywania ruchu uwierzytelniającego, który zawiera hashowane hasła. Hashowane hasła mogą być również odkryte w systemach plików urządzeń IoT. 
  • Tablice tęczowe - Tablice tęczowe zawierają hashowane wartości i ich odpowiedniki w postaci zwykłego tekstu. Te wcześniej złamane hasła znacznie przyspieszają proces dostępu do systemu. Bardzo duże tablice tęczowe można uzyskać online. Przechwycone hashe są wyszukiwane w tablicy tęczowej i, jeśli zostaną znalezione, równoważnik w postaci zwykłego tekstu może być znany bez faktycznego odszyfrowania hashowanego hasła. Jest to znacznie szybsze niż faktyczne łamanie hasha.
7. OpenVAS to zestaw narzędzi do skanowania podatności, który obejmuje przechowywanie danych o podatnościach, planowanie skanowania i raportowanie. Burp Suite to zbiór narzędzi do testowania podatności aplikacji internetowych, które mogą identyfikować obecność 10 najważniejszych podatności OWASP. 

8. Proaktywne podejście do bezpieczeństwa jest kluczowe, ponieważ nowe podatności i zagrożenia pojawiają się codziennie. Istnieją źródła informacji o zagrożeniach, takie jak Cisco Talos Intelligence Group, które odkrywają i badają nowe zagrożenia. Narodowa Baza Danych Podatności (NVD) NIST uzupełnia Wspólne Podatności i Ekspozycje (CVE) o dodatkową analizę. Producenci sprzętu i oprogramowania powinni informować o podatnościach w swoich produktach i dostarczać aktualizacje. Zaleca się również subskrypcję list e-mailowych związanych z bezpieczeństwem i czytanie blogów, aby być na bieżąco z zagrożeniami związanymi z cyberbezpieczeństwem.

9. Bezpieczeństwo IT i OT różnią się pod względem podejścia i komunikacji. IoT wprowadza nowe ryzyka, takie jak ataki na dużą skalę, które są możliwe dzięki ogromnej powierzchni ataku IoT. Podatności to słabości, które mogą być wykorzystane przez aktorów zagrożeń, natomiast ryzyka to podatności oceniane w kontekście konkretnej organizacji. Poziom ryzyka zależy od wartości aktywa, podatności tego aktywa i prawdopodobieństwa, że zagrożenia zostaną skutecznie przeprowadzone przeciwko temu aktywu.

10. Ryzyko jest określane jako związek między zagrożeniami, podatnościami i aktywami organizacji. Na początku obejmuje to odpowiedź na następujące pytania jako część oceny ryzyka:

Kto są aktorzy zagrożeń, którzy chcą nas zaatakować? Jakie podatności mogą wykorzystać aktorzy zagrożeń? Jak organizacja zostanie dotknięta przez udane ataki? Jakie jest prawdopodobieństwo, że różne ataki wystąpią? Co organizacja może zrobić, aby zminimalizować ryzyko? 

11. CVSS (Common Vulnerability Scoring System) to system oceny ryzyka zaprojektowany do przekazywania wspólnych atrybutów i nasilenia podatności w systemach sprzętowych i programowych komputerów. Jest to neutralny pod względem dostawcy, standard przemysłowy, otwarty framework do ważenia ryzyka podatności za pomocą różnych metryk. Te wagi łączą się, aby dostarczyć wynik ryzyka inherentnego w podatności. Liczbowy wynik może być używany do określenia pilności podatności i priorytetu jej rozwiązania. CVSS składa się z trzech grup metryk: 
  • podstawowej (Możliwość wykorzystania - Są to cechy exploitu, takie jak wektor, złożoność i interakcja użytkownika wymagana przez exploit. Metryki wpływu - Wpływy exploitu są zakorzenione w triadzie CIA poufności, integralności i dostępności. Zauważ, że bezpieczeństwo jest brakujące w metrykach.)
  • czasowej (Mierzy cechy podatności, które mogą zmieniać się w czasie, ale nie w różnych środowiskach użytkowników. Z biegiem czasu nasilenie podatności zmieni się, gdy zostanie wykryta i opracowane będą środki przeciwdziałające. Nasilenie nowej podatności może być wysokie, ale będzie maleć, gdy pojawią się łatki, sygnatury i inne środki zaradcze.)
  • środowiskowej (Mierzy aspekty podatności, które są zakorzenione w konkretnym środowisku organizacji. Te metryki pomagają kierować konsekwencjami w organizacji i również pozwalają na dostosowanie metryk, które są mniej istotne dla tego, co robi organizacja.)
12. Podstawowe metryki wykorzystania i wpływu są kluczowe w ocenie podatności. Metryki wykorzystania obejmują wektor ataku, złożoność ataku, wymagane uprawnienia, interakcję użytkownika i zakres. Metryki wpływu mierzą konsekwencje straty spowodowanej przez skomponentowany składnik, a obejmują wpływ na poufność, integralność i dostępność. Wszystkie te metryki razem pomagają w ocenie i zarządzaniu ryzykiem związanym z podatnościami.

13. Modelowanie zagrożeń to proaktywne podejście do oceny bezpieczeństwa systemów i oprogramowania. Dostarcza ono system, który obejmuje ocenę podatności i ryzyka w spójną całość. Istnieją trzy podejścia do modelowania zagrożeń:
  • Nastawione na atak - Jest przeprowadzane z punktu widzenia atakującego.
  • Nastawione na obronę - Analizuje system architektury, aby zidentyfikować zagrożenia dla różnych elementów. 
  • Nastawione na aktywa - Skupia się na klasyfikacji aktywów i przypisywaniu im wartości. 
14. Diagramy przepływu danych (DFD) są niezwykle przydatne do wizualizacji systemu IoT. DFD przedstawiają ścieżki, jakimi dane będą przechodzić między różnymi komponentami funkcjonalnymi systemu, w tym punkty wejścia do systemu oraz urządzenia i osoby korzystające z tych punktów wejścia. DFD również oznaczają rodzaj przepływów danych i używane protokoły.

15. Modelowanie zagrożeń na potrzeby oceny ryzyka:
ETAP 1: Identyfikacja celów bezpieczeństwa
ETAP 2: Dokumentacja architektury systemu IoT
ETAP 3: Rozłożenie systemu IoT
ETAP 4: Identyfikacja i ocena zagrożenia
ETAP 5: Łagodzenie

16. Komponenty, które mogą być uwzględnione w DFD systemu IoT, to:
  • Urządzenia IoT - Są to czujniki i siłowniki. 
  • Bramki IoT - Umożliwiają one przesyłanie danych z czujników przez sieć IP. Mogą również umożliwiać ruch kontrolny do siłowników. 
  • Lokalne aplikacje - Kontrolują i monitorują oprogramowanie, które znajduje się w tej samej sieci co czujniki i siłowniki. 
  • Urządzenia krawędziowe - Umożliwiają przesyłanie wewnętrznego ruchu IP między lokalizacjami a internetem lub chmurą. 
  • Aplikacje danych - Zapewniają dostęp do danych IoT, analiz i paneli sterowania. 
  • Przechowywanie danych - Są to magazyny danych i typy baz danych. 
  • Aplikacje kontrolne - Przetwarzają dane w celu podejmowania decyzji, które wprowadzają kontrolę.
  • Aplikacje mobilne - Umożliwiają monitorowanie użytkowników i kontrolę z odległych lokalizacji.

17. Podmioty DFD powinny spełniać kilka podstawowych zasad:

  • Każdy proces powinien mieć co najmniej jeden wejście i jeden wyjście. 
  • Magazyny danych powinny mieć przepływy zarówno dla dostępu do zapisu, jak i odczytu. 
  • Dane przechowywane w systemie muszą przejść przez co najmniej jeden proces. 
Procesy mogą być połączone tylko z innymi procesami lub magazynami danych.

18. Modelowanie zagrożeń w systemach IoT obejmuje identyfikację celów bezpieczeństwa, diagramowanie funkcji architektury systemu i grupowanie symboli w funkcjonalne strefy systemu. Strefy te mogą być zdefiniowane jako obszary systemu, które wymagają różnej autoryzacji i uwierzytelnienia, a także pomagają ograniczyć narażenie różnych części systemu na podatności związane z każdą strefą. Diagramy przepływu danych są użyteczne do wizualizacji systemu IoT, pokazując ścieżki, jakimi dane będą przechodzić między różnymi komponentami funkcjonalnymi systemu. Te komponenty mogą obejmować urządzenia IoT, bramki IoT, lokalne aplikacje, urządzenia krawędziowe, aplikacje danych, przechowywanie danych, aplikacje kontrolne i aplikacje mobilne.

19. Po zamodelowaniu systemu IoT można przystąpić do procesu identyfikacji zagrożeń. W tym procesie używa się modelu STRIDE do identyfikacji zagrożeń. Podejście STRIDE dostarcza zestawu kategorii, które są bardzo pomocne przy identyfikacji potencjalnych zagrożeń w systemach IoT. Jest ono używane w fazie identyfikacji podatności procesu modelowania zagrożeń. STRIDE to akronim od Spoofing, Tampering, Repudiation, Information disclosure, Denial of service i Elevation of privilege.


20. Każde zagrożenie zidentyfikowane przez STRIDE musi teraz zostać ocenione pod kątem stopnia ryzyka dla organizacji. Podobnie jak CVSS, model DREAD daje wynik ryzyka w formie liczby. Ten wynik może być używany razem z ocenami kosztów ryzyka do oceny pożądania i wykonalności zminimalizowania zagrożenia. Model DREAD powinien być zastosowany do każdego zagrożenia, które zostało odkryte podczas procesu identyfikacji zagrożeń.

Model DREAD: Damage potential, Reproducibility, Exploitability, Affected users, Discoverability

Każda podatność, która została zidentyfikowana przez STRIDE, jest teraz oceniana według pięciu kategorii DREAD. Wartości ocen są następujące:

3 = wysoka 2 = średnia 1 = niska

21. Ostatnim krokiem w modelowaniu zagrożeń jest łagodzenie ryzyka poprzez bezpieczne rozwijanie i wdrażanie systemów IoT. Należy przestrzegać kilku wytycznych dotyczących bezpiecznego projektowania, takich jak uwzględnienie obszaru ataku, wybór urządzeń z bezpiecznymi domyślnymi konfiguracjami, ocena polityk bezpieczeństwa partnerów i zawsze branie pod uwagę bezpieczeństwa przy podejmowaniu decyzji projektowych.

22. Ogólne strategie łagodzenia są proste i obejmują utrzymanie aktualności firmware'u i oprogramowania aplikacji, separację ruchu IT i IoT, zapewnienie bezpieczeństwa fizycznego, użycie bezpiecznych protokołów komunikacyjnych i szyfrowanie ruchu, współpracę z personelem sieciowym odpowiedzialnym za bezpieczeństwo oraz ocenę postawy bezpieczeństwa każdego partnera lub dostawcy z dostępem do sieci IoT.

23. Proces zarządzania ryzykiem jest cykliczny i trwały. Organizacje powinny stale pracować nad cyklem. Zauważ, że identyfikacja ryzyka i oceny ryzyka są równoległe do podejścia modelowania zagrożeń. RMF zamyka krąg, uwzględniając działania związane z reakcją na ryzyko, oceną reakcji i oceną reakcji.

Obowiązkową czynnością w ocenie ryzyka jest identyfikacja i dopasowanie zagrożeń do podatności, co często nazywa się parowaniem zagrożenia-podatność (T-V). Pary T-V mogą być następnie używane jako punkt odniesienia do wskazania ryzyka przed wdrożeniem kontroli bezpieczeństwa. Ten punkt odniesienia można następnie porównać z bieżącymi ocenami ryzyka jako sposób oceny skuteczności zarządzania ryzykiem. Ta część oceny ryzyka jest określana jako określanie profilu ryzyka inherentnego organizacji.

Po zidentyfikowaniu ryzyka, mogą one być oceniane lub ważone jako sposób priorytetyzacji strategii redukcji ryzyka. Na przykład, podatności, które odpowiadają wielu zagrożeniom, mogą otrzymać wyższe oceny. Ponadto, pary T-V, które są mapowane na największy wpływ instytucjonalny, również otrzymają wyższe wagi.

24. Możliwe sposoby reagowania za zidentyfikowane ryzyka to tzw. "4 razy T":
  • Unikanie ryzyka (Terminate) - zaprzestanie wykonywania działań, które generują ryzyko. Możliwe jest, że w wyniku oceny ryzyka stwierdzono, że ryzyko związane z działaniem przewyższa korzyść z działania dla organizacji. Jeśli okaże się to prawdą, może zostać ustalone, że działanie powinno zostać zakończone. 
  • Zmniejszanie ryzyka (Treat) - zmniejszenie ryzyka poprzez podjęcie środków mających na celu zmniejszenie podatności. Wiąże się to z wdrażaniem podejść zarządzania omówionych wcześniej w tym rozdziale. 
  • Dzielenie ryzyka (Transfer) - przeniesienie części ryzyka na inne strony. Na przykład techniką dzielenia ryzyka może być zlecenie niektórych aspektów operacji związanych z bezpieczeństwem stronie trzeciej. 
  • Zachowanie ryzyka (Tolerate) - akceptacja ryzyka i jego konsekwencji. Ta strategia jest akceptowalna dla ryzyk o niskim potencjalnym wpływie i stosunkowo wysokim koszcie łagodzenia lub redukcji. Inne ryzyka, które mogą być zatrzymane, to te, które są tak dramatyczne, że nie można ich realistycznie uniknąć, zredukować lub podzielić.
25. Chociaż blockchain jest głównie znany jako technologia stojąca za Bitcoinem, przyciąga dużo uwagi osób zainteresowanych znalezieniem lepszych sposobów zabezpieczania dowolnego rodzaju transakcji, w tym informacji wymienianych przez urządzenia IoT. Blockchain ma potencjał wpłynąć na wszystkie dziedziny pokazane na rysunku.

Blockchain to technologia, która rozwiązuje problem zaufania. Blockchain to rozproszony rejestr, którego ciągle rosnąca lista rekordów, zwanych blokami, jest ze sobą połączona i zabezpieczona za pomocą kryptografii. Blockchain jest niezmienialny, co oznacza, że nie można go zmienić.

26. Aby jak najlepiej zrozumieć, jak technologia blockchain współpracuje z kryptowalutami takimi jak Bitcoin, powinniśmy najpierw przyjrzeć się, jak działa zaufanie w naszym obecnym systemie monetarnym.

Gdy dokonujemy zakupu towarów lub usług, obie strony zgadzają się na metodę płatności. Zazwyczaj jest to jakaś forma tradycyjnej waluty, takiej jak gotówka, karta debetowa, karta kredytowa lub czek (weksel). Wszystkie te przypadki polegają na tym, że polegamy na stronie trzeciej, pośredniku, który gwarantuje transakcję finansową między kupującym a sprzedającym. Ten pośrednik może być rządem gwarantującym wartość waluty, lub bankiem gwarantującym, że sprzedawca otrzyma środki dostarczone przez kupującego. Jest powszechne, że instytucja finansowa, pośrednik, pobiera opłatę za tę usługę.

Transakcje finansowe takie jak te są zazwyczaj rejestrowane w jednym, scentralizowanym rejestrze kontrolowanym przez zaufanego pośrednika. Pośrednicy, tacy jak banki, prowadzą scentralizowany rejestr, który zawiera wszystkie swoje transakcje, w tym wpłaty, wypłaty i wszelkie opłaty związane z świadczeniem tej usługi. Ufamy, że rejestr jest dokładnie prowadzony i że nie ma w nim nieodpowiednich dodatków, usunięć ani zmian. To pozwala ludziom, którzy niekoniecznie się znają lub sobie ufają, prowadzić interesy, korzystając z zaufanego pośrednika do przetwarzania transakcji finansowej.

Zaufanie, które zapewniają ci pośrednicy, obejmuje:

  • Uwierzytelnianie, że osoba dokonująca transakcji jest tym, za kogo się podaje.
  • Zapewnienie, że wszystkie transakcje dokonane do rejestru, takie jak konto bankowe osoby, są dokładne.
  • Nie zezwalanie na żadne nielegalne transakcje, takie jak próba wypłaty większej niż saldo.
27. Blockchain buduje zaufanie w bardzo inny sposób. W przeciwieństwie do innych form walut, kryptowaluty takie jak Bitcoin nie korzystają z pośrednika do zapewnienia zaufania do transakcji. Gdy bitcoiny są używane do zakupu towarów lub usług, nie ma zaangażowanej strony trzeciej. Zamiast tego, Bitcoin korzysta z samego blockchaina, aby zapewnić to zaufanie między kupującym a sprzedającym.

Blockchain nie jest tylko dla kryptowalut. Może być stosowany do dowolnego rodzaju aplikacji, która korzysta z jakiegoś rodzaju transakcji lub rejestru.

Blockchain to ciągle rosnąca lista transakcji w formie bloków. Te bloki są ze sobą połączone i zabezpieczone za pomocą kryptografii. Blockchain korzysta z następujących technologii i funkcji:

  • Podpisy cyfrowe
  • Rozproszony rejestr
  • Algorytm do osiągania konsensusu
  • Każdy blok zawiera hash poprzedniego bloku, tworząc łańcuch bloków znany jako blockchain.

Wiele szczegółów zostało pominiętych w następujących wyjaśnieniach. Ważne jest również zauważenie, że istnieją różne rodzaje blockchainów. Celem tutaj jest pomoc w zobrazowaniu przykładu blockchaina i komponentów, które obejmuje.

28. Podpis cyfrowy to matematyczny schemat służący do uwierzytelniania informacji cyfrowych. Podpisu cyfrowego nie można skopiować, ponieważ jest zawsze inny. Wynika to z faktu, że do wygenerowania podpisu wykorzystuje się wiadomość lub transakcję. Nawet niewielka zmiana wiadomości powoduje całkowitą zmianę podpisu cyfrowego. Każdy blok w blockchainie składa się z kilku transakcji, w tym z jego podpisu cyfrowego. Podpisy cyfrowe obejmują wiadomość (lub transakcję), klucz prywatny i klucz publiczny, jak pokazano na rysunku.

Blockchain korzysta z rozproszonego rejestru, z którym wszystkie zainteresowane strony utrzymują kopię, jak pokazano na rysunku. Zaufanie jest zapewnione przez otrzymanie i zaakceptowanie przez wszystkich nowych transakcji. Innymi słowy, wszyscy muszą korzystać i pracować z dokładnie tym samym rejestrem. Jest to realizowane za pomocą procesu znanego jako Dowód Pracy (Proof of Work).

Blok zawiera transakcje wraz z ich podpisami cyfrowymi. Przykładowo komputer 1 weryfikuje, że wiadomość została utworzona przez Jose, używając publicznego klucza Jose. Walidacja transakcji w bloku wykorzystuje proces, który jest czasochłonny dla osoby go tworzącej, ale łatwy do zweryfikowania przez innych. Jest to znane jako Dowód Pracy (PoW). PoW to algorytm (hash) wykonywany przez komputery, który wymaga dużej ilości pracy obliczeniowej w stosunkowo krótkim czasie. Te komputery są znane jako górnicy.

Blockchain składa się z bloków. Każdy blok to lista transakcji, z hashem poprzedniego bloku i hashem tego bloku, w tym jego PoW. Hash jest obliczany za pomocą hasha poprzedniego bloku (poprzedniego PoW), wraz ze wszystkimi transakcjami w tym bloku z ich podpisami cyfrowymi. Sprawia to, że jest obliczeniowo nieosiągalne modyfikowanie bloku lub zmiana kolejności bloków. Zrobienie tego oznaczałoby konieczność przeliczenia hasha dla tego bloku i każdego następnego bloku.

Konwencjonalne metody zabezpieczeń nie są praktyczne dla IoT, ponieważ topologie IoT są w dużej mierze zdecentralizowane, a urządzenia IoT mają ograniczone zasoby. Jak widzieliśmy, blockchain został użyty do zapewnienia bezpieczeństwa w podobnym środowisku używanym dla kryptowalut.

Blockchain może być używany do pomocy w rozwiązaniu wielu tych wyzwań związanych z bezpieczeństwem i zaufaniem dla IoT, w tym:

  • Śledzenie pomiarów danych z czujników i zapobieganie szkodliwym danym.
  • Zapewnienie identyfikacji urządzeń IoT, uwierzytelniania i bezpiecznego przesyłania danych.
  • Czujniki IoT mogą bezpiecznie wymieniać dane bezpośrednio między sobą, bez potrzeby pośrednika.
  • Rozproszony rejestr eliminuje pojedyncze źródło awarii w ekosystemie IoT.
  • Wdrożenie IoT jest uproszczone, a koszty operacyjne IoT są zmniejszone, ponieważ nie ma pośrednika.
  • Urządzenia IoT są bezpośrednio adresowalne za pomocą blockchaina, dostarczając niezmiennej historii podłączonych urządzeń dla zaufania i przejrzystości.