Vývoj heuristického modelu analyzátoru malwaru. Co je to heuristický analyzátor? Viry v archivních souborech

Snímání

Způsoby ochrany před viry

Nejjednodušší technika pro vyhledávání virů spočívá v tom, že antivirový program postupně kontroluje skenované soubory při hledání signatur. známé viry. Signatura je jedinečná sekvence bajtů, která patří viru a nenachází se v jiných programech.

Určení signatury viru je poměrně obtížný úkol. Podpis nesmí být obsažen v běžných programech, které nejsou tímto virem infikovány. Jinak jsou možné falešné poplachy, když je virus detekován ve zcela normálním, neinfikovaném programu.

Skenovací programy samozřejmě nemusí ukládat signatury všech známých virů. Mohou například ukládat pouze kontrolní součty podpisů.

Antivirové skenery, které dokážou odstranit detekované viry, se běžně označují jako polyfágy. Nejznámějším skenerovým programem je Aidstest Dmitrije Lozinského. Aidstest vyhledává viry na základě jejich signatur. Proto detekuje pouze nejjednodušší polymorfní viry.

V první kapitole jsme hovořili o tzv. šifrovacích a polymorfních virech. Polymorfní viry po infekci zcela změní svůj kód nový program nebo boot sektor. Pokud izolujete dvě instance stejného polymorfního viru, nemusí se shodovat v žádném bajtu. V důsledku toho je nemožné určit signaturu takových virů. Proto jednoduché antivirové programy-skenery nemohou detekovat polymorfní viry.

Antivirové skenery mohou detekovat pouze známé viry, které byly dříve studovány a pro které byla určena signatura. Použití skenovacích programů tedy nechrání váš počítač před pronikáním nových virů.

Pro efektivní využití antivirové programy, které implementují metodu skenování, musíte je neustále aktualizovat a získávat nejnovější verze.

Heuristická analýza je relativně nová technika v detekci virů. Umožňuje vám detekovat dříve neznámé viry, a proto nemusíte nejprve shromažďovat data souborový systém jak to vyžaduje metoda detekce změn.

Antivirové programy, které implementují metodu heuristické analýzy, skenují programy a boot sektory disky a diskety a snaží se v nich detekovat kód charakteristický pro viry. Heuristický analyzátor může například zjistit, že kontrolovaný program obsahuje kód, který nastavuje rezidentní modul v paměti.

Antivirový program Doctor Web, který je součástí sady AO DialogScience, má výkonný heuristický analyzátor, který umožňuje detekovat velký počet nové viry.

Pokud heuristický analyzátor hlásí, že soubor nebo spouštěcí sektor může být infikován virem, měli byste to brát velmi vážně. Je vhodné zkoumat takové soubory pomocí nej nejnovější verze antivirové programy nebo je zašlete k podrobnému prostudování společnosti DialogNauka JSC.

Sada IBM AntiVirus obsahuje speciální modul zaměřený na detekci virů v boot sektorech. Tento modul využívá technologii neuronové sítě, která je přihlášena k patentování, z heuristické analýzy IBM a umožňuje určit, zda je boot sektor infikován virem.

Hledejte viry podobné těm známým

Heuristika znamená „najít“. Heuristická analýza je založena na (velmi věrohodném) předpokladu, že nové viry se často ukáží jako podobné některým známým. Antivirové databáze proto obsahují signatury pro detekci ne jednoho, ale několika virů najednou. Proto je heuristickou metodou hledání souborů, které se plně, ale velmi těsně neshodují se signaturami známých virů.

Výhody: Schopnost detekovat nové viry ještě předtím, než jim jsou přiděleny signatury.

Chyba:

  • pravděpodobnost chybné detekce přítomnosti viru v souboru, i když je soubor ve skutečnosti čistý – takové události se nazývají falešně pozitivní;
  • Nemožnost léčby – jak z důvodu možné falešné pozitivity, tak z důvodu možného nepřesného určení typu viru, může pokus o léčbu vést k větší ztrátě informací než u viru samotného, ​​a to je nepřípustné;
  • · nízká účinnost- Proti skutečně inovativním virům, které způsobují nejrozšířenější epidemie, je tento druh heuristické analýzy málo užitečný.

Hledejte viry, které provádějí podezřelé aktivity

Další metoda, založená na heuristice, je založena na předpokladu, že škodlivé programy se tak či onak snaží poškodit počítač, a je založena na zvýraznění hlavních škodlivých činností.

Například:

  • Odstranění souboru
  • zápis do souboru;
  • Nahrávání ve specifických oblastech systémový registr;
  • Otevření naslouchacího portu
  • zachycení dat zadávaných z klávesnice;
  • · zasílání dopisů;

Provádění každé takové akce samostatně není důvodem k tomu, aby byl program považován za škodlivý. Když však program provede několik takových akcí za sebou, například zapíše své spuštění do autorunového klíče systémového registru, zachytí data zadaná z klávesnice a s určitou frekvencí tato data odešle na nějakou internetovou adresu, pak je tento program přinejmenším podezřelý. Heuristický analyzátor založený na tomto principu neustále monitoruje akce, které programy provádějí.

Výhody: schopnost detekovat dříve neznámé škodlivé programy, i když nejsou příliš podobné těm již známým (použití nové zranitelnosti k proniknutí do počítače a následné provedení již známých škodlivých akcí). Takový program může být přeskočen heuristickým analyzátorem prvního typu, ale může být detekován analyzátorem druhého typu.

nedostatky:

  • Falešná pozitiva
  • nemožnost léčby;
  • není vysoká účinnost.

Heuristická analýza

Téměř všechny moderní antivirové nástroje využívají technologii heuristické analýzy programový kód. Heuristická analýza se často používá ve spojení se skenováním podpisů k nalezení složitých šifrovaných a polymorfní viry. Technika heuristické analýzy umožňuje detekovat dříve neznámé infekce, avšak léčba je v takových případech téměř vždy nemožná. V tomto případě je to obvykle vyžadováno volitelná aktualizace antivirové databáze k získání nejnovějších signatur a léčebných algoritmů, které mohou obsahovat informace o dříve neznámém viru. V opačném případě je soubor odeslán k analýze antivirovým analytikům nebo autorům antivirových programů.

Technologie heuristické analýzy

Heuristické metody skenování neposkytují žádnou zaručenou ochranu proti novým, chybějícím v sadě signatur, počítačové viry, což je dáno použitím signatur dříve známých virů jako objektu analýzy a znalostí o mechanismu polymorfismu signatur jako heuristických ověřovacích pravidel. Tato vyhledávací metoda je přitom založena na empirických předpokladech, falešné poplachy nelze zcela vyloučit.

V některých případech jsou heuristické metody mimořádně úspěšné, například v případě velmi krátkých softwarové části v zaváděcím sektoru: pokud program zapisuje do sektoru 1, stopy 0, strany 0, vede to ke změně oddílu disku. Ale kromě pomocného programu FDISK se tento příkaz nikde jinde nepoužívá, a proto, pokud se nečekaně objeví, mluvíme o boot viru.

V procesu heuristické analýzy je emulovaný program kontrolován analyzátorem kódu. Například program je infikován polymorfním virem sestávajícím ze zašifrovaného těla a dešifrovače. Emulátor kódu emuluje činnost tohoto viru jednou instrukcí, načež analyzátor kódu vypočítá kontrolní součet a porovná jej s tím, který je uložen v databázi. Emulace bude pokračovat tak dlouho, jak to bude nutné pro počítání kontrolní součetčást viru nebude dešifrována. Pokud se podpis shoduje, program je identifikován.

Další běžně používaná metoda heuristické analýzy velká skupina antivirus je dekompilovat podezřelý program a analyzovat jej zdrojový kód. Zdrojový kód podezřelého souboru je ověřen a porovnán se zdrojovým kódem známých virů a vzorky virové aktivity. Pokud je určité procento zdrojového kódu shodné s kódem známého viru nebo virové aktivity, je soubor označen jako podezřelý a uživatel je na to upozorněn.

Nevýhody heuristického skenování

  • Přílišná podezřívavost heuristického analyzátoru může způsobit falešné poplachy, pokud program obsahuje fragmenty kódu, které provádějí akce a/nebo sekvence, včetně těch, které jsou charakteristické pro některé viry. Zejména unpacker v souborech zabalených s (Win)Upack PE packerem způsobuje falešné poplachy z řady antivirových nástrojů, které tento problém de facto nerozpoznají. Dalším problémem analyzátorů je chybná obsluha při kontrole zcela neškodného kódu.

Například kompilováno s kódem Delphi 7 nebo Delphi 2007:

ProgramXDC; ($APPTYPE CONSOLE) používá SysUtils; begin if (paramstr (3) ="d" ) then begin FileSetReadOnly (paramstr (2) ,false ) ; DeleteFile(paramstr(2) ) ; konec ; konec .

Způsobuje falešné poplachy pro antiviry jako Panda (bez ohledu na verzi kompilátoru), Webwasher GateWay (při kompilaci Delphi 2007 ), F-Secure (při kompilaci Delphi 7 ). Jak můžete vidět z příkladu, program je absolutně bezpečný a nevykazuje absolutně žádné známky škodlivého kódu a funkčnosti virů (všechny funkce příkladu: pokud je jako třetí parametr uvedena klávesa „d“, program smaže soubor specifikovaný ve druhém parametru).

  • Dostupnost jednoduchých technik pro oklamání heuristického analyzátoru. Před distribucí škodlivého programu (viru) jeho vývojáři zpravidla prozkoumají existující rozšířené antivirové produkty, různé metody vyhnout se jeho detekci během heuristického skenování. Například úprava kódu, použití prvků, jejichž spuštění není podporováno emulátorem kódu těchto antivirů, použití šifrování části kódu atd.

Navzdory prohlášením a brožurám vývojářů antivirových programů ohledně zlepšení heuristických mechanismů je účinnost heuristického skenování na tento moment daleko od očekávání. Nezávislé testy komponent heuristické analýzy ukazují, že úroveň detekce nových škodlivých programů nepřesahuje 40–50 % jejich počtu. (Angličtina)

  • I při úspěšné identifikaci je léčba neznámého viru téměř vždy nemožná. Výjimečně mohou některé produkty léčit jednotypové a řadu polymorfních, šifrovaných virů, které nemají trvalé virové tělo, ale používají jednu injekční metodu. V tomto případě pro léčbu desítek a stovek virů může existovat jeden záznam ve virové databázi, jak je implementováno např. v antiviru I. Danilova.

viz také

Odkazy

externí odkazy

Nadace Wikimedia. 2010 .

Podívejte se, co je "Heuristická analýza" v jiných slovnících:

    - (heuristický) algoritmus pro řešení problému, který nemá rigorózní zdůvodnění, ale přesto dává přijatelné řešení problému ve většině prakticky významných případů. Obsah 1 Definice 2 Aplikace ... Wikipedie

    Tento termín má jiné významy, viz Polymorfismus. Polymorfismus počítačového viru (řecká forma πολυ many + řecká forma μορφή, vzhled) speciální technika, kterou používají autoři škodlivého softwaru ... ... Wikipedie

    Styl tohoto článku není encyklopedický nebo porušuje normy ruského jazyka. Článek by měl být opraven podle stylistických pravidel Wikipedie ... Wikipedie

    Proaktivní technologie - soubor technologií a metod používaných v antiviru software, jejímž hlavním účelem je na rozdíl od reaktivních (podpisových) technologií zabránit infekci systému uživatele, a ... ... Wikipedia

    Tento článek nebo sekce je hrubým překladem článku do jiného jazyka (viz Kontrola překladů). Mohlo být vytvořeno programem překladatele nebo vytvořeno osobou s malou znalostí původního jazyka. Můžete pomoci... Wikipedie

    Vývojář OS Windows XP / Vista Licenční web ... Wikipedie

    Snímek obrazovky programu Typ ... Wikipedie

    OllyDbg ... Wikipedie

    Tento článek by měl být wikifikován. Naformátujte jej prosím podle pravidel pro formátování článků. Některé modely lidského chování ve společenských vědách naznačují, že lidské chování lze adekvátně popsat... Wikipedie

Tento článek je o antivirovém softwaru. Pro použití heuristiky při hodnocení použitelnosti viz heuristické hodnocení.

Heuristická analýza je technika používaná mnoha počítačovými antivirovými programy určená k detekci dříve neznámých počítačových virů, ale i nových variant virů, které jsou již „divoce“.

Heuristická analýza je expertní analýza, která pomocí různých rozhodovacích pravidel nebo metod vážení určuje náchylnost systému k určité hrozbě/riziku. Multikriteriální analýza (MCA) je jedním z prostředků vážení. Tato metoda se liší od Statistická analýza který se opírá o dostupná data/statistiky.

úkon

Většina antivirových programů, které používají heuristickou analýzu provádění této funkce prováděním programovacích příkazů z pochybného programu nebo skriptu ve specializovaném virtuálním počítači, čímž umožňují antivirovému programu interně simulovat, co by se stalo, kdyby došlo k poškození podezřelého souboru. být proveden při ukládání podezřelého kódu, izolovaný od skutečného světa stroje. Poté analyzuje příkazy při jejich provádění, sleduje běžné virové aktivity, jako je replikace, přepisování souborů, a pokouší se skrýt existenci podezřelého souboru. Pokud je detekována jedna nebo více akcí podobných viru, je podezřelý soubor označen jako potenciální virus a uživatel je upozorněn.

Další běžnou technikou heuristické analýzy pro antivirový program je dekompilovat podezřelý program a poté analyzovat nativní kód obsažený v něm. Zdrojový kód podezřelého souboru je porovnáván se zdrojovým kódem známých virů a virům podobných aktivit. Pokud se určité procento zdrojového kódu shoduje se známým virem nebo virem podobné činnosti, soubor je označen příznakem a uživatel je upozorněn.

účinnost

Heuristická analýza dokáže detekovat mnoho dříve neznámých virů a nové varianty současných virů. Heuristická analýza však funguje na základě zkušeností (porovnává podezřelý soubor s kódem a funkcí známých virů). To znamená, že s větší pravděpodobností přehlédnete nové viry, které obsahují dříve neznámé pracovní metody, které nebyly nalezeny v žádném ze známých virů. Proto je výkon z hlediska přesnosti a falešných poplachů poměrně nízký.

Jakmile lidské výzkumníky objeví nové viry, informace o nich se přidají do heuristické analýzy enginu, což enginu poskytne prostředky k detekci nových virů.

Co je heuristická analýza?

Heuristická analýza je metoda detekce virů pomocí analýzy kódu podezřelých vlastností.

Tradiční metody detekce virů zahrnují detekci malwaru porovnáním kódu v programu s kódem známých typů virů, které již byly nalezeny, analyzovány a zaznamenány v databázi – známé jako detekce signatur.

I když je metoda detekce založená na signaturách užitečná a stále se používá, stala se také omezenější kvůli vývoji nových hrozeb, které explodovaly na přelomu století a neustále se objevují.

K vyřešení tohoto problému byl speciálně navržen heuristický model, který identifikuje podezřelé příznaky, které lze nalézt v neznámých, nových virech a upravených verzích stávajících hrozeb, stejně jako ve známých vzorcích malwaru.

Kyberzločinci neustále vyvíjejí nové hrozby a heuristická analýza je jednou z mála technik používaných k boji proti obrovskému množství těchto nových hrozeb, které denně vidíme.

Heuristická analýza je také jednou z mála metod schopných bojovat s polymorfními viry – termínem pro škodlivý kód, který se neustále mění a přizpůsobuje. Heuristická analýza zahrnovala pokročilá bezpečnostní řešení nabízená společnostmi, jako je Kaspersky Labs, k detekci nových hrozeb dříve, než způsobí škodu, bez potřeby specifického podpisu.

Co funguje heuristická analýza?

Heuristická analýza umožňuje použití mnoha různých technik. Jedna heuristická technika, známá jako statická heuristická analýza, zahrnuje dekompilaci podezřelého programu a zkoumání jeho zdrojového kódu. Tento kód je porovnáván s viry, které jsou již známé a nacházejí se v heuristických databázích. Pokud nějaké procento zdrojového kódu odpovídá záznamu v heuristické databázi, kód je označen jako možná hrozba.

Další technika je známá jako dynamická heuristika. Když vědci chtějí analyzovat něco podezřelého, aniž by ohrozili lidi, udržují látky v kontrolovaném prostředí, jako je zabezpečená laboratoř a testování. Tento proces je podobný u heuristické analýzy – ale také ve virtuálním světě.

Izoluje podezřelé programy nebo část kódu uvnitř specializovaného virtuální stroj- nebo sandboxing - a dává antivirovému programu možnost zkontrolovat kód a simulovat, co by se stalo, kdyby bylo povoleno spuštění podezřelého souboru. Zkoumá každý příkaz, jak funguje, a hledá jakékoli podezřelé chování, jako je samoreprodukce, přepisování souborů a další akce, které jsou běžné pro viry. Potenciální problémy

Heuristická analýza je ideální pro detekci nových hrozeb, ale aby byla efektivní, musí být heuristika pečlivě vyladěna tak, aby poskytovala co nejlepší detekci nových hrozeb, ale bez generování falešných poplachů na zcela nevinném kódu.

Snímání

Antivirová ochrana.

Antivirové programy byly a zůstávají hlavním prostředkem boje proti virům. Můžete používat antivirové programy (antiviry), aniž byste měli představu o tom, jak fungují. Bez pochopení principů antivirového designu, znalosti typů virů a způsobu jejich šíření však není možné organizovat spolehlivou ochranu počítač. V důsledku toho může být počítač infikován, i když jsou na něm nainstalovány antiviry.

Dnes se používá několik základních metod pro detekci a ochranu proti virům:

snímání;

heuristická analýza;

používání antivirových monitorů;

detekce změn;

používání antivirů zabudovaných v BIOSu počítače.

Téměř všechny antivirové programy navíc poskytují automatickou obnovu infikovaných programů a boot sektorů. Samozřejmě pokud možno.

Nejjednodušší technikou prohledávání virů je, že antivirový program postupně kontroluje soubory, které kontroluje na přítomnost známých virů. Signatura je jedinečná sekvence bajtů, která patří viru a nenachází se v jiných programech.

Antivirové skenery mohou najít pouze známé a studované viry, pro které byla určena signatura. Použití jednoduchých skenovacích programů nechrání váš počítač před pronikáním nových virů.

Šifrovací a polymorfní viry, které mohou zcela změnit svůj kód, když infikují nový program nebo boot sektor, nelze identifikovat podle podpisu. Jednoduché antivirové skenery proto nemohou detekovat polymorfní viry.

Heuristická analýza vám umožňuje detekovat dříve neznámé viry, a proto nemusíte nejprve shromažďovat data o souborovém systému, jak to vyžaduje například metoda detekce změn popsaná níže.

Antivirové programy, které implementují metodu heuristické analýzy, skenují programy a boot sektory disků a disket a snaží se v nich detekovat kód specifický pro virus. Heuristický analyzátor může například zjistit, že testovaný program instaluje rezidentní modul do paměti nebo zapisuje data do spustitelného souboru programu.

Téměř všechny moderní antivirové programy implementují své vlastní metody heuristické analýzy. Na Obr. 1 jsme ukázali jeden z těchto programů - skener McAffee VirusScan, který se spouští ručně antivirová kontrola disk.

Když antivirus detekuje infikovaný soubor, obvykle zobrazí zprávu na obrazovce monitoru a provede záznam ve vlastním resp systémový protokol. V závislosti na nastavení může antivirus také odeslat zprávu o detekovaném viru správci sítě.

Pokud je to možné, antivirus dezinfikuje soubor obnovením jeho obsahu. V opačném případě se nabízí pouze jedna možnost - odstranit infikovaný soubor a poté jej obnovit záloha(pokud ho samozřejmě nemáte).