Ciekawy przypadek ominięcia JavaScript’em ASLR popularnych procesorów Intel i AMD

17 lutego, 2017

ASLR to skrót z języka angielskiego „Address Space Layout Randomization” oznaczający mechanizm losowej alokacji wirtualnej przestrzeni adresowej, który chroni system przed przepełnieniem bufora na skutek wykorzystania exploita w systemie. Zabezpiecza wszystkie działające procesy w pamięci RAM przed „zlokalizowaniem” ich przez złośliwy kod, dzięki czemu napastnik wprowadzając malware do systemu nie jest w stanie „namierzyć” w RAM komórek pamięci, w których procesy zapisują swoje dane, a więc nie może tymi danymi manipulować.

Mechanizmy ASLR oraz DEP wykorzystywane są także przez programy antywirusowe do auto-zabezpieczenia swoich procesów. Więcej o tym pisaliśmy w artykule pt. „Test auto-ochrony 31 programów antywirusowych”.

Pięciu badaczy bezpieczeństwa z Uniwersytetu Vrije w Holandii, którzy stoją za opracowaniem exploita na pamięci DRAM w urządzeniach z Androidem, udowodniło, że za pomocą kodu JS możliwe jest obejście zabezpieczeń ASLR dla co najmniej 22 nowoczesnych procesorów wykorzystując słabości w jednostce zarządzania pamięcią (MMU).

CPU js
Podatne na atak procesory. Kliknij, aby powiększyć.

Co to oznacza dla zwykłego użytkownika?

Chociaż atak side-channel nie jest łatwy do wykonania, to atakujący są w stanie za pomocą przygotowanego kodu JS i uruchomionego w przeglądarce, pozyskać informacje z komputera ofiary o fragmentach pamięci, w których są przechowywane dane uruchomionych aplikacji i wykorzystać je do opracowania i uruchomienia bardziej złożonych exploitów. Ich dostarczenie może odbywać się metodami „tradycyjnymi”, np. z wykorzystamiem socjotechniki.

Jedynym potwierdzonym przez badaczy wektorem ataku są przeglądarki Chrome i Firefox. Czy pozostałe również? Tego nie sprawdzono, ale najprawdopodobniej tak. Najważniejszy w tym wszystkim jest fakt, że tak naprawdę miliony komputerów na całym świecie jest podatnych na atak, a na aktualizację nie ma co za bardzo liczyć – jeżeli się taka pojawi to tylko w nowych modelach procesorów.

Jedyną skuteczną ochroną przed tym atakiem jest zablokowanie skryptów JavaScript uruchamianych w przeglądarce za pomocą dodatku NoScript. Chociaż używanie tego pluginu nie jest wygodne, to na zwiększa on bezpieczeństwo. Już nie raz udowodnił on swoją przydatność niespodziewanie blokując ataki drive-by.

Adrian Ścibor

Adrian Ścibor

W ramach działań związanych z cyberbezpieczeństwem odpowiada w AVLab za przeprowadzanie testów rozwiązań ochronnych przed zagrożeniami. Opracowuje strategie oraz narzędzia, które pomagają w ochronie danych i systemów przed cyberatakami. Współuczestnik międzynarodowej grupy non-profit AMTSO, która zrzesza ekspertów IT.
Adrian Ścibor

Adrian Ścibor

W ramach działań związanych z cyberbezpieczeństwem odpowiada w AVLab za przeprowadzanie testów rozwiązań ochronnych przed zagrożeniami. Opracowuje strategie oraz narzędzia, które pomagają w ochronie danych i systemów przed cyberatakami. Współuczestnik międzynarodowej grupy non-profit AMTSO, która zrzesza ekspertów IT.

PODZIEL SIĘ:

Czy ten artykuł był pomocny?

Średnia ocena: 0 / 5. Liczba głosów: 0

guest
0 komentarzy
Inline Feedbacks
View all comments

Wyrażam zgodę na przesłanie oferty drogą telefoniczną przez IT Partners security sp. z o.o. z siedzibą Katowicach ul.Padereskiego 35 na podany przeze mnie adres e-mail zgodnie z ustawą z dnia 10 maja 2018 roku o ochronie danych osobowych (Dz. Ustaw z 2018, poz. 1000) oraz zgodnie z Rozporządzeniem Parlamentu Europejskiego i Rady (UE) 2016/679 z dnia 27 kwietnia 2016 r. w sprawie ochrony osób fizycznych w związku z przetwarzaniem danych osobowych i w sprawie swobodnego przepływu takich danych oraz uchylenia dyrektywy 95/46/WE (RODO).

Wyrażam zgodę na przesłanie oferty drogą mailową przez IT Partners security sp. z o.o. z siedzibą Katowicach ul.Padereskiego 35 na podany przeze mnie adres e-mail zgodnie z ustawą z dnia 10 maja 2018 roku o ochronie danych osobowych (Dz. Ustaw z 2018, poz. 1000) oraz zgodnie z Rozporządzeniem Parlamentu Europejskiego i Rady (UE) 2016/679 z dnia 27 kwietnia 2016 r. w sprawie ochrony osób fizycznych w związku z przetwarzaniem danych osobowych i w sprawie swobodnego przepływu takich danych oraz uchylenia dyrektywy 95/46/WE (RODO).

[ninja_tables id=”27481″]