Ataki cold boot: co RAM pamięta po odcięciu zasilania
Wyłączenie komputera wydaje się twardą granicą. Nią nie jest. DRAM, która przechowuje pamięć roboczą działającego systemu, to siatka maleńkich kondensatorów, a kondensatory rozładowują się stopniowo. Przez sekundy, czasem minuty po zniknięciu zasilania układy wciąż trzymają większość tego, co zapisano, łącznie z kluczami woluminów, które szyfrowanie dysku ładuje przy starcie. Atakujący, który uruchomi ponownie taką maszynę z minimalnym bootloaderem i skopiuje resztki, wyjdzie z tymi kluczami. To jest atak cold boot, i od 2008 roku demonstrowano go na prawdziwych, szeroko używanych produktach szyfrujących.
Praca z Princeton, która nazwała problem
Kanoniczną demonstrację przeprowadzili badacze z Center for Information Technology Policy Uniwersytetu Princeton i ich współpracownicy. Ich artykuł, 'Lest We Remember: Cold Boot Attacks on Encryption Keys', zaprezentowano na sympozjum USENIX Security w San Jose w lipcu 2008. Dystans między tamtym czasem a dzisiejszym warto powiedzieć wprost: technika jest stara, i ostrzeżenie też. Autorzy pokazali, że DRAM przechowuje zawartość od sekund do minut po utracie zasilania, nawet w temperaturze pracy i nawet po wyjęciu modułów z płyty głównej, a proste chłodzenie, którym zespół obłożył moduły sprayem chłodzącym, rozciąga to okno dramatycznie. Bez specjalnych urządzeń i materiałów odzyskiwali klucze szyfrowania dysku z obrazów pamięci i pokonywali BitLocker, FileVault, dm-crypt i TrueCrypt w zimnych restartach. Opisali też algorytmy wyszukiwania kluczy w częściowo zdegradowanej pamięci i korekcji błędów bitów.Dlaczego klucze przeżywają
Słabym punktem są harmonogramy kluczy AES (key schedule). Rozwinięty klucz zapisywany jest w pamięci z dużą redundancją wewnętrzną, więc nawet zaszumiony zrzut można skorygować do prawdziwego klucza. I współczesny sprzęt nie zamyka tej luki. Akademicka analiza z 2017 roku, 'Cold Boot Attacks are Still Hot: Security Analysis of Memory Scramblers in Modern Processors', zbadała logikę skramblowania, którą współczesne procesory stosują do DRAM, środek, który podobno tępiłby takie ataki, i uznała ją za nieskuteczną: maskę skramblowania da się wyprowadzić z samego zrzutu. Autorzy zbudowali dowód słuszności, który odzyskuje klucz AES szyfrowania dysku z pamięci współczesnego procesora, a ich atak opiera się na krótkim przerwaniu zasilania, a nie na chłodzeniu modułów.Dlaczego wyłączenie to nie bezpieczeństwo
Gdyby klucze były niezawodnie wymazywane przy wyłączaniu, okno byłoby małe. Ale kilka powszechnych stanów zasilania niczego nie wymazuje nigdy. Uśpienie (suspend-to-RAM) trzyma DRAM pod napięciem i odświeża: każdy klucz, który system trzymał, zostaje na miejscu, za ekranem blokady, który można atakować bezpośrednio. Hibernacja zapisuje obraz RAM na dysk, co jest bezpieczne dokładnie tak bardzo, jak zaszyfrowany jest wolumen wymiany albo hibernacji, bo migawka działającej pamięci na niezaszyfrowanym magazynie to prezent. Nawet ciepły restart nie odcina modułów od zasilania na długo. Projekt Tails, który dokumentuje to zagrożenie dla swoich użytkowników, ujmuje ekspozycję wprost:... może pozostawać w RAM do kilku minut po wyłączeniu ...To ostrzeżenie jest kierowane do zwykłych laptopów. Maszyna, która jest wyłączona w potocznym sensie, pokrywa zamknięta, ekran ciemny, stan zasilania rozmyty, może wciąż trzymać wszystko, czego chce atakujący, a chwycenie jej kosztuje sekundy.
Jakie mitygacje faktycznie istnieją
Tails to najbardziej widoczna obrona w codziennym użyciu. Przy wyłączaniu system nadpisuje większość swojej pamięci RAM danymi losowymi, a to samo czyszczenie odpala się, gdy nośnik startowy zostaje fizycznie wyrwany w trakcie działania, ścieżka awaryjna zbudowana dokładnie na moment, gdy ktoś chwyta maszynę. Pod maską opiera się to na funkcji jądra init-on-free plus procesie nadzorczym monitorującym nośnik USB, a notatki projektowe dodają, że pliki potrzebne procesowi czyszczenia są blokowane w pamięci od samego startu, żeby czyszczenia nie dało się wypchnąć w trakcie działania. Nawyki, które się z tym łączą, są niepozorne, ale konkretne:- Wyłączaj całkowicie zamiast usypiać, zwłaszcza zanim przekażesz urządzenie komuś innemu.
- Naucz się najszybszej ścieżki wyłączania twojego systemu, bo czyszczenie potrzebuje czasu na wykonanie.
- Nigdy nie zostawiaj działającego ani uślonego laptopa bez fizycznego nadzoru.
- Jeśli sprzęt znika ci z oczu w miejscu podwyższonego ryzyka, traktuj go jako potencjalnie naruszony, a nie po prostu wyłączony.










