Slovník pojmů

Adresářové viry - Cluster viruses

Assembler
Programovací jazyk nejnižší úrovně. Program je zapisován přímo pomocí instrukcí procesoru (jejich zkratek) a může tak maximálně využít vlastností počítače. Převážná většina počítačových virů je vytvořena právě v tomto jazyce. Termín assembler také označuje překladač zmíněného jazyka do kódu proveditelného procesorem. S příchodem OS Windows 9x/2000/NT se ke slovu dostávají i vyšší programovací jazyky (C++, Delphi, Visual Basic atd.).

Autoexec.bat - soubor
Textový soubor obsahující seznam příkazů, které operační systém provede automaticky při svém startu. Lze jej mimo jiné využít k automatickému spouštění antivirové kontroly, stejně jako k automatickému zavirování počítače hned po startu (v případě napadení programu, který je z tohoto souboru spuštěn).

BIOS - "Basic Input Output System"
Pod operačním systémem (MS-DOS, Windows 95, Windows NT) se nachází ještě jedna vrstva programů tvořících tzv. BIOS. Tyto programy jsou tak důležité, že jsou uloženy v paměti ROM. BIOS transformuje požadavky od programů na sekvence pro řízení hardwaru (disky, tiskárny, monitory...).

Boot viry - Boot viruses

CARO (Computer Anti-Virus Researchers Organisation)
Organizace CARO vznikla v roce 1991 a založili ji pánové Fridrik Skulason (Virus Bulletin, Alan Solomon (S&S International) a Vesselin Bontchev (Univerzita v Hanburgu). Rozhodly se totiž, že pojmenování nových virů bude mít jistá pravidla. Základní pojmenování by mělo vypadat takto:
Family_Name.Group_Name.Major_Variant.Minor_Variant[:Modifier]
Musejí být používany pouze alfanumerické znaky [A-Za-z0-9_$%&!'`#-], mezery se mají vytvářet podtržítkem (_). Např.: Dark_Avenger. Jednotlivé části pojmenování viru musí být dlouhé maximálně 20 znaků. Nesmí být používány názvy firem, jména atd..... Nakonec si však viry pojmenovává každý jak chce (patrné rozdíly jsou například u programu AVP).

Cavity viruses - Mezerové viry

Cluster viruses - Adresářové viry

CMOS
Pamět CMOS obsahuje velmi důležité informace o periferiích a částech počítače. Její obsah je zálohován baterií. Virus může údaje v této paměti poškodit, a tak zablokovat start počítače. Obsah paměti CMOS lze však bez ztráty dat obnovit.

Companion viruses - Doprovodné viry

Config.sys - soubor
Textový soubor obsahující konfigurační pokyny pro operační systém. Zde se také nacházejí příkazy pro zavádění potřebných ovladačů. Config.sys má podobný účel jako Autoexec.bat, který se však zavádí po startu počítače později.

CRC - kontrolní součet
Číselná hodnota vypočítaná podle daného algoritmu na základě obsahu souboru (případně libovolných dat). Případná změna výchozích dat se projeví jiným výsledkem kontrolního součtu. Ve své původní podobě se jedná o prostý součet všech bajtů souboru; téměř všechny programy však používají nejrůznější modifikace tohoto algoritmu s cílem zvýšit spolehlivost a snížit napodobitelnost tohoto součtu. Kontrolní součty bývají používány pro přesnou identifikaci viru a jsou též důležitou součástí kontrolórů integrity.

CRC checker - Integrity checker - Kontrolór integrity

Červi - Worms

Debugger
Ladící prostředek (program) určený k vyhledávání chyb při vývoji programu. Umožňuje mimo jiné sledovat vykonávání programu po jednotlivých instrukcích, což jej činí neocenitelným pomocníkem při analýze počítačových virů. Mnoho virů (přesněji jejich autorů) je si této slabiny vědomo, proto používají programové konstrukce, které mají takové sledování (trasování) programu zkomplikovat.

Dekryptor
Úsek kódu viru, který zajišťuje převedení zakódované části viru do původní, spustitelné podoby. Nejčastěji se vyskytuje na začátku viru. Může, ale nemusí mít konstantní podobu v různých generacích téhož viru.

Doprovodné viry - Companion viruses

Dropper
Dropper je program, který byl navržen s cílem instalovat virus do systému. Podstatné je, že virus je v tomto programu obsažen tak, že nemůže být detekován virovými skenery. Jinými slovy, dropper není program infikovaný virem a velmi často jsou jako droppery používány trojské koně. Dropper může svou funkci splnit tím, že virus instaluje do paměti a nebo přímo infikuje nějakou proveditelnou jednotku při instalaci viru.

EICAR (European Institute for Computer Anti-virus Research) a jejich "Standard Anti-Virus Test File"
Tento testovací soubor vede k nejednoduší cestě, jak zjistit, že váš oblíbený antivirus funguje opravdu tak, jak chcete. K čemu to tedy je ? Pokud umístíte níže uvedený kód do spustitelného COM souboru a pak na něj pustíte váš oblíbený antivirus, měl by vám nahlásit, že jmenovaný soubor obsahuje kód "Standard Anti-Virus Test File". Pokud vám něco takového antivirus nahlásí (podobně jako kdyby byl nalezen virus), můžete si být jisti, že váš antivirus je správně nastaven, a dokáže hledat viry. Problém je však v tom, zda váš antivirus kód "Standard Anti-Virus Test File" zná. Testovací soubor vznikne, když tento kód vložíte do nově založeného COM souboru. Pokud správně pracujete, délka souboru by měla být 68 bytů.
Kód je:
 X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*


Emulace kódu
Postup, při kterém nejsou jednotlivé instrukce programu prováděny přímo procesorem, ale jsou zpracovnávány speciálním programem. Takto lze kromě jiného velmi bezpečně sledovat provádění kódu a jeho vliv na počítač (s možností zabránit nebo změnit provedení nevhodné instrukce); toto nebezpečí je ovšem vykoupeno poměrně značným zpomalením takto emulovaného kódu oproti přirozenému zpracování procesorem. Více o tomto můžete najít zde

Falešný poplach
Situace, kdy antivirový program označí zdravý soubor či jinou oblast za napadenou virem. K tomu může dojít díky náhodné podobnosti kódu neškodného programu s částí skutečného viru; falešné poplachy se vyskytují například u programů, které se nechovají (obdobně jako viry) k systému zcela korektně. Rozhodnutí o tom, zda je soubor skutečně napaden, nebo se jedná o falešný poplach je nejlépe přenechat odborníkům. Příliš vysoké procento falešných poplachů může jinak účinný antivir znehodnotit.

FAT (File Allocation Table)
Viz. kapitola "Disk a vše o něm" (dole ve slovníku).

File viruses - Souborové viry

Fronta instrukcí procesoru (prefetch queue)
V době vykonávání jedné instrukce procesorem je několik následujících instrukcí již načteno v procesoru, kde čekají ve "frontě" na své dokončení. Změna těchto instrukcí v operační paměti již nemá na jejich provádění vliv, což může způsobit na pohled nepochopitelné chování programu. Délka této fronty instrukcí (tj. počet a velikost instrukcí, které jsou v této frontě uloženy) se u různých typů procesorů liší.

Generické viry - Generic viruses

Germ virus
Jako germ virus se označuje virus ve své nulté generaci. Germ virus vzniká například po jeho kompilaci ze zdrojového kódu (ASM) do spustitelného tvaru (COM,EXE) (po vyléčení má soubor délku 0). Germem je třeba i tříbajtový COM soubor napadený virem testujícím délku své oběti a který se normálně takto krátkým souborům vyhýbá. Obdobně může být germem i COM virus přeložený ze zdrojáku do EXE tvaru. Zde je to však technicky dost obtížné odlišit, zda se jedná o Dropper či Germ.

Hoax
Hoax je emailová zpráva, která většinou upozorňuje na velmi nebezpečné, ve skutečnosti neexistující viry. Nezkušený uživatel pošle tuto zprávu dalším lidem, aby je upozornil před nebezpečím (které ve skutečnosti neexistuje...). Je opravdu hrozné, že se hoax někdy šíří rychleji než skutečný virus...

Identifikace viru
Identifikací viru se většinou rozumí spolehlivé rozpoznání viru včetně jeho přesného určení. Takováto přesná identifikace má význam pro uživatele, který může lépe zjistit na čem je, tak pro vlastní antivir, který může poměrně bezpečně provádět další akce, jako je například léčení.

Infiltrace

Instrukce
Instrukce jsou elementární příkazy pro práci procesoru.

Integrity checker - Kontrolór integrity - CRC checker

Intended virus
Pokud udělá autor ve svém novém viru programovou chybu (typickým příkladem je Int 21 a Int 21h), rychle vypustí novou opravenou verzi. Tato verze se pak nazývá Intended. Slovo intended rád využívá antivirus AVP.

In the Wild (ItW) - "viry v divočině"
Seznam In the Wild vytváří asi 46 specialistů z celého světa. Do tohoto seznamu jsou zapisovány viry, které se v jednotlivých oblastech světa nejvíce vyskytují (jsou hlášeny jednotlivými pozorovateli). Podle tohoto seznamu lze zjistit, jaké viry nás mohou nejvíce ohrozit. In-the-Wild list lze najít na adrese: http://www.wildlist.org/WildList.

Kontrolór integrity - CRC checker - Integrity checker

Makro viry - Macro viruses

Mezerové viry - Cavity viruses

Metamorfní viry

MBR - Tabulka rozdělení disku - Partition Table - PaT
Viz. kapitola "Disk a vše o něm" (dole ve slovníku).

Multipartitní viry - Multipartite viruses

Nerezidentní viry

"Neviditelné" viry - Stealth viruses

Operační systém (OS - operating system)
Operační systém umožňuje uživateli komunikovat s počítačem (kopírovat, spouštět programy…). V operačním systému MS-DOS jsou nejdůležitější tři soubory:

Overwriting viruses - Přepisující viry

Parazitické viry - Parasitic viruses

PaT - MBR - Tabulka rozdělení disku - Partition Table
Viz. kapitola "Disk a vše o něm" (dole ve slovníku).

Partition Table - PaT - MBR - Tabulka rozdělení disku
Viz. kapitola "Disk a vše o něm" (dole ve slovníku).

Polymorfní viry - Polymorphic viruses

Přepisující viry - Overwriting viruses

Rezidentní viry

Retro viry

Scanner - Skener

Sekvence - Signatura - Řetězec - String
Skupina bajtů vyskytujících se v tělech virů, podle kterých je skener hledá.

Skener - Scanner

Souborové viry - File viruses

Stealth viruses - "Neviditelné" viry

Tabulka rozdělení disku - Partition Table - PaT - MBR
Viz. kapitola "Disk a vše o něm" (dole ve slovníku).

Trasování
Stav, kdy je kód prováděn po jednotlivých strojových instrukcích, přičemž po každé instrukci je možno analyzovat její vliv na stav počítače. Trasování programu lze provádět ručně (např. pomocí debugeru), nebo automaticky (tak to dělají některé antiviry).

Trigger
Anglický termín pro spouštěcí podmínku, jejíž splnění má za následek provedení nějaké speciální, často škodlivé, činnosti viru (do té doby se vir snažil být co nejméně nápadný). Typickým příkladem takové podmínky je dosažení nějakého data.

Trojské koně - Trojan Horses

Tunelující viry

Viry - Viruses

Worms - Červi

Zdrojový text programu - "Zdroják"
Výchozí tvar programu, kdy jsou jednotlivé požadované činnosti popsány v textové formě pomocí smluvených konvencí daného programovacího jazyka. Zdrojový text nemůže být přímo spuštěn. Nejprve musí být překladačem převeden do binární podoby.

Přerušení (Interrupt)

Následující část se týka především operačního systému MS-DOS. Situace ve Windows 9x/NT/2000 je jiná.

Přerušení
Přerušení je nástroj, pomocí kterého se dostane virus k prostředkům BIOSu a DOSu. Bez těchto prostředků by se virus neuměl množit ani škodit.
Přerušením (Interrupt) nazveme hardwarový signál, který vede k přerušení běhu programu vykonávaného procesorem a přesměrování běhu procesoru na program obsluhující přerušení. Po ukončení tohoto programu následuje obnovení původního stavu a pokračování přerušeného programu.
Přerušení můžeme rozdělit na přerušení vyvolané hardwarem (nemaskovatelné signálem NMI, maskovatelné signálem INTR) a softwarem (instrukce INT, chyba běhu programu). Softwarová přerušení jsou na úrovni BIOSu, DOSu a uživatelských programů.
Viry pracují s přerušeními vyvolanými instrukcí INT (je jich 256, t.j. 0-255). Při tomto přerušení následuje skok na místo, kde je obslužný program. Adresa pro obslužný program se nachází v paměti RAM, kde je tzv. tabulka přerušovacích vektorů (adres obslužných programů).
Tabulka začíná od adresy 0000:0000 a má velikost 4*256 bytů. Na 1 vektor (adresu) potřebujeme 4 byty (2 na segment a 2 na offset).

Přesměrování přerušení (hook interrupt)
Jak víme, přerušení jsou uložené v tabulce, která je v paměti RAM. Pokud změníme některý vektor (adresu) přerušení v tabulce stane se toto: Po vykonání příslušného přerušení bude následovat odskok do jiné oblasti paměti. Takto se můžeme postarat o to, aby se na místo původního obslužného programu vykonal náš program a po skončení našeho programu následuje skok na původní obslužný program (hook interrupt).
Tohoto hojně využívají viry (ale i jiné rezidentní programy). Virus je uložený v paměti a některé z přerušení má přesměrované tak, že ukazuje do těla viru. Jestliže nějaká činnost vyvolá přerušení (např. prohlížení, čtení, zavádění programu), dochází k aktivaci viru a ten může infikovat program (prohlížený, čtený, zaváděný) nebo způsobit škodu.

Některé důležité přerušení z pohledu virů:

INT 1 - Krokovací režim (Single-Step)
Jestliže je nastavený příznak TF=1, po vykonání každé instrukce programu se vyvolá ladící program. Takto lze krokovat činnost viru. Dobře napsané viry mají přesměrované i toto přerušení a tím znemožnujou krokování svého kódu.

INT 3 - Ladící bod (Breakpoint Trap)
Používá se spolu s přerušením INT 1. Slouží k zastavení běhu vykonávaného programu a skoku na ladící program. I toto přerušení mají některé viry přesměrované, aby znesnadnili svoji analýzu.

INT 25h
Slouží k načítání sektorů z disku. Vyžaduje vstupné údaje:

RegisterVýznam
ALČíslo diskového zařízení (0=A, 1=B ...).
CXPočet sektorů, které se mají číst.
DXLogické čislo prvného načítaného sektoru.
DSSegmentová adresa paměti pro načítané údaje.
BXOffsetová adresa paměti pro načítané údaje.

Po ukončení přerušení jsou v registrech výstupní údaje:

RegisterVýznam
CF=0Čtení bez chyb.
CF=1Při přenose došlo k chybě.
ALChybový kód DOSu.
AHChybový kód BIOSu.

Při návratě z INT 25h jsou změněné obsahy všech registrů kromě segmentových registrů CS, DS, ES a SS.

INT 26h
Slouží k zápisu obsahu sektorů na určené místo na disku. Možné chyby při této činnosti:

DOS:
KódVýznam
00Pokus o zápis na disketu chráněnou proti zápisu.
01Neplatné číslo zařízení.
02Jednotka není připravená.
04Chyba parity (CRC error).
06Chyba při nastavování hlavy na stopu.
07Pro DOS nečitelný formát.

BIOS:
KódVýznam
08Sektor nebyl nalezen.
0AhChyba při zápisu.
0BhChyba při čtení.
0ChJiný druh chyby.

Hodně virů se pokouší infikovat programy na disketě. Jestliže je disketa chráněna proti zápisu, je indikována chyba 00. Jestliže není ošetřená, objeví se hlášení: "Write protect error...". Takto lze často objevit méně kvalitní neznámý virus. Dobře napsaný virus má tuto chybu ošetřenou a hlášení se neobjeví.

INT 27h
Toto přerušení slouží na uschování programu, který přerušení vyvolal v paměti (TSR programy). Vstup: V DX je relativní adresa prvého bytu volné paměti v programovém segmentě, t.j. v DX je adresa posledního bytu kódu, který zůstane rezidentní.
Takto se uchovávají .COM programy. Když jde o .EXE program, rezidentní část kódu musí být na začátku programu a má maximálně 64 KB.

INT 21h
INT 21h patří mezi nejvýznamější přerušení, jelikož poskytuje uživatelovi služby DOSu. Toto přerušení přesměruje většina rezidentních virů. Podle hodnoty vstupních údajů poskytuje uživatelovi různé funkce. Každá funkce má požadované vstupy a dává jistý druh výstupů. Většinou v registru AH je číslo požadované funkce.
Některé důležité funkce sledované viry:


Při aplikaci těchto funkcí na program, je pro virus ideální situace pro napadnutí daného programu, i když se pracuje s diskem.
Funkci 3Fh kontrolujou tzv. neviditelné viry (stealth viruses). Ty sledujou, co se ze souboru čte. Jestliže se dojde na místo, kde je virus, načítají se jiné údaje a virus je neviditelný.
Funkci 4Eh slouží na hledání prvého specifikovaného souboru (FindFirst). Tuto funkci využívají viry, které aktivně vyhledávají programy pro napadnutí (*.COM, *.EXE apod.).
Funkce 4Fh slouží na hledání dalšího souboru (FindNext). Pomocí této funkce pokračuje prohledávání adresáře v cykle, většinou do doby, až se najde nenapadený soubor.
Funkce 57h je pro změnu datumu a času posledního zápisu do souboru. Tuto funkci využívají šikovnější viry, aby po sobě zametli stopy. Postarají se o to, aby navzdory nynějšímu zápisu do souboru (při vkládání viru) zůstal datum a čas nezměněný.
Při práci ze soubory existují i jiné funkce, které pracují s tzv. řídícími bloky - File Control Block (FCB). Je to pozůstatek ze starých verzích DOSu pro potřeby kompatibility. Viry využívají samozřejmě i tyto metody. K tomu slouží funkce:


Neviditelné viry se musí postarat o to, aby se zobrazila původní délka nenapadnutého programu a proto kontrolují i tyto funkce.

Další důležité funkce:


Disk a vše o něm

Na pevném disku nebo na disketě je uloženo mnoho rozdílných druhů údajů. Tyto údaje jsou uloženy jistým způsobem, který je určený fyzickou strukturou diskety (disku) a vlastnostmi operačního systému. Mezi těmito údaji můžou být uloženy i viry.

Povrchy, stopy, cylindry
Pevný disk tvoří několik ploten na sebou, v disketě se nachází tato plotna pouze jedna. Na každé straně těchto ploten se nachází hlava, která čte a zapisuje údaje z daného povrchu plotny. Plotny se otáčejí a hlavička se pohybuje ve směru střed-okraj plotny. Místo, kde se můžou zapisovat údaje tvoří soustředné kružnice na plotně (podobně jako na gramofonové desce).
Soustředné kružnice na povrchu plotny nazýváme stopy (tracks). Stopy pod sebou na jednotlivých plotnách vytvářejí cylinder, válec. Stopy i cylindry jsou číslované. Stopa 0 je vnější kružnice, poslední stopa je vnitřní kružnice.

Cylinder 0 je tvořený všemi stopami 0 na jednotlivých plotnách (ve všech vrstvách):

Stopy mají příliš velkou kapacitu na to, aby se pracovalo přímo s nimi. Proto je každá stopa rozdělená na menší části - sektory.

Formátování
Proces, při kterém se vytvoří důležité oblasti na disku. Disk se rozdělí na systémovou oblast (místo pro boot sektor, FAT, a hlavní adresář) a údajovou oblast (zde jsou naše programy atd.). Aby bylo možné formátovat (příkaz FORMAT), musí existovat Partition table, kterou je nutné vytvořit již předtím pomoci programu FDISK. Viry můžeme najít v systémové (boot viry) i v údajové oblasti (souborové viry, makroviry...).
Formátováním zlikvidujeme viry uložené v boot sektoru a viry souborové (popř. makroviry apod.). Nezbavíme se však virů, uložených v Partition table (MBR). Těch se zbavíme dosovským příkazem FDISK /MBR, který přepíše zavaděč v Partition tabulce obecně platným kódem.

Logické sektory
Jestliže pracujeme z diskem na nízké úrovní (tzv. na úrovni BIOSu), používáme adresování místa na disku pomocí čísla válce (cylinder), povrchu (hlava - head) a sektoru (sector). Jde o trojrozměrné adresování. Pro Dos je tato adresace nepohodlná a proto používá jinou adresaci, jednorozměrnou - tzv. logické sektorování. Logické sektory začínají od 0 !.

Clustery (Cluster - Klastr)
Pokud chceme přečíst z disku jeden byte stane se toto: Z disku se nepřečte pouze požadovaný byte, ale přečte se celý sektor, kde je tento byte uložený. Sektor je nejmenší skupina údajů, s kterou disk pracuje. Pro pevný disk je sektor příliš malé množství údajů. Proto se združuje více sektorů a vytvářejí se tzv. clustery (česky "klastry").
Pokud se na disku přiděluje místo souboru, přiděluje se po klastrech. Pevný disk má většinou klastr veliký 4, 8, 16 KB. Pokud máme klastr 8 KB, a chceme na disk uložit soubor dlouhý 1 KB, zůstane 7 KB nevyužito (tzv. slack). Teoreticky může být v této mezeře uložen virus.
Clustery jsou taky číslované, ale číslování začíná od 2 (stopy od 0, sektory od 1). Systémová oblast (boot sektor, FAT, hlavní adresář) není pod číslování klastrů zahrnutá. Velikost klastrů může být ovlivněna použitým souborovým systémem (FAT, FAT32, NTFS apod.)


Struktura dat na disku


Partition Table (Tabulka rozdělení disku) - jinak řečeno: PaT, MBR (Master Boot Record)
MS-DOS nám poskytuje možnost rozdělit pevný disk na několik částí (partií - logické disky). Tyto části se pak jeví jako disky D: E: ... Rozdělení pevného disku se provádí pomocí programu FDISK. Jen jedna část disku může být označena jako aktivní. Z této části (partie) se nahrává operační systém při startu počítače.
Údaje o rozdělení pevného disku jsou uložené v prvním sektoru na pevném disku, tvoří tzv. Partition Table (Partition tabulka, jinak MBR či PaT). Poškozením partition tabulky se může stát pro uživatele disk nepřístupný. Je jasné, že často se v takovém případě jedná o poškození virem.
Kromě partition tabulky se v partition sektoru nachází i krátký, tzv. zaváděcí program. Tento program se spouští vždy po startu počítače (při tzv. bootování). Tento program skočí na zaváděcí program v boot sektoru aktivní partie. Mnoho virů využívá tuto oblast.

Boot sektor
Boot sektor se nachází na začátku diskety. V případě pevného disku je boot sektor na začátku dosovské části pevného disku.
V boot sektoru jsou uložené důležité informace (velikost sektoru, počet sektorů na stopu, počet sektorů na disku, atd.).
Kromě těchto údajů se v boot sektoru nachází i krátký program zaváděcí program. Jeho úkolem je začít proces zavádění operačního systému. Na místě zaváděcího programu se může nacházet boot virus. Boot sektor se vytváří při logickém formátování.

FAT - File Allocation Table (souborový systém)
Jak víme, každý soubor na disku má k dispozici několik klastrů. Pokud však chceme na disk uložit nový soubor, začnou být problémy: kde je volné místo ? Asi by nebylo dobré prohlédnout systematicky celý pevný disk a hledat při tom volné místo. Proto je na začátku disku uložena tabulka, ve které jsou informace o všech klastech na disku. Mluvíme o FAT (File Allocation Table - tabulka obsazení disku). Pro každý klastr je vyhrazena jedna položka ve FAT. V položce FAT je informace, zda je klastr volný, obsazený nebo chybný. Ve FAT ale není informace, kterému souboru patří daný klastr (tato informace je uložena v každém adresáři společně s dalšími informacemi o souborech).
Které klastry patří danému souboru lze zjistit podle FAT následovně: Funguje to tak, že v položce FAT pro daný klastr je uvedeno číslo dalšího klastru patřícího k danému souboru. V posledně jmenovaném klastru je číslo dalšího klastru ... až dojdeme na konec, kde je kód (end of file - konec souboru) pro konec souboru. Z toho vyplívá, že ve FAT jsou jakési řetězce čísel klastrů, patřící pro každý soubor.

V jednotlivých položkách tabulky FAT bývají zapsané tyto údaje (hexadecimálně):
    0000 Volný klastr při přidělování.
    0002 - FFEF Obsazený klastr, uvedené číslo je číslo dalšího klastru.
    FFF0 - FFF6 Klastr je rezervovaný, není možné ho obsadit.
    FFF7 Chybný klastr, není možné ho obsadit.
    FFF8 - FFFF Znak pro poslední klastr souboru.

Je zřejmé, že FAT tabulku má v oblibě hodně virů. Jestliže je totiž boot virus delší a nevejte se do jednoho sektoru, musí umístit část svého těla někam jinam na disk. Proto není nic divného, že tuto oblast označí ve FAT jako chybnou (FFF7). Adresářový virus (DIR-2) zase změní ukazatel počátečního sektoru souboru tak, aby ukazoval na první klastr viru.
Některé viry poškozujou FAT (např. přehodí dvě položky - swap, nebo zde zapíšou nesmysly apod.). Nebezpečné je, jestliže se poškodí položky pro údajový soubor (na programu to poznáme lehce, nebeží...). Takto se nám do textu může vložit např. kus jiného programu. Poškozený soubor se může dostat i na záložní kopie (které jistě každý z vás dělá), bez toho aby jsme si toho všimli. Tohle provádí například velmi nebezpečný virus Nomenclatura .
Na disku jsou uložené dvě kopie FAT hned za sebou. Je to proto, protože stráta údajů z této tabulky by byla velmi nepříjemná. Jestliže je nějaká oblast FAT tabulky nečitelná, provádí se pokus o čtení z druhé kopie tabulky.

Mluvil jsem pouze o souborovém systému FAT. Samozřejmě existují i další, jako FAT32, NTFS, Ext2 apod.

Hlavní adresář (Root Directory)
Snad každý uživatel PC zná pojem adresář. Hlavní adresář má však jiné postavení. Místo pro něj je předem vyčleněno a proto obsahuje jen omezený počet položek.
V hlavním adresáři mohou být soubory, podadresáře nebo "volume label" - název disku. V adresáři je mnoho údajů o jednotlivých souborech (např. i počáteční klastr souborů). Každá položka v adresáři má 32 bytů. Rozdělení bytů:
    8 - jméno,
    3 - rozšíření (přípona),
    1 - atributy,
    10 - rezervované pro systém (využívá virus Dir-2),
    2 - datum,
    2 - čas,
    2 - první záznam ve FAT tabulce (počáteční klastr),
    4 - velikost souboru.

První znak jména souboru může mýt i svůj zvláštní význam:
"0" na prvním místě znamená, že jsme na konci aktivních adresářových záznamů.
"." je symbol pro údaj o adresáři (pro aktuální podadresář a nadřazený adresář).
Znak sigma (e5h) indikuje, že soubor byl smazán. Pokud se pokoušíme obnovit vymazaný soubor (např. příkaz Undelete), na místo tohoto znaku se nám objeví otazník, který nahradíme znakem.
Vymazání souboru pod Dosem totiž není fyzické vymazání souboru. Po vykonání příkazu pro smazání souboru (např. i v NC, DN, M602 apod.) se přepíše pouze první znak jména souboru znakem e5h, vynulují se první byty v příslušných položkách FAT. Pokud nejsou tyto klastry používané jinými soubory, je možné smazaný soubor obnovit.

Opět jsem mluvil pouze o souborovém systému FAT. U ostatních se můžou údaje lišit.

Tato stránka je stále ve vývoji


Zdroj: Svet počítačových vírusov - (c) 1992 Michal Danilák, GRADA