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

Rosjanie zneutralizowali Intel Management Engine: pomógł sekretny bit NSA

Strona główna AktualnościBEZPIECZEŃSTWO

Odkrycie w maju tego roku w zabezpieczeniach Intel Management Engine (IME) luki, która pozwalała na zdalne przejęcie kontroli nad milionami pecetów korzystających z tej technologii zarządzania ponownie wywołało zainteresowanie kwestią tkwiącego w czipsetach Intela komputera-w-komputerze, nad którym użytkownik nie ma żadnej kontroli. Wygląda na to, że nie tylko zwykli użytkownicy mieli wątpliwości co do IME, ale też amerykańskie władze federalne. Najwyraźniej to na ich życzenie Intel zmuszony został do wbudowania w IME tajnego wyłącznika, neutralizującego tę technologię.

Badacze z moskiewskiej firmy Positive Technologies odkryli w firmware Intela nieudokumentowane ustawienie, które pozwala całkowicie wyłączyć Intel Management Engine w jego najnowszej wersji 11 (czipsety procesorów Skylake i Kaby Lake). Spełnia to więc w pełni postulat, jaki postawiła Electronic Frontier Foundation, wzywając Intela do udostępnienia sposobu na wyłączenie tego kontrolera naszych komputerów, który może stać się ogromnym zagrożeniem dla bezpieczeństwa, nawet przy założeniu dobrej woli producenta.

ME_cleaner tylko na starsze platformy?

Istniało oczywiście już wcześniej rozwiązanie opracowane przez społeczność – ME_cleaner, kasujący wszystkie moduły Management Engine poza rdzeniem niezbędnym do rozruchu. Z wyrwanymi w ten sposób „zębami”, Management Engine pozostaje niegroźnym procesem, niezdolnym do interakcji z systemem. Co najważniejsze, takie rozwiązanie nie alarmuje software’owego wyłącznika komputera, który wyszukuje podpisanego manifestu firmware ME, a jeśli go nie znajdzie, to wyłącza komputer po 30 minutach.

r   e   k   l   a   m   a

Sęk w tym, że w wielu sytuacjach zastosowanie ME_cleanera mogło doprowadzić do przekształcenia płyty głównej w przycisk do papieru. Electronic Frontier Foundation przyznawało więc, że realne rozwiązanie problemu kontrolera naszych komputerów, zawierającego podobno nawet takie atrakcje jak moduł DRM dla wideo, wymaga współpracy Intela.

To czego Intel nie chciał zrobić dla swoich użytkowników, zrobił dla amerykańskiej władzy. Rosyjscy badacze Dmitrij Skliarow, Mark Ermołow i Maksym Gorjaczij zaprezentowali sposób na całkowite wyłączenie Intel ME 11. Czemu nie poprzednich wersji? Wiąże się to ze zmianą architektury IME: technologią tą steruje już nie stary mikrokontroler ARC na niszowym systemie operacyjnym ThreadX, lecz The Minute IA, będący nieco przerobionym procesorem 80486, na którym działa przerobiony system MINIX. Ta nowa platforma jest po prostu znacznie łatwiejsza do ogarnięcia przez badaczy znających się na architekturze x86.

Nie tylko bardziej przyjazna dla badaczy platforma ułatwiła pracę badaczy. Obecnie Intel oferuje producentom płyt głównych specjalistyczne oprogramowanie do modyfikowania niektórych parametrów pracy Management Engine i bezpośredniego programowania pamięci flash. Jak się można spodziewać, programy te wyciekły szybko do Internetu. I to właśnie analiza pozwoliła ujawnić strukturę firmware ME i jego połączenia z czipem Platform Controller Hub (PCH). Z niej też odczytano liczne bity konfiguracyjne dla zintegrowanych z PCH podsystemów. Jeden z nich nazywa się „reserve_hap” i towarzyszy mu ciekawy komentarz: High Assurance Platform (HAP) enable.

Wystarczyło skorzystać z Google, by odkryć, że High Assurance Platform to pilotowany przez amerykańską Narodową Agencję Bezpieczeństwa (NSA) program budowy zaufanej platformy systemowej. Kto mógłby się oprzeć włączeniu HAP? Na pewno nie rosyjscy badacze – wystarczy przecież programator SPI.

Krajobraz po zmianie

Zmiana bitu przyniosła zmianę trybu pracy Management Engine. Narzędzie MEInfo zwróciło m.in. informację: ModeOfOperation: Alt Disable Mode. Od tej pory kontroler Intela przestał odpowiadać na jakiekolwiek polecenia czy żądania od systemu operacyjnego komputera. Ale co właściwie działo się w samym Management Engine? Cierpliwa analiza firmware pokazała, że pod koniec procesu rozruchowego, sprawdzany jest stan HAP – i jeśli jest on włączony, przerywana jest praca modułu BringUP (BUP), zajmującego się inicjalizacją całego środowiska sprzętowego platformy.

Z ustaleń badaczy wynika, że aby na dobre zneutralizować Management Engine, należy kolejno ustawić bit HAP, następnie usunąć lub uszkodzić wszystkie moduły poza tymi używanymi podczas rozruchu przez BUP – tj. RBE, KERNEL, SYSLIB i dBUP. Następnie należy naprawić sumę kontrolną nagłówka – i to wszystko.

W efekcie uzyskujemy całkowicie zneutralizowane Management Engine dla architektur Skylake i Kaby Lake, które się nie zawiesza: HAP wyłącza ME na wystarczająco wczesnym etapie. Tak samo ME nie jest w stanie wyjść z tego stanu, nie znaleziono w pozostawionych modułach żadnego kodu, który by na to pozwalał.

Bardzo ciekawie na tym tle wygląda odpowiedź udzielona Rosjanom przez Intela w sprawie High Assurance Platform:

W odpowiedzi na żądania klientów o specjalnych wymaganiach czasami sprawdzamy modyfikacje lub wyłączenia pewnych funkcjonalności. W tym wypadku modyfikacje zostały wprowadzone na żądanie producentów sprzętu, dla wsparcia rządowego programu High Assurance Platform. Te modyfikacje przeszły ograniczony cykl walidacji i nie są oficjalnie wspieraną konfiguracją.

Cóż, wygląda na to, że władze USA uznały, że Management Engine jest zagrożeniem dla bezpieczeństwa danych – przynajmniej na rządowych desktopach. Wersje serwerowe oraz mobilne Management Engine nie obsługują takiego wyłącznika.

Z całą analizą ekspertów z Positive Technologies możecie zapoznać się na ich blogu.

© 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.