01 lipca 2010

Po ostatnim łataniu Adobe nadal jesteśmy narażeni na atak

Około 3 miesiące temu zaprezentowana została nowatorska metoda ataku z wykorzystaniem odpowiednio spreparowanego pliku PDF. Okazało się, że w wyniku najzwyklejszego otwarciu pliku PDF, możliwe jest automatyczne zainicjowanie wykonania zawartego w nim pliku EXE lub uruchomienie dowolnej zewnętrznej aplikacji. 29 czerwca firma Adobe opublikowała aktualizacje Adobe Readera oraz Acrobata, które miały m.in. zamknąć tę słynną już lukę ochrzczoną mianem /Launch vulnerability (CVE-2010-1240). Jak się jednak okazuje, łata nad którą firma Adobe pracowała przez okrągłe 3 miesiące, nie do końca rozwiązuje wspomniany problem.

Przypomnijmy, że 29 marca Didier Stevens zaprezentował na swym blogu nowatorską metodę ataku z wykorzystaniem odpowiednio spreparowanego pliku PDF. Okazało się, że specjalnie przygotowane pliki PDF pozwalają na automatyczne wykonanie zawartego w nich pliku wykonywalnego lub też uruchomienie zewnętrznej aplikacji. Nie trzeba było długo czekać, by pojawił się malware wykorzystujący tę właśnie podatność.

Luka znajdowała się w bibliotece authplay.dll służącej od odtwarzania osadzonych materiałów Flash. Uruchomienie potencjalnie niebezpiecznego kodu umożliwiała funkcja /launch. Programy firmy Adobe przed uruchomieniem potencjalnie niebezpiecznego kodu co prawda wyświetlały ostrzeżenie, jednak treść komunikatu mogła zostać zmodyfikowana przez twórcę pliku:
W najnowszej wersji Adobe Readera (9.3.3) fałszywy komunikat nie jest już jednak wyświetlany:
Jak widzimy, wygląda również na to, że funkcja /launch pozostaje domyślnie wyłączona, co ostatecznie powinno zapobiegać większości tego typu ataków. Czy jednak tak jest w rzeczywistości? Okazuje się, że wprowadzenie niewielkiej modyfikacji do kodu Proof of Concept sprzed 3 miesięcy nadal pozwala na uruchamianie programów za pomocą funkcji /launch! Zmodyfikowany plik PoC można pobrać tutaj. Okazuje się, że obejście blokady wykonania jest możliwe po drobnym zmodyfikowaniu postaci przekazywanego parametru. Wystarczy przykładowo zmiana /F(cmd.exe) na /F(“cmd.exe”). Po tak niewielkiej modyfikacji następuje już próba uruchomienia pliku:
Naciśnięcie przycisku Open spowoduje otwarcie zewnętrznego programu lub też w innym wypadku kodu wykonywalnego zawartego w samym pliku PDF. Pozostaje nam więc czekać na kolejną poprawkę dla poprawki nad którą firma Adobe pracowała przez 3 miesiące?

[źródło]