Ani nejlepší šifrování nemusí pomoci s ochranou dat proti šikovným špionům. Pokud útočník získá fyzický přístup k počítači, má velkou šanci, že se k datům dostane i bez zdlouhavého prolamování šifer.

Problém se jmenuje DMA – Direct Memory Access - přímý přístup do paměti. To je technologie, která umožňuje určitým zařízením, například grafickým kartám nebo diskovým řadičům, přistupovat přímo do operační paměti, aniž by tím musely obtěžovat procesor. Výhody jsou zřejmé, takový přístup je podstatně rychlejší a procesor se navíc může věnovat něčemu jinému.

Tento postup má i své nevýhody, zejména bezpečnostní. Umožňuje totiž „zvenčí“ získat přesnou kopii operační paměti běžícího počítače. Zařízení s DMA může přímo číst (a za určitých okolností též měnit) operační paměť, aniž by to na počítači běžící operační systém a další software mohl byť jenom detekovat, neřku-li změnit.

Proč je to problém? Protože operační paměť často obsahuje údaje kritické z bezpečnostního hlediska. Uživatelská jména, hesla a třeba šifrovací klíče k diskům, pokud používáte software na jejich šifrování, jako třeba TrueCrypt nebo BitLocker. Musejí tam být, jinak to technicky nejde, a jsou za normálních okolností dobře chráněna, protože operační systém nedovolí programu číst jinou část paměti, než která mu byla přidělena. Proti čtení paměti na hardwarové úrovni ale nic nezmůže žádný operační systém.

Jak takový útok probíhá? Útočník musí získat přístup k běžícímu, uspanému nebo hibernovanému počítači. Počítač může být zamčený a vyžadovat zadání hesla, ale musí běžet a mít tedy příslušné klíče nahrané v paměti. Pak pomocí vhodného portu (typicky FireWire) připojí svůj vlastní počítač a během několika minut získá kopii operační paměti cílového systému, včetně citlivých údajů.

Jakých rozhraní se tento problém týká?

FireWire, nazývaný též iLink nebo IEEE 1394. Standard vyvinutý původně společností Apple, používaný zejména pro připojení páskových DV kamer, i když existují například i FireWire externí pevné disky. Běžní uživatelé ho většinou k ničemu nevyužívají, ale velká část počítačů tímto portem disponuje, zejména těch „lepších“.

FireWire zažívá ústup ze slávy, pro připojení běžných periferií je nahrazován rychlejším USB 3.0. A páskové DV kamery jsou nahrazovány HD kamerami s paměťovými kartami, takže do budoucna je toto rozhraní prakticky zbytečné – jenom nebezpečí zůstává. Jistou útěchou je, že například Windows 8 již nejspíš nebudou obsahovat podporu pro FireWire.

Rozhraní Thunderbolt také pochází od Applu a obsahují ho novější modely MacBooků, iMacu a Mac Mini. Ve světě PC je toto rozhraní zatím extrémně vzácné. Nicméně je pravděpodobné, že se tento stav do budoucna změní. Thunderbolt v sobě obsahuje vlastně dvě rozhraní: DisplayPort pro připojení monitoru a univerzální PCI-E, které disponuje právě DMA. Je stejně nebezpečný jako FireWire a existují na něj praktické útoky.

ExpressCard a PCMCIA jsou rozhraní sloužící pro připojení rozšiřujících karet do notebooků. Oba dva standardy nabízejí DMA. Útok je velmi mírně komplikovanější o to, že útočník musí vložit FireWire kartu (což většinou způsobí automatickou instalaci jejích ovladačů).

Jak se tomuto typu útoku bránit?

Nepoužívané porty (zejména FireWire) můžete fyzicky odstranit nebo zablokovat. U stolních počítačů je lze s trochou šikovnosti fyzicky odstranit ze základní desky, ale může stačit je jenom zakrýt tak, aby se do nich nedal zasunout konektor bez fyzického rozebrání počítače. U notebooku je to podstatně komplikovanější a fyzické blokování vyžaduje poměrně brutální prostředky (třeba zalít konektor tavným lepidlem).

Méně brutální varianta, použitelná i bez ztráty záruky, je zakázat nepoužívaná rozhraní v operačním systému a v BIOSu.

Samozřejmě nejlepší je nenechávat počítač bez dozoru, protože útočník s fyzickým přístupem dokáže škodit mnoha kreativními způsoby. Bohužel, to je trochu „hraběcí rada“, protože je prakticky nemožné se jí řídit.

 

Autor je Microsoft MVP pro oblast ASP.Net a vydavatel webových serverů aspnet.cz, secpublica.cz a bdsm.cz

 

Podrobnější informace: