Udostępnij za pośrednictwem


Architektura zabezpieczeń dla rozwiązań IoT

Podczas projektowania i tworzenia architektury rozwiązania IoT ważne jest, aby zrozumieć potencjalne zagrożenia i uwzględnić odpowiednie zabezpieczenia. Zrozumienie, w jaki sposób osoba atakująca może naruszyć bezpieczeństwo systemu, pomaga upewnić się, że odpowiednie środki zaradcze zostały wprowadzone od samego początku.

Modelowanie zagrożeń

Firma Microsoft zaleca korzystanie z procesu modelowania zagrożeń w ramach projektu rozwiązania IoT. Jeśli nie znasz modelowania zagrożeń i bezpiecznego cyklu projektowania, zobacz:

Zabezpieczenia w usłudze IoT

Warto podzielić architekturę IoT na kilka stref w ramach ćwiczenia modelowania zagrożeń:

  • Urządzenie
  • Brama pola
  • Brama chmury
  • Usługa

Każda strefa często ma własne dane i wymagania dotyczące uwierzytelniania i autoryzacji. Stref można również używać do izolowania uszkodzeń i ograniczania wpływu stref niskiego zaufania na wyższe strefy zaufania.

Każda strefa jest oddzielona granicą zaufania, pokazaną jako kropkowana czerwona linia na poniższym diagramie. Reprezentuje ona przejście danych z jednego źródła na inne. Podczas tego przejścia dane mogą podlegać następującym zagrożeniom:

  • Spoofing (fałszowanie)
  • Tampering (manipulowanie)
  • Repudiation (wypieranie się)
  • Information disclosure (ujawnienie informacji)
  • Denial of service (odmowa usługi)
  • Elevation of privilege (podniesienie uprawnień)

Aby dowiedzieć się więcej, zobacz model STRIDE.

Diagram przedstawiający strefy i granice zaufania w typowej architekturze rozwiązania IoT.

Za pomocą funkcji STRIDE można modelować zagrożenia dla każdego składnika w każdej strefie. W poniższych sekcjach opracować poszczególne składniki i konkretne kwestie dotyczące zabezpieczeń oraz rozwiązania, które należy wprowadzić.

W pozostałej części tego artykułu bardziej szczegółowo omówiono zagrożenia i środki zaradcze dla tych stref i składników.

Strefa urządzenia

Środowisko urządzenia to miejsce wokół urządzenia, w którym jest możliwy dostęp fizyczny i dostęp cyfrowy do sieci lokalnej do urządzenia. Zakłada się, że sieć lokalna jest odrębna i odizolowana od – ale potencjalnie pomostowa – publicznego Internetu. Środowisko urządzenia obejmuje dowolną bezprzewodową technologię radiową o krótkim zakresie, która umożliwia komunikację równorzędną urządzeń. Nie obejmuje ona żadnej technologii wirtualizacji sieci tworzącej iluzję takiej sieci lokalnej. Nie obejmuje sieci operatorów publicznych, które wymagają, aby jakiekolwiek dwa urządzenia komunikowały się w przestrzeni sieciowej publicznej, jeśli miały one wejść w relację komunikacji równorzędnej.

Strefa bramy pola

Brama pola jest oprogramowaniem komputerowym serwera ogólnego przeznaczenia, które działa jako program obsługujący komunikację, a potencjalnie jako system sterowania urządzeniami i centrum przetwarzania danych urządzeń. Strefa bramy pola zawiera samą bramę pola i wszystkie dołączone do niej urządzenia. Bramy terenowe działają poza dedykowanymi obiektami przetwarzania danych, są zwykle powiązane z lokalizacją, mogą podlegać fizycznemu włamaniu i mają ograniczoną nadmiarowość operacyjną. Brama pola jest zazwyczaj rzeczą, którą osoba atakująca może fizycznie sabotować, jeśli uzyska dostęp fizyczny.

Brama pola różni się od routera ruchu, ponieważ ma aktywną rolę w zarządzaniu dostępem i przepływem informacji. Brama pola ma dwa odrębne obszary powierzchni. Jedna twarze urządzenia dołączone do niego i reprezentuje wewnątrz strefy. Pozostałe twarze wszystkich stron zewnętrznych i jest krawędzią strefy.

Strefa bramy chmury

Brama w chmurze to system, który umożliwia komunikację zdalną z urządzeń i do urządzeń lub bram pól wdrożonych w wielu lokacjach. Brama w chmurze zazwyczaj umożliwia system kontroli i analizy danych oparty na chmurze lub federację takich systemów. W niektórych przypadkach brama w chmurze może natychmiast ułatwić dostęp do urządzeń specjalnego przeznaczenia z terminali, takich jak tablety lub telefony. W strefie bramy chmury środki operacyjne uniemożliwiają ukierunkowany dostęp fizyczny i nie muszą być widoczne dla infrastruktury chmury publicznej.

Bramę w chmurze można zamapować na nakładkę wirtualizacji sieci, aby odizolować bramę chmury i wszystkie dołączone urządzenia lub bramy pól z dowolnego innego ruchu sieciowego. Sama brama w chmurze nie jest systemem kontroli urządzeń ani urządzeniem przetwarzającym ani magazynem danych urządzenia; interfejs tych obiektów z bramą chmury. Strefa bramy w chmurze obejmuje samą bramę w chmurze wraz ze wszystkimi bramami pól i urządzeniami bezpośrednio lub pośrednio dołączonymi do niej. Krawędź strefy jest odrębnym obszarem powierzchni, za pośrednictwem którego komunikują się wszystkie strony zewnętrzne.

Strefa usług

Usługa w tym kontekście to dowolny składnik oprogramowania lub moduł, który interfejsy z urządzeniami za pośrednictwem pola lub bramy w chmurze. Usługa może zbierać dane z urządzeń i poleceń i kontrolować te urządzenia. Usługa jest mediatorem, który działa zgodnie z jego tożsamością w kierunku bram i innych podsystemów:

  • Przechowywanie i analizowanie danych
  • Wydawanie poleceń urządzeniom na podstawie szczegółowych informacji o danych lub harmonogramów
  • Udostępnianie informacji i możliwości kontroli autoryzowanym użytkownikom końcowym

Urządzenia IoT

Urządzenia IoT są często urządzeniami specjalnymi, które wahają się od prostych czujników temperatury po złożone linie produkcyjne fabryki z tysiącami składników wewnątrz nich. Przykładowe możliwości urządzenia IoT obejmują:

  • Mierzenie i raportowanie warunków środowiskowych
  • Zawory obracane
  • Kontrolowanie serwosów
  • Brzmiące alarmy
  • Włączanie lub wyłączanie świateł

Celem tych urządzeń jest dyktowanie projektu technicznego i dostępnego budżetu dla ich produkcji i zaplanowanego okresu istnienia. Połączenie tych czynników ogranicza dostępny budżet energii operacyjnej, ślad fizyczny i dostępne możliwości magazynowania, mocy obliczeniowej i zabezpieczeń.

Kwestie, które mogą pójść nie tak z automatycznym lub zdalnie kontrolowanym urządzeniem IoT, obejmują:

  • Wady fizyczne
  • Wady logiki sterowania
  • Nieautoryzowane nieautoryzowane włamań i manipulacji.

Konsekwencje tych niepowodzeń mogą być poważne, takie jak zniszczone partie produkcyjne, spalone budynki lub obrażenia i śmierć. W związku z tym istnieje wysoki pasek zabezpieczeń dla urządzeń, które sprawiają, że rzeczy są przenoszone lub które zgłaszają dane czujników, które powodują przeniesienie elementów.

Interakcje dotyczące kontroli urządzeń i danych urządzeń

Połączone urządzenia specjalnego przeznaczenia mają znaczną liczbę potencjalnych obszarów powierzchni interakcji i wzorców interakcji, z których wszystkie należy wziąć pod uwagę, aby zapewnić strukturę zabezpieczania dostępu cyfrowego do tych urządzeń. Dostęp cyfrowy odnosi się do operacji wykonywanych za pośrednictwem oprogramowania i sprzętu, a nie bezpośredniego fizycznego dostępu do urządzenia. Na przykład dostęp fizyczny może być kontrolowany przez umieszczenie urządzenia w pomieszczeniu z blokadą na drzwiach. Chociaż nie można odmówić dostępu fizycznego przy użyciu oprogramowania i sprzętu, można podjąć środki, aby zapobiec dostępowi fizycznemu prowadzącemu do ingerencji systemu.

Podczas eksplorowania wzorców interakcji przyjrzyj się kontroli urządzenia i danych urządzenia z tym samym poziomem uwagi. Kontrola urządzenia odnosi się do wszelkich informacji dostarczonych do urządzenia z zamiarem modyfikowania jego zachowania. Dane urządzenia odnoszą się do informacji, które urządzenie emituje do każdej innej firmy o jego stanie i obserwowanym stanie jego środowiska.

Modelowanie zagrożeń dla architektury referencyjnej usługi Azure IoT

W tej sekcji użyto architektury referencyjnej usługi Azure IoT, aby zademonstrować sposób myślenia o modelowaniu zagrożeń dla IoT i sposobie rozwiązywania zidentyfikowanych zagrożeń:

Diagram przedstawiający architekturę referencyjną usługi Azure IoT.

Na poniższym diagramie przedstawiono uproszczony widok architektury referencyjnej przy użyciu modelu diagramu przepływu danych:

Diagram przepływu danych pochodzący z architektury referencyjnej usługi Azure IoT.

Architektura oddziela możliwości bramy urządzeń i pól. Takie podejście umożliwia korzystanie z bezpieczniejszych urządzeń bramy pól. Urządzenia bramy pól mogą komunikować się z bramą w chmurze przy użyciu bezpiecznych protokołów, które zwykle wymagają większej mocy obliczeniowej niż proste urządzenie, takie jak termostat, może zapewnić własne możliwości. W strefie usług platformy Azure na diagramie usługa Azure IoT Hub jest bramą w chmurze.

Na podstawie opisanej wcześniej architektury w poniższych sekcjach przedstawiono kilka przykładów modelowania zagrożeń. Przykłady koncentrują się na podstawowych elementach modelu zagrożeń:

  • Procesy
  • Komunikacja
  • Storage

Procesy

Poniżej przedstawiono kilka przykładów zagrożeń w kategorii procesów. Zagrożenia są podzielone na kategorie na podstawie modelu STRIDE:

Fałszowanie: osoba atakująca może wyodrębnić klucze kryptograficzne z urządzenia na poziomie oprogramowania lub sprzętu. Zaatakowany następnie używa tych kluczy do uzyskania dostępu do systemu z innego urządzenia fizycznego lub wirtualnego przy użyciu tożsamości oryginalnego urządzenia.

Odmowa usługi: urządzenie może być renderowane w stanie działać lub komunikować się przez zakłócanie częstotliwości radiowych lub cięcia przewodów. Na przykład kamera monitoringu, która celowo znokautowała zasilanie lub połączenie sieciowe, nie może w ogóle zgłaszać danych.

Manipulowanie: osoba atakująca może częściowo lub całkowicie zastąpić oprogramowanie na urządzeniu. Jeśli klucze kryptograficzne urządzenia są dostępne dla kodu atakującego, może on użyć tożsamości urządzenia.

Manipulowanie: Kamera monitoringu, która pokazuje widoczny obraz spektrum pustego korytarza może mieć na celu zdjęcie takiego korytarza. Dym lub czujnik ognia może zgłaszać, że ktoś trzyma lżejszy pod nim. W obu przypadkach urządzenie może być technicznie wiarygodne w stosunku do systemu, ale zgłasza manipulowane informacje.

Manipulowanie: osoba atakująca może użyć wyodrębnionych kluczy kryptograficznych do przechwytywania i pomijania danych wysyłanych z urządzenia i zastępowania ich fałszywymi danymi uwierzytelnionymi przy użyciu skradzionych kluczy.

Ujawnienie informacji: jeśli na urządzeniu jest uruchomione oprogramowanie manipulowane, takie manipulowane oprogramowanie może potencjalnie wyciekać danych do nieautoryzowanych stron.

Ujawnienie informacji: osoba atakująca może użyć wyodrębnionych kluczy kryptograficznych, aby wstrzyknąć kod do ścieżki komunikacji między bramą urządzenia a bramą pola lub bramą w chmurze, aby wysysać informacje.

Odmowa usługi: urządzenie można wyłączyć lub przekształcić w tryb, w którym komunikacja nie jest możliwa (co jest zamierzone w wielu maszynach przemysłowych).

Manipulowanie: urządzenie można ponownie skonfigurować tak, aby działało w stanie nieznanym systemowi sterowania (poza znanymi parametrami kalibracji), a tym samym dostarczać dane, które mogą być błędnie interpretowane

Podniesienie uprawnień: urządzenie, które wykonuje określoną funkcję, może być zmuszone do wykonania czegoś innego. Na przykład zawór, który jest zaprogramowany do otwarcia w połowie drogi, może być oszukany, aby otworzyć całą drogę.

Fałszowanie/manipulowanie/odrzucanie: jeśli nie jest to zabezpieczone (co rzadko występuje w przypadku zdalnego sterowania konsumenta), osoba atakująca może anonimowo manipulować stanem urządzenia. Dobrą ilustracją jest pilot, który może wyłączyć dowolny telewizor.

W poniższej tabeli przedstawiono przykładowe środki zaradcze dla tych zagrożeń. Wartości w kolumnie zagrożenia to skróty:

  • Fałszowanie (S)
  • Manipulowanie (T)
  • Repudiation (R)
  • Ujawnienie informacji (I)
  • Odmowa usługi (D)
  • Podniesienie uprawnień (E)
Składnik Zagrożenie Czynności zapobiegawcze Ryzyko Implementacja
Urządzenie S Przypisywanie tożsamości do urządzenia i uwierzytelnianie urządzenia Zastępowanie urządzenia lub części urządzenia innym urządzeniem. Jak wiesz, że rozmawiasz z odpowiednim urządzeniem? Uwierzytelnianie urządzenia przy użyciu protokołu Transport Layer Security (TLS) lub IPSec. Infrastruktura powinna obsługiwać używanie klucza wstępnego (PSK) na tych urządzeniach, które nie mogą obsługiwać pełnej kryptografii asymetrycznej. Użyj identyfikatora Entra firmy Microsoft, protokołu OAuth.
TRID Stosowanie mechanizmów odpornych na naruszenia do urządzenia, na przykład przez utrudnianie wyodrębniania kluczy i innych materiałów kryptograficznych z urządzenia. Ryzyko polega na tym, że ktoś manipulował urządzeniem (interferencja fizyczna). Jak na pewno nikt nie manipulował urządzeniem? Najbardziej efektywnym ograniczeniem ryzyka jest moduł TPM (Trusted Platform Module). Moduł TPM przechowuje klucze, ale nie zezwala na ich odczytywanie. Jednak sam moduł TPM może używać kluczy do wykonywania operacji kryptograficznych. Szyfrowanie pamięci urządzenia. Zarządzanie kluczami dla urządzenia. Podpisywanie kodu.
E Posiadanie kontroli dostępu do urządzenia. Schemat autoryzacji. Jeśli urządzenie zezwala na wykonywanie poszczególnych akcji na podstawie poleceń z zewnętrznego źródła, a nawet czujników zagrożonych, umożliwia atakowi wykonywanie operacji, które nie są dostępne w inny sposób. Posiadanie schematu autoryzacji dla urządzenia.
Brama pola S Uwierzytelnianie bramy field do usługi Cloud Gateway (na przykład opartej na certyfikatach, klucza psk lub opartej na oświadczeniach). Jeśli ktoś może fałszować usługę Field Gateway, może przedstawić się jako dowolne urządzenie. TLS RSA/PSK, IPSec, RFC 4279. Wszystkie te same problemy dotyczące magazynu kluczy i zaświadczania dotyczące urządzeń — najlepszym przypadkiem jest użycie modułu TPM. Rozszerzenie 6LowPAN dla protokołu IPSec do obsługi sieci czujników bezprzewodowych (WSN).
TRID Ochrona bramy field gateway przed naruszeniami (TPM) Fałszowanie ataków, które powodują, że brama w chmurze myśli, że rozmawia z bramą w terenie, może spowodować ujawnienie informacji i manipulowanie danymi Szyfrowanie pamięci, moduły TPM, uwierzytelnianie.
E Mechanizm kontroli dostępu dla usługi Field Gateway

Komunikacja

Oto kilka przykładów zagrożeń w kategorii komunikacji. Zagrożenia są podzielone na kategorie na podstawie modelu STRIDE:

Odmowa usługi: urządzenia ograniczone są zwykle zagrożone przez usługę DoS, gdy aktywnie nasłuchują połączeń przychodzących lub niechcianych datagramów w sieci. Osoba atakująca może równolegle otwierać wiele połączeń i nie obsługiwać ich lub obsługiwać powoli albo zalewać urządzenie niepożądanym ruchem. W obu przypadkach urządzenie może być efektywnie renderowane w sieci.

Fałszowanie, ujawnienie informacji: urządzenia ograniczone i urządzenia specjalne często mają jeden dla wszystkich urządzeń zabezpieczeń, takich jak ochrona hasłem lub numerem PIN. Czasami w całości polegają na zaufaniu sieci i udzielaniu dostępu do informacji do dowolnego urządzenia w tej samej sieci. Jeśli sieć jest chroniona przez ujawniony klucz wspólny, osoba atakująca może kontrolować urządzenie lub obserwować przesyłane dane.

Fałszowanie: osoba atakująca może przechwycić lub częściowo zastąpić emisję i fałszować inicjatora.

Manipulowanie: osoba atakująca może przechwycić lub częściowo zastąpić emisję i wysłać fałszywe informacje.

Ujawnienie informacji: osoba atakująca może podsłuchiwać emisję i uzyskiwać informacje bez autoryzacji.

Odmowa usługi: osoba atakująca może zablokować sygnał emisji i odmówić dystrybucji informacji.

W poniższej tabeli przedstawiono przykładowe środki zaradcze dla tych zagrożeń:

Składnik Zagrożenie Czynności zapobiegawcze Ryzyko Implementacja
Urządzenie IoT Hub Identyfikator TID (D) Protokół TLS (PSK/RSA) do szyfrowania ruchu Podsłuchiwanie lub zakłócanie komunikacji między urządzeniem a bramą Zabezpieczenia na poziomie protokołu. Dzięki protokołom niestandardowym należy ustalić, jak je chronić. W większości przypadków komunikacja odbywa się z urządzenia do usługi IoT Hub (urządzenie inicjuje połączenie).
Urządzenie do urządzenia Identyfikator TID (D) Protokół TLS (PSK/RSA) do szyfrowania ruchu. Odczytywanie danych przesyłanych między urządzeniami. Manipulowanie danymi. Przeciążanie urządzenia nowymi połączeniami Zabezpieczenia na poziomie protokołu (MQTT/AMQP/HTTP/CoAP. Dzięki protokołom niestandardowym należy ustalić, jak je chronić. Ograniczenie zagrożenia doS polega na komunikacji równorzędnej urządzeń za pośrednictwem bramy chmury lub pola i ich działanie tylko jako klienci w sieci. Po brokerze bramy komunikacja równorzędna może istnieć bezpośrednie połączenie między elementami równorzędnymi.
Urządzenie jednostki zewnętrznej Identyfikator TID Silne parowanie jednostki zewnętrznej z urządzeniem Podsłuchiwanie połączenia z urządzeniem. Zakłócanie komunikacji z urządzeniem Bezpieczne parowanie jednostki zewnętrznej z urządzeniem NFC/Bluetooth LE. Kontrolowanie panelu operacyjnego urządzenia (fizycznego).
Field Gateway Cloud Gateway Identyfikator TID Protokół TLS (PSK/RSA) do szyfrowania ruchu. Podsłuchiwanie lub zakłócanie komunikacji między urządzeniem a bramą Zabezpieczenia na poziomie protokołu (MQTT/AMQP/HTTP/CoAP). Dzięki protokołom niestandardowym należy ustalić, jak je chronić.
Brama chmury urządzeń Identyfikator TID Protokół TLS (PSK/RSA) do szyfrowania ruchu. Podsłuchiwanie lub zakłócanie komunikacji między urządzeniem a bramą Zabezpieczenia na poziomie protokołu (MQTT/AMQP/HTTP/CoAP). Dzięki protokołom niestandardowym należy ustalić, jak je chronić.

Storage

W poniższej tabeli przedstawiono przykładowe środki zaradcze zagrożeń związanych z magazynem:

Składnik Zagrożenie Czynności zapobiegawcze Ryzyko Implementacja
Magazyn urządzeń TRID Szyfrowanie magazynu, podpisywanie dzienników Odczytywanie danych z magazynu, manipulowanie danymi telemetrycznymi. Manipulowanie danymi kontroli poleceń w kolejce lub buforowanym. Manipulowanie pakietami konfiguracji lub aktualizacji oprogramowania układowego w pamięci podręcznej lub w kolejce lokalnie może prowadzić do naruszenia zabezpieczeń składników systemu operacyjnego i/lub systemu Szyfrowanie, kod uwierzytelniania wiadomości (MAC) lub podpis cyfrowy. Jeśli to możliwe, silna kontrola dostępu za pośrednictwem list kontroli dostępu do zasobów (ACL) lub uprawnień.
Obraz systemu operacyjnego urządzenia TRID Manipulowanie systemem operacyjnym /zastępowanie składników systemu operacyjnego Partycja systemu operacyjnego tylko do odczytu, podpisany obraz systemu operacyjnego, szyfrowanie
Magazyn usługi Field Gateway (kolejkowanie danych) TRID Szyfrowanie magazynu, podpisywanie dzienników Odczytywanie danych z magazynu, manipulowanie danymi telemetrycznymi, manipulowanie danymi w kolejce lub buforowanych danych sterowania poleceniami. Manipulowanie pakietami konfiguracji lub aktualizacji oprogramowania układowego (przeznaczonymi dla urządzeń lub bramy pól) podczas buforowania lub kolejkowania lokalnie może prowadzić do naruszenia zabezpieczeń składników systemu operacyjnego i/lub systemu BitLocker
Obraz systemu operacyjnego usługi Field Gateway TRID Manipulowanie systemem operacyjnym /zastępowanie składników systemu operacyjnego Partycja systemu operacyjnego tylko do odczytu, podpisany obraz systemu operacyjnego, szyfrowanie

Następne kroki

Aby dowiedzieć się więcej o zabezpieczeniach IoT, zobacz: