Jak skutečně odstranit data

1. 2. 1999

Sdílet

Mnozí to znáte. Ve státní správě chybějí peníze (a nejen tam) a tak, pokud tolze, úřad si rád zapůjčí počítače ke své práci, pochopitelně se základním softwarem (Windows či j...
Mnozí to znáte. Ve státní správě chybějí peníze (a nejen tam) a tak, pokud to
lze, úřad si rád zapůjčí počítače ke své práci, pochopitelně se základním
softwarem (Windows či jen MS-DOS, nějaký manažer a k tomu několik disket).
Smlouva na dobu určitou je sepsána a následuje klidný nerušený život. Avšak
najednou se přiblíží datum odevzdání a všechna data musejí být odstraněna.
Řeknete si: "O co go?" Všechno označím a smažu (80 % odpovědí), zformátuji
disky (19,9 % odpovědí). Jen opravdu málokdo se zabývá otázkou, zda vše bylo
uděláno tak, aby již nikdo žádná data nemohl obnovit. A tak se nyní podívejme,
co s tím. Odborníci nechť přeskočí k "Mažu, mažeš, mažeme..."

Trocha opakování
HD i FD jsou rozděleny na dvě základních oblasti: systémovou oblast a datovou
oblast. Datová oblast je tvořena 3 základními složkami: boot sektorem, tabulkou
FAT a kořenovým adresářem Root. U hard disků se setkáme ještě s jednou
tabulkou, nazývanou rozdělovací neboli PAT, ale ta nyní nebude středem našeho
zájmu.

Boot sektor
neboli zaváděcí sektor je oblast, ke které systém prvně přistupuje a používá ji
při startu systému k načtení potřebných systémových programů a základních
diskových instrukcí do paměti. U disket je to první sektor na první stopě první
strany (nezapomeňme však, že číslování probíhá od 0, tedy zapsáno [0,0,0]
sektor je naprosto stejné velikosti jako ostatní, tj. 512 bytů). U hard disků
je umístění boot sektoru složitější o to, že pomocí PAT může být hard disk
rozdělen na více oblastí, které mohou být spravovány každá jiným operačním
systémem, např. DOSem a UNIXem. Obvykle vlastní dosovský boot sektor začíná na
adrese [0,1,0] při rozdělení disku na jediný disk spravovaný MS-DOSem. Boot
sektor tedy obsahuje důležité informace o "fyzické konstrukci" disku, např.:
počet stran, počet stop na jedné straně, počet sektorů na FAT, cluster, stopu i
celý disk, souborový systém (FAT12, FAT16 nebo FAT32), max. počet složek v Root
adresáři a další. Nechybí zde odkaz, zda je disk systémový.

Tabulka FAT
(File Allocation Table) je základní informační zdroj, podle nějž systém
přistupuje k datům jednotlivých souborů. Její důležitost je vyjádřena již tím,
že si systém spravuje dvě shodné kopie. Podle tabulky FAT systém při vytváření
nových či rozšiřování stávajících souborů vyhledává volná místa v datové
oblasti disku a přiděluje je souboru pro jeho data. Při načtení naopak hledá
data příslušného souboru. FAT udržuje o každém clusteru dvě základní informace
zda je cluster volný, či obsazený souborem, a zda je vadný, nebo ne. Každý
datový cluster na disku má tedy v tabulce FAT odpovídající dvoubytový
FAT-záznam. Každý záznam uvádí číslo záznamu dalšího (a tedy i clusteru), na
kterém daný soubor pokračuje. DOS, resp. i Windows podle této konvence FAT
udržují a k souborům přistupují. Protože jednotlivé záznamy ve FAT jsou číselně
vázány s odpovídajícími clustery datové oblasti disku, znamená např.
posloupnost FAT-záznamu: 2,3,4,5,6,15,16,17,21, pro operační systém
instrukce na postupné přečtení 5 clusterů s čísly 2 až 6, dále 3 clustery s
čísly 15 až 17 a cluster 21. Ve FAT je pak speciálně označen poslední cluster.

Root
= kořenový adresář, tvoří spolu s FAT nezbytnou dvojici tabulek pro přístup k
souborům. Obsahuje zbývající informace, které dosud chyběly: jméno souboru (8
bytů), příponu (3), atributy (1), rezervu pro systém (10), čas (2), datum (2),
první FAT záznam (2), velikost souboru (4). Celkově tedy představuje každý
adresářový záznam pole o délce 32 bytů a to platí i pro dlouhé názvy pod
Windows 95.
První znak ve jménu souboru má specifický význam. Zde totiž systém považuje
některé znaky za informační pro další zacházení s daným souborem:
- Nulu systém dekóduje jako informaci, že dosáhl konce aktivních adresářových
záznamů.
- Tečka je interpretována jako záznam rezervovaný pro systém a umožňující mu
navigaci další adresářovou strukturou.
- Malé řecké sigma (E5hex) je považováno za informaci, že daný soubor je
zrušen. Programy, které obnovují smazané soubory, tento znak ve výpisech
interpretují zpravidla jako otazník.

Cluster nebo sektor?
Nejmenší "porcí" dat, kterou je diskový kontrolér schopen přečíst, je jeden
sektor o velikosti 512 bytů. Na disketě libovolné velikosti (v dnešní době
bojuje o přežití už jen FD 1,44 MB) platí: sektor=cluster. Jejich využití
vypadá následovně:

0 sektor boot sektor
1-9 1. kopie FAT
10-18 2. kopie FAT
19-32 Root - kořenový adresář
33-2879 datová oblast disku

U hard disků operační systém používá vícesektorové jednotky zvané právě
cluster. Jejich velikost je přímo závislá na velikosti HD (viz tabulka).

Velikost clusteru ve FAT16
Velikost HD (MB) Velikost clusteru (KB)
do 160 4
do 512 8
do 1 024 16
do 2 048 32 atd

Největší problém při stále zvětšující se kapacitě HD je tzv. clusterování
nevyužitelné zbytky přidělených a neúplně obsazených posledních clusterů. Pokud
např. na disku o kapacitě 1,6 GB je soubor byť jen o velikosti 1 bytu, systém
mu přidělí 1 cluster=64 sektorů=32 KB, a další soubor začíná až na dalším
clusteru. Vrátíme-li se k tématu, pak obsahuje-li těchto nevyužitých 32 767
bytů nějaká předešlá data, jsou zcela k dispozici zlodějům...
Nový systém FAT32 sice zmenší velikost clusteru v závislosti na velikosti disku
(v našem případě oproti 32 KB v systému FAT16 na pouhých 4 KB, ale zbytky, sice
menší, zůstávají).

Mažu, mažeš, mažeme...

Realizací příkazu ERASE, DEL či "odstranit", "smazat" z menu různých manažerů
nebo Windows neodstraníme z disku data fyzicky. Po obdržení příkazu na zrušení
určitého souboru se přepíše první znak jména souboru na E5hex a vynulují se
hodnoty příslušných záznamů ve FAT. Jiný údaj se však už neodstraní, takže i
když soubor přestal opticky existovat, jeho data odstraněna nebyla, a dokud
tedy nejsou uvolněné clustery přepsány jinými daty, lze soubor obnovit. Jeho
obnova spočívá v následujících krocích:
- zvolíme první počáteční písmeno z naší strany je to vše
- operační systém příkazem UNDELETE (nebo jinými komfortnějšími programy) za
nás obnoví jméno (z E5hex na zvolené písmeno), a na základě informací délka
souboru a číslo prvního clusteru v ROOT obnoví FAT záznam souboru.

FORMAT to je jistota
Anebo že by ne...?
"Prostě to zformátujte, a hotovo. Pro jistotu 2x.", říká odpovědný pracovník.
Jenže chyba lávky! Hard disk u zapůjčených počítačů však většinou z důvodu
daných smlouvou zformátovat nelze vždyť jsme jej dostali i se základním
softwarovým vybavením, a to by jaksi scházelo. Navíc, kdo by instaloval
chybějící systém. A i kdybychom mohli, pak vězte, že 100násobné běžné
formátování by bylo účinné stejně jako jediné, a případný zloděj by si přišel
na své. Nevěříte? Realizací dosovského příkazu FORMAT (do verze 6.22) opět
neodstraníme z disku data fyzicky. Při formátování vytváří operační systém
skrytý soubor IMAGE.DAT, pomocí nějž lze vše opět uvést do původního stavu!
Příkaz FORMAT sice reinicializuje systémovou oblast disku, tj. přepíše boot
sektor a odstraní všechny informace v Rootu i vynuluje všechny FAT-záznamy,
datovou oblast však ponechává v původním stavu. Již prostý příkaz UNFORMAT
pomůže, natož pak speciální programy.

Jak tedy na to
aneb s jednoduchostí nejdál dojdeš. Jistě, zkušení systémáci sáhnou po
speciálních programech, jako např. po WipeInfo z kolekce Norton Utility. Tímto
programem lze data z disku odstranit tak, že je již nikdy později nebude možné
ani obnovit, ani rekonstruovat. Je však třeba uvážit nutné časové nároky. V USA
existuje norma (DOD 5220.22M), která upravuje postup "Wipe" asi takto:
1. Přepsat celou definovanou oblast hodnotou "1" a ihned ještě hodnotou "0".
Tento krok opakovat alespoň třikrát.
2. Přepsat celou definovanou oblast ještě jednou, tentokrát náhodně vybranou
hodnotou z intervalu 0 až 255.
3. Verifikovat poslední zápis. Jestliže se při verifikaci vyskytne chyba,
považovat provedené odstranění za nedostatečné a znovu je celé opakovat.
Tímto jsem chtěl jen ukázat, jak je důležitost této oblasti vnímána. Co však
můžeme udělat my, prostí uživatelé bez speciálních programů? Jestliže jste
pozorně četli předcházející řádky, pak vám neušlo, že slovo přepsání zde má tu
klíčovou roli. Problém rozdělme na dva dílčí: definitivní odstranění dat na
disketě a na pevném disku.
a) jak na disketu
Zde správně předpokládejme, že jsme je již prázdné měli k dispozici a také je
prázdné budeme vracet. Postup je pak zcela prostý:
1. Proveďme rychlý formát, nejlépe v prostředí MS-DOSu. Tedy příkaz: format a:
/q /u poslední parametr zajistí, že se žádný soubor Image.dat nebo jemu podobný
nebude vytvářet. Tímto jsou smazány všechny údaje ze systémové oblasti.
2. Nyní jen v prostředí MS-DOSu zkopírujeme libovolný soubor větší, než je
velikost standardní diskety, tedy soubor 1,45 MB a větší na disketu příkazem:
copy soubor a: /V. Parametr zajistí, že systém navíc bude ověřovat správnost
zápisu. Tímto příkazem jsou přepsány všechny původní údaje v datové oblasti, a
pokud by se snažil někdo něco odhalit, získá jen obsah námi zkopírovaného
neškodného souboru.
Zdá se být divné, že kopírujeme větší soubor než samotný obsah diskety? V tom
se totiž skrývá ten trik. Využili jsme jeden z nedostatků MS-DOSu, tj. že
systém předem nekontroluje, zda kopírovaný objekt se vejde na dané médium.
Systém tak postupně zaplňuje datovou oblast, zápis ukončí chybovým hlášením, a
tedy ani žádný soubor vlastně nevytvoří. Původní data jsou však spolehlivě
ztracena, resp. přepsána. Pokud někdo nenajde dostatečně velký soubor nebo chce
"poslat" zloději námi zvolenou zprávu, nechť provede s disketou totéž, co v
závěru s pevným diskem.
b) jak na pevný disk
Jak jsme již řekli, formátovat nebudeme. Hledat větší soubor než kapacita disku
na témže disku je vhodné jen pro Mistra Bohnic. Následný postup je tedy
složitější, ale ne moc pracný a oproti proceduře Wipe i o mnoho rychlejší (s
téměř stejným efektem).
1. Pomocí Průzkumníka ve Windows či z M602 apod. smažeme všechny naše používané
programy, data, soubory atd., prostě všechny naše věci, které jsme po zapůjčení
počítače nakopírovali či nainstalovali.
2. Provedeme kontrolu disku (příkaz scandisk c:), a poté jeho defragmentaci
(příkaz defrag c:). Pokud máme více logických jednotek, tedy disk rozdělený na
více oblastí, provedeme tuto činnost na každé z nich. Zde bych jen poznamenal,
že již samotná defragmentace disku s obsahem datové oblasti notně zamává.
3. Na disku v hlavním adresáři vytvoříme libovolným editorem soubor o názvu
třeba A a v něm napíšeme např. text: To koukáš, viď?.
4. Na disketě vytvoříme dávkový soubor se jménem např. ochrana.bat a v něm
následující instrukce:

:start
copy c:A + c:A c:B /V nul
copy c:B + c:B c:A /V nul
goto start

Poté tento "program", tedy dávkový soubor spustíme. Co se bude dít? Nejdříve se
vytvoří soubor B s dvounásobnou délkou než soubor A, tj. náš text bude
obsahovat dvakrát. Poté se vytvoří nový soubor A (původní přepíše) opět s
dvojnásobnou délkou než soubor B, resp. čtyřnásobnou než původní soubor A.
Takto se bude neustále vytvářet a přepisovat vždy dvojnásobně větší soubor,
dokud nenaskočí chybové hlášení systému, nejčastěji File not found. Předčasné
ukončení našeho dávkového souboru provedeme současným stiskem kláves Ctrl + C.
Tímto způsobem jsme hned několikrát přepsali za poměrně krátkou dobu (otázka
několika minut) datovou oblast disku, a případný zloděj najde všude jen náš
text. Někdy to má i tu pikantní příchuť, že soubory, které byly na začátku
celého našeho postupu smazány, jdou i normálně obnovit, obsahují však pouze náš
zvolený text a zloděje by to jen rozzuřilo. Na pevném disku většinou nezůstane
žádný z vytvářených souborů, tj. A nebo B, pokud však ano, prostě ho smažme. Co
obsahuje, již víme.

Závěr
Pokud jsem vás smrtelně vystrašil, omlouvám se, ale případný zloděj ví o vašem
oddělení či odboru vše. Pokud jsem vás inspiroval od této doby k lepší
činnosti, jsem rád, neboť to byl můj cíl. Bylo-li to pro vás příjemné
zopakování, pak vězte, že "opakování je matka moudrosti". Pokud "ochranu" dat u
vás provádíte lepším jednodušším způsobem, podělte se o něj s námi.

8 0062/DĚD