11:17
6/9/2010

Niezałatana od 2008 roku dziura w Internet Explorer 8 umożliwia wykradanie danych. Za jej pomocą atakujący może przejąć konta w serwisach, w których w danej chwili zalogowany jest użytkownik Internet Explorera.

Historia Ataku

Atak CSRF bazujący na tym jak przeglądarki przetwarzają arkusze stylów CSS, został opisany 10 miesięcy temu przez Chrisa Evansa (pracownik Google). Od tamtej pory, wszystkie przeglądarki oprócz IE wprowadziły poprawki (najpóźniej, bo dopiero w lipcu 2010 wprowadziła je Mozilla). Z racji opieszałości Microsoftu, Chris doszedł do wniosku, że czas opublikować expoloita

Exploit na IE8 (CSS)

Na udostępnionej przez Evansa testowej stronie, można sprawdzić na własnej skórze, jak łatwo przy pomocy IE8 wyciagnąć token uwierzytelniający użytkownika na Twitterze. Exploit jest “nieuzbrojony” i wymaga kliknięcia w przycisk, aby wiadomość została wysłana na Twittera. Atakujący może jednak zautomatyzować naciśnięcie przycisku tak, aby odbywało się ono bez świadomości i udziału użytkownika.

Na czym polega atak CSS Cross Domain?

Exploit działa, ponieważ z każdym żądaniem załadowania CSS, nawet wymuszonym przez inną stronę (<style>@import </style>), przeglądarka wysyła Cookie (czyt. dane uwierzytelniające użytkownika do serwera). Importowany CSS jest parsowany — odrzucane jest wszystko to, co nie jest poprawne według składni CSS.

Atak CSS Cross Orgin

Jeśli więc atakujący ze swojej strony internetowej A zaimportuje styl B (ale tak naprawdę nie .css, a zwykły .html) i na stronie B uda mu się umieścić fragmenty poprawnych istrukcji CSS (otwarcie i zamknięcie), to wszystko to, co zawiera się pomiędzy nimi zostanie pobrane na stronę A i będzie się można do tego odwołać poprzez JavaScript. Innymi słowy, ofiara wchodząc na stronę A, odwołuje się do B i jeśli jest zalogowana na B, to jej dane uwierzytelniające są dynamicznie umieszczane w konkstrukcji strony B (pomiędzy otwarciem i zamknięciem CSS), dzięki czemu są przesłane i osiągalne ze strony A.

P.S. O innych wynalazkach i pomysłach Chrisa Evansa dyskutujemy podczas naszych niebezpiecznikowych szkoleń z atakowania i ochrony webaplikacji.

Przeczytaj także:

25 komentarzy

Dodaj komentarz
  1. Ojjj, jak nie wypuszczą szybko łaty to dopiero się będzie działo…

  2. wcale nie dziwi mnie ze jeszcze nie poprawili, M$ trzeba mlotkiem traktowac zeby sie czegos nauczyli, i tym samym zgadzam sie z idea ze wiekszosc 0-day dziur powinno byc udostepnianych do max miesiaca – to by zmusilo developerow to skonczonia z praktyka – Beta User

  3. Ja tylko tak napomknę, że niedawno ktoś tutaj wrzucił photo z parkingu z reklamą IE, która mówiła coś o bezpiecznym przeglądaniu… ;D
    Nie pomnę jednak, w którym z artykułów to było.

  4. I tak większość używa FF, Chrome, Opery, Safari… IE8 jest potrzebne tylko aby te przeglądarki pobrać, po czym staje się bezużyteczny no chyba, że ktoś korzysta z GG bo to ścierwo wykorzystuje IE… Oraz jeszcze parę programów które mają automatyczny update… chociaż jakby się uprzeć to można by sprawdzić jak się przedstawia przeglądarka “user-agent” i w przypadku gdy nie jest to IE wywalić napis “Strona wymaga do działania przeglądarki IE”… można też podpiąć pod jakiś dodatek do gotowca CMS… ale najlepiej i najprościej jest stworzyć dodatek do FF lub innych przeglądarek w formie toolbar’a i przy pomocy jego zgarniać informacje… i tym powinniście się zająć bo takie pseudo-toolbary są baardzo niebezpieczne…

  5. Trygrysek widziałeś może udział IE8 w rynku ostatnio?
    http://gs.statcounter.com/#browser_version-ww-monthly-200908-201008

  6. @RooTer – może miał na myśli Polskę ? ;] U nas króluje Firefox…

  7. w operze nie działa :(

  8. @Tygrysek –
    Tak, ale już niejednokrotnie spotkałem się z tym, że strona wykrywa używaną przeglądarkę i wymaga IE, tylko czasami pozwala na FF, a ja, biedaczek, jadę na Operze i Chrome. Większość ugług na stronach M$ woła o swoją przeglądarkę.
    Bawią mnie tylko te ciągłe reklamy w radiu i na billboardach “Bezpieczne surfowanie zapewnia wyadawca IE8…” I nikt mi nie wmówi, że czarne jest czarne, a białe jest białe ;)

  9. Prawda stara jak świat: użytkownik “świadomy” istnienia czegokolwiek poza IE zapewne wybierze coś z puli FF/Opera/Chrome i może czuć się bezpieczniej. A typowy użytkownik, mając domyślnie zainstalowany IE będzie go używał po wsze czasy. I dostaje po pupie dwojako – raz że używa średniej jakości programu (IMHO), dwa: przy pierwszej lepszej okazji okazuje się, że jak coś może być wykopyrtnięte to zapewne będzie to IE :-) Z drugiej strony to nie ma co za bardzo panikować – jak się nie łazi po fikuśnych stronach, to ryzyko wpadki jest marginalne. To że program ma wadę nie oznacza że ta wada objawia się zawsze i wszędzie.

  10. A programy które korzystają z IE ?? jako wbudowanej przeglądarki do programu ?? już pisałem, że niektóre programy korzystają z IE i to też ma wpływ na statystykę bo taki program posługuje się User-agentem właśnie IE i jest rozpoznawalny jako IE… a to nie oznacza, że user przegląda akurat przy jego pomocy stron http://www... po za tym w kawiarenkach jakoś innych przeglądarek się nie instaluje (no chyba, że administrator dba o bezpieczeństwo klientów lub ma czas i mu się chce instalować), a i prawa są ograniczone bo user nie może sobie sam zainstalować, tak samo jest na uczelniach, np.: w mojej uczelni na większości komputerów króluje IE, jak próbowałem zainstalować FF to po prostu nie było takiej opcji, albo po restarcie wszystko wracało do stanu pierwotnego…

  11. @rob

    bo to dziura w IE jest…

  12. […] dotąd, wszystkie przeglądarki zdołały załatać lukę. Jednak jak donosi Niebezpiecznik.pl, Microsoft postanowił to sobie darować. Internet Explorer 8 wciąż pozwala więc na kradzież […]

  13. Oprócz GG to jeszcze np. Tlen korzysta z IE, kiedyś na moją zachętę do zmiany developerzy Tlena powiedzieli, że to kupa roboty a korzyści ich zdaniem zbyt małe…

  14. hahaha , ludzie którzy uważają że IE jest ‘cool’ muszą się przekonać sami że są w błędzie ;)

  15. Nadeszły czasy gdzie chyba bardziej zapierające dech w piersiach były by newsy o aplikacjach i systemach w 110% bez dziur… co oczywiście jest utopią…

  16. @Bardzociekawe przecież Nowe Gadu Gadu z tego co wiadomo korzysta z Webkita

  17. Nie twierdzę, że błędu nie ma lub, że jest nieistotny. Ale mimo wszystko jego wykorzystanie nie jest tak trywialne, jak może się wydawać po lekturze tego tekstu i rzuceniu okiem na przykład. Zwróćcie uwagę, że nie wystarczy włączyć strony B (atakowanej) na naszą stronę A (atakującą). Dodatkowo na stronie B trzeba umieścić fragmenty kodu (CSS), dzięki czemu parser CSS prawidłowo sparsuje to, co pozostanie po odrzuceniu rzeczy dla CSS nieprawidłowych. A to wcale nie jest trywialne, przynajmniej nie w każdym przypadku.

  18. @Sylwek: Tak jak i nowy Tlen.

  19. @Tygrysek używaj aplikacji portable FF czy chrome bez instalacji http://www.portableapps.com

  20. Od 2008? Żart jakiś?

    Najgorsze jest w szkole czy coś, tam nikt sobie nie da powiedzieć, że IE jest do bani, zaraz się drą :) Największe jaja są, gdy na PC jest IE6 i… nauczyciele logują się do banku (sic!)

  21. @Bardzociekawe: “Oprócz GG to jeszcze np. Tlen korzysta z IE” — Nie kłam! Tlen korzysta z domyślnej dla systemu przeglądarki. Jakoś mi się wszystkie linki w Operze otwierają.

  22. kubaaa: Linki będą otwierać się w domyślnej przeglądarce, ale tu chodzi o silnik wyświetlania rozmów / archiwum / reklam. Nowe GG dalej wykorzystuje IE do wyświetlania bannerów i prawdopodobnie plotek pod listą kontaktów. Na szczęście Tlen7 całkowicie przeszedł na WebKit i na razie nie ma reklam.

    IE 8 to duży krok naprzód, ale wciąż ma dużo braków. Chcąc wykorzystać najnowsze techniki i wygodne metody DOM, trzeba zrezygnować z jej obsługi. Liczę na IE 9. Pamiętacie okres dominacji IE 6 i starszych? Wtedy Internet Explorer był najlepszą przeglądarką, bo strony w innych nie wyświetlały się poprawnie, nie działały skrypty albo elementy się przestawiały. Tak, wtedy rządziły standardy IE. Z alternatywnych przeglądarek lubiłem Operę, a do Mozilli nie mogłem przekonać się. Konkurencja zauważyła problem i zaczęła obsługiwać standardy IE (document.all, marquee, zdarzenia). Poznaliśmy, co to standardy. Narodził się Firefox. Producenci go instalowali na nowych kompach. To był przełom, który pozwolił zepchnąć IE z rynku.

  23. @kubaaa – chodzi o miejsca, gdzie w samym programie jest pokazana strona – na przykład podczas rejestracji. Tam jest wykorzystany WebKit.

  24. [quote]Wtedy Internet Explorer był najlepszą przeglądarką, bo strony w innych nie wyświetlały się poprawnie, nie działały skrypty albo elementy się przestawiały[/quote]
    Litości. To, że IE wymuszał na webmasterach pisanie ston z błędami nazywasz postępem? Chyba że masz podejście w stylu „Dziękujmy Bogu za Szatana; dzięki istnieniu zua zauważamy dobro”. Każda normalna strona wygląda podobnie w rodzinie FF/Op/Cr, tylko przy IE rozjeżdza się (i na odwrót). Css pobrany z freetemplates.org wyglądał wszędzie dobrze, tylko nie w IE. Strona, w której deklaruję UTF8 tylko w IE krzaczy, więc nie wciskaj bajek jaki to IE nie jest wspaniały. Crap to crap. „Standardy IE”, LMAO ;]
    Moderację za akcję wycieczkopodobną przepraszam, usuwajcie jeśli uznacie to za słuszne. Ja musiałem to napisać

  25. […] Warto przypomnieć, że jescze rok temu, wszystkie przeglądarki trapił inny bug związany z prywatnością, tzw. CSS hack wykorzystujący “feature” przeglądarek polegający na zaznaczaniu uprzednio odwiedzonych URL-i innym kolorem. A oprócz tego, trwającego ponad 10 lat błędu, było także kilka innych. […]

Twój komentarz

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