SouborovΘ viry pro WindowsHlavnφ rozdφl mezi 32bitov²mi viry a dosovsk²mi viry je ve struktu°e hostitelsk²ch soubor∙, kterΘ je t°eba napadnout. U com-soubor∙ postaΦilo viru zapsat se na konec programu a na jeho zaΦßtek umφstit skok na svoje t∞lo. P°i infekci exe-soubor∙ u₧ bylo zapot°ebφ modifikovat adresu vstupnφho bodu programu, adresu zßsobnφku a n∞kolik prom∞nn²ch urΦujφcφch velikost souboru. TakΘ bylo nutnΘ pohlφdat si exe-soubory obsahujφcφ p°ekryvnΘ moduly apod. K pochopenφ nßroΦnosti infekce 32bitov²ch exe-soubor∙ je t°eba se nejprve struΦn∞ seznßmit s jejich stavbou. V operaΦnφch systΘmech Windows 9x a Windows NT/2000 se pou₧φvß 32bitov² formßt spustiteln²ch soubor∙, znßm² jako pe-format. (Jeho nßzev je zkratkou od portable executable - tedy p°enositeln² formßt). Je navr₧en tak, aby byl bez problΘm∙ p°enositeln² mezi r∙zn²mi platformami poΦφtaΦov²ch systΘm∙ s r∙zn²mi typy procesor∙. Pe-soubor, stejn∞ jako 16bitov² ne-formßt pou₧φvan² ve Windows 3.x, zaΦφnß starou znßmou dosovskou exe-hlaviΦkou a krßtk²m programem nazvan²m STUB, kter² vßs upozornφ, ₧e program musφte spustit pod operaΦnφm systΘmem Windows. Po tΘto sekci nßsleduje pe-hlaviΦka a pole tzv. SECTION HEADERS, tedy pole hlaviΦek jednotliv²ch sekcφ (oddφl∙) souboru. Nßsledujφ jednotlivΘ sekce, kterΘ obsahujφ k≤d, neinicializovanß data, inicializovanß data, relokaΦnφ tabulku apod. DΘlka sekcφ je zarovnßna na nßsobek 512 bajt∙. S ohledem na tuto strukturu pe-soubor∙ se nabφzφ n∞kolik zp∙sob∙ jejich mo₧nΘ infekce.
P°epsßnφVirus sice takto PE EXE soubor napadne, ale jeho p∙vodnφ obsah znehodnotφ, podobn∞ jako p°episujφcφ viry pro DOS.
Cavity virus ("Mezerov²" virus)
Technika, p°i kterΘ se virus "rozleje" do nevyu₧it²ch mφst (a t∞ch je hodn∞) PE souboru. EPO technika (Entrypoint Obscuring)N∞kterΘ novΘ viry vyu₧φvajφ techniku EPO. Jde o to, ₧e virus nemodifikuje entry-point, ani na zaΦßtek k≤du nevklßdß n∞jakou instrukci skoku (JMP), ale sna₧φ se "zaÜφt" n∞kam nakonec. Virus se postarß nap°φklad o to, aby byl spuÜt∞n a₧ po zavolßnφ urΦitΘ API funkce p∙vodnφm programem. Pokud si virus zajistφ, aby byl spuÜt∞n p°i volßnφ funkce ExitProcess API, m∙₧e si b²t jist², ₧e se bude aktivovat a₧ na konci celΘho "mechanismu". Idea EPO techniky je jasnß: znesnadnit antivir∙m detekci. Emulßtor k≤du toti₧ v∞tÜinou testuje pouze zaΦßtek programu (prvnφ instrukce) a na anal²zu mß vyΦlen∞nou velice krßtkou dobu. Nenφ tedy pravd∞podobnΘ, ₧e by se dopracovala a₧ k volßnφ slu₧by ExitProcess a virus tak objevila. |
||||||||