Ochrona przed rootkitami w Windows 10 zneutralizowana technologią Intela

Strona głównaOchrona przed rootkitami w Windows 10 zneutralizowana technologią Intela
25.06.2017 15:00
Ochrona przed rootkitami w Windows 10 zneutralizowana technologią Intela

Kernel Patch Protection, znana także jako PatchGuard, totechnologia wprowadzona w 64-bitowych wersjach Windowsa, którauniemożliwia wprowadzenie łatek do jądra systemu przez np.sterowniki napisane przez strony trzecie. Było to relatywnie łatwew 32-bitowych Windowsach i wykorzystywane zarówno przez malware, jaki programy zabezpieczające. 64-bitowy system, w razie wykryciamodyfikacji, zwraca błąd CRITICAL_STRUCTURE_CORRUPTION,wyświetlając Niebieski Ekran Śmierci i wyłączając system.Pomysł dobry, nie ma dobrego uzasadnienia tego, by sterownikiurządzeń, które w Windowsie działają z takimi samymi prawami jakkernel, mogły modyfikować centralny element systemu. Niestetyokazało się, że możliwe jest ominięcie tego zabezpieczenia –podatne są na ten atak wszystkie komputery z procesorami IntelBroadwell i Skylake.

Badacze z firmy CyberArk chwalą się odkryciem nowej metodywpinania dowolnego kodu w jądro systemu Windows 10, co pozwala nazaatakowanych komputerach zainstalować własne rootkity, by w tensposób uzyskać stan trwałej infekcji, nieusuwalnej iniewykrywalnej przez oprogramowanie antywirusowe. Nadano jej nazwę„GhostHook” – i niestety nie ma sposobu, by się przed niąuchronić. Microsoft może tylko bezsilnie rozłożyć tu ręce,problem dotyczy bowiem architektury nowych mikroprocesorów Intela.

W procesorach Intel Broadwell wprowadzono mechanizm rozszerzającyarchitekturę o nazwie Intel Processor Trace (Intel PT). To sprzętowytracer gromadzący dane o wykonywaniu kodu i przechowujący je wpakietach danych, które można następnie zbadać w programowymdekoderze.

Pakiety te zawierają wszystkie informacje o czasie i przepływieprogramu, jak również jego wpływie na tryby pracy sprzętu.Przechowywane są w wewnętrznym buforze, a następnie przesyłane dopamięci zewnętrznej, skąd można je załadować do debuggera.Pomysł znalazł zastosowanie w monitorowaniu i diagnostyceoprogramowania, wykrywaniu błędów metodą fuzzingu oraz analizieszkodników – jedynie bezpieczne kontenery Software GuardExtensions (SGX) są dla takiego sprzętowego tracera Intel PTniewidzialne.

Intel PT: miecz obusieczny

Technologię tę można jednak też wykorzystać w złych celach,nadużywając mechanizmu informowania o przepełnieniu bufora, abyprzejąć kontrolę nad wykonywaniem wątka. Kasif Dekel na firmowymbloguCyberArk opisuje krok po kroku proces ataku:

Przypisuje się pakietom PT ekstremalnie mały bufor, tak byprocesorowi szybko skończyło się miejsce i skoczył do uchwytuprzerwania monitorującego wydajność (PMI) – to fragment kodukontrolowanego przez napastnika, poprzez który dokonane zostaniewpięcie w jądro.

Następnie uruchamia się Intel PT, by śledził określony obszarkodu kernela – interesującą napastnika funkcję. Gdy bufortracera się przepełni, procesor przerywa jego działanie i wywołujewspomniany uchwyt PMI w kontekście uruchomionego wątku. W tymmomencie możliwa staje się zmiana kontekstu wykonania kodu, wpraktyce równoważna z umieszczeniem swojej łatki w kernelu.Implementacja ataku przeprowadzonego przez CyberArk otworzyła drogędo sytuacji hazardu (race condition) – i wpięcia swojego kodu dokernela z poziomu aplikacji działającej w trybie użytkownika.

350201557893605313

Zabezpieczenie? Kiedyś może będzie

Microsoft otrzymał oczywiście wcześniej pełen raport o tymodkryciu, ale co może zrobić? Próbuje jedynie zachować dobrąminę do złej gry. W oficjalnej odpowiedzi zespół bezpieczeństwaz Redmond napisał, że nie uznaje tego za zagrożenie, które trzebabyłoby łatać w przyszłych uaktualnieniach systemu. Problem możejednak zostać rozwiązany… w przyszłych wersjach Windowsa.

CyberArk komentuje sprawę następująco: Microsoft wydaje sięnie rozumieć, że PatchGuard jest komponentem kernela, którego niepowinno się obchodzić, ponieważ PatchGuard blokuje rootkity przednp. wpinaniem się w SSDT (System Service Descriptor Table, tabelawskaźników funkcji zajmujących się obsługą podstawowych wywołańsystemowych – przyp. red.), nie przed wykonywaniem kodu w trybiekernela.

W praktyce Windows 10 będzie wciąż podatne na rootkitywprowadzane przez szkodniki, które zdołały obejść antywirusy –każda infekcja może zamienić się w nieusuwalne zagrożenie. Wartowspomnieć, że nie jest to pierwszy raz, gdy stworzony przez Intelamechanizmzarządzający został wykorzystany do złośliwych celów.

Programy

Aktualizacje
Aktualizacje
Nowości
Oceń jakość naszego artykułuTwoja opinia pozwala nam tworzyć lepsze treści.
Udostępnij:
Wybrane dla Ciebie
Komentarze (62)