07 lipca 2010
Nie wierzmy zbytnio w technologie DEP i ASLR!
środa, lipca 07, 2010 | Autor:
\m/ojtek

DEP i ASLR
Czy rzeczywiście te dwie technologie są na tyle skuteczne, że w praktyce są w stanie ochronić nas przed niemal wszystkimi rodzajami nowych ataków? Oczywiście nie, zobaczmy więc pokrótce dlaczego DEP i ASLR nie są w stanie powstrzymać zdeterminowanych intruzów.
Najpierw spróbujmy w jak najprostszy i zrozumiały sposób zdefiniować oba pojęcia. Otóż DEP (ang. Data Execution Prevention) jest zabezpieczeniem mającym na celu uniemożliwienie wykonania kodu znajdującego się obszarach pamięci przeznaczonych dla danych. Jeśli więc potencjalnemu intruzowi uda się atak polegający np. na przepełnieniu bufora, to DEP powinien zapobiec możliwości wykorzystania tego faktu do uruchomienia wrogiego kodu. Natomiast technologia rozproszenia danych w pamięci (ang. Adress Space Layout Randomisation) ma za zadanie uniemożliwienie intruzowi zlokalizowania adresu odpowiedniego do wykonania własnego kodu. Wszystko to wydaje się być całkiem skuteczną strategią obronną. Okazuje się jednak, że w praktyce wcale nie jesteśmy tak dobrze chronieni.
Przede wszystkim należy podkreślić, że DEP oraz ASLR nie chronią nas w jakiś magiczny sposób przed błędami w samych aplikacjach, ich zadaniem jest jedynie utrudnienie wykorzystania luki obecnej w danym programie do skutecznego uruchomienia złośliwego kodu. Jednak, żeby w ogóle skorzystać z dobrodziejstw obu technologii, dany program musi w sposób świadomy zostać do tego przystosowany. Tutaj pojawia się pierwszy poważny problem.
W systemach z rodziny Windows aplikacje za pośrednictwem odpowiednich flag decydują o wykorzystaniu (lub braku wykorzystania) obu technologii. Większość aplikacji z firmy Microsoft rzeczywiście poprawnie korzysta z obu rozwiązań, jednak jak się okazuje inni znani producenci często w ogóle nie korzystają z obu technologii! Przykładowo przeglądarki Firefox, Opera i Safari obsługują DEP, ale już nie ASLR. Jedynie Chrome korzysta z obu tych mechanizmów. Tak wygląda tabela prezentująca stan implementacji technologii DEP oraz ASLR w wielu popularnych aplikacjach na czerwiec tego roku:
Jednak brak praktycznego wykorzystywania obu mechanizmów to nie jedyny problem. Okazuje się, że już od jakiegoś czasu znane są skuteczne metody obejście obu technologii zabezpieczających. Wystarczy tylko przecież wspomnieć Petera Vreugdenhila, który w trakcie konkursu Pwn2Own 2010 zdobył Internet Explorera 8 pracującego w systemie Windows 7, właśnie obchodząc po drodze oba zabezpieczenia. Szczegółowe informacje na temat zastosowanych technik zostały następnie przez Petera upublicznione i są dostępne pod tym adresem. Kilka dni temu również badacze z firmy Immunity przedstawili swoją koncepcję ataków zdolnych do ominięcia obu zabezpieczeń, którą ochrzcili mianem JIT-SPRAY Attacks.
Jednak brak praktycznego wykorzystywania obu mechanizmów to nie jedyny problem. Okazuje się, że już od jakiegoś czasu znane są skuteczne metody obejście obu technologii zabezpieczających. Wystarczy tylko przecież wspomnieć Petera Vreugdenhila, który w trakcie konkursu Pwn2Own 2010 zdobył Internet Explorera 8 pracującego w systemie Windows 7, właśnie obchodząc po drodze oba zabezpieczenia. Szczegółowe informacje na temat zastosowanych technik zostały następnie przez Petera upublicznione i są dostępne pod tym adresem. Kilka dni temu również badacze z firmy Immunity przedstawili swoją koncepcję ataków zdolnych do ominięcia obu zabezpieczeń, którą ochrzcili mianem JIT-SPRAY Attacks.
Co ciekawe, zdarzają się również luki w oprogramowaniu wykorzystującym mechanizm ASLR, które prowadzą do wycieku informacji przydatnych do... obejście samego ASLR. Otóż znana jest niezałatana do tej pory luka w Internet Explorerze 8, która to może prowadzić do wycieku pamięci zdradzającego krytyczne informacje na temat położenia adresów, które intruz może następnie wykorzystać do przeprowadzenia skutecznego ataku. Luka, obecna jest w kluczowym komponencie mshtml.dll, a jej odkrywca (Ruben Santamarta) opublikował wszystkie dotyczącej jej szczegóły pod tym adresem. Badacz opublikował również kod PoC, dzięki któremu możemy się przekonać o tym, że wyciek informacji z IE8 dotyczący krytycznego adresu rzeczywiście występuje.
Jak mogliśmy się przekonać na podstawie tych kilku powyższych przykładów, technologie DEP oraz ASLR są dalekie od tego, by móc skutecznie ochronić nas przed skutkami wszelkiego rodzaju nowych ataków na luki systematycznie odkrywane we wszystkich najpopularniejszych aplikacjach. Mechanizmy te stanowią co najwyżej element utrudniający nieco życie (a może czyniący je ciekawszym?) autorom nowych exploitów. Pytanie o to, co może nas skutecznie uchronić przed nowymi atakami typu Zero Day, pozostaje więc nadal bez odpowiedzi.
Nie wierzmy zbytnio w technologie DEP i ASLR!
2010-07-07T11:55:00+02:00
\m/ojtek
Bezpieczeństwo aplikacji|Bezpieczeństwo systemów operacyjnych|Newsy|Obrona - Atak|Windows|
Subskrybuj:
Komentarze do posta (Atom)
Wyszukaj w HCSL:
Subskrybuj:
Najpopularniejsze artykuły wszech czasów:
- Urządzenia do kopiowania kart płatniczych
- Co tak naprawdę ujawniasz w Internecie?
- Dlaczego należy zasłaniać klawiaturę bankomatu?
- Publiczna wiadomość z ukrytym przekazem
- Przyszłość antywirusów jest jasna
- Sposób na obejście internetowych blokad
- Superbezpieczne hasła na... żółtej karteczce
- Funkcje sprzętowego kasowania danych w HDD!
- 12-latek odkrył krytyczną lukę w Firefoksie
- Przestępstwo nie popłaca
- Czy jesteśmy inwigilowani przez chiński sprzęt?
- Gotowy zestaw do podsłuchiwania GSM
- Jak działa internetowa mafia?
- Uwaga na nowy rodzaj ataków phishingowych!
- Microsoftowy poradnik dla organów ścigania!
- Polski super-bezpieczny system Qubes OS
- Dane wieczyście dostępne
- Pierwszy atak samochodowych crackerów
- Pliki PDF zdolne do wykonania dowolnego kodu
- Polskie służby współpracują z firmą Google?
- Więzienie za odmowę ujawnienia hasła
- Podrzucanie dziecięcej pornografii
- Zapomniany film o hakerach
- Łamanie haseł w Windows Vista i 7