Krypta.cz - Magazín o informační bezpečnosti
Mazání souborů vs. mazání dat
Za jakousi pomyslnou "nejvyšší" vrstvu můžeme položit prosté uživatelovo označení ikonky souboru a zmáčknutí klávesy DEL. V závislosti na používaném operačním systému a jeho konfiguraci se může požadovaný soubor přesunout do prostoru, odkud jej lze opět obnovit (typicky Koš/Recycle Bin pod Windows). Soubor je tak na disku stále, akorát byl hozen do "šrotu". Pokud operační systém tuto vlastnost neobsahuje nebo jí má uživatel vypnutou, přejde se na další vrstvu, tj. výmaz záznamu o souboru ze systému souborů. Těch nejpoužívanějších je v současné době minimálně deset, proto se vlastním procesem výmazu se nebudeme zabývat. Ať už tento mechanismus funguje tak či onak, mezi výmazem souboru a výmazem vlastních dat je diametrální rozdíl. Při výmazu souboru se, jak již bylo řečeno, z tabulky souborů smaže záznam o existenci a bloky (clustery) souborem používané se označí jako prázdné. Vlastní data přitom na disku zůstávají, akorát mohou být kdykoliv přepsány daty novými. Mohou, ale nemusejí. Je velmi pravděpodobné, že z volného místa delší dobu používaného počítače by bylo možné vydolovat veliké množství kdysi existujících souborů. Zcela jinou kapitolu tvoří síťové disky, ke kterým se často nedá přistupovat na fyzické úrovni (mj. různé scandisky apod...) a výmaz souboru je tak kompletně v režii serveru (já si momentálně vzpomínám na recover-utilitu SALVAGE pod Novell Netware).
Pro bezpečné odstranění nebezpečných dat je tedy nutné původní informace přepsat. Tomuto procesu se často říká wiping (angl. utírání, zametání) a programy pro tento účel vytvořené nesou toto slovo často ve svém názvu. Tento proces přepisování clusterů náhodnými (vlastně jakýmikoliv) daty bývá často opakovaný. Je to z důvodu vlastní "hardwarové bezpečnosti",tj. možnosti speciálními přístroji číst jakoby "minulá" data na disku (jen tak mimochodem, něco takového je relativně velmi dobře proveditelné například s audio/video záznamem na klasické magnetické pásce). Tedy jakési další "vrstva"... Takovýto nástroj obsahuje i program PGP, citujme tedy jeho doporučení : (angl. pass=běh, cyklus)
  • 3 passes for personal use.
  • 10 passes for commercial use.
  • 18 passes for military use.
  • 26 passes for maximum security.
Alternate Data Streams
Vlastní obsah souboru bychom mohli označit jako "main data stream", tedy jakási hlavní data. Vedle toho NTFS (souborový systém používaný systémy na bázi Windows NT) používá další proudy dat, tedy ke každému vlastnímu obsahu je jakoby možné zapsat obsahy vedlejší. Tyto data "navíc" jsou volně k použití aplikacím. Taková typická ilustrace je náhled obrázku, který, aby se nemusel počítat pokaždé, se uloží do alternate data stream, odkud se může kdykoliv přečíst. Jako další příklad je možné uvést uložení souhrnných údajů o dokumentu (typicky používá MS Word).
Stojí za zmínku, že takováto data mohou být přepojena stejně dobře k adresáři jako k souboru.
No a právě takováto data jsou kamenem úrazu mnoha používaných programů na bezpečné mazání. Pokud takovýto program pod NTFS používáte, měli byste se ihned ujistit zda neexistuje novější verze, která Alternate Data Streams již bere v úvahu. Kurt Seifried, který tuto chybu objevil, označil za nebezpečné mimo jiné tyto programy
  • PGP 6.x, 7.x, freeware i komerční verze
  • BCWipe version 1.x a 2.x
  • Eraser 5.3 http://www.tolvanen.com/eraser/
  • SecureClean v3 build 2.0 http://www.accessdata.com/main_deleted_data.htm
  • East-Tec Eraser 2000 http://www.east-tec.com/eraser/index.htm
Není navíc moc pravděpodobné, že by některé další softwarové produkty tuto chybu neobsahovaly.
Pokud je nějaký obsah ve Alternate Data Streams, zůstane těmito programy nepovšimnut, tedy nesmazán. Autor taktéž podotýká, že tento prostor by mohl být ideální skrýší pro různé viry a červy, neboť většina antivirových programů ADS nescanuje, pokud tak nejsou přímo nakonfigurovány. Takovou menší záplatou je skutečnost, že diskety a většina přenositelných médií nebývá na NTFS naformátována, tedy zde nebezpečí naštěstí nehrozí.
Jednoduchý test
Pokud si chcete otestovat, jak dobře vaše softwarové vybavení maže soubory, zkouste toto
echo "this is a text file" > C:file.txt
echo "this is the alternate data stream lkajhkl2" > C:file.txt:alternate-data-stream
Pokud prohledáte disk nějakým nízkoúrovňovým editorem, měli byste najít "this is the alternate data stream lkajhkl2". Nyní bezpečně smažte (wipe) soubor file.txt, s kolika průchody (přepsáními) chcete a opakujte totéž ještě jednou. Pod Linuxem můžete vytvořit image NTFS disku a prohledat ho takto:
dd if=/dev/hdb1 of=windows-disk.img
grep "this is the alternate data stream lkajhkl2" windows-disk.img
Data objevíte stejně. Další "vymožeností" je nemožnost smazání Alternate Data Streamu. Je nutné jej přepsat větším obsahem, například takto :
echo "this will overwrite existing data in the stream" > C:file.txt:alternate-data-stream