Botnety źródłem zagrożeń w Internecie Rzeczy: Jak poprawić zabezpieczenia systemów wbudowanych?

Powstanie botnetów nakierowanych na Internet Przedmiotów (IoT) stanowi widoczne i aktualne zagrożenie dla szybko rozwijających się segmentów rynku, takich jak automatyka budynkowa, inteligentne miasta i sieci przemysłowe. Botnety wykonujące rozproszone ataki Denial of Service (DDoS) znane były od dawna, również botnety skierowane bezpośrednio na IoT również nie są niczym nowym.

Jednak nowe botnety IoT okazują się niezwykle niebezpieczne i szkodliwe, a niewystarczające zabezpieczenia mogą doprowadzić do zupełnej katastrofy usług IoT w miarę, jak kolejne systemy są masowo podłączane do Internetu. Niniejszy artykuł opisuje botnety pod kątem wrażliwości urządzeń IoT na ich ataki, jak również wskazuje najważniejsze metody ochrony urządzeń przed tymi atakami.

 

Botnety i ich potencjalne cele

Botnet stanowi zbiór połączonych urządzeń, które zostały zainfekowane złośliwym oprogramowaniem. Pozwala ono osobie dokonującej ataku zdalnie sterować i koordynować akcje, takie jak przeprowadzenie ataku DDoS. Botnety, zwane też armiami zombie, mogą służyć również do rozsyłania spamu, przechwytywać wrażliwe hasła lub rozpowszechniać tzw. ransomware.

Botnety IoT różnią się od swych odpowiedników w systemie Windows, ponieważ są złożone z przejętych urządzeń IoT i dzięki rozbudowanej sieci mogą się rozprzestrzenić na bardzo wiele urządzeń. Ponadto w odróżnieniu od zwykłych botnetów, które najczęściej służą do rozsyłania spamu, botnety IoT mogą spowodować znacznie większe straty, wpływając na fizyczną rzeczywistość wokół urządzeń IoT.

Na przykład, atak botnetu na światła uliczne może spowodować chaos w całym mieście i nadwyrężyć infrastrukturę inteligentnego miasta. Podobnie też hakerzy mogą podkręcić ogrzewanie w inteligentnych domach i sztucznie zwiększyć zużycie oleju lub gazu.

Problemem, który nie występuje w komputerach i serwerach zabezpieczonych przed złośliwym oprogramowaniem i korzystających z firewalla, jest brak tego rodzaju zaawansowanej ochrony w urządzeniach IoT. Z tego powodu stanowią one łatwy cel dla botnetów.

Prognozy przewidywały rozwój botnetów jako istotnego zagrożenia dla cyberbezpieczeństwa w roku 2016, jednak dotąd społeczność IoT nie przejmowała się zbyt niebezpieczeństwem stwarzanym przez botnety IoT. W tamtym czasie zagrożenie wydawało się dość ograniczone – pomimo faktu, że już dawno pojawiły się narzędzia pozwalające botnetom wykorzystać słabo zabezpieczone urządzenia IoT. Punktem zwrotnym okazał się atak Mirai w październiku 2016 roku.

Mirai – oraz inny botnet IoT o nazwie Bashlight – wykorzystały lukę w okrojonej wersji Linuksa wykorzystywanej w urządzeniach wbudowanych, takich jak kamery internetowe i rejestratory wideo (DVR). Botnety IoT wykorzystały znaną lukę w tych urządzeniach, aby pobrać złośliwe oprogramowanie z serwera sterującego atakiem (C&C). Następnie rozpoczęły rozpowszechnianie tego oprogramowania na inne wrażliwe urządzenia, ciągle skanując domyślne lub zapisane na stałe nazwy użytkowników i hasła. Dzięki temu były w stanie przeprowadzić ataki DDoS. W sumie Mirai zainfekowało ponad 150 tysięcy kamer internetowych.

 

Botnety wskazują wady w projekcie systemów IoT

Mirai stanowił moment przebudzenia. Uświadomił, że niezabezpieczone urządzenia sieciowe stanowią zagrożenie już w chwili obecnej. Choć liczba połączonych urządzeń jest najwyższa w historii, to przecież nadal i nieustannie rośnie. Badanie rynku przeprowadzone przez firmę Gartnier przewiduje, że do roku 2020 w obrębie IoT znajdzie się 20,8 miliarda połączonych obiektów. Mirai pokazał, w jaki sposób hakerzy mogą przejąć kontrolę nad dowolnym wrażliwym urządzeniem IoT i wcielić je do botnetu. Mirai oraz inne botnety IoT zwiększyły oczekiwania względem zabezpieczeń systemów wbudowanych i unaoczniły najbardziej dotkliwe wady w projektach takich systemów:

  • Dążenie do stworzenia prostych systemów IoT z tanich komponentów sprawia, że kwestie bezpieczeństwa schodzą na dalszy plan.
  • Urządzenia IoT mają moc obliczeniową i pamięć wystarczającą tylko na zapewnienie minimalnej funkcjonalności, a zabezpieczenia otrzymują dostępne zasoby dopiero w dalszej kolejności.
  • Napięte terminy i konieczność szybkiego wprowadzenia produktów na rynek sprawiają, że projektanci często zwyczajnie całkowicie pomijają komponenty ochronne.
  • Wiele projektów IoT wykorzystuje istniejące komponenty sprzętowe i programowe w celu uproszczenia projektowania i redukcji kosztów. Tym samym jednak dotychczasowe mechanizmy uwierzytelnienia są łatwo dostępne i podatne na ataki w zupełnie nowej klasie urządzeń – IoT.
  • Problem stanowi już samo wykrycie infekcji w urządzeniach wbudowanych, ponieważ te nie zapewniają przejrzystego systemu operacyjnego i łatwego dostępu. Zamiast z poziomu systemu operacyjnego, monitorowanie i detekcja są możliwe tylko za pośrednictwem trudnych w obsłudze punktów dostępowych, takich jak przeglądarki internetowe lub aplikacje na smartfony.
  • Większość systemów wbudowanych wykorzystuje jakąś wersję Linuksa, który nie jest wcale bezpieczny, jeśli nie został odpowiednio załatany, skonfigurowany i zabezpieczony. Hakerzy najczęściej wykorzystywali luki Linuksa w routerach i przystawkach do telewizorów.

Botnety IoT zaatakowały już kamery internetowe, routery Wi-Fi i przystawki do telewizorów. Były też wykorzystywane do przeprowadzenia ataków DDoS skierowanych przeciwko usługom gier sieciowych. Hakerom nie udało się jednak wykorzystać routerów Deutsche Telekom do stworzenia botnetu.

Co nastąpi dalej? Inteligentne lodówki, żarówki, zamki do drzwi i połączone samochody? Tego rodzaju botnety i osoby mające nad nimi kontrolę mogłyby spowodować ogromne szkody w przypadku ataków na banki, szpitale czy infrastrukturę inteligentnych miast.

 

Potrzebne są solidne, wielowarstwowe zabezpieczenia

Jak zatem zapewnić wysoki poziom zabezpieczeń połączonych produktów przed nadchodzącym zagrożeniem? Jak zaimplementować ochronę na wielu poziomach – od czujników i węzłów IoT aż do chmury – aby zabezpieczyć wiele potencjalnych punktów sieci IoT narażonych na ataki? Zadania stawiane przed projektantami bezpiecznych systemów wbudowanych są następujące:

  • Opracowanie wielowarstwowych zabezpieczeń podczas projektowania systemu wbudowanego, w tym zabezpieczeń węzłów, magazynów danych, sieci i ekosystemu jako całości.
  • Rozwój zabezpieczeń sprzętowych dla systemów wbudowanych.

 

Implementacja wielu warstw zabezpieczeń

Rys. 1 pokazuje, że opracowanie wielowarstwowych zabezpieczeń podczas projektowania systemu wbudowanego wymaga zabezpieczenia węzłów, sieci, magazynów danych i ekosystemu jako całości.

Rys. 1. Zagrożenia takiej, jak botnety IoT, wymagają stosowania wielowarstwowej ochrony w systemach wbudowanych opartych na komunikacji sieciowej. (źródło: Microchip)

Poniżej zostały wymienione najlepsze metody ochrony przez botnetami. Są one bezpośrednio związane z podstawowym elementem zabezpieczającym wybranym w czasie projektowania produktu:

 

Węzeł

  • Stosowanie bezpiecznego rozruchu opartego na sprzętowym źródle zaufania pozwala uzyskać pewność, że urządzenia IoT pracują w znanym i bezpiecznym stanie, a przechowywane przez nie treści pozostają poufne. Bezpieczny rozruch – postawa zabezpieczeń urządzeń wbudowanych – jest pierwszą linią obrony przed zagrożeniami dla systemu, takimi jak botnet.
  • Aktualizacje oprogramowania są koniecznością. Należy jednak pamiętać, że hakerzy mogą wykorzystać zdalne aktualizacje (OTA) do wprowadzenia swych własnych złośliwych botów. Należy zatem stosować mechanizm uwierzytelniania, aby zapewnić, że urządzenia IoT pobierają oprogramowanie tylko ze sprawdzonych źródeł.

Sieć

  • Urządzenia IoT należy podłączać tylko w środowisku korzystającym z firewalli. Te zabezpieczenia badają nadchodzący ruch i identyfikują zagrożenia na podstawie jego zachowania, sygnatury, historii adresów IP oraz wzajemnego sprawdzenia informacji uzyskanych z przez inne punkty końcowe IoT.
  • Wykorzystanie usług i narzędzi przeciwdziałających atakom DDoS pozwala przejąć wczesny atak przez pojemne sieci ogólnego przeznaczenia.
  • Połączenia między urządzeniem IoT oraz innymi systemami, takimi jak usługi chmurowe, można zabezpieczyć poprzez stosowanie szyfrowania opartego na protokołach takich jak TLS. To rozwiązanie zapobiega atakom typu „man in the middle” na podstawie rejestracji i analizy przesyłanych danych.
  • Implementację TLS można wzmocnić poprzez stosowanie takich rozwiązań, jak OpenSSL. Pozwala to wyeliminować słabe punkty oprogramowania dzięki dodatkowym warstw zabezpieczeń sprzętowych.

Bezpieczne magazyny danych

  • Systemy IoT wymagają silnego procesu uwierzytelnienia, aby zweryfikować tożsamość danego węzła lub urządzenia. Wiele osób przez bezpieczeństwo rozumie szyfrowanie, jednak w przypadku ochrony przed zagrożeniami takimi, jak botnety, ważnym aspektem zabezpieczeń IoT jest uwierzytelnienie.

 

Projektowanie bezpiecznych urządzeń wbudowanych

Podstawą zapewnienia bezpieczeństwa systemów wbudowanych i połączonych urządzeń jest zaprojektowanie warstwy sprzętowej zabezpieczonej przed ingerencją. Układy tego typu oferują kompletny zestaw zabezpieczeń, a nie jedynie zbiór łatek i poprawek.

 

Tradycyjne układy zabezpieczające mogą obejmować zabezpieczenia wielu rodzajów:

  • Sprzętowy moduł bezpieczeństwa (HSM), który wykorzystuje bazę danych do przechowywania, ochrony i zarządzania kluczami. To jednak wymaga wstępnych inwestycji w infrastrukturę i logistykę.
  • Standard Trusted Platform Module (TPM) polegający na integracji kluczy kryptograficznych w sprzęcie. Rozwiązania tego typu nie są jednak zbyt atrakcyjne dla tańszych systemów IoT.
  • Stos zabezpieczeń oparty na mikroprocesorze lub mikrokontrolerze. To rozwiązanie wymaga niestety wielu cykli procesora zużytych na uwierzytelnienie aplikacji i oprogramowania producenta. Z tego powodu zabezpieczenie sprzętowe zbudowane wokół centralnego mikroprocesora osiągnęło niewielki sukces w projektach IoT. Operacje wprowadzające duży narzut, takie jak uwierzytelnienie, obciążają cały system i spowalniają działanie układu.

Z tych powodów tradycyjnych zabezpieczeń sprzętowych nie można łatwo przenieść na systemy wbudowane. Zamiast tego stosowane są dedykowane procesory zabezpieczające, które uzupełniają lukę IoT w zabezpieczeniach oprogramowania za pomocą sprzętowego przechowywania klucza i akceleratorów kryptograficznych. Wykorzystują one również sprawdzone implementacje protokołu TLS, takie jak OpenSSL. Umożliwiają także węzłom automatyczne wykonywanie uwierzytelnienia komunikacji z chmurą.

Tego typu tanie koprocesory zabezpieczające łączą się z mikroprocesorem lub mikrokontrolerem hosta za pośrednictwem interfejsu I2C, obsługując funkcję bezpiecznego rozruchu i ochronę przed podejrzanym oprogramowaniem. Projekt referencyjny MAXREFDES143 firmy Maxim stanowi dobry przykład wbudowanej realizacji zabezpieczeń na potrzeby IoT. Projekt ten chroni przemysłowy węzeł czujnikowy za pomocą uwierzytelnienia i powiadomień serwera sieciowego. Projekt wykorzystuje układ DeepCover Secure Authenticator wyposażony w interfejs 1-wire z szyfrowaniem SHA-256 oraz pamięć EEPROM użytkownika o pojemności 512 bitów. To rozwiązanie pozwala na uwierzytelnienie danych na wszystkich poziomach od węzła czujnikowego do serwera.

Komponenty kryptograficzne, przedstawione na rys. 2 to małe mikrokontrolery wyposażone w akceleratory kryptograficzne pozwalające realizować silne uwierzytelnienie. Dzięki temu układy są w stanie chronić klucze prywatne, certyfikaty i inne dane wrażliwe z punktu widzenia zabezpieczenia przed inwazją botnetów. Ponadto układy te upraszczają wzajemne uwierzytelnienie z usługami chmurowymi, takimi jak Amazon Web Services (AWS), ponieważ eliminują złożoność wynikającą z programowej implementacji zabezpieczeń. Warto przy tym zwrócić uwagę, że standard TLS tradycyjnie dokonywał uwierzytelnienia i przechowywał klucze prywatne w warstwie programowej.

Rys. 2. Bezpieczne mikrokontrolery, takie jak Microchip ATECC508A, zapewniają możliwość uwierzytelnienia węzłów IoT i tym samym zapobiegają przed wniknięciem botnetów do systemu. (źródło: Microchip)

 

Podsumowanie

Segment IoT, opierający się na rozwoju urządzeń wbudowanych połączonych z Internetem, znajduje się w punkcie zwrotnym. Do tej porty botnety IoT najczęściej atakowały serwery sieciowe i serwery aplikacji. Teraz jednak mogą potencjalnie zostać użyte do przeprowadzenia ataku znacznie bardziej szkodliwego od tych, które obserwowaliśmy do tej porty. Mogłyby na przykład wpłynąć na bezpieczeństwo inteligentnego budynku poprzez zakłócenie systemu monitoringu. Mogłyby też wpłynąć na działanie systemu świateł ulicznych, prowadząc do kompletnego chaosu.

Rozwój od podstaw wbudowanych zabezpieczeń w połączonych urządzeniach jest znacznie spóźniony, ponieważ dziesiątki milionów narażonych urządzeń IoT zostało już wdrożonych i ta liczba rośnie każdego dnia. Entuzjaści Internetu Przedmiotów właśnie odkrywają ciemną stronę stałej łączności z Internetem. IoT zmierza w kierunku rozwoju na ogromną skalę – najwyższy czas zatem podjąć działanie i ponownie przemyśleć tworzenie zabezpieczeń systemów wbudowanych.

O autorze