SATAn – podsłuchiwanie komunikacji kablem SATA bez połączenia z siecią

avlab.pl 2 lat temu
Zdjęcie: satan


Przechwytywanie danych w systemach informatycznych zwykle kojarzy nam się ze sniffingiem ruchu sieciowego, np. z wykorzystaniem programów (nazywa się je snifferami) typu Wireshark. Solidnym zabezpieczeniem przed tym wektorem ataku jest stosowanie szyfrowania. w tej chwili zdecydowana większość serwisów dostępna jest jedynie poprzez HTTPS, a do przesyłania plików możemy wykorzystać SFTP zamiast FTP (lub FTP poprzez SSL/TLS). Protokoły poczty e-mail także mają możliwość zastosowania szyfrowania. Oczywiście złośliwe oprogramowanie cały czas istnieje i również może posłużyć do wycieku informacji, zbierając dane z systemu.

Jak jednak informują badacze z Uniwersytetu Ben-Guriona, do przechwytywania komunikacji wystarczą kable SATA i odpowiedni odbiornik sygnału. Współczesne dyski twarde czy napędy optyczne z płytą główną są połączone właśnie poprzez interfejs SATA (który jest następcą standardów ATA/IDE). Okazuje się, iż mogą zostać wykorzystane jako nadajnik sygnału, który może zostać odebrany przez urządzenia w pobliżu.

Opisany model ataku SATAn składa się z czterech etapów

Na początku trzeba zainfekować urządzenie w sieci LAN, z której zamierzamy podsłuchiwać. Podano przykłady realizacji: socjotechnika, phishing ukierunkowany, exploity i złośliwe witryny lub (w przypadku, gdy docelowe urządzenie faktycznie jest „offline”) ataki na łańcuch dostaw, infekcja poprzez urządzenia wymienne, czy wykorzystanie złośliwych gości lub pracowników.

W dalszym etapie malware przeprowadza rekonesans i uzyskuje dostęp do pozostałych hostów w sieci LAN (tę kwestię mogą ułatwić klucze SSH, natomiast dalej jest to zalecana metoda dostępu, zamiast wpisywania hasła). Następnie gromadzi z nich dane, tutaj standardowo zakres będzie się różnił w zależności od ofiary. Jak zaznaczono, atakujący może „zabezpieczać” zgromadzone artefakty przed narzędziami monitorującymi, np. szyfrując uzyskane dane.

Kolejne fazy to już próby eksfiltracji zasobów „na zewnątrz”, poza sieć lokalną, czyli adekwatne i najciekawsze części ataku.

Trzecia faza polega na wykryciu stacji z aktywnymi interfejsami SATA – na wybranej maszynie trzeba zachować aktywność systemu plików podczas podsłuchu (czyli operacja kopiowania na inny dysk może się sprawdzić):

The malware then uses a specialized shellcode to maintain file system activity to generate radio signals from the SATA cables. The collected data is modulated, encoded, and transmitted via this covert channel.

W ostatniej części należy odebrać dane, wykorzystując opisywaną technikę ataku. Konieczny będzie odbiornik, który może być fizycznie dostarczony i ukryty w sprzęcie. Dobrym i znanym przykładem jest sytuacja z 2018 roku, gdzie w serwerach zainstalowanych w kilku amerykańskich korporacjach wykryto układy scalone mogące kontrolować „zainfekowany” w ten sposób system (artykuł w języku polskim). Mniej spektakularny scenariusz, ale łatwiejszy do przeprowadzenia zakłada nasłuch, np. prowadzony z odpowiednio wyposażonego laptopa.

W opublikowanym w postaci filmu PoC przedstawiono przechwycenie tekstu wpisywanego na komputerze z Ubuntu 20.04 (odciętym od sieci) przez laptop z Windows.

Atak SATAn jest trudny do przeprowadzenia, niemniej (jak każdy atak oparty na użyciu hardware) jest bardzo interesujący. Biorąc pod uwagę ilość czynności do przeprowadzenia — nie wystarczy zdalna infekcja, musi być dodatkowy czynnik fizyczny — wektor ataku ogranicza się do wyjątkowo wartościowych dla atakujących celów. Wydaje się również łatwiejszy do wykrycia w porównaniu do tradycyjnych metod skutkujących wyciekiem informacji.

Ataki powinny zwrócić uwagę ekspertów na bezpieczeństwo fizyczne

Być może stosujemy doskonałe zabezpieczenia sieciowe, ale serwery są dostępne dla wszystkich osób w budynku. Kradzież dysku czy podpięcie pendrive’a ze szkodliwą zawartością (lub choćby czegoś w rodzaju USB killer) nie jest wtedy dużym wyzwaniem. Wrażliwe urządzenia powinny być przechowywane w oddzielnym pomieszczeniu (z odpowiednimi warunkami, np. wilgotnością), do którego dostęp będzie chroniony i ograniczony do wybranych osób.

Objaśnienie, dlaczego taki atak działa, jest skomplikowane i wymaga dość szerokiej wiedzy.

Do testów użyto trzech komputerów działających pod kontrolą Ubuntu 20.04, wszystkie miały dysk SSD podłączony poprzez SATA. Odbiornikiem było podłączone poprzez USB do laptopa z Windows 10 urządzenie ADALM-PLUTO. Wyniki przetwarzał MATLAB. Każdy z trzech komputerów generował inny SNR. Dane były przesyłane z prędkością 1b/sec, która wystarczy do modulacji (to minimalna wartość). Po szczegółowy opis odsyłam do rozdziału VI w opracowaniu.

Najbardziej istotne informacje:

  • atak będzie skuteczny wyłącznie w małych zakresach odległości odbiornika i kabla SATA,
  • sygnał odczytu jest mocniejszy o 3 decybele w stosunku do sygnału zapisu,
  • możliwe jest przechwytywanie danych z maszyn wirtualnych, aczkolwiek jakość pozostaje gorsza.
Idź do oryginalnego materiału