10:17
21/4/2011

Ciekawy atak rozegrał się na stronach Amnesty International. Wykorzystywał 0day’a na Flasha i w nowatorski sposób pobierał złośliwe oprogramowanie z zewnętrznego serwera.

Drive-by Cache

Atakujący wstrzyknęli na stronę Amnesty International kod, próbujący przeprowadzić na internautach tzw. atak drive-by-download z wykorzystaniem załatanej zaledwie kilka dni temu dziury we Flashu. Nie to jest jednak w tym ataku wyjątkowe…

Drive-By Download

Schemat ataku Drive-By Download, fot. Armorize

Dziura we Flashu oczywiście pozwalała atakującym na wykonanie kodu — standardowo w tego typu atakach atakujący wywołałby z funkcję URLDownloadToFile() (urlmon.dll) aby ściągnąć (i uruchomić) faktyczny malware z zewnętrznego serwera. Programy antywirusowe zdają sobie jednak sprawę, że rzadko kiedy powyższa funkcja używana jest w innym celu niż ściągnięcie złośliwego oprogramowania i z reguły w tego typu przypadkach podnoszą alarm. Dlatego też przestępcy, aby uniknąć wykrycia przez antywirusy, skorzystali z ciekawego triku: plik wykonywalny (.exe) osadzili na stronach Amnesty International za pomocą tagu <script> (jako zewnętrzny plik JavaScript).

Efekt? Przeglądarka odwiedzając stronę pobierała i cache’owała podpięty JavaScript (a tak naprawdę malware). Nie była go jednak w stanie uruchomić, bo nie był to poprawny JavaScript. Z kolei atak drive-by download wykorzystujący lukę we Flashu nie uruchamiał przewidywalnej w tym przypadku funkcji URLDownloadToFile(), a przeszukiwał cache przeglądarki w poszukiwaniu malware’u i uruchamiał go. Malware łączył się z adresem 182.237.3.105 w Hong Kongu. Ten wariant ataku nazwano drive-by cache.

Drive-by Download a Drive-by Cache

Różnica pomiędzy atakami Drive-by Download a Drive-by Cache

Armorize twierdzi, że pomimo tego, iż luka została załatana w trakcie trwania ataków, żaden z 42 antywirusów nie zgłaszał zastrzeżeń co do pliku z exploitem. Szczegółową analizę ataku znajdziecie na stronach Armorize.

Jak obronić się przed atakami Drive-by download?

Najlepszą metodą jest posiadanie aktualnego oprogramowania (w tym przypadku: playera Flasha), np. przeglądarka Google Chrome sama czuwa nad aktualnością dodatków i pluginów. Zdarza się jednak, że atakujący wykorzystują luki, na które nie ma jeszcze patcha… Co wtedy? Wtedy warto wyłączyć niewykorzystywane (albo sporadycznie wykorzystywane) pluginy w przeglądarce, zwłaszcza Javę. Z Flashem, głównie za sprawą video, niektórym będzie ciężko się rozstać, dlatego dogodną alternatywą jest zainstalowanie wtyczki typu FlashBlock, która po wejściu na stronę zablokuje wszystkie odwołania do obiektów Flasha, ale pozwoli użytkownikowi je uruchomić, jeśli ten świadomie na nie kliknie. W przypadku powyższego ataku FlashBlock wystarczy, ale często lepszym rozwiązaniem (chociaż bardziej uciążliwym) jest zainstalowanie dodatku typu NoScript. Kilka przydatnych dodatków do przeglądarek opisaliśmy w artykule: jak zabezpieczyć Google Chrome.

Przeczytaj także:



27 komentarzy

Dodaj komentarz
  1. Niezle… ciekwe czy da sie wogole przed tym w jakikolwiek sposob zabezpieczyc??
    Chyba tylko separujac pamiec podreczna okna przegladarki od pamieci podrecznej pluginow…

  2. Szacun dla atakujących :)

  3. Piękne

  4. NoScript – no problem :)

  5. No Flash – no problem ;)

  6. Dobry fragment: “wstrzyknęli na stronę Amnesty International kod”. Źli hakerzy z dużymi strzykawkami.

  7. No net – no problem

  8. No M$ – no problem ;)

  9. No windows. No problem :)

  10. Ja tam przeglądarkę odpalam w Sandboxie i jeszcze żadnej infekcji systemu przy przeglądaniu stron www nie złapałem :)

  11. NO LIFE NO PROBLEM

  12. No World – no problem…

  13. No Comp – no problem
    Chyba jeszcze nie było :-) . A tak na serio to zawsze znajdzie się jakaś luka którą da się wykorzystać

  14. OMG, fajny atak:)
    mamy szansę na ochronę przed wajrusami?
    antywirus to kula u nogi użytkownika bo spowalnia nawet największe demony szybkości…. zawsze.
    odcięcie od internetu i życie jak w średniowieczu – nie wchodzi w grę:)
    zabawa w piaskownicy jest jak seks Z…. (Z=w gumie) (oczywiście jest bezpiecznie, ale przyjemność nie ta) :-)
    NoScript= no script no fun! Mam NS i Adblocka od zawsze i powiem tak: komp (FF: 3.6-szybko; FF4 pokaz slajdów) chodzi jak żółw w piasku, ale wiem że mam ten żółwi pancerz chociaż;-)
    noscript “pokazał” mi kiedyś że moja strona firmowa jest “after xss attack” i ma książkowe skrypty dopisane… historia….
    (ps. Znacie chociaż jedną fajna stronę która nie korzysta z js, flasha lub czegoś podobnego?)

    Mam propozycję: napiszmy list do MEN żeby wprowadziło obowiązkowy przedmiot PROGRAMOWANIE z elementami MATEMATYKI. Staniemy się narodem programistów, a i użytkownicy komputerów będą świadomi co robią…

    • Kotku, na jakim świecie Ty żyjesz? MEN raczej z miłą chęcią zobaczyłoby jakiś ruch w stronę humanistyki. Wiadomo, że humaniści będą starali się dopasować do kwalifikacji, a że ich w gruncie rzeczy mało trzeba w main streamie, to poszukają sobie pracy w różnych zawodach. Więc im bliżej chińczyków i taniej siły roboczej tym lepiej dla MENu (toć MEN jest kierowany przez rząd, czyż nie?). Odnieśmy się do gier bo to łatwiej przychodzi: Czym łatwiej sterować? – Lemmingami czy flotą w Eve On-line (tudzież klanem w L2, gildią w WoWie).

      Tak btw nie decydujmy o rzeczach, na które nie mamy wpływu :D

      Ha ho hi, bydzie kawał przytoczony za pomocą techniki Copy Paste’iego:

      Ewolucja metod nauczania matematyki na przykładzie zadań egzaminacyjnych:
      1962
      Drwal sprzedał ciężarówkę tarcicy za sumę 100 dolarów. Wiedząc, że koszt produkcji drewna wynosił 4/5 jego ceny, oblicz zysk drwala.
      1972
      Drwal sprzedał ciężarówkę tarcicy za sumę 100 dolarów. Wiedząc, że koszt produkcji wyniósł 4/5 jego ceny, czyli 80 dolarów, oblicz zysk drwala.
      1982
      (nowy program matematyki)
      Drwal dokonał wymiany zbioru T tarcicy na zbiór P pieniędzy. Moc zbioru P wyrażona w liczbach kardynalnych wyniosła 100, przy czym każdy z jego elementów jest wart 1 dolara. Zaznacz w kwadratowej tabeli 100 punktów, aby przedstawić graficznie elementy zbioru P. Zbiór kosztów produkcji zawiera 20 elementów mniej niż zbiór M. Przedstaw zbiór K jako podzbiór M i odpowiedz na pytanie : jaka jest moc zbioru Z zysku wyrażona w liczbach kardynalnych ?
      1992
      Drwal sprzedał ciężarówkę tarcicy za 100 dolarów. Koszt produkcji drewna wyniósł 80 dolarów, a zysk drwala 20 dolarów. Zakreśl liczbę 20.
      2002
      Ścinając stare piękne i bezcenne drzewa, ekologicznie niezorientowany drwal zarobił 20 dolarów. Co myślisz o takim sposobie na życie ? W podgrupach postarajcie się przygotować teatrzyk przedstawiający, jak czują się leśne ptaszki i dzika zwierzyna.

      P.S. Nie wątpię w to, że taki przedmiot może zaistnieć jako obowiązkowy w przyszłości.

  15. No Universe – no problem! :)

  16. Tak się składa, że JAVA to jeden z najbezpieczniejszych języków programowania. Aplety uruchamiane w przeglądarce mają zainstalowanego managera bezpieczeństwa, którego nie da się wyłączyć i który blokuje potencjalnie niebezpieczne czynności apletu. Powyższy tekst nie odnosi się do JavaScript, w którym można znaleźć wiele dziur.

  17. @WIFI:

    no (no) life – no problem .. ;]

  18. @greku

    Przed wszystkim da się uchronić, jak zwykle najprostrzy sposób jest najlepszy – sandbox ( sandboxie ). Ja pisalem o tym pare miesięcy temu jak była wrzawa z Flashem, z Javą. NIkt nie zwracal na to uwagi. Potem sam Piotr Konieczny napisął dokladnie opis wykorzystania programu Sandboxie tu na niebezpieczniku. Naprawde te adbloki i no scripty nie sa potrzebne… Jak ma się ustawiony sandbox tak aby oprózniał piaskownicę za każdym zamknięciem to system będzie zawsze czysty niezaleznie na co i gdzie wchodzicie. Tak apropos aktualizacji softu… robię to z przyzwyczajenia bo dzięki wlasnie sandboxie człowiek zapomina o tych wlasnie najróżniejszych exploitach.

    • przeczytaj jeszcze raz co napisales, a potem jeszcze raz artykol !!
      co ci sanbox da jak to jest drive-by-cache ? cache jest w sandboxie ?! wiec jak cie to niby ma uchronic ? pomysl zanim napiszesz bzdury. musialbys miec kazda strone w sandboxie a najlepiej do kazdej strony osobny sanbox ?! to teraz sobie policz lub wyobraz jak ci komp zmuli po czyms takim . czytanie ze zrozumieniem nie jest bolesne
      jedyna rada jaka mam i stosuje aktualnie to po prostu system w vmplayerze, tzn jesli wchodze na jakies strony ktorych pewny nie jestem. jak sie jakas infekcja przyplacze to poprostu wywalam i kopiuje sobie z backupu nowego vm, czysto ladnie i zawsze bezpiecznie, bo wiem dokladnie co mam w pudelku

  19. Bardzo ciekawa metoda ataku, brawa dla atakujących.

  20. @angel a z łaski swojej zobacz gdzie ta pamięć przeglądarki się znajduje (gdy przeglądarka jest uruchomiona pod kontrolą Sandboxie wszystkie te pliki lecą co kontenera), Sandboxie chroni przed tym atakiem, a sama egzekucja kodu następuje w kontenerze piaskownicy, skąd może być w prosty sposób usunięta. Innym ciekawym programem który chroni przed tego typu atakiem jest AppGuard.

    • wiem gdzie leci, zajmuje sie tym codziennie
      wykonanie z cacha ktory znajduje sie kontenerze nie chroni cie przed atakiem
      a zeby bylo smieszniej – utrudnia prace antywirowi
      jak juz tak bardzo chcesz polemizowac, wejdz na stronke przez jakas przegladarke z sandboxem, skopiuj plik cache w sandboxie i wrzuc na virustotal, moze 2-3 antywiry wychwyca to
      sandbox w przegladarkach chroni przed bezposrednim wykonaniem do systemu i tyle,ale jak juz masz go u siebie to wiekszosc antywirow go omija szerokim lukiem
      koniec bajki jaki jest piekny – no i jeszcze ulatwia usywanie cacha z przegladarki :D
      trudny temat zeby to dokladnie wyjasnic, jedyne wyjscie to osobny sandbox do kazdej strony zeby pliki nie mogly byc wykonywane [ krzyzowane ] z roznych stron, ale to tak zamula kompa ze tragedia
      appguard ? buhahahahaha, wez mnie nie rozszmieszaj z takimi programami, standardowy uzytkowink albo tego nie zainstaluje albo po prostu zignoruje ostrzezenie – dlaczego ? bo te programy sa za bardzo wyczulone
      skad to wiem? usywaniem tych roznych ” dziadostw” zajmuje sie codziennie, a nie teoretycznie, przerabialem juz rozne rzeczy i sposoby zabezpieczen i jedyny sprawny szybki i sluszny system to virtualna maszyna jednorazowgo uzytku, tudziez jakakolwiek wersja live cd/usb

    • @angel ale Ty piszesz o czym, o tym że Sandboxie dopuści do zainfekowania systemu ? czy o tym że może dojść np. do przechwycenia sesji z innej karty przez XSS. Do infekcji systemu nie dojdzie niezależnie od tego czy będzie omijany sterownik AV czy nie, a wszystko związane z wykonaniem szkodliwego kodu będzie można w prosty sposób usunąć przez wyczyszczenia sandboxa. AppGuard wg mnie to bardzo proste i przyjemne w użyciu oprogramowanie zabezpieczające. A co do VM nie zapominaj że już były exploity chociażby na popularny VMWare ;) Zawsze trzeba zachować czujność.

    • pls sprawdz to co mowisz – sa juz przegladarki z sandboxem i sorki ale nawet nie radza sobie z tym aktualnie jest w sieci a co dopiero z tym nowym “wynalazkiem”
      i tak, utrudniaja prace AV, o ile nie masz hardware firewalla to wszystko wlatuje i wylatuje z kompa jak chce
      ja naprawde sie ucieszylem jak zapowiadali wielkimi literami sandboxy w przegladarkach itp.i bardzo sie rozczarowalem jak to sam zaczolem testowac
      dlatego dalej pozostaje przy jednorazowej sesji ssl w vmplayerze jak musze cos w banku zrobic lub gdzies indziej

    • Czyli pasywny fw na wejściu do komputera ( przed routerem jeśli obecny ) powinien mnie zabezpieczyć przed czymś takim?

  21. Google Chrome np. ma w sobie sandbox, ale Sandboxie to o niebo bardziej konfigurowalna i rozwinięta piaskownica, nie ma nawet co porównywać.

Twój komentarz

Zamieszczając komentarz akceptujesz regulamin dodawania komentarzy. Przez moderację nie przejdą: wycieczki osobiste, komentarze nie na temat, wulgaryzmy.

RSS dla komentarzy: