16.02.2013 | 18:39

Adam Haertle

Pierwszy potwierdzony atak na Adobe Readera omijający sandbox

Adobe ponad dwa lata temu wprowadziło nowy mechanizm bezpieczeństwa do swojego popularnego czytnika PDF-ów – sandboxing. Okazał się on całkiem skuteczny – dopiero kilka dni temu potwierdzono istnienie ataku, który potrafi go ominąć.

Sandboxing (czyli umieszczenie w piaskownicy) to oddzielenie części systemu, w której uruchamiany jest potencjalnie niebezpieczny kod, od części zaufanej. Z tej metody zabezpieczania systemu operacyjnego przed błędami przeglądarek lub ich wtyczek korzysta między innymi Acrobat Reader, Java, Silverlight czy Chrome. O ile zabezpieczenia Chroma czy Javy były już wielokrotnie przełamywane, o tyle sandbox Acrobat Readera do tej pory dzielnie stawiał czoła włamywaczom. Co prawda kilka miesięcy temu opisywaliśmy plotki mówiące o istnieniu exploita, potrafiącego wyjść z „piaskownicy” (oraz kontrowersje związane z jego autorstwem), jednak jego prawdziwość nigdy nie została potwierdzona przez niezależne źródła.

Ciekawe odkrycie

12 lutego firma FireEye ogłosiła odkrycie nowego błędu typu 0day w Adobe Readerze (szybko potwierdzonego przez Adobe), wykorzystywanego w rzeczywistych atakach. Co prawda nie podała od razu szczegółów, ukrywając je do czasu wypuszczenia przez Adobe aktualizacji, jednak temat wzbudził duże zainteresowanie innych badaczy i szybko pojawiło się sporo informacji na temat nowego zagrożenia. Błąd okazał się dotykać wiele wersji Adobe Readera, zarówno na platformie Windows, jak i OS X oraz Linux.

Niewinna aplikacja wizowa

W zidentyfikowanej fali ataków exploit rozsyłany był pod postacią pliku PDF, udającego turecką aplikację wizową (Visaform Turkey.pdf, MD5 f3b9663a01a73c5eca9d6b2a0519049e). W serwisie VirusTotal był po raz pierwszy sprawdzany 11go lutego, z kolei czasy kompilacji poszczególnych elementów, wykorzystywanych w trakcie infekcji, wahają się między 24 stycznia a 4 lutego 2013. Data utworzenia samego PDFa wskazuje na 8 listopada 2012. Po próbie otwarcia dokumentu pojawia się komunikat o treści „Adobe Reader could not allocate enough memory. Please close some applications and try again. The error code is 21.”, podczas kiedy w tle tworzona jest złośliwa biblioteka dll, przechodząca na pewien czas w stan uśpienia, po czym instalująca właściwy program.

Wygląd złośliwego pliku (źródło: Sophos)

Wygląd złośliwego pliku (źródło: Sophos)

Włoski autor kodu?

W kodzie źródłowym znajduje się między innymi informacja, które wersje Readera były celem ataku: 10.0.1.434, 10.1.0.534, 10.1.2.45, 10.1.3.23, 10.1.4.38, 10.1.4.38ARA, 10.1.5.33, 11.0.0.379, 11.0.1.36, 9.5.0.270, 9.5.2.0, 9.5.3.305. Co ciekawe, kod zawiera sporo słów pochodzących w języka włoskiego, pisanych w charakterystyczny sposób (dIAVOLO”, “bENEDETTO”, “sENTIRSI”, “aPPARENZA”, “fISAMENTE”, “pRESUNSI”, “cOCOLLE”, “sCHIUMA”, “pENITENZA”). Dobór nazw zmiennych sugeruje także, że autor kodu czytał – lub przynajmniej znał – twórczość Dantego Alighieri. Dla odmiany hiszpańska domena serwera C&C (http://bolsilloner.es) umieszczona była na irlandzkim serwerze.

To nie była robota amatorów

Złośliwy kod używa wielu zaawansowanych technik. Oprócz sztuczek aktywnie utrudniających inżynierię wsteczną kodu lub wykonanie w środowisku wirtualnym, szyfruje komunikację z serwerem algorytmem AES, korzystając z kryptografii klucza publicznego RSA, a dzięki technice return oriented programming omija zabezpieczenia DEP oraz ASLR. Potrafi także infekować zarówno systemy 32 jak i 64-bitowe, a shellcode każdorazowo dobiera w zależności od wersji atakowanego oprogramowania. Co ciekawe, adres serwera C&C był na stałe zdefiniowany w kodzie programu – najwyraźniej jego autorzy nie chcieli implementować mechanizmu aktualizacji adresu C&C, by ewentualny odkrywca egzemplarza złośliwego kodu nie mógł ustalić adresów kolejnych serwerów sterujących używanych w następnych falach ataków.

Co robić?

Adobe pracuje nad aktualizacją kodu, tymczasem użytkownicy muszą korzystać z różnych sposobów obejścia problemu. Poniżej prezentujemy trzy możliwe opcje – alternatywne oprogramowanie, dodatkowe opcje bezpieczeństwa w Adobe Readerze oraz narzędzie, blokujące próby ataku.

Metoda 1: Alternatywne oprogramowanie

Adobe Reader to najpopularniejszy czytnik dokumentów PDF, zatem też jest najczęściej atakowany. Na rynku istnieje wiele alternatyw – im mniej popularne, tym większa szansa, że błędy w nich odkryte nie będą używane do masowych ataków na użytkowników. Możliwe alternatywy dla Adobe Readera to na przykład Foxit, Sumarta, Nitro lub czytnik wbudowany w przeglądarkę Chrome.

Metoda 2: Tryb chroniony

Użytkownicy Adobe Readera XI mogą włączyć dodatkową ochronę, aktywując opcję „Protected View” (Edit -> Preferences -> Security (Enhanced) -> All files).

Tryb chroniony Adobe Readera

Tryb chroniony Adobe Readera

Opcja ta nie jest domyślnie włączona, ponieważ poważnie ogranicza funkcjonalność czytnika – jednak z drugiej strony blokuje również zagrożenia takie, jak opisywany powyżej exploit. Co ważne, opcji tej nie posiadają dostępne wersje Adobe Readera dla platform OS X oraz Linux. Użytkownicy Maków mogą wrócić do wbudowanej przeglądarki, a użytkownicy Linuxa skorzystać z jednej z dostępnych alternatyw.

Metoda 3: EMET lekiem na całe zło

Dla użytkowników systemów z rodziny Windows prostym rozwiązaniem może być uruchomienie EMET-a, darmowego narzędzia od Microsoftu, potrafiącego blokować ataki typu return-oriented programming. Ważne przy tym, by korzystać z wersji 3.5, ponieważ wcześniejsze wydania posiadają mniej mechanizmów ochronnych. Poniższy zrzut ekranu dowodzi, że EMET 3.5 potrafi zapobiec opisywanemu powyżej zagrożeniu.

EMET w akcji

EMET w akcji

Dla wnikliwych

Wszystkim zainteresowanym szczegółami technicznymi polecamy dwa artykuły – FireEye, McAfee oraz Erica Romanga. Zapewne możemy się spodziewać kolejnych analiz w najbliższych dniach.

Powrót

Komentarze

  • 2013.02.17 12:11 Grzechooo

    Metoda 4: wywalić Adobe Readera, i używać czegoś sensownego, np. Foxita albo Sumatrę.

    Odpowiedz
    • 2013.02.17 13:32 Michał

      No to pisali o alternatywach :)

      Odpowiedz

Zostaw odpowiedź

Jeśli chcesz zwrócić uwagę na literówkę lub inny błąd techniczny, zapraszamy do formularza kontaktowego. Reagujemy równie szybko.

Pierwszy potwierdzony atak na Adobe Readera omijający sandbox

Komentarze