Než vám ukradnou data z disku

Mnozí to znáte. Ve státní správě chybějí peníze (a nejen tam) a tak, pokud to lze, počítače i se základním softw...


Mnozí to znáte. Ve státní správě chybějí peníze (a nejen tam) a tak, pokud to
lze, počítače i se základním softwarem (např. jen Windows 95 či dokonce jen
MS-DOS a nějaký Manažer) ke své práci si vypůjčí. 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č jde?" Všechno označím a smažu (80 % odpovědí), zformátuji vše
(19,9 % odpovědí). Jen opravdu málokdo se zabývá otázkou, zda bylo vše uděláno
tak, aby již nikdo žádná data neobnovil...

Struktura disku
Harddisk i floppydisk jsou rozděleny do dvou základních oblastí: systémovou
oblast a datovou oblast. Datová oblast je tvořena 3 základními složkami: Boot
sektorem, tabulkou FAT (File Allocation Table) a kořenovým adresářem Rootem. U
harddisků se setkáme ještě s jednou tabulkou, nazývanou rozdělovací tabulkou
neboli PAT, ale ta nyní nebude v našem zájmu.
Boot sektor Boot sektor neboli zaváděcí sektor je oblast, ze které se načítá
operační systém. 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]), který má
naprosto stejnou velikost jako ostatní sektory, tj. 512 bytů.
Různé oblasti disku mohou být spravovány každá jiným operačním systémem např.
DOS a UNIX. Ten pak obvykle ovlivňuje uspořádání dat na disku. 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, FAT 16 nebo FAT 32), max. počet
složek v Root adresáři a další. Nechybí zde samozřejmě ani informace o tom, zda
je disk systémový.

Tabulka FAT
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 2 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ý
záznam, ve kterém je obsažena informace, jaké je číslo clusteru, na kterém daný
soubor pokračuje. DOS, resp. i Windows tímto způsobem FAT udržuje a k souborům
přistupuje. Protože jednotlivé záznamy ve FAT jsou tedy číselně vázány s
odpovídajícími clustery datové oblasti disku, znamená např. následující
posloupnost FAT-záznamu 2, 3, 4, 5, 6, 15, 16, 17, 21, <EOF> pro 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 speciálně označen ještě i poslední cluster. Systém zapisuje do
tabulky FAT tyto hexadecimální hodnoty:
0000 Cluster je volný a obsaditelný
0002-FFEF Cluster je obsazen (pokračovací adresa)
FFF0-FFF6 Cluster je rezervován, neobsazovat
FFF7 Vadný cluster, neobsaditelný
FFF8-FFFF Cluster je obsazen poslední cluster souboru

Kořenový adresář
Root kořenový adresář tvoří spolu s FAT nezbytnou dvojici tabulek pro systémový
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 a velikost souboru 4 byty. 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éně 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ící 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 FAT záznamy
Operační systém u harddisků používá vícesektorové jednotky zvané právě cluster.
Jejich velikost je přímo závislá na velikosti HD:
do 256 MB4 kB
do 512 MB8 kB
do 1 024 MB16 kB
do 2 048 MB32 kB atd....
Při stále se zvětšující kapacitě HD je tzv. clusterování nevyužitelné zbytky
přidělených a neúplně obsazených posledních clusterů velkým problémem. Pokud je
např. na disku o kapacitě 1,6 GB 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. Nejenže se nešetří místem, ale navíc, obsahuje-li prostor nevyužitých
32 767 byte 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 pouhých 4 kB, ale zbytky, sice
menší, zůstanou). A ještě jednu poznámku o clusterech je potřeba uvést:
Číslování clusterů má výjimku a začíná hodnotou 2.

Mažu, mažeš, mažeme...
Realizací příkazu ERASE, DEL či podobných 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í o délce
souboru a čísle prvního clusteru v rootu obnoví FAT záznam souboru, přičemž
zřetězí za sebou následující volné clustery.

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! Harddisk většinou z důvodu daných smlouvou o zapůjčení (jak
jsme o ní mluvili na 1. straně) zformátovat nelze vždyť jsme počítač 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?
I kdybychom však formátovat mohli, pak vězte, že ani 100násobné běžné
formátování by nemuselo být nijak účinné. Pokud bychom chtěli vše opravdu
bezpečně odstranit a nepoužít náš dále uvedený algoritmus, tak pouze příkaz
format a: /u vše spolehlivě řeší (datová oblast bude obsahovat jen samý znak
"÷").
Mimochodem, Windows 95 v sobě obsahují MS-DOS, někdy uváděný jako verze 7.0,
kde příkazy "undelete" či "unformat" chybí, stejně jako parametr "/u" u příkazu
"format". Ten však není uváděn záměrně, neb je již automaticky zaintegrován do
systému. Jinými slovy, při úplném formátování v prostředí Windows 95 je datová
oblast spolehlivě zničena. Windows 95 tedy přinesly i nějaké to datové
zabezpečení.
Běžnou realizací příkazu "format" (do verze 6.22) však neodstraníme z disku
data fyzicky. Při formátování vytváří operační systém skrytý soubor IMAGE.DAT,
pomocí něho 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ý DOSový 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 již nikdy později nebude je 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ím jsem chtěl jen ukázat, jak je v této oblasti chápána důležitost. 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 tu klíčovou roli zde má
slovo přepsání. Problém rozdělme na dva dílčí: definitivní odstranění dat na
disketě a na pevném disku.

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ý:
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.
ĘNyní už jen v prostředí MS-DOSu zkopírujeme libovolný větší soubor, než je
velikost standardní diskety, tedy soubor min. 1,45 MB a větší na disketu. Tedy
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á celý trik. Využili jsme jeden z nedostatků MS-DOSu, tj. že
systém předem nekontroluje, zda se kopírovaný objekt 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ří.

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. Postup je tedy složitější, ale
ne moc pracný a oproti proceduře Wipe i o mnoho rychlejší s podobným efektem.
ĘPomocí Průzkumníka ve Windows či z M602 apod. smažeme všechny naše používané
programy, data, soubory apod., prostě všechny naše věci, které jsme po
zapůjčení počítače nakopírovali či nainstalovali.
Ę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ždou z ní. Samotná defragmentace
disku již s obsahem datové oblasti notně zamává. Záleží ovšem samozřejmě na
stupni fragmentace před začátkem této činnosti a tedy i na stavu disku při jeho
převzetí.
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ď?.
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 dvojnásobnou délkou než soubor A, tj. náš text bude
obsahovat 2x. 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
jednou se jménem A, podruhé se jménem B a tak dokola, dokud pochopitelně
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.

Srovnání
Metoda WIPE přistupuje k médiu vlastním algoritmem, přímým fyzickým přístupem a
obchází tedy standardní prostředky či služby MS-DOSu. Problém jí nedělá ani již
dříve zmiňovaný problém, tzv. clusterování nevyužitelné zbytky přidělených a
neúplně obsazených posledních clusterů. I zde spolehlivě přepíše data, navíc
vše několikrát s neustálou kontrolou zápisu. Tomu na jedné straně odpovídá
99,99% spolehlivost (to 0,01% berte pro skutečnost, že nic není absolutní), na
druhé straně 500 MB velký harddisk má v péči přes několik hodin a dá mu
dostatečně zabrat.
Náš algoritmus je prosté kopírování zvětšujících se souborů, používá základní
příkazy MS--DOSu a s clusterováním si tedy neví a ani nemůže vědět rady (ani
úplná defragmentace pochopitelně neodstraní clusterování). Účinnost v našem
případě (na odevzdávaném harddisku je jen původní holý systém, je tedy z asi 90
% prázdný, resp. čím méně souborů, tím méně je volných zbytků neúplně
obsazených posledních clusterů a tím větší účinnost) kolísá od 70-90 %, u
stejně velkého harddisku však přepis trvá jen několika minut.
8 3005 / pen

Kde se schovávají dlouhé názvy souborů Windows 95Každý adresářový záznam









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.