Hlavní navigace

Cold-Boot Attack ukradne hesla z paměti za dvě minuty, ochrana nefunguje

Petr Krčmář

Uspáváte počítač a necháváte ho přístupný? Je přece chráněný heslem a disk je zašifrovaný. Šikovný útočník dokáže uspaný počítač rozebrat, ochladit jeho paměti a přečíst si heslo či šifrovací klíče během dvou minut.

Doba čtení: 4 minuty

Paměť RAM je typická tím, že neudrží data bez napájení. Jakmile ji odpojíte nebo vypnete počítač, jsou veškeré informace z ní nadobro ztracené. Proto ostatně potřebujeme pevné disky, které touto vlastností netrpí. Za správných okolností ale i RAM dokáže udržet svůj obsah, někdy dokonce celé minuty.

Toho využívají útoky typu Cold-Boot, které spoléhají na to, že při rychlém restartu zůstává v paměti původní obsah, který je možné si přečíst. Mysleli jsme si, že tyhle útoky jsou za námi, protože nové počítače proti nim obsahují ochrany. Teď se ukazuje, že to tak není.

Původní Cold-Boot

O tomto typu útoku se začalo mluvit před deseti lety, kdy byla vydána studie Lest We Remember: Cold Boot Attacks on Encryption Keys [PDF]. Ta ukázala, že ve skutečnosti data z paměti mizí poměrně pomalu a především mizí postupně. Desítky sekund nepředstavují větší problém.

Data v paměti bez napájení po 5, 30, 60 sekundách a 5 minutách

Pokud paměť podchladíme na –50 °C pomocí spreje se stlačeným vzduchem, vydrží data v paměti bez poškození dlouhé minuty. Modul pak můžeme bezpečně vytáhnout z původního počítače a přenést někam, kde s ním můžeme pohodlně dále pracovat.

Podchladit a odnést

Už je to ale deset let, jde o známou techniku a výrobci počítačů zavedli opatření, která by jí měla bránit. Trusted Computing Group v čele s firmami AMD, Hewlett-Packard, IBM, Intel a Microsoft navrhla ochranu, která data v paměti zničí přepisem ve chvíli, kdy je napájení obnoveno.

Standard se jmenuje TCG Reset Attack Mitigation nebo také MORLock (Memory Overwrite Request Control). Při násilném restartu se tak všechna data z paměti ztratí a útočník nemá co číst, i když předtím vytvořil ty správné podmínky.

Ochranu lze překonat

Olle Segerdahl a Pasi Saarinen ze společnosti F-Secure nyní ukázali, že ochranu MORLock je možné snadno obejít. Je totiž možné přeprogramovat paměť, ve které se ukrývá pokyn pro přepis. Operační systém totiž při svém standardním vypnutí předá do nevolatilní flash paměti Biosu informaci o tom, že vyčistil paměť a nenechal v ní citlivá data. Při příštím bootu se pak Bios podívá, zda je správný bit nastavený či nikoliv a zda je nutné se obtěžovat přepisem paměti, který by významně prodloužil dobu startu.

Segerdahl a Saarinen tedy do postupu přidali další krok: zapsali do paměti informaci sami pomocí externího programátoru přes sběrnici SPI. Jsou tak schopni velmi rychle budoucí přepis paměti zablokovat, protože Bios dostane od systému falešnou zprávu o tom, že obsah paměti byl přepsán. Poté stačí už jen rebootovat a po startu z externího USB disku si data přečíst. Cold-Boot Attack tedy stále žije.

Útok je možné úspěšně použít na běžící zamčený nebo uspaný počítač. V takovém stavu je paměť napájena a stále aktivně drží svá data. Naopak vypnutí či hibernace (uložení paměti na disk) způsobí odpojení napájení a data se během chvíle postupně ztratí.

Dvě minuty stačí

Odborníci připravili demonstrační video, které ukazuje, že připravenému útočníkovi stačí velmi krátká doba ke získání hesla z paměti. Je potřeba počítač rozebrat, přeprogramováním flash paměti na desce zakázat přepis RAM a zároveň si případně povolit si bootování z USB. Poté stačí zasunout externí disk a restartovat. Dvě minuty jsou dostatečná doba pro provedení celé operace. Podívejte se:

Kritický je okamžik mezi vypnutím počítače a jeho opětovným zapnutím. Proto si v ukázce útočník pomáhá podchlazením čipů, které takto dokáží delší dobu udržet data. Z paměti je pak možné přečíst cokoliv, včetně hesel k uživatelským účtům nebo šifrovacích klíčů k diskům.

Útok sice vyžaduje cvik a speciální vybavení, ale je dostatečně známý. Navíc funguje prakticky proti všem současným notebookům, takže útočníci mají standardizovanou cestu, jak se ke klíčům dostat. Není úplně snadné to udělat, ale ani příliš těžké. Je tedy možné, že už na to přišel někdo před námi, říká Olle Segerdahl.

Dodává také, že to není triviální a snadný útok, ale při útoku na instituce jako jsou banky nebo velké společnosti se vyplatí něco takového podniknout. Navíc prý neexistuje jednoduchá oprava, kterou by výrobci mohli plošně nasadit. Je na výrobcích, aby chránili počítače před podobnými útoky. Nebude to snadné a nebude to rychlé.

Neuspávejte, hibernujte

Při útoku není problémem ani UEFI se zapnutým Secure boot, protože informace o podpisech povolených systémů jsou uložené ve stejné paměti, kterou útočník přepisuje pro vypnutí ochrany přečtení paměti. Ve stejnou chvíli si tak může „whitelistovat“ vlastní systém, který plánuje nabootovat po USB.

U počítačů s citlivými daty by měly firmy nasadit novou politiku, kdy by se počítače místo uspávání do paměti měly hibernovat. Před obnovením stavu z disku by navíc měly vyžadovat autentizaci uživatele. Jen tak lze zajistit, že nepoužívaný počítač nemá v paměti citlivé údaje a útočník tak nemá co krást.

MIF18 tip v článku ROSA

Je také velmi důležité, aby lidé o této možnosti věděli. Někdy je pro řešení bezpečnostních problémů nejlepší, když o nich prostě lidé vědí. Trocha budování povědomí může perfektně zabrat, vysvětluje Olle. Pak je dobré vybudovat plány pro rychlou reakci na incident. Pokud už firma zjistí, že byl něčí počítač ukraden, může například zneplatnit přístupy a tím snížit dopady.

Podívejte se na rozhovor s oběma autory:

Našli jste v článku chybu?