Jak skutečně odstranit data

1. 1. 1999

Sdílet

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č...


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.

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í tabulkou 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 samozřejmě 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,<EOF> 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řípona (3), atributy
(1), rezerva 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ší "porci" 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ě bojujíce 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).
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 byte, 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... (***velký nadpis)

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í
řá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ší pak 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ž 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:
@echo off
: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 tom nejen se
mnou.



nadpis: "Velikost clusteru ve FAT16"

Velikost HD Velikost clusteru
(MB) (KB)
do 160 4
do 512 8
do 1 024 16
do 2048 32 atd...