Detekce a dezinfekce vir∙ pomocφ antivirov²ch program∙


Metody konkrΘtnφ detekce vir∙

Metody konkrΘtnφ detekce vir∙ jsou zam∞°enΘ na hledßnφ p°φtomnosti konkrΘtnφch a znßm²ch vir∙.
  • Skener (Scanner)
  • Na poΦßtku technologie skenovßnφ program∙ (zkrßcen∞ skener∙) byl genißlnφ nßpad: Vybrat z t∞la vir∙ n∞jakΘ charakteristickΘ skupiny instrukcφ a takto zφskanΘ sekvence pou₧φt pro hledßnφ napaden²ch program∙. Tato koncepce sice vy₧aduje pravidelnou aktualizaci (skener umφ najφt pouze viry, kterΘ znß), ale nabφzφ za to jedineΦnou schopnost rozpoznat napaden² program jeÜt∞ p°ed tφm, ne₧ ho zaΦneme pou₧φvat.
    Pokud je u₧ivatel zvykl² prohlφ₧et p°ichßzejφcφ programy a diskety aktußlnφ verzφ n∞jakΘho kvalitnφho skeneru, sni₧uje tak v²razn²m zp∙sobem pravd∞podobnost napadenφ svΘho systΘmu. Obvykle se toti₧ viry p°ece jenom Üφ°φ pomaleji ne₧ novΘ verze antivir∙.
    DobrΘ skenery jsou sice do jistΘ mφry schopnΘ rozpoznat i novΘ varianty starÜφch vir∙, ale na tuto vlastnost nenφ mo₧nΘ p°φliÜ spolΘhat. Autor viru je zde ve v²hod∞ a mß mo₧nost si vyzkouÜet, zda aktußlnφ verze pou₧φvan²ch skener∙ jeho dφlko odhalφ, Φi nikoliv.
    Skenery zvyÜujφ svΘ Üance na zachycenφ novΘ varianty tak, ₧e pou₧φvajφ vφce r∙zn²ch sekvencφ pro jeden vir. To takΘ umo₧≥uje p°esn∞jÜφ rozpoznßnφ konkrΘtnφho viru a sni₧uje pravd∞podobnost faleÜnΘho poplachu.
    Ani vφce sekvencφ vÜak nedovoluje dostateΦn∞ p°esn∞ rozliÜit jednotlivΘ varianty vir∙ tak, jak to vy₧aduje t°eba CARO konvence pojmenovßnφ vir∙ (tu z°ejm∞ dodr₧uje pouze antivirus F-PROT). N∞kterΘ skenery se proto sna₧φ o tzv. exaktnφ identifikaci, kdy po nalezenφ sekvence jeÜt∞ spoΦφtajφ kontrolnφ souΦty konstantnφch oblastφ v t∞le viru a pak teprve mohou s jistotou tvrdit, ₧e se jmenuje t°eba Vienna.648.Reboot.A. Pro praktickΘ pou₧itφ sice nenφ takto detailnφ rozliÜenφ nezbytn∞ nutnΘ, ale n∞jakß forma p°esn∞jÜφ identifikace sni₧uje pravd∞podobnost, ₧e se antivirov² systΘm pokusφ lΘΦit napaden² soubor nevhodn²m postupem a znφΦφ ho.
    V²b∞r spolehlivΘ sekvence b²val relativn∞ snadnou zßle₧itostφ. Auto°i vir∙ se proto pokouÜeli znesnadnit detekci sv²ch dφlek tφm, ₧e zaΦali psßt zak≤dovanΘ viry. V takovΘm p°φpad∞ je mo₧nΘ sekvenci vybrat pouze z velmi malΘ Φßsti k≤du - dekryptovacφ smyΦky. Zbytek t∞la viru je v ka₧dΘm exemplß°i jin².
    Opravdovß legrace ovÜem zaΦφnß a₧ s p°φchodem polymorfnφch vir∙, kterΘ umφ generovat r∙znΘ zvary dekryptovacφch smyΦek. Pro n∞kterΘ z nich je sice mo₧nΘ stvo°it sekvence (nebo n∞kolik sekvencφ), kterß vir zachytφ, ale ta u₧ obsahuje tolik variabilnφch Φßstφ, ₧e se Φasto najdou i zdravΘ programy, ve kter²ch n∞jak² fragment k≤du nebo dat takovΘ sekvenci vyhovuje. V∞tÜina polymorfnφch vir∙ ale generuje takovΘ dekryptory, ₧e nelze hledßnφ podle sekvencφ pou₧φt. Skenery se n∞jak² Φas sna₧ily o rozpoznßvßnφ polymorfnφch vir∙ pomocφ jedno·Φelov²ch funkcφ, ale to byl vlastn∞ krok zp∞t k vyhledßvacφm program∙m se vÜemi jejich nev²hodami. Modernφ skenery proto obsahujφ emulßtor strojovΘho k≤du (algoritmickΘ vyhledßvßnφ vir∙ - pat°φ sem i heuristickß anal²za), kter²m se pokouÜφ emulovat provedenφ smyΦky, a pak mohou hledat sekvence a₧ v dekryptovanΘm t∞le viru.
    K≤dovßnφ viru nenφ jedinou metodou, jak skener∙m znep°φjemnit ₧ivot. Skenery toti₧ obvykle nehledajφ sekvence v celΘm souboru, ale pouze v jeho vybran²ch Φßstech. StaΦφ tedy umφstit t∞lo viru na nßhodn∞ vybranΘ mφsto uprost°ed napadenΘho programu a vytvo°it k n∞mu "cestiΦku". Kvalitnφ skener se s tφm vypo°ßdß, ale jeho tup∞jÜφ brat°φΦci majφ sm∙lu.
    Kvalitnφ skenery obsahujφ tzv. anti-stealth techniky, kterΘ dokß₧ou obchßzet aktivnφ stealth viry. Pokud je toti₧ takov² virus rezidentnφ v pam∞ti, a antivirus nemß anti-stealth techniky, bude se nßm systΘm jevit jako Φist² - nezavirovan². V takovΘm p°φpad∞ musφ skener spolΘhat pouze na test operaΦnφ pam∞ti, kter² m∙₧e (ale nemusφ virus) prozradit.
    LepÜφ skenery dokß₧ou prohlφ₧et i komprimovanΘ soubory (PKLITE, LZEXE, ARJ, ZIP, RARà). Ukßzkov²m antivirem je v tomto sm∞ru nap°φklad AntiViral Toolkit Pro (AVP).
    Skenery jsou celkov∞ z°ejm∞ nejd∙le₧itejÜφ Φßstφ v∞tÜiny antivir∙. Pokud jsou dopln∞ny heuristickou anal²zou dokß₧ou detekovat i neznßmΘ viry. Skenery dokß₧ou prohlφ₧et na v²skyt vir∙: operaΦnφ pam∞t, soubory, dokumenty Wordu, tabulky Exceluà, systΘmovΘ Φßsti disku (boot sektor, MBRà). Skenery mohou b²t navφc ve dvou provedenφch:

    Hlavnφ v²hody a nev²hody skener∙:
    viry lze objevit, jeÜt∞ p°ed tφm, ne₧ se stanou aktivnφmi v systΘmu
    minimßlnφ nßroky na u₧ivatele
    pokud je souΦßstφ heuristickß anal²za, lze hledat i neznßmΘ viry
    nelze hledat neznßmΘ viry (pokud nenφ heuristickß anal²za)
    skenery se musφ Φasto aktualizovat, jeliko₧ viry p°ibφvajφ velmi intenzivn∞

    Metody obecnΘ detekce vir∙

    Metod obecnΘ detekce vir∙ je o poznßnφ vφce ne₧ metod konkrΘtnφ detekce vir∙. Tyto metody umo₧≥ujφ vyhledßnφ Φehokoli, co jevφ znßmky viru. Jedinou v²hodou t∞chto metod je, ₧e jsou schopny zachytit i virus, kter² byl v dob∞ nßvrhu t∞chto metod zcela neznßm². Tyto programy zachytφ i nap°. Üpionß₧nφ "virus na mφru" anebo obecn∞ jak²koli program, kter² by mohl poÜkodit informaΦnφ systΘm. P°esto₧e tedy nenφ nutnΘ tyto metody Φasto aktualizovat, mß jejich pou₧itφ i n∞kolik nev²hod. Hlßsφ vφce Φi m∞n∞ Φasto faleÜnΘ poplachy a n∞kterΘ (ne vÜechny) metody mohou naopak propustit zcela zjevn² virus. N∞kterΘ (op∞t ne vÜechny) metody jsou takΘ schopnΘ virus odhalit teprve v okam₧iku, kdy infiltroval do systΘmu a dostateΦn∞ se namno₧il. N∞kterΘ metody nepomßhajφ proti makrovir∙m.
    Kontrol≤r integrity (integrity checker, CRC checkerà)
    Kontrola integrity je zalo₧ena na porovnßvßnφ aktußlnφho stavu d∙le₧it²ch program∙ a oblastφ na disku s informacemi, kterΘ si o nich kontrolnφ program ulo₧il p°i jejich p°φchodu do systΘmu nebo p°i svΘ instalaci.
    Jestli₧e se do takto chrßn∞nΘho poΦφtaΦe dostane vir, tak na sebe zdvo°ile upozornφ zm∞nou n∞kterΘho z kontrolovan²ch objekt∙ a je zßhy detekovßn. Takto je mo₧nΘ spolehliv∞ zachytit i novΘ viry, o kter²ch zatφm nic nevφ skenery a kterΘ nemusφ odhalit ani heuristickß anal²za.
    Aby se tato idylka prom∞nila v realitu je nutnΘ kontrolu integrity sprßvn∞ nainstalovat. To p°edevÜφm znamenß zahrnout do seznamu kontrolovan²ch objekt∙ pokud mo₧no vÜechny d∙le₧itΘ a Φasto pou₧φvanΘ programy. Velmi praktickΘ je kontrolovat vÜechno, co je zavßd∞no do pam∞ti p°i startu poΦφtaΦe. Tedy ovladaΦe vyjmenovanΘ v souboru CONFIG.SYS a programy spouÜt∞nΘ z dßvky AUTOEXEC.BAT. UrΦit∞ nenφ ÜpatnΘ kontrolovat takΘ vÜechny programy, kterΘ jsou souΦßstφ MS-DOSu.
    Existujφ ovÜem i soubory, jejich₧ kontrola nemß smysl. Sem pat°φ n∞kterΘ starÜφ programy, kterΘ si svou konfiguraci zapisujφ p°φmo do svΘho EXE-souboru (nap°φklad TC.EXE - kompilßtor Turbo C od firmy Borland). Jejich kontrola je samoz°ejm∞ takΘ mo₧nß, ale p°i zm∞n∞ nastavenφ spustφ faleÜn² poplach. Pak u₧ zßle₧φ je na znalostech u₧ivatele, jestli dokß₧e rozpoznat, o co se jednß.
    To ovÜem nenφ jedin² problΘm. Snadno m∙₧e dojφt k tΘto situaci: Na poΦφtaΦ napaden² boot virem, je nainstalovßna kontrola integrity, kterß si mimo jinΘ uschovß i kopii boot sektoru. Po Φase je vir nalezen a odstran∞n n∞jak²m jin²m antivirov²m programem. P°i svΘm dalÜφm spuÜt∞nφ kontrola zjistφ, ₧e obsah boot sektoru u₧ nenφ, co b²val. Oznßmφ to u₧ivateli a dotß₧e se, zda je vhodnΘ obnovit sprßvn² stav. Pravd∞podobn∞ dostane souhlas a s pocitem dob°e vykonanΘ prßce vrßtφ vir do boot sektoru.
    Tato situace jist∞ nenφ p°φliÜ milß. Proto jsou v∞tÜinou i antivirovΘ systΘmy zalo₧enΘ na kontrole integrity obvykle vybaveny n∞jak²m skenerem. I tak se ovÜem p°ed jejich instalacφ vyplatφ zkontrolovat i disk n∞jak²m jin²m, kvalitnφm, skenerem.
    Viry v∞tÜinou napadajφ soubory tak, ₧e modifikujφ jejich zaΦßtek a za konec se p°ipojφ. Na zßklad∞ odlo₧en²ch informacφ o souboru se tak m∙₧e program pro kontrolu integrity pokusit odstranit, ani₧ by o n∞m cokoliv v∞d∞l. A proto₧e si musφ u₧ kv∙li detekci pamatovat kontrolnφ souΦty celΘho souboru, m∙₧e snadno kontrolovat, zda byl jeho pokus o lΘΦenφ ·sp∞Ün².
    Dφky tomu pat°φ odstra≥ovßnφ viru programem pro kontrolu integrity k relativn∞ bezpeΦn²m postup∙m. (Tedy ne ₧e by bylo tak ·sp∞ÜnΘ, ale program pro kontrolu integrity je schopen zkontrolovat, jestli se soubor skuteΦn∞ poda°ilo uvΘst do korektnφho stavu).

    Hlavnφ v²hody a nev²hody kontrol≤r∙ integrity:
    lze detekovat znßmΘ i neznßmΘ viry
    lze dezinfikovat znßmΘ i neznßmΘ viry
    v∞tÜφ nßroky na u₧ivatele p°i rozhodovßnφ (nap°. zda je soubor Φist² Φi zavirovan²)
    kontrol≤r integrity musφ b²t na poΦφtaΦ instalovßn v dob∞, kdy nenφ zavirovßn
    virus je mo₧nΘ detekovat a₧ kdy₧ je v systΘmu aktivnφ !!!
    Heuristickß anal²za (Heuristic Analyzer - Code Analyzer)
    Heuristickß anal²za je dalÜφ z mnoha kouzeln²ch termφn∙, kterΘ v∞rn∞ doprovßzejφ modernφ antivirovΘ programy. V podstat∞ jde o rozbor k≤du hledajφcφ postupy pro Φinnost vir∙ typickΘ nebo n∞jak podez°elΘ. Z propagaΦnφch materißl∙ a Φlßnk∙ v populßrnφch poΦφtaΦov²ch Φasopisech je snadno mo₧nΘ zφskat dojem, ₧e heuristickß anal²za nav₧dy vy°eÜila vÜechny problΘmy se souΦasn²mi i budoucφmi viry.
    Nenφ tomu tak. Stßle se jeÜt∞ objevuje mnoho vir∙, kterΘ heuristickß anal²za nepoznß a snahy o zv²Üenφ jejφ "citlivosti" jsou doprovßzeny nßr∙stem poΦtu faleÜn²ch poplach∙. Prßv∞ faleÜnΘ poplachy pat°φ k velmi nep°φjemn²m pr∙vodnφm jev∙m heuristickΘ anal²zy. Obt∞₧ujφ u₧ivatele a ti pak provßd∞jφ totΘ₧ v²robc∙m antivirovΘho systΘmu.
    Jestli₧e program dovoluje urΦenφ typ∙ soubor∙, kter²m se mß anal²za t²kat, nebo jakΘkoliv nastavenφ jejφ citlivosti, je dobrΘ mφt na pam∞ti, ₧e tv∙rce systΘmu z°ejm∞ v∞d∞l jakΘ hodnoty (a proΦ) pou₧φt. Jejich zm∞nu by m∞l provßd∞t pouze n∞kdo, kdo vφ, co d∞lß. V opaΦnΘm p°φpad∞ se vaÜe heuristickß anal²za m∙₧e stßt zcela flegmatickou a ignorovat i zcela zjevnΘ viry, nebo propadne hysterii a zaΦne za podez°elΘ oznaΦovat vÜe, co uvidφ.
    Krom∞ heuristickΘ detekce vir∙ existujφ i pokusy o jejich heuristickΘ odstra≥ovßnφ. Vir se toti₧ po svΘm spuÜt∞nφ d°φve nebo pozd∞ji pokusφ p°edat °φzenφ p∙vodnφmu programu. Pokud se poda°φ odsimulovat jeho b∞h a₧ k tomuto bodu, staΦφ napaden² soubor sprßvn∞ zkrßtit a vÜechno je v nejlepÜφm po°ßdku.
    Heuristickß anal²za b²vß v∞tÜinou souΦßstφ skeneru, samostatn∞ ji provozovat nelze (v∞tÜinou).

    Hlavnφ v²hody a nev²hody heuristickΘ anal²zy:
    jeden z mßla zp∙sob∙, jak najφt neznßm² virus jeÜt∞ p°ed jeho aktivacφ
    detekce neznßm²ch vir∙
    Mo₧n² v²skyt faleÜn²ch poplach∙
    Monitorovacφ program (Behavior Blocker)
    Monitorovacφ programy obecn∞ hlφdajφ zm∞ny v nastavenφ systΘmu a chrßnφ systΘm p°ed replikacφ viru (i p°ed provedenφm on∞ch ne₧ßdoucφch akcφ trojsk²ch konφ), a to na zßklad∞ neustßle kontroly a poslΘze aktivnφho zastavenφ takovΘ ilegßlnφ akce.
    Monitorovacφ programy jsou tedy aktivnφmi nßstroji pro detekci vir∙ na zßklad∞ zm∞n v chovßnφ systΘmu, a to v reßlnΘm Φase. Tyto programy zabra≥ujφ nelegßlnφm akcφm a signalizujφ, kdykoliv se cokoliv v systΘmu pokouÜφ o n∞jakou podez°elou akci, kterß mß charakteristiky chovßnφ viru, pop°. jinak ÜkodlivΘho, ilegßlnφho chovßnφ, nap°. pokus o zßpis do chrßn∞n²ch soubor∙, zm∞na tabulky vektor∙ p°eruÜenφà Proto₧e vÜak virus nenφ niΦφm jin²m ne₧ sekvencφ p°φkaz∙, je zde znaΦnß pravd∞podobnost, ₧e i legitimnφ programy mohou provßd∞t stejnΘ akce, a povedou tedy ve svΘm d∙sledku k signalizaci stejn∞ jako virus (nap°. sebemodifikujφcφ programy). P°i tvorb∞ takovΘho systΘmu se zaΦφnß s modelem "ilegßlnφho" chovßnφ, pak se stavφ moduly, kterΘ zachycujφ a zastavujφ pokus o provedenφ takov²ch akcφ. Tyto moduly pak pracujφ jako souΦßst operaΦnφho systΘmu.
    Monitorovacφ program p°edpoklßdß, ₧e viry provßd∞jφ akce, kterΘ jsou svou povahou podez°elΘ, a proto mohou b²t detekovßny. To vÜak nemusφ b²t v₧dy platnΘ tvrzenφ. NovΘ viry mohou vyu₧φvat novΘ metody, kterΘ moho b²t mimo p∙sobnost naprogramovan²ch modul∙. Takov² virus pak nebude monitorovacφm programem detekovßn.
    Techniky, kterΘ se vyu₧φvajφ u monitorovacφch prost°edk∙ pro detekci chovßnφ podobnΘho chovßnφ viru, rovn∞₧ nejsou neselhßvajφcφ. Osobnφ poΦφtaΦe majφ v∞tÜinou slabinu v nedostateΦnΘ ochran∞ pam∞ti, tak₧e virov² program m∙₧e obvykle obejφt v∞tÜinu pokus∙ operaΦnφho systΘmu o kontrolu. Navφc jako souΦßst operaΦnφho systΘmu jsou monitorovacφ programy rovn∞₧ napadnutelnΘ. Existujφ toti₧ viry, kterΘ obejdou nebo zcela vypnou cel² monitorovacφ systΘm, nap°. virus Tremor a tunelujφcφ viry.
    Na rozdφl od skener∙ nenφ tak snadnΘ pou₧φvat monitorovacφ programy. Dost toti₧ zßle₧φ na jejich nastavenφ. Obecn∞ °eΦeno, je-li nastavenφ p°φliÜ jemnΘ, bude program neustßle hlßsit poplach (a u₧ivatele zßkonit∞ otrßvφ a snφ₧φ jeho d∙v∞ru v software). Je-li naopak nastavenφ p°φliÜ hrubΘ, program nebude detekovat tΘm∞° nic (tedy ani n∞kterΘ viry).
    V p°φpad∞, ₧e monitorovacφ program ohlßsφ pokus o n∞jakou z jeho pohledu podez°elou akci, je na u₧ivateli, aby byl schopen posoudit, zda se jednß o faleÜn² poplach (zda dan² program provßdφ legitimnφ Φinnost), nebo o pokus viru. Tφm je kladen na u₧ivatele znaΦn² nßrok. TakΘ instalace (a ji₧ zmφn∞nΘ nastavenφ) monitorovacφho programu nenφ snadnΘ.
    Na druhΘ stran∞ jsou tu vÜak i v²hody monitorovacφch program∙:

    Specißlnφ metody detekce vir∙

    Dopl≥kovou metodou pro hledßnφ nov²ch vir∙ je vypouÜt∞nφ r∙zn²ch udiΦek a jejich nßslednß kontrola. Pokud se vir nechß vyprovokovat a nastra₧en² program napadne, tak je vÜe jasnΘ. OpaΦn² stav ovÜem neznamenß, ₧e vir v poΦφtaΦi nenφ p°φtomen.
    N∞kterΘ viry jsou toti₧ velmi vybφravΘ a nenapadajφ soubory, kterΘ: zaΦφnajφ bajtem 0E9h, nezaΦφnajφ bajtem 0E9h, jsou v∞tÜφ nebo menÜφ ne₧ n∞jakΘ magickΘ Φφslo, obsahujφ velkΘ oblasti se stejn²m obsahem, jejich₧ datum a Φas vytvo°enφ odpovφdß n∞jak²m p°edpoklad∙m, à atd. atd. Krom∞ toho jsou viry vysloven∞ zlomyslnΘ, kterΘ se t°eba Üφ°φ pouze v lichΘ dny, nebo jen v n∞kter²ch hodinßch.
    Je tedy prakticky nemo₧nΘ vytvo°it sadu dostateΦn∞ lßkav²ch nßvnad pro nejr∙zn∞jÜφ viry. Dokonce by se dalo °φct, ₧e jsou i takovΘ viry, kterΘ donutit k Üφ°enφ dß dost prßce (kdo zkouÜel namno₧it vir Whale, vφ velmi dob°e, o Φem je °eΦ).


    Z detekcφ souvisφ i dezinfekce. AntivirovΘ programy pou₧φvajφ n∞kolik metod pro dezinfekci viru: