Luka w Windows wykryta po 17 latach

Luka w Windows wykryta po 17 latach21.01.2010 14:54
Luka w Windows wykryta po 17 latach
Źródło zdjęć: © heise-online.pl

W ostatnich dniach Microsoft nie ma lekko. Po niezałatanej luce w Internet Explorerze znaleziono jeszcze jedną usterkę w Windows, za pośrednictwem której użytkownik z ograniczonymi prawami może uzyskać uprawnienia systemowe – i to prawdopodobnie na wszystkich 32-bitowych wersjach od Windows NT 3.1 aż po Windows 7. O ile u użytkowników indywidualnych ta luka odgrywa jedynie niewielką rolę, administratorzy w sieciach firmowych w tym tygodniu będą mieli sporo roboty.

Problem

Przyczyną tego problemu są błędy we wprowadzonej w 199. roku Virtual DOS Machine (VDM) do obsługi programów 16-bitowych (programy Real Mode dla 8086). VDM opiera się na trybie wirtualnym 8086 (VM86) procesorów 80386 i między innymi obsługuje żądania dostępu do sprzętu takie jak wywołania BIOS. Należący do ekipy specjalistów od bezpieczeństwa Google'a Tavis Ormandy znalazł w implementacji kilka słabych punktów, za pomocą których nieuprzywilejowany program 16-bitowy, posługując się kilkoma sztuczkami, może zmanipulować stos kernela należący do każdego z procesów.

W ten sposób możliwe staje się wykonanie własnego kodu na prawach systemowych.

Zagrożenie

Ormandy opublikował także exploit dla tej luki, który działa w systemach: Windows XP, Windows Server 200. i 2008, Windows Vista i Windows 7. W testach redakcji heise Security exploit dla Windows XP i Windows 7 otwierał konsolę linii poleceń w kontekście systemowym, a więc z najwyższymi uprawnieniami.

Rozwiązanie

Na razie nie ma łaty dla tej luki, mimo że według Ormandy'ego Microsoft został o niej poinformowany już w połowie ubiegłego roku.

Obejścia

Ormandy postanowił jednak opublikować informacje o słabym punkcie, ponieważ jego zdaniem obejście tego problemu jest łatwe do wykonania: trzeba po prostu wyłączyć podsystem MSDOS.

W tym celu należy uruchomić edytor zasad grupowych (Zasady grupy) i w drzewie Konfiguracja komputera | Konfiguracja użytkownika | Zgodność aplikacji włączyć opcję Zapobiegaj dostępowi do aplikacji 16-bitowych:

288772099320395923
Źródło zdjęć: © (fot. heise-online.pl)

W teście heise Security z tymi ustawieniami systemu Windows 7 Ultimate exploit nie był w stanie dalej działać. Taka zmiana konfiguracji u większości użytkowników nie powinna wiązać się z żadnymi problemami z kompatybilnością, o ile tylko nie używa się już programów 16-bitowych.

Wyłączenie wyżej wymienionej opcji w Edytorze Polityki Systemu jest możliwe dopiero od wersji systemu Windows 2003. Poza tym niektóre wydania Okien nie mają tego edytora.

Alternatywnym obejściem może być więc utworzenie klucza w Rejestrze \HKEYLOCALMACHINE\SOFTWARE\Policies\Microsoft\Windows\AppCompat i ustawienie w nim D-Word VDMDisallowed = 1.

W systemie XP exploit przestaje wtedy działać. Dodawanie klucza można zautomatyzować, tworząc plik vdmdisallow.reg o następującej zawartości:
Windows Registry Editor Version 5.00
[HKEYLOCALMACHINE\SOFTWARE\Policies\Microsoft\Windows\AppCompat]

"VDMDisallowed"=dword:00000001

Podwójne kliknięcie w utworzony zbiór (wymagane są uprawnienia administracyjne) wprowadza potrzebne zmiany.

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