Počítačové viry - analýza útoku a obrana

Page 251

Počítačové viry – analýza útoku a obrana

Obrázek 7.6

249

Virus Zperm.

Někdy virus nahradí instrukce jinými, ekvivalentními instrukcemi. Například instrukce xor eax, eax, která vynuluje registr eax, se nahradí instrukcí sub eax, eax, která jej vynuluje také, přičemž operační kódy těchto instrukcí budou odlišné. Samotné instrukce viru mají stejné pořadí vykonávání, skoky se nicméně vkládají na náhodná místa. Varianta B viru také používá vkládání a odstraňování instrukcí smetí, jako je třeba nop (instrukce, která nic nedělá). Je zde jasně vidět, že počet různých generací může být minimálně n!, kde n je počet instrukcí v těle viru. Zperm současně představil engine RPME (Real PerMutating Engine, opravdový permutační engine), který mohou využít jiní autoři k vytvoření nových metamorfních virů. Musím však podotknout, že permutace je pouze jednou z více používaných metamorfních technik. K vytvoření skutečně metamorfního viru se rovněž provádějí změny v operačních kódech a používá se šifrování v kombinaci s technikami polymorfismu a obrany proti emulaci. V září roku 2000 dva autoři virů vytvořili nový permutační virus W95/Bistro, který byl založen na zdrojových kódech viru Zperm a jeho RPME. Aby se věc ještě více zkomplikovala, virus používal engine, který uměl náhodně vkládat bloky kódu. Náhodně aktivovaná rutina vybudovala nic nedělající blok kódu ve vstupním bodě viru před jeho vlastními instrukcemi. Jakmile se virus spustil, blok kódu vygeneroval milióny iterací pro vyřazení emulátoru ze hry. Jednoduché permutační viry a komplexní metamorfní viry se mohou výrazně lišit ve složitosti své implementace. V každém případě jsou oba typy virů odlišné od těch tradičních polymorfních. V případě polymorfních virů existuje určitý moment, ve kterém můžeme zachytit snímek kompletně dekódovaného těla viru, jak je vidět na obrázku 7.7. Antivirový software typicky používá generický dekódovací engine (založený na emulaci), aby tento proces vykonal. K přesné identifikaci viru antivirovým skenerem není nutné mít jeho kompletní snímek – je ale nezbytné najít ten správný moment během vykonávání kódu viru, kdy je možné snímek udělat, abychom mohli virus klasifikovat jako tradiční polymorfní. Je ovšem možné efektivně analyzovat i částečné výsledky, zejména tehdy, pokud je dekódovaná oblast dostatečně velká pro každou možnou generaci viru.


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.