Dłuższy czas było cicho pod tym względem, prawda? Niestety bugi same nie znikną, Najnowszy odkrytym typem ataku jest RAMpage, który, jak jego nazwa wskazuje, wykorzystuje do ataku pamięć RAM urządzenia.

Rowhammer

RAMpage to luka w oprogramowaniu podzespołów, nie systemie, czy jego sterownikach, a więc tak naprawdę nie zależy od wersji systemu Android. Nie wymaga także bezpośredniego dostępu, czy połączenia przewodowego do atakowanego urządzenia. Czyni to ją bardzo niebezpieczną.

Jak to działa? Podczas odczytu lub zapisu rzędu bitów w pamięci RAM przez procesor edytowane są także sąsiadujące z nim rzędy. Dzieje się tak ze względu na działanie niewielkiego wyładowania elektrycznego. Normalnie to nie problem, ale co jak takie wyładowania będą się odbywać raz po razie? Działanie to odkrywcy nazwali młotkowaniem (no dobra: „uderzaniem młotem”), z angielskiego „hammering”.

Taki ciągły odczyt i/lub zapis jednego rzędu może zdezorganizować pobliskie rzędy. Ataki tego spowodować mogą „bit-flip” tych rzędów i mimo że w teorii proces nie powinien mieć dostępu do innych rzędów, to jednak może je zmodyfikować.

Tak działa Rowhammer, który jest główną częścią RAMpage. Google oznaczyło ten exploit jako CVE-2018-9442.

Odkrywcy RAMpage

Jak wszystko, także i to musiało przez kogoś zostać odkryte.

W tym wypadku w odkryciu udział wzięli:

  • mgr. Victor van der Veen z Vrije Universiteit Amsterdam,
  • dr. Martina Lindorfer z TU Wien,
  • dr. Yanick Fratantonio z EURECOM,
  • mgr. Harikrishnan Padmanabha Pillai z IBM,
  • prof. dr. Giovanni Vigna z UC Santa Barbara,
  • prof. dr. Christopher Kruegel z UC Santa Barbara,
  • prof. dr. Herbert Bos z Vrije Universiteit Amsterdam,
  • dr. Kaveh Razavi z Vrije Universiteit Amsterdam.

Choć najpewniej było jeszcze wiele osób, ale bez tak znaczących tytułów.

RAMpage

RAMpage

Drammer przed wykryciem jakiejkolwiek dziury.

Czym jest?

RAMpage, jak już wspomnieliśmy, to luka sprzętowa. Skupia on w sobie Rowhammer oraz wiele innych pomniejszych exploitów dzięki czemu pozwala na uzyskanie praw Roota systemu.

A także o wiele więcej, co odkryła powyższa grupa ludzi. Możemy m.in. pominąć sandbox JavaScript albo atak na inną maszynę wirtualną działającą na tym samym urządzeniu hostującym. Choć to głównie na urządzeniach z procesorami 32- i 64 bitowymi.

Także urządzenia z procesorami ARM mogą zostać w ten sposób zaatakowane. Odkrywcy stworzyli DRAMMERa, czyli Deterministic Rowhammer Attacks on Mobile Devices, który pozwala na uzyskanie dostępu do użytkownika root.

Jak to działa

Nie wszystkie urządzenia z systemem Android są podatne na tego typu atak. Można go przeprowadzić w urządzeniach z kośćmi RAM typu LPDDR2, LPDDR3 i LPDDR4, a przecież starsze modele korzystały jeszcze z pamięci typu LPDDR.

Jednakże takie wymagania są dla samego RAMpage, DRAMMER dodatkowo wymaga obecności specjalnego typu zarządzania pamięcią przez system – Android ION. Trafił on do systemu Android wraz z wersją 4.0. Tak więc użytkownicy tych starszych są bezpieczni. Można się zastanowić, czy Orange o tym już nie wiedziało i z tego względu nie wydali aktualizacji do Androida 4.0 dla Xperii z 2011 roku?

To od ION zależy udostępnianie pamięci RAM aplikacjom. Jego przejęcie teoretycznie pozwoli atakującym na dostęp do wszelkich danych, także tych prywatnych, które przewijają się przez pamięć RAM.

RAMpage

I po wykryciu luki – zmianie uległa nie tylko informacja, okno programu zmieniło barwę na czerwoną.

Zabezpieczenie

Odkrywcy exploita stworzyli także sposób na zabezpieczenie IONa – GuardION. Prawda, że bardzo wymyślna nazwa?

Działanie GuardION jest proste – tworzy on bufor wokół aplikacji, która zostaje uznana za niebezpieczną – także sam ION miałby być nim zabezpieczony. To też żadna łatka, która zabezpieczy nasze urządzenie przed atakiem typu DRAMMER. Jednak na pewno zmniejszy „zniszczenia” jakie ten mógłby wywołać.

Google już od dłuższego czasu zabezpiecza nas przed tego typu atakami (choć nie tym). Jednak jego twór – DMA (Direct Memory Access) ma gorszy wpływ na baterię pod GuardION. Stąd twórcy już skontaktowali się z Google, jednak Ci uznali, że nie zastosują tego rozwiązania, gdyż będzie mieć zbyt duży wpływ na wydajność urządzeń…

Jak sprawdzić, czy jesteśmy podatni?

Twórcy stworzyli aplikację, którą nazwali… Drammer. Testuje ona nasze urządzenie, aby sprawdzić, czy jesteśmy podatki na atak.

W sumie jest to tylko potwierdzenie, bo jeśli nasze urządzenie wyszło po 2012 roku to na pewno jesteśmy podatki, a jak przed – to najpewniej nie.

Aplikację pobierzecie stąd: http://bit.ly/2Nka5FU (goo.gl nie chciało pozwolić na skrócenie link, gdyż prowadzi prosto do pliku .apk)

RAMpage

W trakcie działania aplikacja wyświetla odpowiednie powiadomienie.

 

Nowy Dirty Cow?

Jakby nie patrzeć exploit pozwala na uzyskanie praw użytkownika root, prawda? A więc czemu nie? Root na 6.0, 6.0.1, 7.0, 7.1.1, 8.0.0 bez odblokowania bootloadera, możliwość stworzenia kopii partycji TA na nowszych Xperiach… Może to nie aż tak dalekie marzenia?

Na chwilę obecną twórcy nie pokazali światu jak ten atak wygląda, a więc możemy jedynie pomarzyć. Ale w przyszłości? Kto wie…

A nawet jeśli nie sam root, bo jednak oryginalny kernel nie pozwoli na uruchomienie zmodyfikowanego systemu, to zawsze exploit może pozwolić na stworzenie kopii TA. Na podobnej zasadzie działa właśnie jej tworzenie w Xperiach do 2016 roku (i Xperii XZs). Tam wykorzystywana jest luka zwana Dirty Cow. A posiadając kopię odblokowanie bootloadera nie jest już takie straszne :)

Źródło: RAMpage (poprzez XDA)

 

Jeżeli znalazłeś/aś literówkę w tekście, to daj nam o tym znać zaznaczając kursorem problematyczny wyraz, bądź zdanie i przyciśnij Shift + Enter lub kliknij Zgłoś pomyłkę.