Virusai

5.3. Viruso apibrėžimasBiologo požiūriu, virusas yra genetinės medžiagos fragmentas, kuris savo gyvavimui ir dauginimuisi turi infekuoti (užkrėsti) kokį nors organizmą-nešėją. Kad virusas plistų tarp organizmų, jam paprastai būdingos savybės , priverčiančios nešėją atlikti tam tikrus patologinius (liguistus) veiksmus, pvz., čiaudėjimą. Vieni virusai turi ribotą nešėjų skaičių, o kiti – labai platų jų diapazoną, pvz., bakterijas, gyvūnus ir pan. Dalis virusų yra sunkių infekcinių susirgimų priežastis.

Todėl nieko nuostabaus, kad įvairios kenkėjiškos kompiuterinės programos (t.y. tokios, kurios, įvestos į sistemą, sutrikdo jos veikimą) pavadintos bendru, virusų, vardu. Taigi, programuotojo požiūriu, virusas – tai kompiuterinis kodas, kuris savo plėtimuisi turi infekuoti kurią nors programą-nešėją. Paprastai kompiuterinis virusas infekuoja kitas programas įjungdamas į jas programos-viruso kodą. Virusas projektuojamas tokiu būdu, kad jis po tam tikro laiko galėtų keisti savo formą ir tikslą. Be to, jis dauginasi ir prisijungia prie programų arba kitų failų ir, “pasislėpęs” ten, “keliauja” nuo vieno kompiuterio prie kito. Virusai programuojami, siekiant atlikti įvairius kenkėjiškus veiksmus: trinti kieto disko informaciją, modifikuoti ar naikinti tam tikrus failus ir kt.

Pirmą kartą (1949m.) programos-viruso, t.y. kompiuterinės programos, galinčios daugintis, modelį pateikė Džonas fon Neimanas (John fon Neumann). Pirmas užregistruotas kompiuterinis virusas buvo žaidimas “Karas operatyvioje atmintyje” (“Core War”), kurį 6-ajame dešimtmetyje sukūrė kompanijos Bell Laboratories darbuotojas M.Duglas Makilroi. Žaidimo tikslas buvo parašyti programą, kurį ištrintų priešininko informaciją ir blokuotų jo įrašus atmintyje. EGABTR – pirmas IBM PC virusas, atsiradęs 1985m. liepos mėnesį. Šiuo metu pateikti visą esamų virusų sąrašą praktiškai neįmanoma, nes nauji virusai sukuriami beveik kiekvieną dieną. Be to, specialistai, kuriantys virusus aptinkančias programas ir bandantys nustatyti, ar du virusai yra to paties, ar skirtingo tipo, dažnai naudoja skirtingus kriterijus. Vieni specialistai laiko virusus skirtingais, jei jų kodai skiriasi bent vienu bitu. Kiti – grupuoja virusus į šeimas ir vienos šeimos virusų nelaiko skirtingais. Todėl, priklausomai nuo vertinimo kriterijų, šiuo metu pasaulyje suskaičiuojama nuo 50 iki daugiau kaip 10000 (šiuo atveju manoma, kad kasdien sukuriami bent 6 nauji virusai) skirtingų virusų.

5.4. Virusų klasifikacija

Virusus galima klasifikuoti pagal įvairius požymius. Vienas jų – viruso algoritmo ypatybės ir veikimo būdas. Šiuo atveju galima išskirti tokias pagrindines jų grupes.

Tikrasis virusas. Tai mažos apimties programa, kuri “prisiklijuoja” prie kitų programų. Kai infekuota programa ruošiama vykdyti, valdymą pirmiausia gauna viruso kodas. Jis randa ir “užkrečia” kitas programas, taip pat gali atlikti konkrečius kenkėjiškus veiksmus, pvz., gadinti failus. Atlikęs visus nustatytus veiksmus, virusas gali grąžinti valdymą infekuotai programai. Tokie virusai sunkiai aptinkami, nes dažniausiai infekuotos programos veikia įprastai ir sėkmingai baigia savo darbą. Tikrojo viruso pagrindinis tikslas – savo paties kopijų kūrimas.

Kirminas. Tai programa, kuri paprasčiausiai visą laiką dauginasi. Palaipsniui kirminai užima visą kompiuterio ar tinklo atmintį, ir tada negalimas joks tolimesnis naudingas darbas.

Loginė bomba. Tai programa, kuri pradeda veikti, įvykus konkrečiam loginiam įvykiui, pvz., prisijungus prie tinklo naujam vartotojui.

Laiko bomba. Tai loginė bomba, kuri “sprogsta” (pradeda veikti programa) iš anksto numatytu laiko momentu (pvz., kai kompiuterio data pasiekia penktadienį, kuris yra mėnesio 13 diena).

Trojos arklys. Tai programa, kuri gali egzistuoti tik pasislėpusi kitoje programoje. Ji išoriškai atrodo kaip naudinga programa, bet realiai atlieka kenkėjiškus veiksmus (pvz., groja nustatytą melodiją). Trojos arklys, kitaip negu tikrasis virusas, nesidaugina (negamina savo kopijų). Tačiau pasislėpęs (pvz., kompiliatoriuje) jis gali lengvai įdiegti kenkėjiškas programas į kompiliuojamų programų kodą.

Virusai palydovai. Tai programos, kurios nemodifikuoja egzistuojančių failų. Jos sukuria naujas programas, vykdomas vietoj tų, kurias norėjo įvykdyti vartotojas.

Polimorfinis virusas. Tai programa, kuri generuoja nepanašias, nors visiškai veiklias savo kopijas. Šis virusas šifruoja savo esminę dalį ir dažniausiai turi jos šifruotojo ir dešifruotojo kodą. Generatorius įvairiais laiko momentais kuria vis kitokius šifruotojus ir juos atitinkančius dešifruotojus. Polimorfiniuose virusuose dešifruotojas nėra vienodas – keičiasi kiekvienam infekuotam failui. Dėl šios priežasties dažnai negalima nustatyti infekuoto failo pagal charakteringą viruso eilutę-parašą (signatūrą).

Nematomi virusai. Šios programos paslepia jų atliktus pakeitimus failuose ar išorinės atminties sektoriuose pakeisdamos sistemines funkcijas, kurias naudoja tuos failus ar sektorius skaitančios programos. Šis virusas, sakysim, gali perimti operacinės sistemos funkcijas, nustatančias failo ilgį, ir “sumažinti” užkrėstų failų ilgį iki ilgio, buvusio iki užkrėtimo.

Kitas virusus klasifikuojantis požymis yra jų kenksmingumas. Pagal tai virusai gali būti skirstomi į nepavojingus, pavojingus ir labai pavojingus. Nepavojingi virusai kompiuterio veikimui nedaro jokios įtakos, tik daugindamiesi užima tam tikrą atminties dalį. Be to, jie gali išvesti į ekraną grafinius vaizdus, pranešimus, imituoti įvairius garsus ir pan. Pavojingi virusai gali gerokai sutrikdyti kompiuterio darbą. Labai pavojingi virusai naikina programas ir duomenis, ištrina būtiną kompiuteriui sisteminę informaciją (pvz., failų išdėstymo lenteles).

Pagal užkrėtimo būdą virusai skirstomi į rezidentinius ir nerezidentinius. Pirmieji kompiuterio operatyviojoje atmintyje saugo savo rezidentinę dalį ir yra aktyvūs iki kompiuterio išjungimo ar sistemos pakartotinės kelties. Nerezidentiniai virusai kompiuterio atminties neužkrečia ir yra aktyvūs tik tam tikrą laiko tarpą.

Pagal “gyvenimo” aplinką virusus galima skirstyti į failų ir kelties. Pagrindiniai failų, kurie dažniausiai infekuojami, tipai yra šie: .BAT, .COM, .EXE, .SYS, .OVL, .LIB, .OBJ, .PRG, .DOC, .DOT. Kai kuriuos jų panagrinėsime detaliau.

Virusas, esantis užkrėstuose vykdomuosiuose failuose (.BAT, .EXE, .COM), pradeda savo darbą, paleidus vykdyti tą programą, kurioje jis slepiasi. Tiesa, .BAT tipo failų virusai labai primityvūs, juos lengva surasti ir sunaikinti. Ypač pavojinga, jei bus “užkrėstas” OS DOS komandų procesorius, t.y. failas COMMAND.COM, nes šiuo atveju virusas dirbs, vykdant bet kokią DOS komandą, ir visos vykdomos programos bus užkrėstos (jei virusas jas gali užkrėsti). .EXE ir .COM tipų failų virusai daugindamiesi gali prijungti savo kodą infekuojamo failo pradžioje, viduryje ar pabaigoje.

Pavojingas yra keliamų tvarkyklių (t.y. failų, turinčių plėtinį .SYS ir nurodomų sakiniu DEVICE konfigūravimo faile (CONFIG.SYS)) užkrėtimas. Šiuo atveju virusas pradeda savo darbą kiekvieną kartą kreipiantis į atitinkamą (tvarkyklės valdomą) įrenginį. Keliant užkrėstą tvarkyklę, virusas patenka į operatyviąją atmintį, perima operacinės sistemos užklausą, perduoda šią užklausą tvarkyklei, sulaukia tvarkyklės atsakymo ir jį koreguoja. Šie virusai lieka operatyviojoje atmintyje kartu su tvarkykle. Jie labai gyvybingi, nes į atmintį patenka atkeliant operacinę sistemą, t.y. anksčiau už bet kurią antivirusinę programą.

Winword sistemos dokumentų failus (.doc tipo) “puola” virusai, kurie plinta per makrokomandas. Jie užkrečia naujus dokumentų failus bei šablonų failus (.dot tipo).

Kelties virusai įsiskverbia į pradinės kelties sektorius, turinčius sistemos veikimui būtiną informaciją. Dažniausiai virusas užkrėtimo metu perkelia šį įrašą į kitą laisvą disko sektorių. Po to virusas kopijuoja sisteminę kelties informaciją į savo programą ir persikelia į pradinės kelties sektorių. Jei viruso kodas netelpa šiame sektoriuje, tai dalis viruso kodo pereina į kitus laisvus sektorius. Kelties virusai yra rezidentiniai. Nuskaičius pradinės kelties sektoriaus turinį, sisteminė programa perkelia ten saugomą viruso programą į operatyviąją atmintį ir perduoda jai valdymą. Gavęs valdymą, virusas atlieka tokius įprastinius veiksmus: a) sumažina laisvos atminties kiekį; b) skaito iš disko savo tęsinį (jei tęsinys yra); c) perkelia viruso kodą į kitą operatyviosios atminties vietą; d) nustato reikalingus pertraukimų vektorius; e) atlieka papildomus veiksmus – tai gali būti garsiniai ar vaizdiniai efektai, kenkėjiški veiksmai ir pan.; f) kopijuoja į atmintį originalią disko ar diskelio pradinės kelties programą ir perduoda jai valdymą. Po to virusas veikia kaip rezidentinis vykdomųjų failų virusas: perima operacinės sistemos kreipinius į diskus ir juos užkrečia. Yra paplitę ir mišrūs virusai, kurie užkrečia ne tik, sakysim, vykdomuosius failus, bet ir diskų pradinės kelties sektorius.

Prie kelties virusų gali būti priskirti ir virusai, modifikuojantys disko failų sistemą. Šie virusai slepiasi kuriame nors disko fragmente, pažymėdami jį failų išdėstymo lentelėje (FAT) kaip failo pabaigą. Katalogo elementuose, turinčiuose nuorodas į pirmus vykdomųjų (.com ir .exe) failų fragmentus, jos keičiamos nuorodomis į disko fragmentus, kuriuose pasislėpęs virusas. Teisinga nuoroda saugoma koduotu pavidalu katalogo elemento nenaudojamoje dalyje. Pradėjus vykdyti bet kurią programą, į atmintį atkeliamas virusas, kuris ten lieka ir veikia kaip rezidentinis vykdomųjų failų virusas.

Toliau apibūdinsime kai kuriuos žinomus virusus.

WORD CONCEPT – tai 1997m. labiausiai paplitęs pasaulyje virusas, kuris priklauso WORD MACRO 9508 šeimai. Jis veikia Microsoft Word redaktoriaus terpėje, kuri gali funkcionuoti DOS, Macintosh, OS/2 ar WINDOWS bazėje. Jo pasirodymo simptomai: keičia makrokomandas WORD dokumentuose ir šablonuose, standartines makrokomandas papildo kitomis: AAAXAO, AAAZFS, File Save As, Payload.

STONED – tai labai pavojingų kelties virusų šeima (joje daugiau kaip 10 išvestinių virusų), kuri 1997m. buvo šešta pasaulyje pagal paplitimą. Veikia OS DOS terpėje. Jų pasirodymo simptomai: užkrečia diskų pradinės kelties sektorius, suardo failų paskirstymo lentelės informaciją, kompiuterio pradinės kelties metu gali išvesti tokio tipo pranešimus: “Your computer is now stoned”, “Your PC is now stoned” ir pan.

MICHELANGELO – tai 1997m. dešimtas pasaulyje pagal paplitimą virusas, veikiantis DOS terpėje. Tai rezidentinis virusas. Pasirodymo simptomai: mažina sisteminės atminties dydį 2048 baitais, užkrečia diskelių ir sisteminio disko pradinės kelties sektorius. Jis dažniausiai pasireiškia kovo 6 dieną ir paprasčiausiai formatuoja diską, užrašydamas į jį atsitiktinius duomenis iš operatyviosios atminties.

Virusus klasifikuoti bei atpažinti padeda ir specialus trumpas jų aprašymas, kuris paprastai susideda iš trijų elementų: kodo, aprašo (deskriptoriaus) ir parašo (signatūros).

Kodą sudaro raidinis priešdėlis (prefiksas), skaitinė šaknis (charakteristika) ir nebūtina raidinė priesaga (sufiksas). Pvz., viruso RCE-1813c priešdėlis yra RCE, šaknis – 1813, priesaga – c. Be to, kodo gale, atskirtas nuo jo tašku, gali būti užrašomas plėtinys, rodantis šeimą (grupę), kuriai priklauso virusas. Nagrinėjamas virusas RCE-1813c.IER priklauso Jeruzalės šeimai. Šios grupės virusas pirmą kartą (1989m. gruodžio mėn.) aptiktas Izraelyje (Jeruzalėje). Tai failų virusas, kuris gali sukelti OS DOS “pakibimą” su pranešimu “Stack overflow” (steko persipildymas). Kairiajame ekrano kampe gali atsirasti juodas kvadratas (todėl šis virusas dar vadinamas Black Hole – Juoda skylė). Penktadieniais, kurie yra 13 mėnesio diena, šis virusas naikina infekuotoje sistemoje vykdomas programas (todėl jis dar vadinamas Black Friday – Juodasis penktadienis).

Priešdėlis nurodo, kur virusas yra. Raidės C, E rodo, kad virusas yra .COM ir .EXE tipo failuose. Raidės B,D,M nurodo kelties virusus. Raidė J rodo, kad virusas yra eilutė arba programa, parašyta OS užduočių valdymo kalba (Job Control Language). Jei virusas yra mišrus, tai priešdėlyje naudojamas atitinkamų raidžių junginys: pvz., BRCE arba MRCE.

Viruso šaknis yra skaičius. Failų virusams jis paprastai parodo užkrėsto failo padidėjimą.

Priesagos vartojamos, norint atskirti virusus, turinčius vienodus priešdėlius ir šaknis.

Viruso aprašas koduoja pagrindines jo charakteristikas. Kodavimą sudaro simbolių grupė. Kiekvienos grupės pradžioje rašoma didžioji raidė, o už jos mažosios – raidės ar skaičiai. Didžioji raidė rodo savybės tipą, kiti simboliai – jo reikšmę. Pvz., aprašas “Xab Yc Zdmt” nurodo, kad savybė X nagrinėjamam virusui turi reikšmę ab, savybė Y – reikšmę c, savybė Z – reikšmę dmt.

Viruso parašas – tai simbolių eilutė, padedanti identifikuoti konkretų virusą.

Išoriškai infekuotos sistemos veikimas užkrėtimo pradžioje gali atrodyti kaip ir neužkrėstos. Tačiau vėliau gali atsirasti įvairūs sistemos darbo sutrikimai. Tai gali būti:

• sistemos greičio pastebimas mažėjimas; • nenumatytų programose simbolių, pranešimų, paveiksliukų, muzikos ar kitų pašalinių efektų atsiradimas; • failų turinio ar dydžio pasikeitimas; • pertraukimų vektorių pasikeitimas (jis gali būti toks, kad, pavyzdžiui, viruso programos atliktų vieną iš tokių veiksmų: grąžintų fiktyvų atminties dydį, iškvietus pertraukimą Memory Size, arba trintų visą atmintį, atliekant šį pertraukimą). • nepaaiškinamas atminties naudojimas arba pasiekiamos atminties dydžio sumažėjimas (pvz., jei sistemoje nustatyta 32MB operatyvioji atmintis, o patikrinus, tarkim, su DOS komanda CHDSK, rodoma mažesnė, tada reikia susirūpinti). • Virusų padaroma žala gali būti įvairi – labai didelė ir neištaisoma arba nežymi. Galima būtų išskirti tokius jos atvejus:

• programų užkrėtimas – kai kurios užkrėstos programos nustoja veikti arba veikia blogai; • garso ir videoefektai – pvz., krintantys simboliai, įvairūs ekrano režimų trukdymai muzika ir kt., trukdantys kompiuterio darbą; • sistemos darbo lėtėjimas, pvz. įvedimo-išvedimo metu; • tam tikrų operacijų, pvz., programų vykdymo arba OS kelties trukdymas kompiuteryje; • nepastebimas duomenų failų modifikavimas, pvz., skaičių sukeitimas failuose; • informacijos diskuose sunaikinimas, pvz. formatuojant diską ar trinant tam tikras disko sritis; • failų sistemos sugadinimas – failų išdėstymo lentelės, katalogų, disko sistemos kelties ir kieto disko paskirstymo lentelės modifikavimas; • fiziškas kai kurių kompiuterio įrenginių sugadinimas, pvz., kai kurie virusai nuolat rašo į tą patį disko takelį, ir todėl nusitrina jo magnetinis sluoksnis, kiti virusai gadina diskus, atlikdami nekorektiškas skaitymo ir rašymo operacijas, ar gadina monitorius, suvesdami visus simbolius į vieną ekrano tašką.

5.5. Antivirusinė programinė įranga Kovai su virusais pasitelkiamos specialios programų sistemos, kurios dažniausiai vadinamos antivirusinėmis programomis. Pagal veikimo būdą ir atliekamas funkcijas į antivirusinės sistemos sudėtį įeinančios programos gali būti skirstomos į tokias pagrindines grupes.Programos – detektoriai (skeneriai). Jos suteikia galimybę rasti failus, kurie užkrėsti kokiu nors žinomu(ais) virusu(ais). Detektoriai tik aptinka virusą, bet nuo jo neišgydo. Virusas gali būti randamas pagal parašą, t.y., kaip minėjome, pagal jam būdingų baitų kombinaciją. Todėl šiose programose yra virusinių parašų bankas. Banko sudėtis apsprendžia aptinkamų virusų rūšis ir jų skaičių. Be to, kai kuriems virusams surasti gali būti pasitelkiama vadinamoji euristinė analizė. Tai rinkinio taisyklių, apibrėžiančių virusus, panaudojimas jiems lokalizuoti. Detektoriai gali tikrinti nurodytus diskus ar failus. Daugelis jų turi užkrėstų failų naikinimo priemones. Dirbant su programomis detektoriais, reikia jas reguliariai (bent kas 1-3 mėnesius) atnaujinti, t.y., dirbti su konkrečios programos paskutine versija, galinčia aptikti ir naujai pasirodžiusius virusus.

Taip veikiančios antivirusinės programos pavyzdžiu galėtų būti sistema Doctor Web, naudojanti virusams rasti ir jų parašą, ir euristinę analizę. Jos virusinių parašų banke yra keli tūkstančiai parašų, o euristinėje analizėje galimi trys lygiai: minimalus, optimalus ir patikimiausias. Dokumentacijoje rašoma, kad testuojant nežinomus virusus Doctor Web efektyvumas yra 72% (patikimumo lygis, t.y., procentas aptiktų iš visų pateiktų testavimui virusų) minimaliu lygiu, 80% – optimaliu bei 82-90% – patikimiausiu. Tačiau bendras sistemos efektyvumas, specialistų teigimu, neviršija 50%. Maždaug kas mėnesį pateikiama nauja šios sistemos versija. Doctor Web vartotojai dažniausiai moka jos metinės prenumeratos mokestį (apie kelis šimtus litų). Dar vienas programos detektoriaus pavyzdys – programa FindVirus, naudojama sistemoje “Dr. Solomon’s Anti-Virus Toolkit”, sukurtoje bendrovėje “S&Software”; tai viena tobuliausių antivirusinių priemonių. Šia sistema galima aptikti per 10000 virusų; specialistai jai teikia apie 97% patikimumo lygį. Sistema turi parašų banko atnaujinimo priemones (pvz., iš diskelių, platinamų per prenumeratą, Internetą). Be to, pakete yra virusų enciklopedija, kurioje aprašyti įvairūs virusai ir jų poveikis kompiuteriui. Kasmetinis mokestis už sistemos atnaujinimą yra apie 1000 litų.Programos – daktarai (fagai). Tai antivirusinės programos, ne tik aptinkančios virusus, bet ir išgydančios nuo jų, t.y. atliekančios priešingus veiksmus nei atliko virusas, užkrėsdamas kompiuterį. Jos iš užkrėstos programos ar disko “iškanda” (išmeta) virusą, t.y., grąžina programą į tą būseną, kuri buvo prieš užsikrečiant. Failai, kurių nepasiseka grąžinti, paprastai daromi neveikliais (nedarbingais) arba išmetami. Programų – daktarų pagrindiniai trūkumai: gydant kai kuriuos virusus, gali būti sugadinta programa ar palikti viruso fragmentai, kai kurie virusai gali būti klaidingai atpažinti ir tada blogai išgydoma. Programos – daktarai dažniausiai neišskiriamos į atskirą grupę. Traktuojama, kad tai yra programa – detektorius, turinti galimybę gydyti. Pavyzdžiui programa F-Prot, kuri naudojama antivirusinėje sistemoje F-Prot Professsional, sukurtoje bendrovėje “Frisk Software International”, identifikuoja per 7000 virusų ir apie 85% atvejų nuo jų išgydo. Specialistai šiai sistemai suteikia apie 94% patikimumo lygį.
Programos – revizoriai. Jos naudojamos atliekant ankstyvąją viruso diagnostiką ir turi du darbo etapus. Pirmiausia revizoriai atsimena duomenis apie programų ir diskų sisteminių sričių (kelties sektoriaus ir sektoriaus su disko paskirstymo lentele) būklę (pvz., jų dydžius). Traktuojama, kad tuo momentu programos ir sisteminės diskų sritys neužkrėstos. Po to revizoriai gali kiekvienu momentu palyginti esamą jų būklę su pradine. Jei randamas neatitikimas (“prikibęs” prie programos virusas padidina ją standartiniu, jam būdingu dydžiu), apie tai pranešama vartotojui. Tai suteikia galimybę nustatyti užsikrėtimą virusu iki tol, kol jis dar nepadarė didelių nuostolių. Be to, programa – revizorius gali rasti viruso paveiktus failus. Norint patikrinti, ar nepasikeitė failas, skaičiuojamas arba jo ilgis, arba kontrolinė suma – tai tam tikra speciali viso failo turinio funkcija (pvz., bendras vienetų skaičius failo duomenyse). Jei pasikeitė ilgis ar kontrolinė suma, tai aišku, kad pasikeitė ir failas. Pakeisti failą taip, kad nepakistų kontrolinė jo suma, praktiškai neįmanoma. Norint suskaičiuoti kontrolinę sumą, būtina perskaityti visą failą, o tai santykinai ilgas procesas. Kadangi tikrinti, ar kompiuteryje nėra virusų, reikia dažnai (geriausiai OS kiekvienos pradinės kelties metu), tai ilgas tikrinimo laikas nepageidautinas. Todėl paprastai kontrolinės sumos skaičiavimą ir pastovų jos tikrinimą tikslinga atlikti tik itin svarbiem, dažniausiai vykdomiems failams (programoms) (pvz., COMMAND.COM, IO.SYS, MSDOS.SYS ir pan.). O kitų failų gali būti tikrinamas tik dydis. Taigi programos – revizoriai gali “išgaudyti” ir žinomus, ir visai nežinomus virusus.Programų – revizorių pavyzdžiai – tai ASP Integrity Toolkit, esanti sistemos “Dr. Solomon’s Anti-Virus Toolkit” sudėtyje, Integrity Master ir VDS, dirbančios DOS terpėje.Programos – filtrai. Jos dar vadinamos rezidentinėmis antivirusinėmis programomis arba bendrojo monitoringo (įspėjimo) programomis. Šios programos talpinamos rezidentiškai kompiuterio operatyviojoje atmintyje ir perima tuos kreipinius į OS, kuriuos virusai naudoja dauginimuisi ir kenkimui. Apie tai jos praneša vartotojui, kuris gali leisti atlikti atitinkamą operaciją ar ją uždrausti. Tokie “įtartini” kreipiniai (veiksmai) yra šie: vykdomųjų failų keitimas, failo atributo “tik skaitymui” panaikinimas, disko formatavimas, tiesioginis įrašymas (įrašymas pagal absoliutinį adresą) į diską, programos padarymas rezidentine.Kai tik yra kreipinys (į OS) atlikti “įtartiną” veiksmą, į ekraną išvedamas pranešimas apie tai, kokį veiksmą reikia atlikti ir kokia programa nori jį atlikti. Jei šis veiksmas realiai nereikalingas vykdant tą programą, jį reikia uždrausti, nes tai, matyt, yra viruso reikalaujamas veiksmas. Programų – filtrų naudojimo pagrindiniai trūkumai: 1) jos pastoviai užima tam tikrą operatyviosios atminties dalį ir kartu mažina atminties dalį, į kurią gali kreiptis kitos programos; 2) vartotojas turi atsakinėti į klausimus: leisti ar uždrausti konkrečius veiksmus kompiuteryje; jei šie klausimai dažni, vartotojui jie gali nusibosti; 3) jų užtikrinamo apsaugos laipsnio nereikia pervertinti, nes daugelis virusų, norėdami plisti ir kenkti, tiesiogiai kreipiasi į OS programas, nenaudodami šių programų standartinio iškvietimo per pertraukimus būdo. O rezidentinės programos perima tik šiuos pertraukimus. Be to, jos nepadeda apsaugoti diską nuo užsikrėtimo virusais, kurie plinta per kelties sektorių – toks užsikrėtimas gali įvykti OS pradinės kelties metu, t.y., prieš bet kurių programų vykdymą ar tvarkyklių nustatymą. Pagrindinis programų filtrų privalumas tas, kad jos gali nustatyti ankstyvos stadijos virusą, t.y., kol jis dar nespėjo išplisti ir pakenkti. Tuo būdu, nuostolius dėl virusų galima sumažinti iki minimumo.
Tarp vartotojų paplitusi nuomonė, kad, norint patikimai apsisaugoti nuo virusų, reikia surinkti kuo daugiau virusus aptinkančių ir juos panaikinančių programų, t.y., programų detektorių ir daktarų, o kitų programų galima ir nenaudoti. Tikimasi iš tų daugelio programų parinkti reikiamus “vaistus”. Tačiau, norint minimizuoti virusų daromą žalą, reiktų vadovautis medikų išmintimi: ligos lengviau išvengti, negu ją išgydyti. Todėl, vertinant atskirų antivirusinių programų grupių indėlį į duomenų ir programų saugumą, pirmoje vietoje turėtų būti programos revizoriai, suteikiančios galimybę apibrėžti programų ir duomenų vientisumą. Vientisumo kontrolė tikslinga kiekvieną kartą pradėjus dirbti kompiuteriu, t.y., pravartu įjungti revizorių vykdymo komandas į AUTOEXEC.BAT failą. Be to, rekomenduotina naudoti hibridines programas – revizorius – daktarus, kurios ne tik nustato pasikeitimus failuose ir sisteminėse diskų srityse, bet ir, atsiradus pasikeitimams, gali automatiškai grąžinti juos į pradinį būvį. Toliau būtų programos – filtrai, suteikiančios galimybę nustatyti daugelį (nors ne visus) virusus jų pačioje ankstyvojoje stadijoje, kol jie dar nespėjo ko nors užkrėsti ar sugadinti. Toliau eitų programos – detektoriai. Dažnai jos be reikalo naudojamos visam diskui tikrinti, t.y., jų vykdymo komandos užrašomos į AUTOEXEC.BAT failą. Tokį tikrinimą geriau atliks programos – revizoriai. O programos – detektoriai reikalingi kitiems tikslams – tikrinti, ar nauja gauta programinė įranga neturi virusų. Paskutinėje vietoje būtų programos – daktarai, kurias tikslinga naudoti tik tada, kai nėra užkrėstos programos kopijos archyve ar ją sunku gauti kitu būdu. Be to, jei jau buvo naudotas daktaras, reikia būtinai patikrinti grąžintą failą su revizoriumi (aišku, jei informacija apie šį failą buvo iš anksto išsaugota), nes ne visada daktarai gydo teisingai. Nė viena iš aptartų antivirusinių programų grupių nesuteikia absoliučios apsaugos nuo visų virusų. Todėl reikėtų naudoti (įvertinant anksčiau pateiktas pastabas) visą jų rinkinį.
Esamos antivirusinių programų sistemos apskritai skiriasi tokiomis pagrindinėmis charakteristikomis: veikimo terpe, greičiu, reikalingais atminties resursais, patikimumu, vartotojo sąsaja, kaina.Antai anksčiau nagrinėta antivirusinė programa Dr.Solomon’s Anti-Virus Toolkit, kuri orientuota dirbti WINDOWS 95 terpėje (FOR WINDOWS 95), testavus (1997m.) ją PK (procesorius Pentium 90MHZ, diskas 800MB), turėjo tokį greitį: tikrinant kietą diską sugaišo 91 sekundę, o diskelį su 60-ia failų – 31 sekundę. Jos reikalaujami atminties resursai: 4MB operatyviosios atminties bei 10MB diskinės atminties. Kaip minėta, jos patikimumo lygis 97,2%. Kūrėjo rekomenduojama kaina buvo apie 500 litų, įskaitant virusų banko atnaujinimą kas ketvirtį pirmaisiais metais. Kaip minėta, kasmetinis mokestis už sistemos atnaujinimą siekė 1000 litų. Ši antivirusinė programa naudoja ne tik viruso parašo paieškos metodą, bet ir sistemos padėties monitoringą, leidžiantį efektyviai ieškoti virusų visoje sistemoje, o ne tik atskirame faile. Ji garantuoja, kad aptiks visus virusus, esančius kompiuterių saugumo nacionalinės asociacijos (National Computer Security Association (NCSA)) kolekcijoje.5.6. Kovos su virusais priemonės Nuo kompiuterinių virusų apsaugoti naudojamos:1. bendrosios informacijos apsaugos priemonės; 2. specializuotos kovos su virusais priemonės; 3. profilaktinės priemonės. Yra du pagrindiniai bendrosios duomenų apsaugos būdai – duomenų rezervinis kopijavimas ir kreipties į juos apribojimas. Būtina turėti duomenų ir naudojamų programinių paketų archyvines ar etalonines kopijas, kurias derėtų saugoti informacijos išoriniuose nešikliuose: diskeliuose, magnetooptiniuose diskuose, magnetinėse juostose ir kt. Reguliariai darytinos archyvines kopijos tų failų, kurie iš naujo kuriami ar keičiami. Prieš archyvaciją reikia patikrinti, ar šie failai neužkrėsti virusais. Be to, reikia nukopijuoti į diskelį ir disko sisteminę informaciją. Kopijavimo sąnaudos bus kur kas mažesnės už duomenų grąžinimo sąnaudas, jei juos suardė virusas. Kreipties apribojimas ir paskirstymas padeda išvengti nesankcionuoto informacijos naudojimo ir kartu apsaugo duomenis nuo užsikrėtimo virusu, kurį gali sukelti neteisingai veikiančios programos ar klaidingi vartotojų veiksmai.
Specializuotos kovos su virusais priemonės – tai techninė ir programinė antivirusinė įranga.Techninė antivirusinė įranga – tai specialios kovos su kelties virusais mikroschemos. Jos perima valdymą sistemos pradinės kelties metu anksčiau už sisteminės kieto disko informacijos ir OS keltį. Be to, antivirusinės mikroschemos tikrina kiekvieno diskelio kelties sektorių prisijungimo metu, ir tai trunka tik kelias milisekundes. Antivirusinė programinė įranga – tai populiariausia kovos su virusais priemonė. Reikėtų naudoti rinkinį, turintį visus galimus anksčiau išnagrinėtų antivirusinių programų grupių atstovus, įvertinant kiekvieno jų privalumus bei trūkumus ir paskirtį. Antivirusinių programų sistemos pasirenkamos, atsižvelgiant į vartotojo darbo aplinką: kompiuterio ir OS tipą, integravimąsi į lokalų ar globalų tinklą.Profilaktinės priemonės, nors dažnai išoriškai atrodo ir trivialios, realiai žymiai sumažina užsikrėtimo virusu tikimybę ir kartu dėl to patiriamus nuostolius. Rekomenduojami tokie pagrindiniai veiksmai.• Reikėtų apsaugoti nuo įrašymo diskelius, kuriuose esanti informacija naudojama tik skaityti. Taip pat kietame diske reikėtų sukurti loginį, apsaugotą nuo įrašymo, diską. Jame įrašomos programos bei duomenys, kurie naudojami, bet nekeičiami. • Siekiant išvengti užsikrėtimo per diskelių kelties sektorių, prieš atliekant kompiuterio pakartotinę keltį iš kieto disko, reikia patikrinti, ar kaupiklyje neįdėtas diskelis. • Atliekant kompiuterio keltį iš diskelio, reikia naudotis tik nuo įrašymo apsaugotu etaloniniu diskeliu. • Nereikia perrašinėti programinės įrangos iš kitų kompiuterių, nes ji gali būti užkrėsta. • Visa nauja gauta (ypač iš BBS ar Interneto demonstracinė ar sąlyginai nemokama (shareware)), net ir licencinė, programinė įranga prieš instaliavimą turi būti patikrinta turimomis antivirusinėmis priemonėmis. Žinoma daug atvejų, kai programinės įrangos kūrėjai išplatino užkrėstus diskelius ar kompaktinius diskus. • Pageidautina, kad vienu kompiuteriu naudotųsi kuo mažiau asmenų, kad jie nedirbtų be priežiūros.
• Nevykdyti nepatikimų ar gautų iš nepatikimų šaltinių vykdomųjų failų. Pradedama vykdyti nauja programa turi būti patikrinta. • Reguliariai būtina įvesti naujas ir atnaujinti turimas antivirusines programas. • Visada reikia turėti sisteminį diskelį su svarbiausiomis OS komandomis. Tačiau ir naudojant visas apsaugos priemones, virusas gali “prasiskverbti” į sistemą. Jei pastebimi kompiuterio užkrėtimo simptomai, rekomenduojama laikytis tokių taisyklių.1. Nepanikuoti, t.y. neskubėti priimti gerai neapgalvotus sprendimus. Dėl neapgalvotų veiksmų galima ne tik netekti dalies failų, kuriuos buvo galima išsaugoti, bet ir pakartotinai sistemą užkrėsti. 2. “Nukirsti” visus kompiuterio kontaktus su “išoriniu pasauliu”, t.y. jį izoliuoti. Reiktų atjungti elektroninio pašto sistemą, ryšį su Internetu ir pan. Būtina bematant išjungti kompiuterį, kad virusas netęstų savo griaunamųjų veiksmų. 3. Nustatyti infekavimo kilmę ir laipsnį. Pasistengti prisiminti visus atliktus veiksmus kompiuteryje ir atsiradusius užkrėtimo simptomus. Gal atsiminsite, kad, sakysim, pažįstamas buvo paskolinęs diskelį. Jei taip, būtina jį patikrinti. Reikia tiksliai žinoti, kas atsitiko sistemai: ar pažeistas kietas diskas, ar didėja daromi nuostoliai, t.y., ar toliau tęsiasi kenkėjiška viruso veikla, ir pan. Visus veiksmus, nustatant užkrėtimo rūšį ir gydant kompiuterį, galima atlikti tik atkėlus sistemą iš neinfekuotų, apsaugotų nuo įrašymo, diskelių (diskų). Reikia naudoti programas (vykdomuosius failus) tik apsaugotuose nuo įrašymo diskuose. Priešingu atveju sistemoje virusas gali būti aktyvizuotas, o veikiant virusui kompiuterio gydymas beprasmiškas, nes ir toliau diskai ir programos bus užkrečiami. 4. Jei neturite pakankamos kompiuterio gydymo patirties ar žinių, kreipkitės pagalbos į aukštesnės kvalifikacijos vartotojus. D.Rutkauskienė. Įvadas į kompiuterių pasaulį.