10.03.2015, 00:53
Kiedy o tym przeczytałem na "Niebezpieczniku" byłem zaskoczony, ale nie ukrywam, że było to również uczucie niepewności i obawy, czy proces dalszej miniaturyzacji podzespołów nie pokaże swojego "drugiego" oblicza. Tutaj człowiek właściwie sam wycia rękę z zaproszeniem...
Cytat:Na blogu googlowego Projektu Zero właśnie pojawił się opis ciekawego ataku o nazwie “Rowhammer“. Badacze pokazują w nim jak za pomocą wielokrotnie powtarzanych odczytów pewnych obszarów pamięci DRAM można wymusić przeskoczenie bitu w innym obszarze pamięci. Atak jest o tyle groźny, że za jego pomocą złośliwy proces może wpływać na zawartość pamięci innego procesu, do której normalnie z racji separacji nie ma dostępu. Badacze zademonstrowali kod exploita, który dzięki technice Row Hammer uzyskuje prawa roota, pomimo tego, że został odpalony z prawami użytkownika.Źródło
Na czym polega atak Rowhammer?
Sam przeskok bitu informacji zapisanej w pamięci RAM, to znany od dawna problem, który opisał w 2003 roku Sudhakar Govindavajhala, a w 2014 roku temat zgłębił Yoongu Kim (por. publikacja naukowa pt. Flipping Bits in Memory Without Accessing Them: An Experimental Study of DRAM Disturbance Errors).
W skrócie: wielokrotne uzyskiwanie dostępu do dwóch adresów w pamięci (do której dany proces ma dostęp) powoduje przeskok bitu w trzeciej lokalizacji, która znajduje się w innym rzędzie (ang. “row“) pamięci DRAM na innej stronie (ang. “page“) — innych 4k.
Atak działa, ponieważ współczesne pamięci DRAM stają się mniejsze, przez co komórki pamięci znajdują się coraz bliżej siebie. Taka budowa wprowadza niestabilności układu (komórki oddziałują ze sobą elektrycznie i ładunek z jednej może “wyciec” na sąsiednią). Powtarzanie zapisu niejako większa “wyciek” ładunku, który w końcu może spowodować tzw. “przeskok bitu“, czyli zamianę 01.
(...)
Exploity
Badaczom udało się stworzyć 2 działające exploity. Pierwszy ucieka z sandoboksa tzw. “natywnego klienta” (NaCl) na architekturze x86-64 i ma możliwość bezpośredniego odwoływania się do wywołań systemowych systemu operacyjnego. Drugi z exploitów działa jako standardowy proces x86-64 na Linuksie i podnosi uprawnienia zyskując dostęp do całości pamięci fizycznej.
Badacze sugerują też, że Rowhammer może sprawić kłopot w środowiskach zwirtualizowanych.
Tego może się nie dać załatać…
Badacze nie są w stanie oszacować, które konkretnie modele pamięci są podatne na ten atak oraz czy podatność tę w ogóle można “załatać” bez wymiany kości RAM — w końcu przyczyny błędu należy upatrywać w coraz ściślejszym upakowaniu komórek pamięci, co wprowadza pewne konstrukcyjne “niestabilności” układu.
Opublikowane przez siebie wyniki zanonimizowali (nie poznamy nazw podatnych na atak modelów laptopów i prodcucentów pamięci DDR3 DRAM). Dlatego aby sprawdzić czy Wasz laptop jest podatny na ten atak, skorzystajcie z tego skryptu udostępnionego przez badaczy. Jeśli wasza kość jest podatna (pojawiają się błędy) to w zasadzie jedynym pewnym obecnie wyjściem jest zamiana pamięci na ECC lub LPDDR4 — no i oczywiście duża rozwaga w tym, jaki kod (oprogramowanie) uruchamiacie na swoim sprzęcie.
PS. Sprawdzone przez badaczy desktopy były wyposażone w pamięci ECC i żadna z nich nie umożliwiała wykonania ataku Rowhammer. Badacze odkryli też, że niektórzy z producentów BIOS-ów po cichu zwiększyli częstotliwość odświeżania pamięci, co miało utrudnić przeprowadzenie ataków Rowhammer (ale niestety ich nie wyeliminowało).
[Aby zobaczyć linki, zarejestruj się tutaj]
Oryginalny artykuł na Project Zero[Aby zobaczyć linki, zarejestruj się tutaj]
"Bezpieczeństwo jest podróżą, a nie celem samym w sobie - to nie jest problem, który można rozwiązać raz na zawsze"
"Zaufanie nie stanowi kontroli, a nadzieja nie jest strategią"
"Zaufanie nie stanowi kontroli, a nadzieja nie jest strategią"