Urządzenia USB stanowią główne źródło szkodliwego oprogramowania w przemysłowych systemach sterowania — stwierdził Luca Bongiorni z firmy Bentley Systems podczas konferencji #TheSAS2019. Większość osób, które w jakikolwiek sposób są związane z obszarem bezpieczeństwa, zna tradycyjną historię o dyskach flash „przypadkowo” pozostawionych na parkingach, która na tyle obrazowo przedstawia problem, że będziemy ją powtarzać jeszcze przy niejednej okazji.
W innej — również prawdziwej — historii związanej z dyskiem USB pracownik obiektu przemysłowego chciał obejrzeć film La La Land, więc pobrał go na dysk flash podczas przerwy śniadaniowej. W ten sposób odizolowany od internetu system w elektrowni jądrowej został zainfekowany — historia ta pokazuje, że zapobieganie takim incydentom nie jest trudne.
Jednak ludzie zapominają, że urządzenia USB to nie tylko dyski flash. Urządzenia peryferyjne służące do wprowadzania informacji do komputera — takie jak klawiatury i myszy, a także kable służące do ładowania smartfonów, kule plazmowe i kubki termiczne — również mogą zostać zmodyfikowane tak, aby umożliwiały przeprowadzanie ataku na przemysłowe systemy sterowania.
Krótka historia broni w postaci urządzeń USB
Zmanipulowane urządzenia USB nie są nowością. Pierwsze przypadki ich użycia odnotowano już w 2010 roku. Wykorzystując małą płytkę programowalną o nazwie Teensy oraz złącze USB, atakujący imitowali działanie urządzenia peryferyjne, na przykład poprzez wysyłanie do komputera naciśnięć klawiszy na klawiaturze. Hakerzy szybko zdali sobie sprawę z tego, że urządzenia takie mogą być przydatne do testów penetracyjnych, i przygotowali wersję umożliwiającą tworzenie nowych użytkowników, uruchamianie programów, które instalowały backdoory, oraz wstrzykiwanie szkodliwych programów poprzez kopiowanie ich lub pobieranie z określone strony internetowej.
Jako pierwsze zmodyfikowaną wersję płytki Teensy wykorzystywało urządzenie PHUKD. Następnie pojawiła się Kautilya, która współpracowała z popularnymi płytkami Arduino. Później pojawiło się urządzenie Rubberducky — prawdopodobnie najbardziej znane narzędzie USB emulujące naciskanie klawiszy, które pojawiło się w filmie Mr. Robot, a wyglądem nie odbiegało od zwykłego pendrive’a. Bardziej wszechstronne urządzenie o nazwie Bash Bunny zostało wykorzystane w atakach na bankomaty.
Twórca urządzenia PHUKD szybko wpadł na pomysł utworzenia zainfekowanej myszy zawierającej płytkę do testów penetracyjnych: oprócz funkcjonalności zwykłej myszy mogła ona robić wszystko to, co potrafiło urządzenie PHUKD. Z punktu widzenia socjotechniki wykorzystywanie urządzeń peryferyjnych w celu przenikania do systemów może być łatwiejsze niż stosowanie oddzielnych urządzeń USB, ponieważ nawet te osoby, które wiedzą, że nie wolno wpinać nieznanych dysków do swoich komputerów, zwykle nie podejrzewają, że klawiatura czy mysz mogą być zainfekowane.
Druga generacja zainfekowanych urządzeń USB została utworzona w latach 2014–2015 i obejmowała urządzenia wykorzystujące niesławny błąd BadUSB. Warto również wspomnieć tu o zagrożeniach TURNIPSCHOOL i Cottonmouth, rzekomo utworzonych przez amerykańską wewnętrzną agencję wywiadowczą NSA: urządzenia te były tak małe, że można było je zmieścić w kablu USB i użyć do przechwytywania danych z komputerów (w tym komputerów niepołączonych z żadną siecią).
Współczesne zainfekowane urządzenia USB
Trzecia generacja narzędzi USB dla testów penetracyjnych przeniosła je na całkiem nowy poziom. Jednym z takich narzędzi jest WHID Injector — w zasadzie jest ono takie samo jak Rubberducky, lecz dodatkowo posiada możliwość nawiązywania połączenia bezprzewodowego. Ponieważ urządzenie to zawiera moduł Wi-Fi, nie trzeba go wstępnie programować; haker może kontrolować je zdalnie, co zapewnia mu większą elastyczność oraz możliwość pracy z różnymi systemami operacyjnymi. Innym narzędziem trzeciej generacji jest P4wnP1, które wykorzystuje komputer Raspberry Pi i jest rozszerzoną wersją platformy Bash Bunny, wyposażoną w dodatkową funkcjonalność, w tym łączność bezprzewodową.
Oczywiście zarówno urządzenie WHID Injector, jak i Bash Bunny mają na tyle małe wymiary, aby zmieściły się w klawiaturze lub myszy. Poniższy film przedstawia laptopa, który nie łączy się z żadnymi sieciami poprzez USB, kabel Ethernet czy Wi-Fi, ale ma podłączoną zainfekowaną klawiaturę, która umożliwia zdalnemu hakerowi wykonywanie poleceń i uruchamianie aplikacji.
— Luca Bongiorni (@CyberAntani) February 14, 2018
Urządzenia USB o niewielkich rozmiarach, takie jak wspomniane wyżej, można również zaprogramować tak, aby przypominały działaniem urządzenia peryferyjne, dzięki czemu będą w stanie ominąć zabezpieczenia w firmach, które akceptują jedynie myszy i klawiatury tylko określonych producentów. Narzędzia takie jak WHID Injector mogą również być wyposażone w mikrofon w celu podsłuchiwania i szpiegowania osób w danymi obiekcie. Co gorsza, jedno takie urządzenie wystarczy, aby zhakować całą sieć — chyba że została ona odpowiednio podzielona na segmenty.
Jak zabezpieczyć systemy przed zainfekowanymi urządzeniami USB
Zainfekowane myszy i klawiatury, a także kable służące do szpiegowania lub realizacji szkodliwych działań, stanowią poważne zagrożenie i mogą zostać wykorzystane do zhakowania nawet tych systemów, które są odizolowane od internetu. Dziś niemal każda osoba może kupić i samodzielnie zaprogramować narzędzia pomocne w takich atakach, a zatem warto śledzić wydarzenia ze świata cyberzagrożeń.
Aby zabezpieczyć infrastrukturę krytyczną przed takimi zagrożeniami, warto stosować wiele warstw ochronnych.
- W pierwszej kolejności zapewnij bezpieczeństwo fizyczne, aby nieuprawnione osoby nie mogły wpinać urządzeń USB do przemysłowych systemów sterowania. Ponadto zablokuj fizycznie nieużywane porty USB w takich systemach oraz wyeliminuj możliwość usuwania urządzeń peryferyjnych, które są już używane.
- Zorganizuj szkolenie dla pracowników, aby mieli świadomość różnego rodzaju zagrożeń, w tym zainfekowanych narzędzi USB (opowiedz o incydencie, do którego przyczynił się pracownik zamierzający obejrzeć film La La Land).
- Podziel sieć na odpowiednie segmenty i zarządzaj uprawnieniami dostępowały, aby zablokować atakującym możliwość uzyskiwania dostępu do systemów kontrolujących infrastrukturę krytycznej.
- Każdy system w obiekcie zabezpiecz produktami ochronnymi, które potrafią wykrywać wszelkiego rodzaju zagrożenia. Technologia Kaspersky Endpoint Security nie autoryzuje urządzenia peryferyjnego, dopóki użytkownik wprowadzi kodu przy użyciu urządzenia, które taką autoryzację już posiada.