r   e   k   l   a   m   a
r   e   k   l   a   m   a

AnC kończy z ASLR: 22 rodziny procesorów bezbronne wobec ataku w JavaScripcie

Strona główna AktualnościBEZPIECZEŃSTWO

ASLR⊕Cache (AnC) to atak opracowany przez informatyków z Vrije Universiteit w Amsterdamie, który napisano w JavaScripcie i który uruchomimy w każdej przeglądarce. Wymierzony w jednostki zarządzania pamięcią (MMU) mikroprocesorów, z łatwością łamie zabezpieczenia randomizacji przestrzeni adresowej (ASLR). Wyjątkowym ten atak czyni jednak coś innego – zagrożone są co najmniej 22 różne mikroarchitektury, zarówno x86-64 jak i ARM.

Szczegóły opisane na łamach uniwersyteckiego bloga VUsec dają do myślenia. Obecnie ASLR jest podstawową linią obrony przed zdalnymi atakami. Losowo rozmieszczając kod i dane aplikacji w przestrzeni adresowej, poważnie utrudniają napastnikom manipulacje, mogące naruszyć bezpieczeństwo oprogramowania. Znane słabości tej techniki ograniczone były do szczególnych wypadków, w szczególności do lokalnego uruchamiania natywnego kodu, z dostępem do kernela systemu. Przeglądarki, w których uruchomić można przecież jedynie JavaScript, uważano za skutecznie zabezpieczone przez ASLR.

Zespół holenderskich badaczy już rok temu pokazał jednak, że korzystając z mechanizmu deduplikacji pamięci można obejść zabezpieczenia ASLR w przeglądarce Microsoft Edge. Wynik ten został przedstawiony ze szczegółami w artykule pt. Dedup Est Machina: Memory Deduplication as an Advanced Exploitation Vector. Reakcja Microsoftu była bardzo szybka – po prostu wyłączył deduplikację.

r   e   k   l   a   m   a

Teraz jednak nie bardzo jest co wyłączać, to nie czasy Amigi, gdzie systemy radziły sobie bez jednostek zarządzania pamięcią. Wystarczy 90 sekund, by za pomocą AnC napastnik mógł odczytać obszary pamięci z aplikacją i jej danymi – a następnie uruchomił wymierzone w nią exploity.

Jak wyjaśniają badacze, to atak typu side-channel (a więc taki, który pozyskuje informacje z fizycznej implementacji, a nie z teoretycznej słabości algorytmu). Mierząc czas operacji w buforze mikroprocesorów (EVICT+TIME), udało się ustalić, do których lokalizacji MMU uzyskuje dostęp podczas przeglądania stron pamięci. AnC na początku oczyszcza część pamięci cache najwyższego poziomu, a następnie mierzy czas w jakim MMU przegląda tabelę stron pamięci podczas uzyskiwania tam dostępu. Później pozostaje wyszukać, które linie cache należą do którego poziomu tabeli stron i znaleźć offset wpisu w takiej linii cache.

To nie jest tylko akademicka ciekawostka, nawet najlepsze implementacje ASLR z wysoką entropią nie są tu bezpieczne, a co najważniejsze, taki atak udało się zakodować w JavaScripcie. Działa on w przeglądarkach mimo tego, że ostatnio producenci przeglądarek celowo zepsuli precyzyjny licznik performance.now(), aby uniemożliwić wcześniej znane ataki na cache. Holendrom udało się stworzyć dwa własne liczniki – i to one umożliwiają precyzyjny pomiar, pozwalający odróżnić bezpośredni dostęp do pamięci od dostępu przez cache.

AnC został przetestowany na 22 różnych mikroarchitekturach procesorowych, w tym Skylake, Haswell, Piledriver, K10, Cortex A53 czy Cortex A15. W praktyce, ofiarą padły wszystkie testowane procesory takich producentów jak Intel, AMD, Samsung czy Nvidia. Jeśli chcecie sprawdzić, jak to działa na Waszych maszynach, kod źródłowy znajdziecie na GitHubie.

Jak się zabezpieczyć?

Póki co nie możemy się zabezpieczyć. Atak wykorzystuje fundamentalne własności budowy mikroprocesorów. Co najwyżej można zablokować uruchamianie nieautoryzowanego JavaScriptu w przeglądarce, np. za pomocą rozszerzenia NoScript. Kompleksowe zabezpieczenie przynieść mogą jedynie prace producentów sprzętu i oprogramowania, koordynowane przez holenderskich badaczy.

Obecnie prace nad uodpornieniem procesorów Intela prowadzone są w ramach CVE-2017-5925, procesory AMD otrzymały CVE-2017-5926, a procesory ARM – CVE-2017-5927. Póki co wygląda na to, że pierwsze uodporniło się Apple, utwardzając silnik WebKit w wersji 10.2.1 iOS-a.

© dobreprogramy
r   e   k   l   a   m   a
r   e   k   l   a   m   a

Komentarze

r   e   k   l   a   m   a
r   e   k   l   a   m   a
Czy wiesz, że używamy cookies (ciasteczek)? Dowiedz się więcej o celu ich używania i zmianach ustawień.
Korzystając ze strony i asystenta pobierania wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.   

Trwa konkurs "Ogól naczelnego", w którym codziennie możecie wygrać najnowsze maszynki systemowe Hydro Connect 5 marki Wilkinson Sword.

Więcej informacji

Gratulacje!

znalezione maszynki:

Twój czas:

Ogól Naczelnego!
Znalazłeś(aś) 10 maszynek Wilkinson Sword
oraz ogoliłaś naszego naczelnego!
Przejdź do rankingu
Podpowiedź: Przyciśnij lewy przycisk myszki i poruszaj nią, aby ogolić brodę.