Jaké skriptové viry mohou infikovat. Malware a viry (makroviry, stealth a polymorfní viry). Životní cyklus viru

Makroviry jsou programy v jazycích (makrojazycích) zabudovaných do některých systémů pro zpracování dat (textové editory, tabulkové procesory atd.), jakož i ve skriptovacích jazycích, jako je VBA (Visual Basic for Applications), JS (Java Script) . K reprodukci takové viry využívají schopnosti makro jazyků a s jejich pomocí se přenášejí z jednoho infikovaného souboru (dokumentu nebo tabulky) do jiných. Makroviry pro Microsoft Office jsou nejrozšířenější. Existují také makroviry, které infikují dokumenty a databáze Ami Pro. Aby viry existovaly v konkrétním systému (editoru), je nutné mít v systému zabudovaný jazyk maker s následujícími schopnostmi:

1. vazba programu v makrojazyku na konkrétní soubor;
2. kopírování makro programů z jednoho souboru do druhého;
3. schopnost získat kontrolu nad programem maker bez zásahu uživatele (automatická nebo standardní makra).

Tyto podmínky splňují editory Microsoft Word, Office a AmiPro a také excelová tabulka a databáze Microsoft Access. Tyto systémy obsahují makrojazyky: Word - Word Basic; Excel, Access - VBA. kde:

1. makro programy jsou svázány s konkrétním souborem (AmiPro) nebo jsou umístěny uvnitř souboru (Word, Excel, Access);
2. jazyk maker umožňuje kopírovat soubory (AmiPro) nebo přesouvat programy maker do souborů systémových služeb a upravitelných souborů (Word, Excel);
3. při práci se souborem za určitých podmínek (otevření, zavření atd.) jsou volány makroprogramy (pokud existují), které jsou definovány speciálním způsobem (AmiPro) nebo mají standardní názvy (Word, Excel).

Tato funkce makro jazyků je určena pro automatické zpracování dat ve velkých organizacích nebo v globální sítě a umožňuje vám organizovat takzvaný „automatizovaný tok dokumentů“. Na druhou stranu makrojazykové schopnosti takových systémů umožňují viru přenést svůj kód do jiných souborů a tím je infikovat. Viry získávají kontrolu při otevření nebo zavření infikovaného souboru, zachycují standardní funkce souborů a poté infikují soubory, ke kterým je nějakým způsobem přistupováno. Analogicky s MS-DOS můžeme říci, že většina makrovirů je rezidentních: jsou aktivní nejen v okamžiku otevření/zavření souboru, ale dokud je aktivní samotný editor.

Viry Word/Excel/Office: obecné informace

Fyzické umístění viru uvnitř souboru závisí na jeho formátu, který je v případě produktů Microsoft extrémně složitý - každý soubor dokumentu Word a tabulka Excel je posloupnost datových bloků (každý z nich má také svůj vlastní formát), vzájemně propojených pomocí velkého množství servisních dat. Tento formát se nazývá OLE2 - Object Linking and Embedding.

Struktura souborů Word, Excel a Office (OLE2) připomíná komplexní systém souborů na disku: „kořenový adresář“ souboru dokumentu nebo tabulky ukazuje na hlavní podadresáře různých datových bloků, několik tabulek FAT obsahuje informace o umístění datové bloky v dokumentu atd. Navíc systém Office Binder, který podporuje standardy Word a Excel, umožňuje vytvářet soubory, které současně obsahují jeden nebo více dokumentů ve formátu Word a jednu nebo více tabulek ve formátu Excel. Word viry mohou infikovat dokumenty aplikace Word a viry aplikace Excel mohou infikovat tabulky aplikace Excel, a to vše je možné v rámci jednoho souboru na disku. Totéž platí pro Office. Většina známé viry for Word jsou nekompatibilní s národními (včetně ruských) verzí Wordu nebo naopak - jsou určeny pouze pro lokalizované verze Wordu a nefungují pod anglickou verzí. Virus v dokumentu však stále zůstává aktivní a může infikovat další počítače s nainstalovanou odpovídající verzí aplikace Word. Word viry mohou infikovat počítače jakékoli třídy. Infekce je možná, pokud tento počítač je nainstalován textový editor, který je plně kompatibilní s Microsoft Word verze 6 nebo 7 nebo vyšší (například MS Word pro Macintosh).

Totéž platí pro Excel a Office. Je třeba také poznamenat, že složitost formátů dokumentů Wordu, tabulek Excelu a zejména Office má následující vlastnost: soubory dokumentů a tabulky obsahují datové bloky „navíc“, tzn. data, která nijak nesouvisejí s upravovaným textem nebo tabulkami, nebo jsou kopiemi jiných dat souboru, která tam náhodně skončila. Důvodem výskytu takových datových bloků je shluková organizace dat v OLE2 dokumentech a tabulkách - i když je zadán pouze jeden znak textu, je pro něj alokován jeden nebo i více datových clusterů. Při ukládání dokumentů a tabulek do clusterů, které nejsou naplněny „užitečnými“ daty, zůstává „smetí“, které končí v souboru spolu s dalšími daty. Množství „odpadu“ v souborech lze snížit zrušením položky nastavení Word/Excel „Povolit rychlé ukládání“, tím se však pouze sníží celkové množství „odpadu“, ale neodstraní se úplně. Důsledkem toho je skutečnost, že při úpravách dokumentu se jeho velikost mění bez ohledu na akce s ním prováděné – při přidávání nového textu se může velikost souboru zmenšit, při smazání části textu naopak zvětšit.

Je to stejné jako s makroviry: když je soubor infikován, jeho velikost se může zmenšit, zvětšit nebo zůstat nezměněna. Je třeba také poznamenat, že některé verze OLE2.DLL obsahují malou chybičku, v důsledku čehož při práci s Word dokumenty, Excel a zejména Office mohou náhodná data z disku, včetně důvěrných, skončit v odpadkových blocích ( smazané soubory, katalogy atd.). Do těchto bloků mohou být také zahrnuty virové příkazy. V důsledku toho po dezinfekci infikovaných dokumentů aktivní kód Virus je odstraněn ze souboru, ale některé jeho příkazy mohou zůstat v odpadních blocích. Takové stopy přítomnosti viru jsou někdy viditelné pomocí textové editory a může dokonce způsobit reakci některých antivirových programů. Tyto zbytky viru jsou však zcela neškodné: Word a Excel jim nevěnují žádnou pozornost.

Viry Word/Excel/Office: principy fungování

Při práci s dokumentem aplikace Word verze 6 a 7 nebo vyšší provádí různé akce: otevře dokument, uloží, vytiskne, zavře atd. Word zároveň vyhledává a provádí odpovídající „vestavěná makra“ - při ukládání souboru pomocí příkazu Soubor/Uložit se vyvolá makro FileSave, při ukládání pomocí příkazu Soubor/UložitAs - FileSaveAs, při tisku dokumentů - FilePrint atd., pokud jsou samozřejmě definována nějaká makra. Existuje také několik „automatických maker“, která se automaticky volají, když různé podmínky. Například při otevření dokumentu Word zkontroluje přítomnost makra AutoOpen. Pokud takové makro existuje, Word jej spustí. Při zavírání dokumentu Word provede makro AutoClose, při spouštění Wordu se volá makro AutoExec, při vypínání AutoExit a při vytváření nového dokumentu AutoNew.

Podobné mechanismy (avšak s jinými názvy maker a funkcí) se používají v Excelu/Office, kde roli automatických a vestavěných maker plní automatické a vestavěné funkce přítomné v jakémkoli makru nebo makrech a několik vestavěné mohou být přítomny v jednom makru a automatických funkcích. Makra/funkce spojené s klávesou nebo bodem v čase nebo datu se také provádějí automaticky (tj. bez zásahu uživatele), tzn. Word/Excel zavolá makro/funkci, když je stisknuta určitá klávesa (nebo kombinace kláves) nebo když je dosaženo určitého bodu v čase. V Office jsou možnosti pro zachycení událostí poněkud rozšířené, ale princip je stejný.

Makroviry, které infikují Soubory aplikace Word, Excel nebo Office obvykle používají jednu ze tří výše uvedených metod - virus buď obsahuje automatické makro (automatická funkce), nebo je přepsáno jedno ze standardních systémových maker (spojené s libovolnou položkou nabídky), případně je virové makro volá se automaticky při stisknutí klávesy nebo kombinace kláves. Existují také semiviry, které nepoužívají všechny tyto techniky a množí se pouze tehdy, když je uživatel samostatně spustí. Pokud je tedy dokument infikován, Word při otevírání dokumentu zavolá infikované automatické makro AutoOpen (nebo AutoClose při zavírání dokumentu) a spustí tak kód viru, pokud není zakázáno systémovou proměnnou DisableAutoMacros. Pokud virus obsahuje makra se standardními názvy, jsou ovládána vyvoláním příslušné položky nabídky (Soubor/Otevřít, Soubor/Zavřít, Soubor/Uložit jako). Pokud je některý symbol klávesnice přepsán, virus se aktivuje až po stisknutí příslušné klávesy.

Většina makrovirů obsahuje všechny své funkce jako standardní makra Word/Excel/Office. Existují však viry, které používají techniky ke skrytí svého kódu a uložení kódu ve formě jiných než maker. Existují tři známé techniky, z nichž všechny využívají schopnost maker vytvářet, upravovat a spouštět další makra. Takové viry mají zpravidla malý (někdy polymorfní) zavaděč makra virů, který zavolá vestavěný editor maker, vytvoří nové makro, naplní jej hlavním virovým kódem, provede jej a poté jej zpravidla zničí. (skrýt stopy viru). Hlavní kód takových virů je přítomen buď v samotném makru viru ve formě textových řetězců (někdy zašifrovaných), nebo je uložen v oblasti proměnné dokumentu nebo v oblasti Auto-text.

Algoritmus Word funguje makroviry

Většina známých virů Word po spuštění přenese svůj kód (makra) do oblasti maker globálního dokumentu ("obecná" makra k tomu používají příkazy pro kopírování maker MacroCopy, Organizer.Copy nebo pomocí editoru maker - the). virus jej zavolá a vytvoří nové makro, vloží do něj váš kód, který uloží do dokumentu. Při ukončení aplikace Word se globální makra (včetně virových maker) automaticky zapíší do souboru globálních maker DOT (obvykle NORMAL.DOT). Při příštím spuštění editoru MS-Word se tedy virus aktivuje v okamžiku, kdy WinWord načte globální makra, tzn. hned. Pak virus přepíše (nebo již obsahuje) jedno nebo více standardních maker (například FileOpen, FileSave, FileSaveAs, FilePrint) a zachytí tak příkazy pro práci se soubory. Když jsou tyto příkazy volány, virus infikuje soubor, ke kterému se přistupuje. Za tímto účelem virus převede soubor do formátu Template (což znemožňuje další změny formátu souboru, tj. převod na jakýkoli jiný formát než šablona) a zapíše do souboru svá makra, včetně makra Auto. Pokud tedy virus zachytí makro FileSaveAs, je infikován každý soubor DOC uložený prostřednictvím makra zachyceného virem. Pokud je makro FileOpen zachyceno, virus je zapsán do souboru při čtení z disku.

Druhý způsob zavádění viru do systému se používá mnohem méně často - je založen na tzv. „Add-in“ souborech, tzn. soubory, které jsou doplňkovými službami aplikace Word. V tomto případě se NORMAL.DOT nezmění a Word po spuštění načte virová makra ze souboru (nebo souborů) definovaných jako "Doplněk". Tato metoda téměř úplně replikuje infekci globálních maker, s výjimkou, že makra viru nejsou uložena v NORMAL.DOT, ale v nějakém jiném souboru. Je také možné zavést virus do souborů umístěných v adresáři STARTUP - Word automaticky načte soubory šablon z tohoto adresáře, ale s takovými viry se dosud nesetkal. Metody zavedení do systému diskutované výše jsou jakýmsi analogem rezidentních DOS virů. Obdobou nerezidence jsou makroviry, které nepřenesou svůj kód do oblasti systémových maker – aby infikovaly jiné soubory dokumentů, buď je vyhledávají pomocí souborových funkcí zabudovaných ve Wordu, nebo přistupují k seznamu naposledy upravených soubory (seznam naposledy použitých souborů) . Tyto viry pak dokument otevřou, infikují a zavřou.

Algoritmus pro makroviry Excel

Metody reprodukce virů aplikace Excel jsou obecně podobné metodám reprodukce virů aplikace Word. Rozdíly jsou v příkazech kopírování makra (například Sheets.Copy) a absenci NORMAL.DOT - jeho funkci (ve virálním smyslu) plní soubory v adresáři STARTUP Excelu. Nutno podotknout, že jsou dva možné možnosti umístění kódu viru makra v tabulkách aplikace Excel. Naprostá většina takových virů píše svůj kód ve formátu VBA (Visual Basic for Applications), ale existují viry, které svůj kód ukládají ve starém formátu Excelu verze 4.0. Takové viry se v podstatě neliší od virů VBA, s výjimkou rozdílů ve formátu umístění virových kódů v tabulkách Excelu. Přestože novější verze Excelu (počínaje verzí 5) používají pokročilejší technologie, možnost spouštět makra ze starších verzí Excelu zůstala zachována, aby byla zachována kompatibilita. Z tohoto důvodu jsou všechna makra napsaná ve formátu Excel 4 plně funkční ve všech následujících verzích, a to i přesto, že Microsoft jejich použití nedoporučuje a k Excelu nepřikládá potřebnou dokumentaci.

Algoritmus provozu virů pro Access

Protože Access je součástí Kancelářský balík Pro, Access viry jsou stejná makra napsaná v jazyce Visual Basic jako jiné viry, které infikují aplikace Office. V tomto případě však systém namísto automatických maker obsahuje automatické skripty, které systém volá při různých událostech (například Autoexec). Tyto skripty pak mohou volat různé makro programy. Při infikování databází Accessu tedy virus potřebuje nahradit nějaký automatický skript a zkopírovat svá makra do infikované databáze. Infikování skriptů bez dalších maker není možné, protože skriptovací jazyk je dosti primitivní a neobsahuje k tomu potřebné funkce.

Je třeba poznamenat, že v podmínkách Accessu se skripty nazývají makra (makro) a makra se nazývají moduly (modul), nicméně v budoucnu se bude používat jednotná terminologie - skripty a makra. Zacházení s databázemi Accessu je více náročný úkol než odstranění jiných makrovirů, jelikož v případě Accessu je nutné neutralizovat nejen virová makra, ale i auto-scripty. Vzhledem k tomu, že podstatná část práce Accessu je svěřena skriptům a makrům, nesprávné odstranění nebo deaktivace jakéhokoli prvku může vést k nemožnosti operací s databází. Totéž platí pro viry – nesprávné nahrazování automatických skriptů může vést ke ztrátě dat uložených v databázi.

AmiPro viry

Při práci s libovolným dokumentem vytvoří editor AmiPro dva soubory - samotný text dokumentu (s příponou názvu SAM) a doplňkový soubor obsahující makra dokumentu a případně další informace (přípona názvu - SMM). Formát obou souborů je poměrně jednoduchý - představují obvyklé textový soubor, ve kterém jsou editovatelný text i ovládací příkazy přítomny ve formě běžných textových řetězců. Dokument lze přiřadit libovolnému makru ze souboru SMM (příkaz AssignMacroToFile). Toto makro je analogické s AutoOpen a AutoClose v MS Word a je voláno editorem AmiPro při otevírání nebo zavírání souboru. AmiPro zjevně nemá možnost umístit makra do "společné" oblasti, takže viry pro AmiPro mohou infikovat systém pouze při otevření infikovaného souboru, ale ne při načítání systému, jako se to děje s MS-Wordem po infikování NORMÁLNÍHO Soubor .DOT. Stejně jako MS Word, AmiPro umožňuje přepsat systémová makra (například SaveAs, Save) pomocí příkazu ChangeMenuAction. Při volání přepsaných funkcí (příkazů nabídky) je předána kontrola infikovaným makrům, tzn. kód viru.

Stealth viry

Zástupci této třídy používají různé prostředky zamaskovat svou přítomnost v systému. Toho je obvykle dosaženo zachycením řady systémových funkcí odpovědných za práci se soubory. Technologie „stealth“ znemožňují detekci viru bez speciálních nástrojů. Virus maskuje jak přírůstek délky postiženého objektu (souboru), tak jeho tělo v něm, přičemž na jeho místo „nahrazuje“ „zdravou“ část souboru.

Při skenování počítače antivirové programy čtou data - soubory a systémové oblasti pevné disky a diskety pomocí nástrojů operační systém a BIOS. Stealth viry nebo neviditelné viry jsou ponechány uvnitř paměť s náhodným přístupem počítačové speciální moduly, které zachycují programy přistupující k diskovému subsystému počítače. Pokud takový modul zjistí, že se uživatelský program pokouší číst infikovaný soubor nebo oblast systémového disku, nahradí čtená data za chodu a zůstane tak nedetekován a oklame antivirové programy.

Stealth viry se také mohou skrývat ve formě vláken v systémových a jiných procesech, což také ztěžuje jejich identifikaci. Takové stealth viry nelze ani vidět v seznamu všech běžících, tento moment, v procesním systému.

Existuje jednoduchý způsob, jak deaktivovat maskovací mechanismus Stealth virů. Stačí nabootovat počítač z neinfikované systémové diskety a prohledat počítač antivirovým programem bez spouštění programů z disku počítače (mohou být infikované). V tomto případě virus nebude schopen získat kontrolu a nainstalovat do paměti RAM rezidentní modul, který implementuje algoritmus utajení, antivirus přečte informace skutečně zapsané na disku a snadno odhalí „bacil“.

Většina antivirových programů působí proti pokusům stealth virů zůstat neodhalena, ale aby jim nebyla dána jediná šance, před skenováním počítače antivirovým programem by měl být počítač nabootován z diskety, na které by měly být antivirové programy psaný. Mnoho antivirů je tak úspěšných v odolávání stealth virům, že je odhalí, když se snaží zamaskovat. Takové programy čtou programové soubory, které mají být skenovány, z disku pomocí několika různé metody- například pomocí operačního systému a prostřednictvím systému BIOS: pokud jsou zjištěny nesrovnalosti, dochází k závěru, že v paměti RAM je pravděpodobně stealth virus.

Polymorfní viry

Polymorfní viry zahrnují ty, které nelze detekovat (nebo jsou extrémně obtížné) pomocí takzvaných virových signatur – částí konstantního kódu specifického pro konkrétní virus. Toho je dosaženo dvěma hlavními způsoby - zašifrováním hlavního virového kódu nepermanentním klíčem a náhodnou sadou dešifrovacích příkazů nebo změnou samotného spustitelného virového kódu. Existují i ​​další, spíše exotické příklady polymorfismu – například DOS virus „Bomber“ je nešifrovaný, ale sekvence příkazů, které přenášejí řízení na kód viru, je zcela polymorfní.

Polymorfismus různého stupně složitosti se vyskytuje u virů všech typů – od bootovacích a souborových DOS virů až po viry Windows a dokonce i makroviry.

Většina otázek souvisí s pojmem „polymorfní virus“. Tento typ počítačového viru se dnes jeví jako nejnebezpečnější.

Polymorfní viry jsou viry, které upravují svůj kód v infikovaných programech tak, že se dvě kopie stejného viru nemusí shodovat v jediném bitu.

Takové viry nejen zašifrují svůj kód různými šifrovacími cestami, ale obsahují také kód generování šifrovače a dešifrovače, což je odlišuje od běžných šifrovacích virů, které také dokážou šifrovat části svého kódu, ale zároveň mají konstantní šifrovací a dešifrovací kód. .

Polymorfní viry jsou viry se samomodifikačními dešifrovači. Účel takového šifrování: mít infikované a původní soubory stále nebudete moci analyzovat jeho kód pomocí běžného rozebrání. Tento kód je zašifrovaný a je to nesmyslná sada příkazů. Dešifrování provádí virus sám během provádění. V tomto případě jsou možné možnosti: může se dešifrovat všechny najednou, nebo může takové dešifrování provádět „za běhu“, může znovu zašifrovat již použité sekce. To vše se dělá proto, aby bylo obtížné analyzovat kód viru.

Polymorfní dešifrovače

Polymorfní viry používají ke generování kódu svých dešifrovačů složité algoritmy: instrukce (nebo jejich ekvivalenty) jsou přeskupovány z infekce na infekci, ředěny příkazy, které nic nemění, jako je NOP, STI, CLI, STC, CLC, DEC nepoužitý registr, XCHG nepoužité registry atd. d.

Plnohodnotné polymorfní viry používají ještě složitější algoritmy, v důsledku čehož může dešifrovač virů obsahovat operace SUB, ADD, XOR, ROR, ROL a další v libovolném počtu a pořadí. Načítání a změna klíčů a dalších parametrů šifrování je také prováděna libovolnou sadou operací, ve kterých lze nalézt téměř všechny instrukce procesor Intel(ADD, SUB, TEST, XOR, OR, SHR, SHL, ROR, MOV, XCHG, JNZ, PUSH, POP...) se všemi možnými režimy adresování. Objevují se i polymorfní viry, jejichž decryptor využívá instrukce až Intel386 a v létě 1997 byl objeven 32bitový polymorfní virus, který infikuje soubory Windows95 EXE. Nyní již existují polymorfní viry, které mohou využívat i různé příkazy moderních procesorů.

Výsledkem je, že na začátku souboru infikovaného podobným virem probíhá nábor na první pohled nesmyslné instrukce a některé kombinace, které jsou docela funkční, proprietární disassemblery neberou (například kombinace CS:CS: nebo CS:NOP). A mezi tímto „nepořádkem“ příkazů a dat občas proklouznou MOV, XOR, LOOP, JMP – instrukce, které skutečně „fungují“.

Úrovně polymorfismu

Existuje rozdělení polymorfních virů do úrovní v závislosti na složitosti kódu, který se nachází v dešifrovačích těchto virů. Toto rozdělení poprvé navrhl Dr. Alan Solomon, po nějaké době Vesselin Bonchev ji rozšířil.

Úroveň 1: viry, které mají určitou sadu dešifrovačů s konstantním kódem a když jsou infikovány, vyberou si jeden z nich. Takové viry jsou „semi-polymorfní“ a nazývají se také „oligomorfní“. Příklady: "Cheeba", "Slovensko", "Whale".
Úroveň 2: Dešifrovač virů obsahuje jeden nebo více pokyny ke stání, ale jeho hlavní část je nestabilní.
Úroveň 3: dešifrovač obsahuje nepoužité instrukce - "smetí" jako NOP, CLI, STI atd.
Úroveň 4: Dešifrovač používá zaměnitelné instrukce a instrukce pro změnu pořadí (promíchání). Algoritmus dešifrování se nemění.
Úroveň 5: jsou použity všechny výše uvedené techniky, dešifrovací algoritmus není konstantní, je možné znovu zašifrovat kód viru a dokonce částečně zašifrovat samotný kód dešifrovače.
Úroveň 6: permutující viry. Hlavní kód viru podléhá změnám - je rozdělen do bloků, které se při infikování přeskupují v náhodném pořadí. Virus zůstává funkční. Takové viry nemusí být zašifrovány.

Výše uvedené rozdělení není prosté nedostatků, protože je provedeno podle jediného kritéria - schopnosti detekovat virus pomocí dešifrovacího kódu pomocí standardní techniky virových masek:

Úroveň 1: K detekci viru stačí mít několik masek

Úroveň 2: detekce masky pomocí „zástupných karet“

Úroveň 3: detekce pomocí masky po odstranění „odpadkových“ pokynů

Úroveň 4: maska ​​obsahuje několik možných možností kódu, tzn. se stává algoritmickým
Úroveň 5: neschopnost detekovat virus pomocí masky

Nedostatečnost takového dělení se projevuje u viru 3. úrovně polymorfismu, který se nazývá „Level3“. Tento virus, který je jedním z nejsložitějších polymorfních virů, podle výše uvedeného rozdělení spadá do úrovně 3, protože má konstantní dešifrovací algoritmus, kterému předchází velký počet"odpadkové" příkazy. V tomto viru však byl algoritmus generování odpadků doveden k dokonalosti: téměř všechny instrukce procesoru i8086 lze nalézt v kódu dešifrovače.

Dělíme-li do úrovní z pohledu antivirů pomocí systémů automatické dešifrování kód viru (emulátory), pak rozdělení do úrovní bude záviset na složitosti emulace kódu viru. Virus je možné detekovat jinými metodami, například dešifrováním pomocí základních matematických zákonů atd.

Proto se mi zdá objektivnější rozdělení, na kterém se kromě kritéria virových masek podílejí i další parametry:

Stupeň složitosti polymorfního kódu (procento všech instrukcí procesoru, které lze nalézt v kódu dešifrovače)
Použití antiemulačních technik
Konzistence dešifrovacího algoritmu
Stálost délky dešifrovače

Změna spustitelného kódu

Nejčastěji tuto metodu polymorfismu využívají makroviry, které při vytváření nových kopií sebe sama náhodně mění názvy svých proměnných, vkládají prázdné řádky nebo jinak mění svůj kód. Algoritmus viru tedy zůstává nezměněn, ale kód viru se mění téměř úplně od infekce k infekci.

Tato metoda je méně často používána složitými zaváděcími viry. Takové viry vloží do boot sektorů jen poměrně krátkou proceduru, která přečte hlavní kód viru z disku a předá mu kontrolu. Kód pro tento postup je vybrán z několika různých možností (které lze také kombinovat s „prázdnými“ příkazy), příkazy jsou přeskupeny atd.

Tato technika je u souborových virů ještě méně obvyklá – musí totiž zcela změnit svůj kód, a to vyžaduje poměrně složité algoritmy. K dnešnímu dni jsou známy pouze dva takové viry, z nichž jeden („Ply“) náhodně pohybuje svými příkazy po svém těle a nahrazuje je příkazy JMP nebo CALL. Jiný virus („TMC“) používá složitější metodu – pokaždé, když je infikován, virus vymění bloky svého kódu a dat, vloží „smetí“, nastaví nové hodnoty offsetu pro data ve svých montážních pokynech, změní konstanty, atd. Výsledkem je, že ačkoli virus nešifruje svůj kód, jedná se o polymorfní virus – v kódu není žádná konstantní sada příkazů. Navíc při vytváření nových kopií sebe sama mění virus svou délku.

Viry podle typu destruktivní akce

Na základě typu destruktivních akcí lze viry rozdělit do tří skupin:

Informační viry (viry první generace)

Takzvané viry první generace jsou všechny v současnosti existující viry, jejichž činnost je zaměřena na zničení, úpravu nebo krádež informací.

Hardwarové viry (viry druhé generace)

Tento typ viru může poškodit hardware počítače. Například vymazat BIOS nebo jej poškodit, narušit logickou strukturu pevného disku tak, že jej bude možné obnovit pouze nízkoúrovňovým formátováním (a i to ne vždy). Jediným zástupcem tohoto druhu je nejnebezpečnější virus, jaký kdy existoval, virus Win95.CIH „Chernobly“. Najednou tento virus vyřadil z provozu miliony počítačů. Vymazal program z BIOSu, čímž deaktivoval počítač, a ten samý zničil všechny informace pevný disk takže bylo téměř nemožné jej obnovit.

V současné době nebyly zjištěny žádné „divoké“ hardwarové viry. Odborníci už ale předpovídají vznik nových virů tohoto druhu, které budou schopny infikovat BIOS. Pro ochranu před takovými viry se plánuje instalace speciálních propojek na každou základní desku, které blokují zápis do systému BIOS.

Psychotropní viry (viry třetí generace)

Tyto viry jsou schopny zabít člověka tím, že na něj působí prostřednictvím monitoru počítače nebo reproduktorů. Reprodukcí určitých zvuků, dané frekvence nebo určitého blikání různých barev na obrazovce mohou psychotropní viry způsobit epileptický záchvat (u lidí k tomu náchylných), zástavu srdce nebo mozkové krvácení.

Dnes naštěstí není známa skutečná existence takových virů. Mnoho odborníků zpochybňuje obecnou existenci tohoto typu viru. Jedno je ale jisté. Psychotropní technologie byly již dlouho vynalezeny k ovlivnění člověka prostřednictvím zvuku nebo obrazu (neplést s rámem 25). U člověka náchylného k tomu je velmi snadné vyvolat epileptický záchvat. Před několika lety se v některých médiích objevil rozruch o vzniku nového viru s názvem „666“. Po každých 24 snímcích tento virus zobrazí na obrazovce speciální kombinaci barev, která může změnit život diváka. V důsledku toho se člověk dostává do hypnotického transu, mozek ztrácí kontrolu nad fungováním těla, což může vést k bolestivému stavu, změně režimu činnosti srdce, krevního tlaku atd. Barevné kombinace ale dnes zákon nezakazuje. Na obrazovkách se tedy mohou objevovat zcela legálně, ačkoli výsledky jejich vlivu mohou být pro nás všechny katastrofální.

Příkladem takového dopadu je karikatura „Pokémon“ poté, co byla jedna z epizod uvedena v Japonsku, stovky dětí byly hospitalizovány se strašnou bolestí hlavy a krvácením do mozku. Někteří z nich zemřeli. V karikatuře byly snímky s jasnou generací určité palety barev, zpravidla se jedná o červené záblesky na černém pozadí v určité sekvenci. Po tomto incidentu byla tato karikatura ZAKÁZÁNA pro promítání v Japonsku.

Lze uvést ještě jeden příklad. Každý si asi pamatuje, co se dělo v Moskvě po odvysílání utkání naší fotbalové reprezentace s japonskou reprezentací (pokud se nepletu). Na velké obrazovce se ale promítalo jen video muže s netopýrem, který rozbíjel auto. To je také psychotropní účinek, když video „lidé“ začalo ničit vše a každého, kdo jim stojí v cestě.

Materiály a údaje byly převzaty ze zdrojů:
http://www.stopinfection.narod.ru
http://hackers100.narod.ru
http://broxer.narod.ru
http://www.viruslist.com
http://logic-bratsk.ru
http://www.offt.ru
http://www.almanet.info

  • Chcete-li psát komentáře, přihlaste se nebo zaregistrujte
12.09.2013

– jsou základem většiny makrovirů. Jsou jakýmisi předky celé rodiny makrovirů a jsou také jednou z podskupin. Jsou napsány v obrovském množství programovacích jazyků - od VBS, JS až po BAT a PHP. Hlavním rysem takového škodlivého softwaru je, že se zdá, že je vázán na jeden z vestavěných programovacích jazyků, ve kterých byl vytvořen. Svou podstatou skriptové viry jsou souborem specifických instrukcí, které nutí ten či onen program provádět akce, které dříve jeho tvůrci nezamýšleli – destruktivní akce.

Za zmínku stojí, že používání různých skriptů a appletů není samo o sobě škodnou akcí, naopak jejich používání uživatelům prospívá, protože různé chaty, dialogy a další funkce se objevují výhradně při použití těchto firmwarů. Ale pokud je v těchto skriptech a apletech vložen škodlivý software software, pak mohou útočníci dokonce získat přístup k důvěrným informacím uloženým v počítači uživatele, samozřejmě jsou možné vážnější následky - až těžké formátování disk, na který lze ukládat taková data, která by se neměla dostat do nepovolaných rukou. S viry, které jsou schopny doslova zničit systém, se přirozeně setkáme o něco méně často než s viry, které jsou schopny číst informace z osobní počítač uživatel. Stojí za zmínku, že antivirový software nebude schopen detekovat malware. Snad jediné plus na celé současné situaci je, že ochrana prohlížeče může fungovat jak má a skriptové viry lze zjistit, protože tvůrci prohlížečů o tomto typu škodlivého softwaru hodně vědí.

Souborové viry

Spouštěcí viry

Jedná se o počítačové viry, které se zapisují do prvního sektoru diskety nebo pevného disku a spouštějí se při startu počítače.

Skriptovací viry

Vyžadují jeden ze skriptovacích jazyků (Javascript, VBScript), aby nezávisle pronikly do neinfikovaných skriptů. Viry, které infikují zdroj Viry tohoto typu ovlivňuje buď zdrojový kód programu nebo jeho součásti (soubory OBJ, LIB, DCU) a také součásti VCL a ActiveX

Stealth viry

Virus, který zcela nebo částečně skrývá svou přítomnost v systému tím, že zachycuje volání operačního systému pro čtení, zápis a čtení dodatečné informace o infikovaných objektech ( boot sektory, Prvky souborový systém, paměť atd.)

Keyloggery

Moduly pro zachycení stisku kláves na počítači uživatele, které jsou součástí virových programů

"Králíky" se množí.

Názory na datum narození prvního počítačový virus rozcházet se. S jistotou se ví, že úplně první mechanický počítač, tzv. Babbageův stroj, je neměl.

V polovině 70. let byl objeven jeden z prvních skutečných virů - „The Creeper“, který mohl nezávisle vstoupit do sítě přes modem a přenést svou kopii do vzdáleného systému. K boji proti tomu vytvořili první známý antivirový program - „The Reeper“.

Ti, kteří začali pracovat na IBM PC v polovině 80. let, si pravděpodobně pamatují rozšířenou epidemii virů Brain, Vienna a Cascade. Na obrazovky pršely dopisy a davy uživatelů obléhaly specialisty na opravy monitorů. Poté počítač začal hrát „Yankee Doodle“, ale nikdo se nyní nehrnul opravit reproduktory - už bylo jasné, že se jedná o virus.

Čas plynul, viry se množily. Všechny si byly podobné – lezly do paměti, držely se souborů a sektorů a periodicky zabíjely diskety a pevné disky. V létě roku 1991 se objevil neviditelný virus „Dir-II“, jehož protilátka nebyla okamžitě nalezena...

V srpnu 1995, kdy celé pokrokové lidstvo slavilo uvolnění nového operačního sálu Systémy Windows 95 od společnosti Microsoft, zpráva o infikování virem dokumenty společnosti Microsoft Slovo. Dostalo jméno „Koncept“ a mrknutím oka proniklo do tisíců (ne-li milionů) počítačů – koneckonců přenos textu ve formátu MS Word se stal jedním ze standardů. Aby se člověk mohl nakazit virem, stačilo otevřít infikovaný dokument a všechny ostatní upravené dokumenty také „onemocněly“. aniž by to věděl, se ukázalo být přenašečem počítačové infekce. Nebezpečí infekce MS Word se vzhledem k možnostem internetu stalo jedním z nejzávažnějších problémů v historii virů.

Tím ale MS Word neskončil. V létě 1996 se objevil virus Laroux, který infikoval tabulky MS Excel. (V roce 1997 způsobil tento virus epidemii v Moskvě.) Do léta 1997 dosáhl počet makrovirů několika set...

18. září tohoto roku byl na Tchaj-wanu znovu zatčen tvůrce slavného Černobylu Chen Ying-Hau. (Chen Ying-Hau byl poprvé zadržen v dubnu 1999, ale trestu unikl, protože v té době nebyly žádné oficiální stížnosti tchajwanských společností. Důvodem nového zatčení byla obvinění vznesená tchajwanským studentem, který trpěl černobylským virem již v r. dubna tohoto roku.) Tento virus byl objeven v červnu 1998 na Tchaj-wanu. Poté jeho autor infikoval počítače univerzity, kde studoval. „Nemocné“ soubory se rozšířily po místních internetových konferencích a virus se rozšířil mimo Tchaj-wan. O týden později epidemie zasáhla Rakousko, Austrálii, Izrael a Velkou Británii. Poté se virus projevil v dalších zemích včetně Ruska.

Asi o měsíc později se na několika amerických webových serverech distribuujících herní programy objevily infikované soubory, což bylo zřejmě příčinou následné celosvětové černobylské epidemie. 26. dubna 1999 explodovala „logická bomba“ vložená do jeho kódu. Podle různých odhadů bylo v tento den po celém světě poškozeno asi 500 tisíc počítačů – byla zničena data na pevných discích a v některých případech byly poškozeny i mikroobvody na nich. základní desky. Nikdy předtím virové epidemie nepřinesly takové ztráty. Po nějaké době Černobyl opět fungoval. Škoda, kterou způsobili, byla jediná Jižní Korea, odhaduje se na 250 milionů dolarů.

22. října tohoto roku byl na Filipínách zatčen 19letý hacker podezřelý z šíření virů. (Později byl propuštěn až do výsledku vyšetřování.) Filipínské úřady se zjevně rozhodly rehabilitovat se tímto způsobem po několika neúspěšných pokusech postavit před soud distributory viru LoveLetter, který v květnu tohoto roku způsobil obrovské škody.

Dnes databáze jednoho z nejvýkonnějších domácích a možná i globálních nástrojů antivirové ochrany, AVP Evgeniy Kaspersky, obsahuje informace o 40 393 virech (stav k 6. listopadu 2000), jakož i o odpovídající detekci, léčbě a odstranění. nástroje.

Makroviry ve skutečnosti nejsou nezávislým „druhem“, ale pouze jednou z odrůd velké rodiny škodlivých programů - skriptových virů. Jejich izolace souvisí pouze s tím, že základ celé této rodině položily makroviry, navíc viry „vybroušené“ pod programy společnosti Microsoft Office jsou nejrozšířenější z celého klanu. Je třeba také poznamenat, že skriptové viry jsou podskupinou souborových virů. Tyto viry jsou napsány v různých skriptovacích jazycích (VBS, JS, BAT, PHP atd.).

Společným rysem skriptovacích virů je jejich vazba na některý z „vestavěných“ programovacích jazyků. Každý virus je vázán na určitou „díru“ v ochraně jednoho z nich programy pro Windows a nepředstavuje nezávislý program, ale soubor instrukcí, které nutí obecně neškodný „motor“ programu provádět destruktivní akce, které pro něj nejsou typické.

Stejně jako v případě dokumentů Wordu není použití mikroprogramů (skriptů, Java appletů atd.) samo o sobě trestným činem – většina z nich funguje vcelku mírumilovně, čímž je stránka atraktivnější nebo pohodlnější. Chat, návštěvní kniha, hlasovací systém, počítadlo – za všechny tyto vymoženosti vděčí naše stránky mikroprogramům – „skriptům“. Co se týče Java appletů, jejich přítomnost na stránce je také opodstatněná – umožňují například zobrazit pohodlné a funkční menu, které se rozbalí pod kurzorem myši...

Pohodlí jsou vymoženosti, ale nezapomeňte, že všechny tyto aplety a skripty jsou skutečné, plnohodnotné programy. Mnoho z nich se navíc spouští a nepracuje někde venku, na neznámém serveru, ale přímo na vašem počítači! A tím, že do nich vložíte virus, budou mít tvůrci stránky přístup k obsahu vašeho pevného disku. Následky jsou již známé – od prosté krádeže hesla až po zformátování pevného disku.

S „vražednými skripty“ se samozřejmě budete muset potýkat stokrát méně často než s běžnými viry. Mimochodem, v tomto případě je pro konvenční antiviry malá naděje, ale škodlivý program otevřený spolu se stránkou bude muset překonat ochranu samotného prohlížeče, jehož tvůrci jsou si takových věcí dobře vědomi.

Nastavení úrovně zabezpečení internet Explorer.

Vraťme se na chvíli k nastavení Internet Exploreru – konkrétně v menu Nástroje / Možnosti Internetu / Zabezpečení. Internet Explorer nám nabízí několik úrovní zabezpečení. Kromě standardní úrovně ochrany (zóna internetu) můžeme svou ostražitost posílit (zóna omezení) nebo oslabit (zóna důvěryhodných uzlů). Kliknutím na tlačítko Jiné můžeme ručně upravit ochranu prohlížeče. Většina skriptových virů se však šíří e-mailem (takové viry se často nazývají „internetoví červi“). Snad nejjasnějšími představiteli této rodiny jsou viry LoveLetter a Anna Kournikova, k jejichž útokům došlo v sezóně 2001-2002 Oba tyto viry používaly stejnou techniku, založenou nejen na slabé ochraně operačního systému, ale také na naivita uživatelů.

Pamatujeme si, že ve většině případů jsou zprávy nosiče virů. E-mailem obsahující přiložené soubory. Pamatujeme také, že virus se může do počítače dostat buď prostřednictvím programů (spustitelné soubory s příponou *.exe, *.com.) nebo prostřednictvím dokumentů Microsoft Office. Pamatujeme si také, že ze strany obrázků resp zvukové soubory Zdá se, že nám žádné potíže nemohou hrozit. A proto, když se nečekaně objevil dovnitř poštovní schránka dopis s obrázkem (soudě podle názvu a přípony souboru) okamžitě s radostí spustíme... A zjistíme, že pod obrázkem se skrýval „skript“ škodlivého viru. Je dobré, že to detekujeme okamžitě, a ne poté, co se viru podařilo úplně zničit všechna vaše data.

Trik tvůrců virů je jednoduchý – soubor, který nám připadal jako obrázek, měl dvojitou příponu! Například AnnaKournikova.jpg.vbs

Je to druhá přípona, která je skutečným typem souboru, zatímco první je jednoduše součástí jeho názvu. A protože je rozšíření vbs pro Windows dobře známé, bez váhání ho skryje před zraky uživatelů a na obrazovce zůstane pouze název AnnaKournikova.jpg

A Windows to dělá se všemi registrovanými typy souborů: oprávnění je zahozeno a typ souboru musí být označen ikonou. Což, bohužel, málokdy věnujeme pozornost.

Je to dobrá past, ale je snazší ji odhalit: trik „dvojitého rozšíření“ nefunguje, pokud předem aktivujeme režim zobrazení typu souboru. To lze provést pomocí nabídky Možnosti složky na panelu. Správa Windows: Klikněte na tuto ikonu, otevřete kartu Zobrazit a zrušte zaškrtnutí políčka Skrýt přípony známých typů souborů.

Pamatujte: pouze několik typů souborů je povoleno jako „příloha“ k e-mailu. Relativně bezpečné txt soubory, jpg, gif, tif, bmp, mp3, wma.

Zde je seznam rozhodně nebezpečných typů souborů:

  • § asx com inf msi
  • § bas cpl ins pif
  • § bat crt js reg
  • § cmd exe msc vbs

Ve skutečnosti seznam potenciálních „virových nosičů“ zahrnuje více než tucet typů souborů. Ty jsou ale častější než jiné.

Než jsem začal psát tento článek, setkal jsem se s jedním ze zakladatelů domácího antivirového průmyslu, Evgeny Kaspersky, který mi řekl některá čísla o stavu ruského a globálního antivirového trhu. Mluvil jsem také se zástupcem slavné antivirové společnosti DialogNauka, manažerem pro práci s velkými klienty, Maximem Skidou. Z rozhovoru jsem se dozvěděl zajímavou skutečnost – ukazuje se, že antivirový průmysl se chystá oslavit své první desetiletí.

Antiviry se samozřejmě objevily již před více než deseti lety. Nejprve však byly distribuovány jako bezplatný protijed. Službě nebyla poskytnuta řádná podpora, protože projekty byly neziskové. Jako odvětví se služba pro tvorbu a poskytování antivirových programů formovala kolem roku 1992, nikoli dříve, což znamená, že brzy oslaví své desáté výročí. Deset let je velmi krátká doba pro zrod a rozvoj celého odvětví s obratem stovek milionů dolarů. Během této doby vznikl úplně nový trh, vznikl určitý seznam produktů, objevilo se tolik nových termínů, že by vystačily na celou encyklopedii. Nutno podotknout, že pro nezkušeného uživatele je někdy dokonce obtížné odlišit vědecký termín od komerčního názvu. Pro použití antivirových programů samozřejmě není nutné znát všechny podrobnosti o struktuře a chování virů, ale obecně rozumět tomu, jaké hlavní skupiny virů se dnes vytvořily, jaké principy jsou zakotveny v Algoritmy malwaru a rozdělení světového a ruského antivirového trhu budou užitečné pro poměrně širokou škálu čtenářů, kterým je tento článek určen.

Deset let vývoje antivirového trhu v Rusku

Jak již bylo uvedeno, antivirový trh je v předvečer svého desátého výročí. V roce 1992 vznikla společnost JSC DialogNauka, která znamenala začátek aktivní propagace slavného programu Lozinsky's Aidstest na domácím trhu; Od té doby se Aidstest začal distribuovat na komerční bázi. Přibližně ve stejné době Evgeny Kaspersky zorganizoval malé obchodní oddělení v rámci KAMI, které zpočátku zaměstnávalo tři lidi. Také v roce 1992 program McAfee VirusScan rychle dobyl americký trh. V Rusku se v té době trh rozvíjel poměrně pomalu a minimálně do roku 1994 (obr. 1) vypadal obrázek přibližně takto: dominantní postavení zaujímala společnost DialogNauka (asi 80 %), vlastní Kaspersky Anti-Virus méně než 5 % trhu, všichni ostatní – dalších 15 % trhu. V roce 1995 Evgeny Kaspersky převedl svůj antivirus na 32bitový Intel platformy Windows, Novell NetWare a OS/2, v důsledku čehož se produkt začal aktivně propagovat na trhu.

Typ dvouúčelových programů jsou blokátory chování, které analyzují chování jiných programů a blokují je, když jsou zjištěny podezřelé akce.

Behaviorální blokátory se od klasického antiviru s antivirovým jádrem, které „rozpoznává“ a léčí viry, které byly analyzovány v laboratoři a pro které byl předepsán léčebný algoritmus, liší tím, že viry léčit neumí, protože o nich nic neví. Tato vlastnost blokátorů je užitečná, protože mohou pracovat s jakýmikoli viry, včetně neznámých. To platí zejména dnes, protože distributoři virů a antivirů používají stejné kanály přenosu dat, tedy internet. Virus má přitom vždy určitý náskok (čas zpoždění), protože antivirová společnost vždy potřebuje čas na to, aby virus sama získala, analyzovala a napsala příslušné moduly léčby. Programy ze skupiny dvojího použití umožňují blokovat šíření viru, dokud společnost nenapíše modul léčby.

Algoritmus "kontrolního součtu".

Algoritmus kontrolního součtu předpokládá, že akce viru změní kontrolní součet. Mohou však způsobit synchronní změny ve dvou různých segmentech kontrolní součet při změně souboru zůstane nezměněn. Hlavním úkolem konstrukce algoritmu je zajistit, aby změny v souboru zaručeně vedly ke změně kontrolního součtu.

Metody stanovení polymorfních virů

Na Obr. Obrázek 6 ukazuje činnost programu infikovaného virem (a) a programu infikovaného šifrovaným virem (b). V prvním případě je operační schéma viru následující: program se spustí, v určitém okamžiku se začne spouštět kód viru a poté se program spustí znovu. V případě šifrovaného programu je vše složitější.

Program se spustí, poté se zapne dekodér, který dešifruje virus, poté se virus zpracuje a znovu se spustí hlavní programový kód. Kód viru je v každém případě zašifrován jinak. Pokud v případě nešifrovaného viru referenční porovnání umožňuje „rozpoznat“ virus podle nějaké konstantní signatury, pak v zašifrované podobě není signatura viditelná. Zároveň je téměř nemožné hledat dekodér, protože je velmi malý a je zbytečné detekovat tak kompaktní prvek, protože počet falešných poplachů se prudce zvyšuje.