r   e   k   l   a   m   a
r   e   k   l   a   m   a

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

Strona główna AktualnościOPROGRAMOWANIE

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

Zagrożenie kryje się w System Management Mode (SMM), który zadebiutował w specjalnych wersjach procesorów Intel 80386. To tryb działania, w którym wszystkie normalne operacje (włącznie z aktywnością systemu operacyjnego) zostają zawieszone, podczas gdy uruchomione 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łny dostęp do hardware. Przez SMM mamy dostęp do wszystkich zdarzeń systemowych, możemy kontrolować zarządzanie energią i parametry chłodzenia, zarządzać uśpieniem, emulować urządzenia zewnętrzne, kontrolować flashowanie BIOS-a itp.

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

r   e   k   l   a   m   a

Według Christophera Domasa, odkryty przez niego atak jest znacznie bardziej uniwersalny. W swojej pracy pt. The Memory Sinkhole pisze:

W świecie x86, poza pierścieniem 0 leżą bardziej uprzywilejowane domeny uruchomieniowe, gdzie kod jest niewidzialny dla 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ń na tych „negatywnych” pierścieniach, lecz 40 lat ewolucji x86 pozostawiło w nich labirynt zapomnianych furtek, prowadzących do ultrauprzywilejowanych furtek. Zagubiony w bizantyjskiej konstrukcji z mających dziesiątki lat usprawnień i łatek spoczywa błąd projektowy, którego nie zauważono przez 20 lat.

Wykorzystując ogromne, 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 poprzez lukę 0-day tkwiącą w samym krzemie, przeciwko podatnemu oprogramowaniu 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 do bezpiecznego obszaru pamięci System Management RAM, gdzie znajdować się ma kod SMM. Nie jest to łatwe, nie ma możliwości bezpośredniego kontrolowania danych APIC, ale w końcu badaczowi udało się znaleźć sposób na „zanurzenie” kodu działającego w pierścieniu 0 głębiej, za pomocą takich operacji relokacji rejestrów. Taki atak jest w stanie obejść wszelkie zabezpieczenia typu SecureBoot, gdyż są one zależne w swoim działaniu od SMM.

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

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

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

© dobreprogramy
r   e   k   l   a   m   a
r   e   k   l   a   m   a

Komentarze

r   e   k   l   a   m   a
r   e   k   l   a   m   a
Czy wiesz, że używamy cookies (ciasteczek)? Dowiedz się więcej o celu ich używania i zmianach ustawień.
Korzystając ze strony i asystenta pobierania wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.