Jump to content
Forum Kopalni Wiedzy
Sign in to follow this  
KopalniaWiedzy.pl

Zdalny atak na układy DRAM

Recommended Posts

Francuscy i austriaccy eksperci opublikowali dokument, w którym opisują, w jaki sposób można przeprowadzić zdalny atak na układy pamięci DRAM. Atak wykorzystuje znany od lat problem o nazwie "Rowhammer". Problem związany jest z gęstym upakowaniem komórek pamięci w układach DRAM, co powoduje, że są one niezwykle podatne na wewnętrzne zakłócenia. W ten sposób np. jeden proces może wpływac na zawartość pamięci innego procesu, do której nie powinien mieć dostępu.

Problem został opisany w 2003 roku przez Sudhakara Govindavajhala, a w 2014 roku szerzej badał go Yoongu Kim. W marcu bieżącego roku eksperci z Google'a stworzyli dwa działające szkodliwe kody, które wykorzystywały problem Rowhammer. Jeden z nich pozwalał na bezpośrednie odwoływanie się do wywołań systemowych OS-u, drugi zwiększał swe uprawnienia i zyskiwał dostęp do całości pamięci. W przypadku obu kodów trudność ataku polegała m.in. na tym, że szkodliwy kod musiał zostać zainstalowany na maszynie użytkownika przez kogoś z fizycznym dostępem do niej. Teraz opisano, w jaki sposób wykorzystać problem Rowhammer zdalnie.

Daniel Gruss i Stefan Mangard z Uniwersytetu Technologicznego w Grazu oraz Clementine Maurice z francuskiego Technicoloru przeprowadzili atak za pomocą JavaScriptu. Ofiarą kodu Rowhammer.js padł Firefox 39, jednak specjaliści zapewniają, że technika ataku jest uniwersalna, może zostać zaimplementowana do każdej architektury, języka oraz środowiska uruchomieniowego. Fakt, że atak jest tak uniwersalny i może być przeprowadzony zdalnie dramatycznie zwiększa liczbę potencjalnych ofiar. Na razie badacze nie stworzyli kodu, który - wykorzystując Rowhammer - dawałby dostęp na prawach administracyjnych. Jednak ich zdaniem powstanie takiego kodu to tylko kwestia czasu. Cyberprzestępcy z pewnością będą zainteresowani możliwościami, jakie daje problem Rowhammer. Eksperci skupiają się obecnie na określeniu, które układy i jakich producentów są podatne na atak.

Eksperci uważają, że do czasu, aż nie zostanie znalezione rozwiązanie problemu Rowhammer producenci przeglądarek powinni zaimplementować w nich narzędzia testujące, czy dany system jest podatny na błąd Rowhammer. Jeśli tak, przeglądarka powinna spowolnić przetwarzanie JavaScriptu, by zmniejszyć prawdopodobieństwo ataku.


« powrót do artykułu

Share this post


Link to post
Share on other sites

"Problem Rowhammer" to po prostu błąd sprzętowy niektórych układów pamięci (właściwie to powinno być traktowane jak uszkodzenie i reklamowane w sklepie). Układy te są zorganizowane w prostokątne siatki (wiersze/kolumny), a błąd polega na tym, że wielokrotne powtarzanie dostępu (czyli odczytu lub zapisu) do danych z jedego wiersza tej siatki może przełączyć stany bitów w sąsiednim wierszu. Na pierwszy rzut oka to może co najwyżej wywalić system (niebieski ekran itp), ale najwyraźniej udało się to zrobić w sposób kontrolowany. Rozwiązanie problemu to albo wymiana układów pamięci na w pełni sprawne, albo korzystanie z mechanizmu losowo przydzielającego pamięć dla procedur systemu operacyjnego i aplikacji. W źródle wspominają też o innych możliwościach, np. częstszym odświeżaniu zawartości pamięci (to taki wewnętrzny mechanizm w bebechach komputera, potrzebny odkąd wynaleziono układy DRAM)

 

Źródełko:

http://googleprojectzero.blogspot.com/2015/03/exploiting-dram-rowhammer-bug-to-gain.html

Edited by Przemek Kobel

Share this post


Link to post
Share on other sites

Dzięki za wyjaśnienie. Byłem zbyt leniwy by poszukać ;)

 

Czy to powinno być traktowane jak uszkodzenie to tego nie wiem. Wiem, na przykład, że pamięci NAND flash też mogą cierpieć z powodu read/write disturb. Producenci tych pamięci zalecają by zapisywać/odczytywać pamięć sekwencyjnie, blok po bloku. Jednak nie spotkałem się z tym by podlegało to wymianie.

Share this post


Link to post
Share on other sites

"Problem Rowhammer" [...]

Prawdopodobnie nie ma komercyjnych pamięci DRAM bez tego problemu.

Share this post


Link to post
Share on other sites

 

 

W źródle wspominają też o innych możliwościach

 

ECC, choć to także nie zawsze zadziała.

Share this post


Link to post
Share on other sites

 

 

Prawdopodobnie nie ma komercyjnych pamięci DRAM bez tego problemu.

 

Ale całe komputery są. Prawdopodobnie decyduje kombinacja chipsetu i pamięci (od bardzo dawna nie przyglądałem się bebechom komputerów i nie wiem która część zajmuje się odświeżaniem - na czuja obstawiałbym, że robią to same układy pamięci, ale muszą być popędzane kontrolerem).

 

No dobrze, zerknąłem gdzieś i "czuj" mnie jeszcze nie myli:

https://en.wikipedia.org/wiki/Memory_refresh

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...