Takiego zagrożenia jeszcze nie było: LoJax atakuje UEFI, wymiana dysku nie pomoże
Rok 2018 przyniósł sporo nowych odkryć, a wśród nich wyjątkowo interesujące zagrożenie LoJax. Wyróżnia się ono na tle innych, gdyż jest to pierwszy w historii atak na UEFI, który udało się zaobserwować w akcji.
LoJax to rootkit, który zagnieżdża się w UEFI (następcy BIOS-u) i z tego poziomu może wprowadzać zmiany w systemie operacyjnym. Wykorzystuje on zainfekowany program chroniący komputery przed kradzieżą LoJack firmy Absolute Software (wcześniejsza wersja nazywała się Computrace). Rozwiązanie to jest fabrycznie wykorzystywane przez niektórych producentów laptopów i można je włączyć w ustawieniach UEFI. Program ten umieszcza trwały moduł w programowaniu płyty głównej. Po uruchomieniu systemu operacyjnego do środowiska użytkownika przenoszony jest proces, który „zadzwoni do domu” – skontaktuje się z serwerami Absolute Software. To z kolei umożliwia zdalne zablokowanie komputera po kradzieży, wyczyszczenie danych i odnalezienie sprzętu, nawet jeśli dysk został sformatowany lub wymieniony. To samo dotyczy niestety rootkitu LoJax. Oryginalny LoJack został zabezpieczony w maju tego roku.
Prawdziwy LoJack odnajdzie partycję systemową i podmieni narzędzie autochk.exe tak, by przy uruchomieniu systemu dodana została usługa systemowa rpcnetp.exe. Ten proces z kolei upewni się, że działa odpowiedni program, łączący się z serwerami Absolute Software. Jeśli nie, wstrzyknie kod do procesów systemowych, w tym Internet Explorera, by na komputer pobrane zostały odpowiednie komponenty. Mechanizm ten jest o tyle interesujący, że zwykle takie zabiegi przeprowadzają szkodliwe programy, a nie godne zaufania narzędzia zabezpieczające. Ponieważ LoJack jest dobrze znanym w branży narzędziem, programy antywirusowe przymykały oko na te zachowania.
W maju pojawiły się pierwsze próbki procesu agenta rpcnetp.exe LoJacka ze złośliwym kodem. Zamiast z serwerami Absolute Software, łączyły się z domeną atakujących, zmieniony został też harmonogram połączeń. Cyberprzestępcy wykorzystali tu fakt, że adres serwera kontrolującego został na stałe zapisany w kodzie i zaszyfrowany dość prostym szyfrem (XOR z jednoznakowym kluczem). Przygotowanie szkodliwej wersji wymagało minimalnych zmian, liczących kilkadziesiąt bajtów, dzięki czemu agent był niemal nie do odróżnienia od oryginału i wiele antywirusów nie zwracało na niego uwagi.
To jednak nie koniec ataku. Poza zmodyfikowanym agentem specjaliści znaleźli też narzędzie odczytujące firmware oraz zdolne odczytać i nadpisać zawartość pamięci SPI Flash. Odkrycie info_efi.exe było pierwszą wskazówką, że może istnieć permanentny moduł UEFI, będący częścią zagrożenia LoJax. Ostatnim elementem układanki był program ReWriter_binary.exe, którego celem było zmodyfikowanie i nadpisanie firmware'u komputera na podstawie zdobytego wcześniej obrazu. Umieszczony tam malware poszukuje zapisów dotyczących sterowników DXE i zamienia je na szkodliwe. Jeśli to możliwe, nadpisuje zmodyfikowany firmware. Na koniec obraz UEFI jest ponownie odczytywany i sprawdzana jest jego poprawność. Na partycji NTFS lądują pliki rpcnetp.exe i autoche.exe, a w rejestrze zmieniany jest wpis, by uruchomić drugi z nich przy starcie systemu Windows.
LoJax został prawdopodobnie opracowany przez dobrze znaną grupę Sednit (APT28, Sofacy, Strontium albo Fancy Bear), stojącą między innymi za atakiem na Departament Sprawiedliwości USA i znanej ze sporego wachlarza szkodliwych narzędzi. Wskazuje na to fakt, że serwery Command & Control, z którymi się łączy, były używane we wcześniejszych kampaniach grupy. LoJax występował też w parze z innymi typami malware, używanymi przez Sednit.
LoJax został odkryty i przeanalizowany w laboratorium Eseta. Badaczom udało się zdobyć kilka próbek, a analiza telemetrii wykazała, że był on używany dość rzadko. Celami były głównie maszyny rządowe na Bałkanach, w Europie środkowej i wschodniej. Według specjalistów z firmy jest to najważniejsze odkrycie w tym roku nie tylko wśród nich, ale i w całej branży cyberbezpieczeństwa. Według analityków Eseta przed atakiem tego typu może obronić nas włączony Secure boot, sprawdzający sygnatury wszystkich komponentów firmware'u. Sporo zależy też od producentów płyt głównych, którzy konfigurują zabezpieczenia.
Pomysł atakowania UEFI nie jest oczywiście nowy. Specjaliści opisywali takie ataki jak rootkit rkloader i implant uruchamiania Vault7, mający atakować komputery firmy Apple z EFI i UEFI. Grupa Sednit używała 5 lat temu podobnego mechanizmu do instalacji bootkitu Downdelph, ale ten atak nie jest już możliwy dzięki poprawkom w zabezpieczeniach UEFI. LoJax jednak jest pierwszym zagrożeniem, które wyszło poza teorię i skutecznie zaatakowało komputery. Znane są przynajmniej 2 przypadki maszyn, gdzie rootkit został zainstalowany także w UEFI.