Niewykrywalny rootkit dla czipów Intela. Wykorzystano lukę tkwiącą w x86 od 18 lat

Tegorocznej konferencji BlackHat nie można uznać za nudną.Jednym z najciekawszych jej punktów była prezentacja ChristopheraDomasa z Battelle Memorial Institute, który pokazał, jak możnawykorzystać funkcję wprowadzoną 18 lat temu do mikroprocesorówIntela, by zainstalować w BIOS-ie rootkit, a nawet zdalnie zniszczyćkomputer. Tego typu malware jest praktycznie niewykrywalne dlanarzędzi antywirusowych.

10.08.2015 13:49

Zagrożenie kryje się w System Management Mode (SMM), któryzadebiutował w specjalnych wersjach procesorów Intel 80386. To trybdziałania, w którym wszystkie normalne operacje (włącznie zaktywnością systemu operacyjnego) zostają zawieszone, podczas gdyuruchomione zostaje specjalne oprogramowanie, będące częściąfirmware lub np. sprzętowych debuggerów. Jego główną zaletąmiało być zapewnienie producentom sprzętu łatwego do izolacjiśrodowiska, niezależnego od systemu operacyjnego i dającego pełnydostęp do hardware. Przez SMM mamy dostęp do wszystkich zdarzeńsystemowych, możemy kontrolować zarządzanie energią i parametrychłodzenia, zarządzać uśpieniem, emulować urządzeniazewnętrzne, kontrolować flashowanie BIOS-a itp.

Obraz

Po raz pierwszy metodę wykorzystania SMM do uruchomienia rootkitupokazanosiedem lat temu, też na konferencji BlackHat. Zaprezentowany wówczasszkodnik potrafił działać poza systemem operacyjnym, łącząc siębezpośrednio z interfejsem karty sieciowej, by potajemniekomunikować się ze światem, był jednak zależny od konkretnegomodelu sprzętu, tak że uznano go raczej za ciekawostkę akademicką,niż za uniwersalne zagrożenie. A jak jest teraz?

Według Christophera Domasa, odkryty przez niego atak jestznacznie bardziej uniwersalny. W swojej pracypt. The Memory Sinkhole pisze:

W świecie x86, poza pierścieniem 0 leżą bardziejuprzywilejowane domeny uruchomieniowe, gdzie kod jest niewidzialnydla antywirusów, gdzie mamy nieograniczony dostęp do sprzętu,gdzie modyfikowanie z wyprzedzeniem zachowań systemu jest trywialniełatwe. Architektura ta nagromadziła całe warstwy zabezpieczeń natych „negatywnych” pierścieniach, lecz 40 lat ewolucji x86pozostawiło w nich labirynt zapomnianych furtek, prowadzących doultrauprzywilejowanych furtek. Zagubiony w bizantyjskiej konstrukcjiz mających dziesiątki lat usprawnień i łatek spoczywa błądprojektowy, którego nie zauważono przez 20 lat. Wykorzystującogromne, niezbadane pustkowia zapomnianych funkcji x86 pokazujemy,jak wyprowadzić złośliwy kod z pierścienia 0 w najgłębsze,najciemniejsze zakamarki procesora. Atak przeprowadzony jest poprzezlukę 0-day tkwiącą w samym krzemie, przeciwko podatnemuoprogramowaniu powszechnie używanemu na współczesnych systemach.

Przedstawiony kod pozwalać ma na przeniesienie złośliwegoładunku z pierścienia 0 (trybu kernela) niżej, do pierścieni -1 i-2 (SMM), oddając napastnikowi całkowitą kontrolę nad maszyną.Wykorzystuje w tym celu sztuczkę związaną z kontrolerem przerwańx86 (APIC), który kiedyś, by rozwiązać starą usterkę, otrzymałmożliwość odwzorowania rejestrów do innego obszaru pamięci.Niespodziewanie dla Intela, pozwoliło to na uzyskanie dostępu dobezpiecznego obszaru pamięci System Management RAM, gdzie znajdowaćsię ma kod SMM. Nie jest to łatwe, nie ma możliwościbezpośredniego kontrolowania danych APIC, ale w końcu badaczowiudało się znaleźć sposób na „zanurzenie” kodu działającegow pierścieniu 0 głębiej, za pomocą takich operacji relokacjirejestrów. Taki atak jest w stanie obejść wszelkie zabezpieczeniatypu SecureBoot, gdyż są one zależne w swoim działaniu od SMM.

Nawet kernel nie ma takich przywilejów, jak kod realizowany w pierścieniu -2 (źródło: Wikimedia)
Nawet kernel nie ma takich przywilejów, jak kod realizowany w pierścieniu -2 (źródło: Wikimedia)

Na atak ma być podatnych ponad 100 mln maszyn, choć jegoprzeprowadzenie nie jest łatwe – najpierw należy uruchomić nakomputerze ofiary kod z uprawnieniami kernela. Uważa się, że takiatak mógłby być stosowany przez mających wsparcie instytucjipaństwowych hakerów, mogących skorzystać z operacji w terenie,włamania do domu ofiary i uruchomienia na jej komputerzeszpiegowskiego oprogramowania. Intel jest świadomy problemu, i jakstwierdził Domas, w najnowszych jego procesorach atak już niedziała. Niektóre starsze modele czipów, które będzie możnazałatać, otrzymają aktualizację firmware.

A co z procesorami AMD? Tu badacz przyznaje, że jego exploit niezostał na nich przetestowany. Uważa jednak, że czipy x86 zrobioneprzez „czerwonych” też powinny być na atak podatne.

Użytkownikom pozostaje jedynie pilnować się, by czasem niedostać złośliwego oprogramowania działającego na poziomie jądra– bo jeśli napastnikom uda się zastosować atak opisany przezDomasa, to już malware takiego nie usuną.

Programy

Zobacz więcej
Wybrane dla Ciebie
Komentarze (36)