30 marca 2010

Oto pliki PDF zdolne do wykonania dowolnego kodu w systemie Windows

Za jedno z największych zagrożeń dla naszego bezpieczeństwa informatycznego uważamy zazwyczaj luki obecne w popularnych systemach operacyjnych, przeglądarkach internetowych oraz innym oprogramowaniu. Od pewnego czasu w rankingach najbardziej dziurawego oraz najopieszalej łatanego oprogramowania przodują produkty firmy Adobe, a komputerowi przestępcy bardzo chętnie tworzą złośliwe pliki PDF zdolne do wykorzystania znanych luk w przeglądarce Adobe Reader. Okazuje się jednak, że odpowiednio skonstruowany plik PDF jest zdolny do wykonania dowolnego kodu w systemie Windows, bez wykorzystania jakiejkolwiek luki w oprogramowaniu i to zarówno z poziomu Adobe Readera, jak i jego popularnego konkurenta Foxit Readera...

Didier Stevens zaprezentował na swym blogu nowatorską metodę ataku z wykorzystaniem odpowiednio spreparowanego pliku PDF. Okazuje się, że w wyniku najzwyklejszego otwarciu pliku PDF, możliwe jest automatyczne zainicjowanie wykonania zawartego w nim pliku EXE! Stevens zarejestrował działanie przygotowanego na tę okazję pliku PoC. W programie Adobe Reader wygląda to następująco:



Jak widać program firmy Adobe przed uruchomieniem potencjalnie niebezpiecznego kodu wyświetla ostrzeżenie. Treść komunikatu może jednak zostać zmodyfikowana przez twórcę pliku, co otwiera drogę przed kreatywnymi intruzami, którzy mogą za pomocą podstępnej treści zachęcić ofiarę do wybrania opcji zezwalającej na dalsze wykonanie:
Jeszcze ciekawiej potencjalny atak wygląda w przypadku otwarcia takiego pliku w innym popularnym programie (Foxit Reader). Powszechnie chwalony (między innymi za brak luk, jakimi obarczony jest Adobe Reader) zamiennik Adobe Readera nie wyświetla nawet jakiegokolwiek ostrzeżenia, od razu wykonując ukryty plik wykonywalny:
Plik PDF pozwalający na uruchomienie zawartego w nim kodu wykonywalnego nie został jeszcze przez Stevensa opublikowany (został jednak przekazany do dyspozycji Adobe Product Security Incident Response Team). Już dziś możemy się jednak zapoznać z podobnym plikiem zdolnym do uruchomienia programu cmd.exe. Każdy może więc już dziś przetestować podatność swojego oprogramowania na tego rodzaju atak.

Plik demonstrujący możliwości ataku działa zarówno z najnowszą wersją Adobe Readera (9.3.1), jak i Foxit Readera (3.2). Jak twierdzi sam odkrywca nowego zagrożenia, zamknięcie luki będzie niezwykle trudne, ponieważ atak właściwie żadnej luki nie wykorzystuje, a stanowi jedynie zręczne wykorzystanie możliwości języka opisu plików PDF. Przed udanym atakiem nie uchroni nas również wyłączenie w przeglądarkach plików PDF obsługi technologii JavaScript (takie postępowanie mogło nas uchronić między innymi przed atakami wykorzystującymi słynną lukę CVE-2009-4324 w programach firmy Adobe). Nie istnieje więc nawet żadne tymczasowe rozwiązanie problemu.

Ataki z wykorzystaniem popularnych i zazwyczaj bez obaw otwieranych przez internautów plików PDF stają się więc systematycznie coraz większym zagrożeniem. Powyższa metoda, ze względu na swą specyfikę (wykonanie w docelowym systemie dowolnego kodu, wykorzystanie nieprzewidzianych możliwości, a nie luki w oprogramowaniu) będzie z pewnością niezwykle atrakcyjna dla komputerowych przestępców. Pytanie tylko kiedy możemy się spodziewać nowej fali złośliwych plików PDF i jak się przed nią obronić?