Kdo má rád své soukromí a bezpečí dat, šifruje. Ve Windows to znamená většinou nasazení integrovaného systému BitLocker, který umí zašifrovat celý disk. BitLocker, ale pravděpodobně i další nástroje pro šifrování dat na počítačových discích nefungují optimálně a uložená data správně nechrání. Důvodem nejsou chyby programátorů Microsoftu nebo jiných výrobců softwaru. Problém se skrývá v samotných pevných discích.

Objevený bezpečnostní problém každopádně neznamená, že šifrování dat nemá smysl, naopak. Obecně platí, že šifrování disku je dobrý nápad. S jeho pomocí lze uchránit data před vyzrazením v případě, že dojde ke krádeži notebooku. Šifrování pomáhá chránit data i ve chvíli, kdy třeba disk selže a je nutné jej vyhodit – i kdyby někdo vadný disk opravil/oživil, data z něj jen tak nezíská. Naopak, pokud data na disku nechrání šifrování, stačí disk z počítače vyjmout a vložit jinam, případně použít jiný operační systém spuštěný například z USB klíčenky, a útočník má nešifrovaná data volně k dispozici.

Proto dnes všechny operační systémy nabízejí šifrování všech dat na disku. Ve Windows 10 Home se jmenuje Device Encryption, verze Windows 10 Pro má BitLocker, linuxové distribuce využívají encrypted LVM… Existují i řešení vyvíjená nezávisle na operačních systémech, třeba populární open source program VeraCrypt. V tomto okamžiku dostupné informace ukazují na ohrožení BitLockeru, ale je pravděpodobné, že problém se minimálně částečně dotýká všech podobných řešení.

Obecně platí, že šifrování je výpočetně náročná operace. Proto ji, pokud je to možné, delegujeme na specializovaný hardware. Existují dva standardy, které umožňují šifrování realizovat přímo uvnitř pevného disku samotného. Prvním a historicky starším je ATA Security, rozšíření standardu ATA (AT Attachment), který se v paralelní (PATA) nebo sériové (SATA) podobě stará o připojení disků k počítači. Novější standard je pak znám jako TCG Opal a popisuje takzvaná samošifrovací zařízení (self-encrypted device). Zájemce o úvod do problematiky odkazuji na dobrý článek na blogu společnosti BitMicro.

Právě samošifrovací disky představují slabý článek. BitLocker totiž ve výchozím nastavení věří diskům s podporou šifrování, že data chrání, a sám nic nešifruje. Podle v pondělí zveřejněné studie Self-encrypting deception: weaknesses in the encryption of solid state drives (SSDs) holandských bezpečnostních výzkumníků Carla Meijera a Bernarda van Gastela z Radboud University je však tato důvěra minimálně v některých případech neodůvodněná.

Holandští odborníci ve své práci otestovali celkem sedm modelů SSD úložišť od firem Samsung a Crucial. Všechny přitom obsahují ve své implementaci šifrovacích algoritmů zranitelnosti, které umožňují za určitých okolností obsah disku odtajnit. Některé chyby jsou vyloženě školácké a relativně snadno zneužitelné, jiné jsou spíše teoretické. Z celkového pohledu jsou však zjištění zveřejněná v rámci studie alarmující.

Výrobce systému jako oběť

Je nutné zdůraznit, že Microsoft je v tomto případě nevinný. Nejedná se o chybu v jeho softwaru ani v nastavených procesech. Delegovat šifrování na disk samotný, pokud ho podporuje, je naprosto správný a logický krok, který vychází z průmyslových standardů. Je podle mého názoru pravděpodobné, že stejně postupují i jiná podobná řešení. Stejně tak je bohužel dle mého soudu pravděpodobné, že chybná implementace se netýká jenom dvou testovaných výrobců a sedmi modelů disků, ale že problémy najdeme napříč celým sektorem.

Jaké je řešení? V první řadě mohou problém vyřešit výrobci disků vydáním nového firmwaru. Podle autorů zmíněné studie byly obě společnosti, Samsung i Crucial, v rámci responsible disclosure procedury i problému informovány, uznaly ho a buďto zveřejnily opravenou verzi firmwaru, nebo na opravě pracují. Jeden z testovaných disků (starší, leč populární model Samsung EVO 840) mám v počítači, novou verzi firmwaru se mi ale zatím získat nepodařilo.

Druhá možnost opravy spočívá v zákazu použití hardwarového šifrování. To lze ve Windows udělat pomocí group policy. Tímto způsobem lze vynutit použití softwarového šifrování i v případě, že disk tvrdí, že podporuje šifrování hardwarové. Tento postup nicméně nese dvě nevýhody. První je možnost mírného zpomalení práce s diskem. Zpomalení by nicméně nemělo být nijak dramatické, protože všechny moderní procesory obsahují hardwarovou akceleraci AES, která by měla být dostatečně rychlá.

Závažnější je, že prosté zakázání podpory HW šifrování problém u již zašifrovaných disků nevyřeší. Data je nutné dešifrovat a po změně nastavení zašifrovat znovu, což je nutno udělat ručně a trvá to dlouho. V citované studii je uvedeno, že přešifrování vyžaduje zcela novou instalaci operačního systému, ale to mi na základě znalosti fungování BitLockeru přijde zbytečné, resp. nikoliv nezbytné ve všech případech, v každém případě jde o komplikaci.

Prolhaný hardware z minulosti

Není to poprvé, co se Microsoftu nevyplatila důvěra k výrobcům hardwaru. Zajímavou historku popisuje Raymond Chen na svém blogu The Old New Thing. Vzpomíná v ní na to, jak dříve výrobci součástek také ignorovali správné postupy při komunikaci s operačním systémem.

Když se ve Windows 95 objevila první verze technologie DirectX, obsahovala metodu, pomocí které se mohl operační systém zeptat ovladače grafické karty, zda podporuje konkrétní technologii práce s grafikou. K identifikaci různých technologií sloužily takzvané Guidy – náhodně vygenerované hodnoty, které závisí mimo jiné i na sériovém číslu síťové karty v daném počítači.

Při ladění problémů s jednou grafickou kartou se ukázalo, že ovladač nejmenovaného výrobce sebevědomě na každý dotaz na podporu nejrůznějších funkcí odpovídal "ano", i když ve skutečnosti takové věci karta neuměla. Jeden z vývojářů Windows se s falešnými hláškami ovladače vypořádal po svém: šel do kanceláře svého šéfa, zjistil sériové číslo (MAC adresu) jeho síťové karty a tu pak rozbil kladivem.

Dramatický krok zaručil, že síťová karta s takovým sériovým číslem už v žádném počítači není a nebude. Když tedy ovladač odpověděl na dotaz s identifikátorem založeným na neexistující síťové kartě kladně, bylo hned zřejmé, že se mu nedá věřit.

V případě problému s šifrováním pevných disků však nepomůže ani kladivo.