Można odnieść wrażenie, że w ostatnim czasie cyberataki koncentrują się głównie na człowieku. Socjotechnika i elementy zaskoczenia sprzyjają trafieniu wrażliwych informacji w niepowołane ręce. „Interfejs białkowy” jak niektórzy określają użytkownika, uchodzi za najsłabsze ogniwo łańcucha bezpieczeństwa, choćby wyposażono go w najlepszą technologię. Istnieją jednak mniej konwencjonalne sposoby na pozyskanie danych. Ujawnienie podatności w oprogramowaniu otwiera bramy atakującym, ale można temu zapobiec. W wielu przypadkach wystarczy wgranie odpowiedniej aktualizacji od producenta. A co zrobić, gdy atak umożliwiają luki w zabezpieczeniach hardware’u? Poznajcie RAMBleed – exploit pozwalający hakerom kraść dane z pamięci dzięki wadom sprzętowym.

Zawartość lokalizacji pamięci może ulec zmianie nie tylko w momencie nadpisania, ale  również w wyniku błędu naruszenia
Zawartość lokalizacji pamięci może ulec zmianie nie tylko w momencie nadpisania, ale również w wyniku błędu naruszenia

Ewolucja RowHammera

RowHammer to już znany patent. Polega on na takim odczytywaniu obszarów pamięci aby nastąpiły tzw błędy zakłócenia. Pamięć cyfrowa jest układem elektronicznym przechowującym dane binarne (0 lub 1) w formie tablicy. Ponieważ dzisiejsza elektronika dąży do jak najmniejszych rozmiarów, komórki pamięci są „upakowane” bardzo blisko siebie. Regularne „atakowane” ich wywołaniami może skutkować sprzężeniem elektrycznym między rzędami komórek. Takie wystąpienie, powtarzające się z dużą częstotliwością i w krótkim przedziale czasowym może doprowadzić do niestabilności układu. W praktyce sprowadza się to do przeskoczenia bitu czyli odwrócenia jego wartości w następnych wierszach. Co więcej, wiersze te nie muszą ze sobą sąsiadować.

Samo zjawisko przeskoku bitu zostało opisane w 2003 roku. 12 lat później Projekt Zero opisał jak wykorzystując ten mechanizm można wpłynąć na zawartość pamięci innego procesu, nawet jeśli w normalnych warunkach nie jest on dostępny. Oznacza to nic innego jak eskalację uprawnień, w skrajnym przypadku aż do jądra systemu. Eksperci Project Zero zwrócili uwagę, że zabezpieczenia programowe opierają się na założeniu, że zawartość lokalizacji pamięci nie zmienia się, dopóki nie zostanie nadpisana. Przez to założenie, wiele systemów jest w grupie ryzyka.

Tuż po publikacji w 2015 roku pojawiły się głosy, że ten rodzaj ataku jest czysto teoretyczny. Cztery lata później wiemy, że RowHammer ewoluował uzyskując szereg nowych złośliwych możliwości, oprócz podniesienia uprawnień systemowych, przez wyrwanie się z bezpiecznych obszarów izolowanych aż po przejęcie kontroli – rzekomo nie do zdobycia – maszyn wirtualnych.

RAMBleed idzie o krok dalej

Niedawno znowu zrobiło się głośno o wspomnianych przypadłościach sprzętowych. Zespół badaczy akademickich odkrył kontynuację ataków klasy RowHammera, które pozwala atakującym na odczyt danych z pamięci na docelowym komputerze z systemem Windows, bez faktycznego dostępu do samej pamięci. Metoda jest nazywana RAMBleed.

RAMbleed

Andrew Kwong, Daniel Genkin, Daniel Gruss i Yuval Yarom zaprezentowali metodyke dostępu: Atakujący mogą wywnioskować wartości w pobliskich wierszach pamięci DRAM, obserwując odwrócenie bitów wywołane przez RowHammer w pamięci. Zespół naukowców ze Stanów Zjednoczonych, Australii i Austrii opisał RAMBleed jako „czytanie bitów w pamięci bez dostępu do nich”:

„Poprzednie ataki wykorzystywały efekt RowHammera do zapisywania (lub odwracania) bitów w pamięci ofiary. RAMBleed różni się tym, że wykorzystuje RowHammer do odczytywania danych przechowywanych w pamięci fizycznej komputera . Ponieważ pamięć fizyczna jest dzielona między wszystkie procesy w systemie, naraża to wszystkie procesy”.

W testowym ataku naukowcy wykazali, że mogą odczytać klucz RSA OpenSSH 7.9 – i potencjalnie wszelkie dane przechowywane w pamięci – za pomocą RowHammera jako kanału bocznego.

„Przeskoki bitowe wywołane przez RowHammer zależą od danych, tzn. nieco bardziej prawdopodobne jest, że odwrócą się, gdy bity powyżej i poniżej będą miały odwrotny ładunek. Tworzy to zależny od danych kanał boczny, w którym atakujący może wydedukować wartości bitów w pobliskich rzędach, obserwując odwrócenie bitów we własnych wierszach pamięci. Wreszcie, ponieważ dane w pobliskich wierszach mogą należeć do innego procesu, ten wyciek przerywa granice izolacji wymuszane przez system operacyjny. ”

Urządzenia mobilne na celowniku

Aby rozpracować exploit, zespół umieścił tajne dane ofiary w wierszach powyżej i poniżej wiersza pamięci atakującego. Powoduje to, że odwrócenie bitów w rzędach atakującego zależy od wartości tajnych danych ofiary. „Atakujący może następnie użyć RowHammera do wywołania odwrócenia bitów we własnej pamięci, tym samym doprowadzając do wycieku potencjalnie wrażliwych informacji”.

Android ma jądro Linuxa co czyni go podatnym na ataki RowHammer i potencjalnie RAMBleed
Android ma jądro Linuxa co czyni go podatnym na ataki RowHammer i potencjalnie RAMBleed

Ten mechanizm wykracza poza komputery PC na urządzenia z systemem Android. Naukowcy zorientowali się, w jaki sposób można zastosować technikę ataku RowHammer na urządzeniach mobilnych i uzyskać dostęp do roota. Na celowniku mogą być miliony telefonów z systemem Android, w tym Nexus, Samsung, LG i Motorola. W 2018 r. Naukowcy zademonstrowali ataki typu RowHammer oparte na bezpośrednim dostępie do pamięci (DMA) na najnowszy system operacyjny Android. Co więcej, zakładały serię scenariuszy wykorzystania exploita app-to-app, które omijają wszystkie zabezpieczenia.

RAMBleed przesuwa RowHammer z zagrożenia w obszarze integralności na aspekty poufności. Ponadto, w przeciwieństwie do RowHammera, RAMBleed nie wymaga trwałych przeskoków bitów, a zatem jest skuteczny nawet wobec pamięci ECC. Dotychczas pamięć ta była odporna na ataki RowHammer ale wobec RAMBleed pozostaje podatna.

RAMBleed uśpionym zagrożeniem?

Naukowcy są zgodni,  że “sposobem na ograniczenie ryzyka ataku jest uaktualnienie do pamięci DDR4 z włączonym odświeżaniem wierszy docelowych (TRR)”. Jednocześnie twierdzą, że bezpośrednie zagrożenie w świecie rzeczywistym, jest niewielkie. RAMBleed  i większość innych wariantów RowHammera stanowi wyzwanie dla atakujących, którzy znają mnóstwo mniej skomplikowanych metod na pozyskanie danych. Być może, ataki oparte na RowHammerze, w tym RAMBleed, mogą w nadchodzących latach stać się poważniejszym zagrożeniem, szczególnie w tańszych urządzeniach. Zależy to od producentów sprzętowych i ich postawy wobec widma zagrożenia.

Podatność otrzymała swój identyfikator w bazie Common Vulnerabilities and Exposures – CVE-2019-0174 . Z kolei National Vulnerability Database opisuje ją jako: „Stan logiczny w określonych mikroprocesorach mogący umożliwić użytkownikowi częściowe ujawnienia informacji o adresie fizycznym za pośrednictwem dostępu lokalnego.”

RAMBleed to kolejny exploit wykorzystujący znaną już podatność. Niedługo hakerzy nie będą musieli się zbytnio wysilać, bo luki w systemach są tak powszechne. Opisywaliśmy je już nie tylko w rozwiązaniach Microsoft ale i nawet w rozwiązaniach dla przemysłu. Historia z RowHammer to kolejna kropla w morzu podatności.

Źródła:

https://googleprojectzero.blogspot.com/2015/03/exploiting-dram-rowhammer-bug-to-gain.html
https://www.blackhat.com/docs/us-15/materials/us-15-Seaborn-Exploiting-The-DRAM-Rowhammer-Bug-To-Gain-Kernel-Privileges.pdf
https://betanews.com/2019/06/12/rambleed-exploit/
https://threatpost.com/rambleed-side-channel-privileged-memory/145629
https://arstechnica.com/information-technology/2019/06/researchers-use-rowhammer-bitflips-to-steal-2048-bit-crypto-key

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *