Łatka Microsoftu na lukę w procesorze pozwoliła na łatwy atak na Windows 7

Łatka Microsoftu na lukę w procesorze pozwoliła na łatwy atak na Windows 7
28.03.2018 12:11
Łatka Microsoftu na lukę w procesorze pozwoliła na łatwy atak na Windows 7

W styczniu Microsoft wydał łatkę KB4056892, uodparniającąjego systemy operacyjne na atak Meltdown, czyli możliwośćodczytania chronionej pamięci kernela przez zwykłą aplikację.Wiązało się to jednak z ogromnymi zmianami w architekturzepamięci, całkowitym odseparowaniem od siebie pamięci kernela iprzestrzeni użytkownika (ASLR/VA Isolation). Działając w pospiechufirma z Redmond zdołała powstrzymać zagrożenie ze stronyMeltdown, ale jednocześnie wprowadziła do Windowsa 7 zagrożeniedaleko gorsze. Po jej zainstalowaniu możliwe stało się odczytaniei zapisywanie przez dowolny proces całej zawartości fizycznejpamięci.

Odkrycie szwedzkiego badacza Ulfa Friska jest o tyle interesujące,że błąd popełniony przez programistów Microsoftu jest wręczpodręcznikowy – i możemy tylko się dziwić, że nikt (?) tegonie zauważył wcześniej. Do wyexploitowania nie potrzeba żadnychwyrafinowanych operacji na API Windowsa czy nadużywania wywołańsystemowych, wystarczą standardowe operacje odczytu i zapisu.

Możliwe stało się to przez błędne ustawienie uprawnieńdostępu we wpisie PML4, który stanowi podstawę czteropoziomowejhierarchii stron pamięci, wykorzystywaną przez jednostkęzarządzania pamięcią procesora do translacji adresów pamięciwirtualnej na adresy fizyczne. W Windowsie 7 wpis ten ma stałąpozycję, znajdziemy go w pamięci normalnie dostępnej tylko dlakernela.

Łatka KB4056892 zmieniła uprawnienia dostępu w tym miejscu znadzorcy (supervisor) na użytkownika (user). Oznacza to, że PML4zostało odwzorowane na każdy proces, także ten działający wtrybie użytkownika, pozwalając mu na dowolny dostęp do stronpamięci – a co za tym idzie, pełen dostęp do fizycznej pamięcikomputera (chyba że chroniona byłaby akurat przez wykorzystywany wwirtualizacji mechanizm Extended Page Tables).

W nowszych wersjach Windowsa problem ten nie występuje, ponieważlokalizacja PML4 jest tam losowa. Użytkownicy Windowsa 7, którzynie mają jeszcze marcowych łatek bezpieczeństwa w systemie, mogąjednak przekonać się sami co warte są zabezpieczenia ich systemu,uruchamiając narzędzie PCILeech,zgodnie z tym poradnikiem.Wystarczy wydać polecenie pcileech.exe -device totalmeltdown, bynowy atak, wbudowany już w tego toolkita zrzucił pamięć.

Pełny dostęp do pamięci dla każdego procesu w Windows 7
Pełny dostęp do pamięci dla każdego procesu w Windows 7

Ulf Frisk pokazujeteż na łamach swojego bloga jak korzystając z wirtualnego systemuplików Dokany zamontować procesy jako pliki i foldery w systemieplików pamięci, a następnie przeprowadzać na nich modyfikacje.

Jak się zabezpieczyć?

Na atak podatni są użytkownicy Windowsa 7, którzy zainstalowaliłatki Microsoftu wydane w styczniu 2018 roku, a nie instalowalijeszcze łatek z marca 2018 roku. Ostatnie wydanie poprawek dostępnepoprzez Windows Update likwiduje tę koszmarną wpadkę. Innewspierane wersje Windowsa są na wspomniany atak całkowicie odporne.

Programy

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