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

Sprzętowy atak na oprogramowanie: miniaturyzacja pamięci pozwoliła na eskalację uprawnień

Strona główna AktualnościOPROGRAMOWANIE

Twój system operacyjny może być tak aktualny, jak to tylko możliwe, wszystkie łatki bezpieczeństwa zostały zainstalowane. Dodatkowe oprogramowanie ochronne działa, żaden wrogi proces nie może nieupoważniony nic złego zrobić. Ale co zrobić, jeśli napastnik może fizycznie zmienić zawartość RAM, przyznając swoim procesom uprawnienia administracyjne? Taką niezwykle wyrafinowaną technikę ataku przedstawili w tym tygodniu badacze google'owego Projektu Zero, pokazując, że regularne uzyskiwanie dostępu do pewnych obszarów pamięci DRAM faktycznie może prowadzić do zaburzeń, które zmienią zawartość tej pamięci – i które mogą być wykorzystywane do zaatakowania systemów komputerowych.

Sama koncepcja takiej metody manipulowania zawartością pamięci została przedstawiona w zeszłym roku przez badaczy z Intela i Carnegie Mellon University. Wykorzystali oni fakt, że postępująca miniaturyzacja prowadzi do wzrostu podatności poszczególnych komórek pamięci DRAM na zakłócenia wywoływane przez operacje na sąsiednich komórkach. Szybkie, wielokrotne operacje odczytu tego samego adresu mogą popsuć zawartość innych komórek – i na takie zakłócenia, które otrzymały nazwę „Rowhammer”, podatne ma być zdecydowana większość modułów pamięci. Podczas eksperymentów efekt ten udało się zaobserwować w 110 spośród przetestowanych 129 modeli pamięci, pochodzących od trzech wiodących producentów układów DRAM.

Od wywołania zakłóceń do przejęcia kontroli nad systemem droga jeszcze jednak daleka, ale i na to rozwiązanie znaleźli inżynierowie Google'a Mark Seaborn i Thomas Dullien. To chyba pierwszy przypadek, gdy wynikająca z fizycznych własności sprzętu, niejako analogowa podatność, zostaje wykorzystana do zaatakowania warstwy software'owej. W opublikowanym na łamach bloga Project Zero wpisie opisują oni, jak stosując technikę „rowhammera” uzyskali dostęp do obszarów pamięci, których w żaden sposób inaczej nie mogliby dotknąć. „Uderzanie” sekwencjami operacji odczytu dwóch pobliskich obszarów pamięci – „agresorów” – pozwoliło im zmienić jeden lub więcej bitów w obszarze atakowanym.

r   e   k   l   a   m   a

Atak był przeprowadzony na 64-bitowej linuksowej maszynie. Pierwszy exploit uruchomiony został jako moduł Native Clienta w kontekście przeglądarki Chrome, czyli wewnątrz bardzo trudnego do sforsowania sandboksa – a jednak zdołał uzyskać przywileje jądra. Podatność tę udało się na szczęście usunąć, blokując stosowanie niezbędnej dla niej instrukcji cflush w NativeCliencie w ostatnich wersjach Chrome. Drugi exploit, działający jako zwykły linuksowy proces, będzie znacznie trudniejszy do zablokowania – przewraca bity we wpisach tabeli stron pamięci (PTE), uzyskując w ten sposób pełen dostęp do całej pamięci.

Odkrycie Seaborna i Dulliena zbiera same pochwały, połączyli oni w nim bowiem głęboką wiedzę techniczną z hakerską kreatywnością. Nie tylko stworzyli sposób na ucieczkę z sandboksu czy uzyskanie uprawnień roota poprzez przełączenie pojedynczego bitu, ale też znaleźli sposoby na zwiększenie swoich szans dotarcia do tego bitu, tak by atak miał sens także poza laboratorium.

Podatne na to zagrożenie są wyłącznie nowsze typy pamięci DDR3 – jeśli ktoś pracuje np. jeszcze na DDR2, może czuć się bezpieczny. Podobnie jest w wypadku pamięci DDR4, których kontrolery stosują techniki uodparniające na Rowhammera. Nawet jednak użytkownicy pamięci DDR3 nie powinni panikować, szansa, że typowe szkodniki zaczną stosować tę technikę jest póki co niewielka. Wymaga ona doskonałego rozpoznania systemu-ofiary i działa tylko lokalnie. Jak wyjaśniają odkrywcy, konieczne jest tu przeprowadzenie przynajmniej 540 tys. operacji dostępu do komórki pamięci w czasie poniżej 64 milisekund. Co ciekawe, zabezpieczenia ECC (korekcji błędów) mogą nie wystarczyć, jeśli hakerowi uda się zmienić zawartość kilku bitów jednocześnie.

Jest to jednak ogromnie interesujący kierunek badań dla całej branży bezpieczeństwa, zarówno whitehatów jak i blackhatów. Kilka lat temu udało się znaleźć sposób na wydobycie kluczy kryptograficznych z wirtualnych serwerów działających na tym samym fizycznym hoście. Niskopoziomowe monitorowanie zachowania współdzielonych komponentów architektury pozwoliło obejść logiczną izolację maszyn wirtualnych. W wypadku ataku na DRAM schodzimy jeszcze niżej, do samych elektrycznych właściwości sprzętu – i zabezpieczyć się przed takim atakiem w software'owy sposób. Eksperci spodziewają się, że nie będzie to ostatnia tego typu technika, w której słabość hardware'u zostaje obrócona przeciwko oprogramowaniu.

© 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.