Microsoft Security Advisory (979352) vs. Protected Mode


Microsoft dwa dni temu opublikowal nowe “Security Advisory”. Podawane sa w nim informacje na temat uruchamiania kodu na maszynach zdalnych z Internet Explorer 6/(7/8), exploit dostal przydomek Aurora. Zanim przejdziemy do omówienia szczególów tej podatnosci, chcialabym zaznaczyc, ze najswiezsza wersja przegladarki to wersja 8…. W dniu dzisiejszym Security Advisory zostalo dodatkowo zaktualizowane do wersji 1.1.

Na blogu Microsoft Security Research and Defense opublikowano tabele dotyczaca wykonywalnosci exploit’u na poszczególnych systemach, z poszczególnymi przegladarkami. Pozwolilam sobie ja przetlumaczyc:

 Tabela1. Wykonywalnosc exploitu.

 

Windows 2000

Windows XP

Windows Vista

Windows 7

Internet Explorer 6

Wykonywalny

Wykonywalny

Niedostepny
(Vista ma IE7)

Niedostepny
(Windows 7 ma IE 8)

Internet Explorer 7

Niedostepny (IE 7 nie zainstaluje sie na Windows 2000)

Mozliwy do wykonania (system teoretycznie jest podatny, ale metoda ataku nie jest znana…)

Wlaczony Protected Mode w IE uchroni przed atakiem

Niedostepny
(Windows 7 ma IE 8)

Internet Explorer 8

Niedostepny (IE 8 nie zainstaluje sie na Windows 2000)

Domyslnie wlaczony DEP na XP SP3 uchroni przed atakiem

Wlaczone: IE Protected Mode + DEP uchronia przed atakiem

Wlaczone: IE Protected Mode + DEP uchronia przed atakiem

Z powyzszej tabeli wynika, ze najwiekszym ryzykiem obarczone sa systemy Windows 2000 i XP z przegladarka IE6, a takze Windows XP z przegladarka IE7. Naturalnym dzialaniem bylaby aktualizacja systemu. Dla tych, którzy z róznych powodów nie sa w stanie tego zrobic, zalecane jest wlaczenie Data Execution Prevention. Co dokladnie nalezy zrobic opisalam w “Workarounds” i Zalaczniku 1 ponizej. 

Nie rozdrabniajac sie za bardzo:

  • kod exploit’a jest publicznie dostepny
  • Metasploit dodal modul ie_aurora.rb
  • patch nie zostal jeszcze wypuszczony
  • trzeba wykonac tzw. workarounds (opisane ponizej), czyli zmniejszyc profil ataku

Po co DEP?

Zalozenie jest proste. DEP chroni przed wykonaniem kodu w obszarze danych. Gdy DEP jest wylaczony mozliwe jest, poprzez uruchomienie spreparowanej witryny, zmuszenie mshtml.dll (wywolywanej m.in. w opisywanym exploit) aby siegnela do obszaru danych (który wczesniej zwolnila) i potraktowala go jako obszar kodu do wykonania. Na szczescie IE jest swiadomy DEP, wiec niezaleznie od wybranej polityki DEP, jesli jest wlaczony to zachowa sie tak jak powinien.

Po co Protected Mode?

Po to, zeby przegladarka dzialala z “nizszymi uprawnieniami”. Wplywaja na to 3 mechanizmy:

  • Integrity levels, czyli okreslone “uprawnienia” (poziomy integracji z systemem), z którymi uruchamiane sa procesy w systemie.
  • UAC, czyli User Account Control. Znany wszystkim. Zapewniajacy m.in. mozliwosc korzystania z Integrity Levels.
  • UIPI, czyli User Interface Privilege Isolation. Mechanizm separujacy od siebie okna na róznych poziomach integralnosci. Nie o tym to post, wiec odsylam do Grzesia T.

Wiecej informacji o Protected Mode TUTAJ.

Aby dodac nieco wiekszej pikanterii mojemu postowi, pozwalam sobie umiescic film, w którym pokazane jest jak mozna przeprowadzic taki atak (przy wykorzystaniu Metasploit). Mam nadzieje, ze po obejrzeniu przejdziecie do opisanych przeze mnie nizej “workarounds”.

Workarounds

Ponizsze “obejscia” nalezy traktowac jako rozwiazanie tymczasowe, do czasu wypuszczenia przez Microsoft patcha. Sa to jednak dobre praktyki, które niezaleznie od wypuszczenia patcha powinny byc codziennie stosowane.

  • Wylaczyc JavaScript (spreparowana strona wykorzystuje Java Script). Z oczywistych powodów wplywa to na wygode korzystania z Internetu. Co kto woli, ja na codzien mam JS wylaczony.
  • Wlaczyc DEP.
  • Skonfigurowac Internet Explorer aby pytal przed uruchomieniem Active Scripting lub wogóle wylaczyl Active Scripting w Internet and Local intranet security zone.
  • Nie wylaczac ASLR, czyli Address Space Layout Randomization (krótko mówiac umiejscowienie bibliotek w losowych obszarach pamieci). Domyslnie jest wlaczony.

Zalacznik 1. Wlaczenie DEP dla IE6 SP2 i IE7 (dwa sposoby)

Sposób A:

  1. Nalezy uruchomic Internet Explorer z uprawnieniami Administratora (Prawym przyciskiem –> Run as Administrator). Opcja do DEP bedzie wyszarzona, jesli uzytkownik (nie Administrator) nie ma odpowiednich uprawnien.
  2. W Internet Explorer nalezy kliknac Tools, Internet Options, Advanced.
  3. Kliknac Enable memory protection to help mitigate online attacks.
  4. Zrestartowac przegladarke.

Sposób B: Wystarczy kliknac na ponizszy link i potem zrestartowac przegladarke.

Dla Sposobu A i B, aby sprawdzic czy DEP jest wlaczony nalezy skorzystac z narzedzia Process Explorer i wyswietlic kolumne pokazujaca status DEP (DEP status).

Wiecej informacji:

Aurora vs. TMG 2010: https://www.carbonwind.net/blog/post/Forefront-TMG-2010-and-the-e2809cAurorae2809d-Exploit.aspx

Metasploit: http://blog.metasploit.com/2010/01/reproducing-aurora-ie-exploit.html

O Aurora: http://www.avertlabs.com/research/blog/index.php/2010/01/14/more-details-on-operation-aurora/

oraz

http://www.wired.com/threatlevel/2010/01/hack-of-adob/comment-page-1/

Autor: Paula Januszkiewicz [MVP]

Comments (4)

  1. Anonymous says:

    Dostałam odpowiedź, ale zgodnie z zapowiedzią, opublikuję tylko działający link, a nie zachętę do poszukania sobie w google. Czekam dalej 🙂

  2. Anonymous says:

    Jeżeli zarzucasz mi pisanie nieprawdy, wypadałoby żebyś podał jakiś dowód. Przez dowód rozumiem adres strony, która po odwiedzeniu uruchomi złośliwy kod na moim komputerze. Z radością ją przetestuję.

  3. ph says:

    Mimo, że tak brzmi oficjalne stanowisko Microsoftu, to nie, włączony DEP nie ochroni przed atakiem (przez specyficzne exploity, które DEP omijają). Wystarczy poszukać informacji trochę dalej niż na stronie ulubionej firmy.

  4. Djalel chahmana says:

    I love you paula !!!!!!!!

    (i'm an it beginner, i'm studying mcitp)