V dnešní době panují velké strachy před špehováním a odposloucháváním. Před nějakým časem jste si mohli přečíst, že ani nemusíte mít v počítači mikrofon, aby vás nějaký malware mohl nahrávat, stačí nechat připojená sluchátka. Jenže nebezpečné zdá se mohou být i úplně nevinně vypadající součástky, které byste asi nikdy nepodezírali – třeba pevný disk. I ten se zdá se dá využít k odposlechu, jak dokládá experiment, jenž publikoval bezpečnostní expert Alfredo Ortega (teď už jen čekám, kdy někdo uskuteční náš pár let starý apríl). Jak je toto možné? Mechanický princip pevných disků je činí zranitelnými vůči vibracím, včetně těch, které způsobí zvuk dopadající nebo přenesený na konstrukci disku. Pokud totiž tento zvuk rozvibruje plotny disku, nemůže disk číst data. Ukazuje se, že tento efekt, který je již znám řadu let, je dnes překvapivě dobře měřitelný, pokud máte na počítači přístup k vysoce přesným časovačům (jako třeba HPET), které dávají rozlišení až na úrovni nanosekund.
Vibrace měřitelně ovlivňují odezvu
Ortega proto vyzkoušel postup, kdy pokusný „malware“ měří dobu, kterou potřebují systémová volání OS na splnění požadavků na čtení dat z disku. Ukázalo se, že existuje závislost mezi intenzitou a odezvou. Hlasitější zvuk a tedy silnější vibrace způsobují delší prodlevu a lze je zachytit v časech systémového volání. Zdá se, že tato data lze relativně spolehlivě analyzovat a přes značný náhodný šum z nich zvuk, který ovlivnil pevný disk, částečně rekonstruovat.
Tato rekonstrukce je hodně hrubá, takže ač pozorovaná soustava v podstatě představuje mikrofon, jde o mikrofon s hodně nekvalitním záznamem. Ortega zveřejnil na Githubu kód, kterým lze zvuky, jimž je disk vystaven, měřit a vizualizovat, a použití ukázal i na videu. Registrovány jsou zejména nízkofrekvenční hlasité zvuky. Minimálně zatím kvalita snímání určitě neumožňuje „slyšet“ něco citlivého. Ale existují výzkumy, které demonstrovaly schopnost vyextrahovat řeč z velmi nekvalitního záznamu, takže určité riziko tu může být, schopnosti vědy a techniky jsou někdy překvapivé.
Nepříjemné je, že pro tento útok nejsou potřeba speciální oprávnění. A jeho podstata navíc způsobuje, že funguje i skrze virtualizaci. Z virtuálního stroje můžete odposlouchávat informace patřící hostitelskému systému, který disk provozuje. Což je ale vedlejší efekt toho, že jde o průnik z elektronické sféry do reálného světa, v němž se běžící počítač nachází.
Pokud se na tuto technickou kuriozitu díváme jako na bezpečnostní riziko, pak jde o tzv. „timing attack“. Jde o to, že se tím, že znáte dobu trvání nějaké operace nebo odezvu, s níž byla vykonána, můžete dozvědět věci, které byste získat neměli a které mohou být citlivé. Takovýchto útoků je možných hodně, nicméně využití k akustickému odposlechu je dosti originální. Teoretickou obranou proti podobným nezamýšleným efektům by bylo, pokud by operační systém dobu volání nějak randomizoval nebo jinak upravoval, aby tuto informaci potlačil. Otázka ale je, zda by to bylo žádoucí, protože by to znamenalo celkové snížení I/O výkonu. Jinou cestou je v tomto konkrétním případě samozřejmě použití SSD místo mechanického disku.
Anebo postaru DoS…
Citlivost pevných disků má kromě hrozby pro soukromí ještě jednu stránku. Hluk lze přirozeně použít i k útoku hrubou silou. Dostatečně silný trvající zvuk dokáže disku zcela zabránit vtom, aby dokončil požadované čtení (jelikož vibrování plotny přetrvává a neumožňuje číst stopu), zejména pokud se trefí do jeho rezonanční frekvence. Použitím takového zvuku se tedy dá dosáhnout efektu DoS útoku. Web Bleeping Computer, který o tomto experimentu píše, uvádí případ, kdy protipožární systémy datacentra v Rumunsku vypouštějící inertní plyn vydávaly během testování hlasitý zvuk, který údajně poškodil pevné disky a narušil v zemi na několik hodin fungování kritických bankovních systémů – včetně plateb a výběrů z bankomatů.