WMF: tak miało być?

Najnowszy problem z bezpieczeństwem w systemach Windows to nie dziura, lecz jak zwykle funkcja.

Najnowszy problem z bezpieczeństwem w systemach Windows to nie dziura, lecz jak zwykle funkcja.

Luka w bezpieczeństwie związana z plikami w formacie Windows Meta File (WMF) nie jest tak do końca rezultatem odkrycia błędu programistycznego, a raczej odkryciem dawno zapomnianej funkcji Windows - twierdzą specjaliści z firmy F-Secure. Pod względem stopnia zagrożenia owa "funkcja" dorównuje największym dziurom w historii systemów Windows. Jej charakter klasyfikuje ją gdzieś pomiędzy możliwą do wykorzystania zdalnie dziurą w RPC DCOM a licznymi dziurami w MSIE i Outlooku, pozwalającymi na uruchomienie kodu bez wiedzy użytkownika. Zdaje się, że czeka nas nowa fala zagrożeń związana z systemami Windows.

Funkcja z dawnych lat

Specjaliści z F-Secure zauważyli, że dziura w WMF wcale nie jest dziurą - w rzeczywistości do wywołania złośliwego kodu wykorzystywana jest "legalna" funkcja przypisana do tego formatu w Windows. Konkretnie chodzi o funkcję Escape i jej podfunkcję SetAbortProc będące częścią standardowego Windows GDI (Graphics Device Interface). Funkcja ta oferowała programiście możliwość zakończenia zadania drukarki. Technicznie odbywało się to tak, że sam obrazek w formacie WMF mógł zawierać wykonywalny kod, który był następnie wskazywany do wywołania przez funkcję SetAbortProc.

Z punktu widzenia bezpieczeństwa brzmi to przerażająco, lecz należy pamiętać, że format WMF został stworzony w latach 80. Były to czasy, kiedy system Windows - jeśli przy logowaniu podano błędne hasło - pytał "czy nie możesz przypomnieć sobie hasła?" i... usłużnie oferował jego zmianę. Niestety, fakt odkrycia tej funkcji w oficjalnym API Windows w 2006 r. oznacza, że prawdopodobnie podatne są na nią wszystkie znane wersje Windows opublikowane od połowy lat 80. do dziś.

Czekając na łatkę

Opublikowanie oficjalnej poprawki zajmie nieco czasu - najwcześniej pojawi się ona 9 stycznia br. Na razie Microsoft oferuje tymczasową łatkę, którą można pobrać pod adresem:http://www.microsoft.com/technet/security/advisory/912840.mspx . Sytuację pogarsza fakt, że 31 grudnia opublikowany został nowy generator plików WMF pozwalający na przesyłanie exploita w zmutowanych wersjach, których skanery antywirusowe nie są w stanie wykryć.

Do tego czasu można sobie poradzić za pomocą wyrejestrowania feralnej biblioteki, co jednak spowoduje pewną utratę funkcjonalności związanej z wbudowanymi w system narzędziami do przeglądania i drukowania zdjęć i faksów. Drugie rozwiązanie to nieoficjalna łatka opublikowana na witrynie HexBlog, której autorem jest Ilfak Guilfanov - ten sam, który w latach 90. stworzył legendarny disassembler IDA. Stworzona przez niego poprawka instaluje się jako biblioteka rezydentna i przechwytuje wszystkie odwołania do feralnej funkcji SetAbortProc, blokując je.

Poprawka została przetestowana przez F-Secure tylko na głównych wersjach Windows, niemniej firma ta twierdzi, że działa i jest bezpieczna. W tej szczególnej sytuacji łatka ta doczekała się nawet apelu od zespołu SANS, który przekonuje, że warto ją zainstalować i to nawet w firmach, których polityka dopuszcza tylko oficjalne poprawki Microsoftu.

Bezpiecznie nie będzie

Jak pokazuje historia, po takim pionierskim odkryciu nowej klasy ataków do pracy przystępują od razu rzesze bezimiennych włamywaczy, którzy drążą temat i wyszukują nowych, podobnych luk. W ciągu kolejnych miesięcy będziemy mieć zapewne kilka powtórek z rozrywki związanych z dawno zapomnianymi funkcjami Windows API.


TOP 200