Zajmiemy się dzisiaj kolejnym z „magicznych ataków” o nazwie COVID-bit. Zaprezentował i opisał go doktor Mordechai Guri z Uniwersytetu Bena Guriona, a służyć ma do eksfiltracji danych z odizolowanych od sieci komputerów. Przypominamy, że inne podobne ataki omawialiśmy już w kampanii „Hackowanie Science-fiction”.
Zastosowanie ataku air-gapped
Opisywany poniżej przykład ma zastosowanie w przypadkach, kiedy ktoś chce zhakować komputer (wykraść z niego dane), lecz nie ma do niego żadnego dostępu fizycznego ani sieciowego (z ang. air-gapped system). Atak tego typu może zdarzyć się w firmach, których komputery ze względów bezpieczeństwa pozostają odizolowane od publicznego Internetu i innych sieci. Sytuacja taka ma miejsce chociażby w obszarze infrastruktury energetycznej, rządzie czy jednostkach kontroli uzbrojenia.
Układ zasilania komputera jako nadajnik fal radiowych
Czy to możliwe? Okazuje się, że tak. Podobnie zresztą, jak to pokazywaliśmy na przykładzie zdalnego sczytywania danych z kabla Ethernet. W opisywanym ataku naukowiec wziął pod lupę zasilacze lub układy zasilające nasze komputery. Nowa metoda o nazwie COVID-bit wykorzystuje fale elektromagnetyczne do przesyłania danych z odizolowanych od siebie fizycznie, odłączonych od Internetu komputerów na odległość co najmniej dwóch metrów (6,5 stopy). Nawet w tej odległości można je przechwycić przez specjalny odbiornik oraz przetworzyć.
Wcześniej ten sam badacz opisał dwie inne ciekawe metody eksfiltracji danych:
- z kabla Ethernet (atak ETHERLED)
- oraz przewodu do dysków SATA (atak SATAn)
Ciekawostką jest, że atakujący może odebrać informacje pochodzące z odizolowanego urządzenia używając smartfonu lub laptopa, nawet jeśli dzieli je ściana.
Jednak aby atak mógł się udać, haker musi najpierw zainstalować na komputerze specjalnie stworzone złośliwe oprogramowanie i mieć do niego fizyczny dostęp lub dostać się do sieci, w której znajduje się urządzenie. Zatem nie jest to całkiem bezkontaktowy atak.
Przykładów takich ataków można znaleźć wiele w ubiegłych latach. Chociażby robak Stuxnet w irańskim zakładzie wzbogacania uranu w Natanz, Agent.BTZ, który zainfekował amerykańską bazę wojskową, oraz modułowy backdoor Remsec – przez ponad pięć lat zbierał on informacje z sieci rządowej z odizolowanych od Internetu komputerów.
Jak działa COVID-bit?
W celu przesłania danych w ataku COVID-bit naukowcy stworzyli złośliwy program, który reguluje obciążenie procesora i w określony sposób częstotliwość jego rdzenia, aby ten zmusił układ zasilania komputera do emitowania promieniowania elektromagnetycznego w paśmie niskiej częstotliwości (0–48 kHz).
„Głównym źródłem promieniowania elektromagnetycznego w SMPS jest ich wewnętrzna konstrukcja i charakterystyka przełączania” – wyjaśnia Mordechai Guri w swoim artykule. „Podczas konwersji AC-DC i DC-DC elementy przełączające MOSFET włączające się lub wyłączające przy określonych częstotliwościach tworzą falę prostokątną” – tłumaczy naukowiec.
Fala elektromagnetyczna może przenosić ładunek nieprzetworzonych danych po obciążeniu ośmiu bitów, które oznaczają początek transmisji.
Odbiornikiem może być urządzenie składające się z małej anteny (koniecznie w kształcie pętli) podłączonej do gniazda audio 3,5 mm laptopa lub smartfonu. Rolę anteny mogą pełnić słuchawki.
Smartfon może przechwycić transmisję, zastosować filtr redukcji szumów, demodulować surowe dane i ostatecznie rozszyfrować przesyłane treści.
Ciekawe wyniki badań
Guri przetestował trzy komputery stacjonarne, laptop oraz urządzenie Raspberry Pi 3 pod kątem różnych przepływności, utrzymując zerową stopę błędów do 200 bps na komputerach PC i Raspberry Pi oraz do 100 bps na laptopie.
Pozwoliło to na zebranie następujących wniosków:
- W testach gorzej wypadły laptopy, ponieważ ich profile oszczędzania energii i bardziej energooszczędne rdzenie procesorów powodują, że zasilacze nie generują wystarczająco silnych sygnałów.
- Najlepiej wypadły komputery stacjonarne. Mogły osiągać szybkość transmisji 500 b/s przy współczynniku błędów bitowych od 0,01% do 0,8% oraz 1000 b/s przy wciąż akceptowalnym współczynniku błędów bitowych do 1,78%.
- W przypadku testów na Raspberry Pi znaczenie miała odległość od maszyny, gdyż ze względu na słabe zasilanie słabł sygnał (stosunek sygnału do szumu).
Co można przesłać za pomocą COVID-bit?
Ten typ ataku z pewnością nie znajdzie zastosowania do eksfiltracji oszałamiających ilości danych z komputera. Czasem potrzebne jest jednak tylko kilka kilobajtów lub megabajtów danych. Naukowcowi udało się przesłać plik o wielkości 10 KB przy maksymalnej testowanej szybkości transmisji (1000 bps) w 80 sekund.
Jak wynika z powyższych informacji, krytyczny dla organizacji 4096-bitowy klucz szyfrujący RSA mógłby zostać przesłany w zaledwie 4 sekundy (lub, przy najgorszym transferze, nawet w dziesięć minut), a surowe dane z jednej godziny pracy użytkownika na klawiaturze i nasłuchiwania ich za pomocą keyloggera można wysłać do odbiornika w ciągu 20 sekund.
„Rejestrowanie klawiszy na żywo działałoby w czasie rzeczywistym nawet przy szybkości transmisji wynoszącej zaledwie pięć bitów na sekundę!” – stwierdza Guri.
Badacz eksperymentował również z maszynami wirtualnymi, dochodząc do wniosku, że przerwy w pułapkach wyjścia VM do modułu obsługi hipervizora powodują degradację sygnału między 2 dB a 8 dB.
Jak się chronić przed atakiem?
Po pierwsze należy bardzo pilnować dostępu do wrażliwych komputerów. Ścisłe jego ograniczenie to na pewno jedna z najskuteczniejszych metod obrony przed COVID‑bit, ponieważ w celu przeprowadzenia udanego ataku wymagana jest instalacja złośliwego oprogramowania. Nie chroni to jednak przed zagrożeniami wewnętrznymi.
Po drugie nie używać stacjonarnych komputerów do celów bezpieczeństwa – lepiej ograniczyć się do laptopów, które mają mniejsze możliwości emisyjne fal (patrz badania powyżej).
Guri zaleca również „monitorowanie wykorzystania rdzenia procesora i wykrywanie podejrzanych wzorców ładowania, które nie pasują do oczekiwanego zachowania komputera”. Lecz jeśli się zastanowimy nad tym poważniej, dojdziemy do wniosku, że pewnie i tutaj otrzymywalibyśmy wiele fałszywych alarmów.
Innym środkiem zaradczym, o którym wspomina badacz, byłoby „zablokowanie częstotliwości rdzenia procesora na określonej liczbie, co utrudni generowanie sygnału przenoszącego dane, nawet jeśli nie zatrzyma go całkowicie”.