KopalniaWiedzy.pl 351 Posted July 30, 2015 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
Przemek Kobel 65 Posted July 30, 2015 (edited) "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 July 30, 2015 by Przemek Kobel Share this post Link to post Share on other sites
smoczeq 5 Posted July 30, 2015 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
Arlic 4 Posted July 30, 2015 "Problem Rowhammer" [...] Prawdopodobnie nie ma komercyjnych pamięci DRAM bez tego problemu. Share this post Link to post Share on other sites
wilk 103 Posted July 30, 2015 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
Przemek Kobel 65 Posted July 31, 2015 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