Boot viry

Obrázek nikdy neuškodí :)

Pevný disk před infekcí boot virem...


...a po infekci:

Možna místa pro umístění původního boot sektoru a druhé části boot viru:

  • sektory v prázdných klastrech
  • sektory v používaných klastrech
  • sektory v systémových oblastech (hlavní adresář...)
  • sektory, které se nacházejí mimo aktivní rozsah disku (na to má vliv Partition tabulka)

    Typické schéma činnosti jednoduchého boot viru

  • Prvním krokem, kterým začíná kariéra takového viru v počítači (a také občas končí kariéra odpovědného pracovníka), je "nabootování" (tedy zavedení operačního systému) z diskety nakažené boot virem. V tomto okamžiku je vir zaveden do paměti a je mu předáno řízení. Není přitom nezbytné, aby disketa byla systémová; typickým zdrojem takovéto nákazy bývá disketa pro přenos dat, která zůstala omylem zamčena v mechanice při startu počítače.
  • V další fázi si vir vyhlédne dostatečný velký kus paměti, který obsadí a překopíruje se do něj.
  • Aby se kopie viru vytvořená v předchozím kroku dostala ještě ke slovu, musí vir následně změnit adresy některých systémových služeb (typicky diskové operace, někdy také časovač a jiné) tak, aby jejich vyvoláním došlo nejprve k aktivaci rezidentní části viru, která pak rozhodne, co se opravdu provede. Viry, které se takto usazují v paměti, nazýváme obecně rezidentní. Protože však každý boot vir je rezidentní už z principu, bývá zvykem tuto vlastnost již explicitně neuvádět.
  • Následuje kontrola, zda je nakažen boot sektor pevného disku, ze kterého se běžně zavádí systém. Pokud je tento sektor "vyruprostý", vir jej okamžitě nakazí.
  • Vir vyhledá na napadené disketě původní boot sektor, který načte do paměti, a spustí jej. Od této chvíle počítač pokračuje v běžném zavádění systému s tím, že vir je nadále aktivní v paměti připraven změnit běh věcí příštích.
  • Pokud je po zavedení systému provedena jakákoli operace přistupující na disketu, je vir před provedením této operace aktivován (bod 3) a v případě, že tato disketa ještě není napadena, infikuje ji postupem anologickým bodu 4.
  • Pokud jsou splněny zadané podmínky, provede vir připravenou akci (výpis textu, formátování disku apod.).

    Viry této kategorie v podobě, jak byly právě popsány, jsou poměrně zranitelné. Jejich přítomnost je často patrná ze zmenšení dostupné operační paměti o velikost, kterou zabral vir (velikost paměti lze zjistit např. programem CHKDSK či MEM). Pokud se vir neobtěžuje své umístění operačnímu systému ohlásit (i takové jsou), tak riskuje, že bude přepsán někým jiným a bude následovat roztomilý pád operačního systému.