Strona głównaWiadomościOprogramowanieWindows: 20-letnia dziura w zabezpieczeniach systemu

Windows: 20-letnia dziura w zabezpieczeniach systemu

O tym, że systemy z rodziny Windows są dziurawe jak sito, zdaje sobie sprawę wielu użytkowników. Kolejne zidentyfikowane luki w zabezpieczeniach Microsoft łata w każdej aktualizacji. Jednak jedna taka dziura została odkryta dopiero po 20 latach, a była bardzo poważna.

Pełnoletnią dziurę w zabezpieczeniach systemów Windows odkrył jeden z członków Google Project Zero – Travis Ormandy. Pozwalała ona na nadanie uprawnień użytkownikowi do poziomu SYSTEM. Problem po raz pierwszy pojawił się w systemie Windows XP i był przenoszony do każdej kolejnej wersji Windows aż do dziesiątki.

Zobacz: Windows otrzyma przywracanie systemu z kopii w chmurze. Wersja preview ma już odpowiednie wpisy…

Dlaczego jej wykrycie zajęło aż 20 lat? Powód okazał się błahy, nikt nie spodziewał się hiszpańskiej inkwizycji dziury w miejscu, które musi być bardzo dobrze zabezpieczone.

Na czym to polega?

Okna otwarte w systemie Windows komunikują się pomiędzy sobą. Co więcej aplikacje mogą zostać uruchomione z różnymi poziomami uprawnień np. administratora systemu, użytkownika. W takiej sytuacji, aby zablokować możliwość wykorzystania programu z wyższymi uprawnieniami jako furtki do akcji wkracza mechanizm User Interface Privilege Isolation blokując komunikację pomiędzy oknami.

Jednak Travis odkrył błąd, który pozwala na przesyłanie komend z aplikacji o niskich uprawnieniach do tej o wyższych uprawnieniach. User Interface Privilege Isolation powinien to zablokować, niestety blokady działały wybiórczo. Przyczyną problemu okazał się komponent MSCTF, będący istotnym elementem systemu.

Biblioteka ta odpowiada za tworzenie wiadomości oraz zmienianie ich filtrów. Wychodzi na to, że CTF jest częścią Windows Text Servicies Framework. TSF odpowiada za metody wprowadzania, układy klawiatury, procesowanie tekstu i tak dalej. (…) Wystarczy powiedzieć, że jest on bardzo rozbudowany oraz złożony. Mechanizm CTF został stworzony do obsługi LPC w systemach Windows NT i przemianowany na ALPC w systemie Vista. Widać w nim elementy kodu naznaczone decyzjami projektowymi z przeszłości.

Mówiąc krótko aplikacja ma dużo kodu jaki pozostał ze starszych wersji systemów, a to powoduje problemy. CTF zwyczajnie „nie rozumie” części swojej roboty jaką jest uwierzytelnianie procesów.

Dowolna aplikacja, dowolny użytkownik, a nawet proces uruchomiony w izolowanym środowisku mogą podpiąć się do dowolnej sesji CTF. Mają one po prostu przedstawić swój identyfikator wątku, procesu oraz „uchwyt okna” (HWND), jednak nie ma żadnej autentykacji przez co można najzwyczajniej w świecie kłamać.

Przykład wykorzystania luki zobaczycie na poniższym materiale:

Zobacz: Microsoft przez przypadek pokazał nowy wygląd menu start w Windows 10

Oficjalnie Microsoft pozbył się już problemu, jednak Ormady nie jest o tym do końca przekonany.

Czekali dosłownie do ostatniego momentu, nie miałem możliwości przejrzeć tych aktualizacji. Rozumiem, że łatanie nie będzie jeszcze kompletne, jednak powinno naprawiać najważniejsze wektory. Nie widziałem jeszcze aktualizacji, wiec nie mam pewności. Wychodzi na to, że dało się komunikować między sesjami oraz naruszać granice bezpieczeństwa w NT przez prawie dwadzieścia lat i nikt tego nie zauważył. Teraz gdy powstały odpowiednie narzędzia trudniej będzie się takim błędom ukrywać.

Jak na razie Microsoft nie wdaje się w dyskusje i nie komentuje całej sytuacji. Miejmy nadzieje, że odkrycie tej luki nie spowoduje wylania szamba i odkrycia kolejnych tego typu błędów w zabezpieczeniach.

Bądź na bieżąco

Obserwuj GamingSociety.pl w Google News.

SoSlowGamer
Redaktor, szef działu retro

ZOSTAW ODPOWIEDŹ

Treść komentarza
Wpisz swoje imię