Inovatyvūs inžineriniai sprendimai
naikinant virusus
Kaunas, 2003
Turinys
Įvadas 3
1. Kas yra virusas? 5
1.1. Virusų evoliucija 6
1.2. Virusai ir į juos panašios programos 7
1.3. Kaip virusai veikia 8
1.4. Virusų tipai 9
1.5. Ką virusai gali? 10
1.6. Ko virusai negali? 11
1.7. Užkrėtimo virusu simptomai 12
1.8. Penkios taisyklės 13
2. CIH dienos pamokos 15
3. Antivirusinė programinė įranga 17
3.1. Antivirusinių programų testavimas 19
3.1.1. “AntiViral Toolkit Pro Platinum” 21
3.1.2. “InoculateIT” 22
3.1.3. “McAffee VirusScan” 23
3.1.4. “Norton Antivirus 2003” 24
3.1.5. “Panda Antivirus” 25
Išvados 27
Įvadas
Šiandien mes turime pripažinti žmogaus įėjimo į naują informacinės
visuomenės epochą, faktą. Dar visai neseniai tai buvo prilyginama mokslinei
fantastikai, tačiau dabar tapo pakankamai apčiuopiama realybe, kaip ir
vieninga informacinė erdvė, kurioje vyksta informacijos cirkuliacija, jos
kaupimas, apdorojimas, analizavimas. Visi čia paminėti procesai verčia
naudoti naujausias informacines technologijas, nes didėja informacijos
kiekiai ir vyksta daugelio informacinių resursų susijungimas. Dabartiniu
metu mes viena ar kita prasme esame priklausomi nuo kompiuterių. Jie valdo
civilinių ir karinių lėktuvų skrydžius, reguliuoja geležinkelio transporto
srautus, kontroliuoja elektros jėgainių technologinius procesus, jų pagalba
yra tvarkomi finansinės operacijos ir t.t.
Pasaulyje pastoviai didėja personalinių kompiuterių skaičius, kaip
beje ir globalinio Internet tinklo vartotojų, kas sąlygoja greitą
kompiuterinių technologijų ir komunikacijos priemonių tobulėjimą. Tačiau
kartu auga ir nusikaltimų, kuriuos įvykdant būna panaudojama skaičiavimo
technika, skaičius.
Šio darbo tikslas yra išnagrinėti virusų esmę, jų pasekmes bei
antivirusines programas.
Kad pasiekti šį tikslą buvo iškelti papildomi uždaviniai: išnagrinėti
virusų evoliuciją, tipus, jų galimybes bei užkrėtimo simptomus, apžvelgti
trumpai vieno iš pavojingiausio viruso veiklos pasekmes bei išnagrinėti
šiuo metu rinkoje pateiktus apsaugos nuo virusų produktus (antivirusines
programas), jų galimybes ir ypatumus.
Suvokti, kaip veikia virusai, yra pirmasis žingsnis gynyboje nuo jų.
Nusipirkę naują kompiuterį jo komplekte veikiausiai rasime ir antivirusinę
programą. Šis faktas labiau nei koks kitas įrodo, kaip plačiai paplito
virusai ir kaip kompiuterių bendrovės pripažįsta apsaugos nuo jų būtinybę.
Taigi virusai tapo kompiuterijos pasaulio dalimi.
Egzistuoja tūkstančiai įvairių virusų, skirstomų į daug kategorijų,
bet beveik visada jie apibrėžiami gan paprastai. Virusas yra tyčia sukurta
kompiuterinė programa, skirta įsiskverbti į kitą programą taip, kad
paleidus pastarąją būtų paleidžiamas ir virusas, kuris savo ruožtu plinta
užkrėsdamas ir kitas programas. Virusas prisijungia prie programos-nešėjos
failo, o kartais net pakeičia visą programą. Neretai kiti programų failai
užkrečiami jau pakitusia viruso forma. Užkrečiama programa gali būti ir
makrokomandų failas arba disko pakrovimo (boot) sektorius – pirmoji
programa, paleidžiama diske su pakraunama operacine sistema.
Pastebėkime žodžius “tyčia sukurta” viruso apibrėžime. Virusai
neatsiranda šiaip sau. Juos kuria ir tobulina nemažų sugebėjimų
programuotojai, vėliau randantys būdų užkrėsti virusais naivių vartotojų
AK. Kuo galingesnės tampa antivirusinės programos, tuo labiau virusų
autoriai stengiasi jas pergudrauti. Daugeliui virusų programuotojų tokio
kodo kūrimas yra tiesiog iššūkis; o kitiems – galimybė pasismaginti AK
vartotojų bėdų ir baimės sąskaita. Gaila, juk šie žmonės galėjo uždirbti
krūvą pinigų padėdami spręsti 2000 metų krizę.
Virusai pelnytai turi kenksmingų programų reputaciją, tačiau tikrovėje
daugelis jų nieko bloga nedaro. Tiesa, kai kurie jų gadina failus ar kaip
kitaip kenkia, bet didžioji dauguma tik erzina arba išvis yra vartotojui
nematomi. Tam, kad programa būtų laikoma virusu, ji teturi automatiškai
daugintis; visa kita yra neprivalu.
Žinoma, net “neskausmingi” virusai nėra visiškai nepavojingi. Jie
užima atmintį, vietą diske, naudoja procesoriaus resursus ir todėl turi
įtakos jūsų kompiuterio spartai ir našumui. Dar daugiau – antivirusinės
programos skirtos kovai su jais taip pat naudoja atminties ir procesoriaus
resursus; daug vartotojų tikina, kad jos lėtina kompiuterį daug labiau ir
yra gerokai įkyresnės už pačius virusus. Kitaip tariant, virusai turi
įtakos mūsų darbui su kompiuteriu net tuomet, kai nieko kenksmingo
nedaro.
1. Kas yra virusas?
Biologo 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., bakterijas, gyvūnus ir pan. Dalis virusų yra
sunkių infekcijų 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ą (1949 m.) programos – viruso, t.y. kompiuterinės
programos, galinčios daugintis, modelį pateikė Džonas fon Neimanas. 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ą, kuri ištrintų priešininko informaciją ir blokuotų jo įrašus
atmintyje. EGABTR – pirmas IBM PC virusas, atsiradęs 1985 m. 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 skirtingų virusų.
[1]
Terminą “kompiuterinis virusas” pirmą kartą pavartojo amerikietis
mokslininkas Fredas Koenas 1984 m. 7 – oje informacijos saugumo
konferencijoje (JAV). Jei kompiuterį palygintume su gyvu organizmu, o
atskiras kompiuterines programas su ląstelėmis, gautume visišką analogiją.
Kompiuterinis virusas pažeidžia informaciją, esančią programos kode. Jis
perima kompiuterinės sistemos valdymą, pakeisdamas nedidelį programos
fragmentą ir gali neribotai dauginti savo kodą. Visa tai sukelia
“kompiuterio ligą”. [6]
1.1. Virusų evoliucija
1987 m. pasirodė virusas „Brain“. Jis užkrečia 360K diskelių įkrovos
sektorius ir sugeba užmaskuoti, kad kompiuteris jo nepastebėtų. Tais
pačiais metais pasirodė virusas „Stoned“. Jis užkrečia kompiuterio MBR
(pagrindinį įkrovos sektorių), sistemos, neįmanoma įkrauti.
1988 m. programuotojas iš indonezijos parašė pirmąją antivirusinę
programą. Ji suranda ir pašalina „Brain“ virusą iš kompiuterio bei apsaugo
nuo būsimų šio viruso atakų.
Po internetą (tuo metu jis dar tik formavosi) pasklido „Internet Worm“
virusas, kuris sutrikdė maždaug 6000 kompiuterių darbą. 1989 m. atsirado
„Dark avenger“ virusas. Jis greitai užkrečia kompiuterį, bet kenkia lėtai,
todėl viruso ilgai nepavyksta aptikti. IBM kompanija išleido pirmąją
komercinę antivirusinę programą. Pradėtas intensyvus virusų tyrimas.
1990 m. pradėti kurti polimorfiniai ir daugialypiai virusai.
Polimorfiniai virusai keičiasi plisdami o daugialypiai užkrečia kelias
kompiuterio vietas iš karto. Viruso autoriai pradėjo keistis virusų
išeities tekstais naujienų grupėse.
1991 m. atsirado virusų konstravimo priemonės, kuriomis beveik
kiekvienas gali sukurti savo virusą. Metų pradžioje devyni procentai
bendrovių pranešė nukentėjusios nuo virusų, metų pabaigoje šis skaičius
išaugo iki 63 procentų.
1992 m. atsirado „Michelangelo“ virusas, kuris pirmasis atkreipė
žiniasklaidos dėmesį. Šis virusas kovo 6 dieną sugadino diskinio kaupiklio
turinį. Antivirusinių programų paklausa gerokai padidėjo, tačiau virusas
užkrečia palyginti nedaug kompiuterių.
1994 m. Anglijos policija sulaikė viruso „Pathogen“ autorių, ir jis
nuteisiamas aštuoniolikai mėnesių kalėti. Tai pirmas kartas, kai nubaustas
viruso autorius.
1995 m. parašytas pirmasis makrovirusas „Concept“. Jis parašytas
„WordBasic“ kalba ir gali veikti bet kuriame kompiuteryje, kuriame yra
„Word“ programa. Vėliau
makrovirusų, nes juos lengva parašyti
ir platinti.
1999 m. balandžio mėnesį išplinta „Chernobyl“ virusas, gadinantis
diskinio kaupiklio duomenis. Vien Kinija patyrė daugiau negu 291 mln. JAV
dolerių nuostolių. Nukentėjo Pietų Korėjos ir Turkijos kompiuterių
sistemos. „Melissa“ virusas užkrečia šimtus tūkstančių viso pasaulio
kompiuterių. Jis plinta išsiųsdamas savo kopijas penkiasdešimčiai adresatų
iš „Outlook“ pašto programos užrašų knygelės.
2000 m. „LoveLetter“ virusas, kilias iš Filipinų, per šešias valandas
nusiaubė Europą ir JAV. Jis užkrėtė nuo 2,5 iki 3 mln. kompiuterių ir
padarė 8,7 mlrd. dolerių nuostolių. Virusas „NewLove“, pasklidęs iš karto
po „LoveLetter“, buvo panašiausias į supervirusą. Jis netik greitai plito,
bet ir sugadindavo sistemines bylas, todėl kompiuteriu naudotis tapdavo
neįmanoma. Jeigu būtų veikęs tinkamai, virusas būtų padaręs labai daug
žalos. Tačiau jo autorius padarė klaidą: kompiuteris nustodavo veikęs
anksčiau, negu virusas spėdavo išsiųsti savo kopijas į kitus kompiuterius.
1.2. Virusai ir į juos panašios programos
Pateiktas virusų apibrėžimas iš tikrųjų yra gerokai siauresnis, nei
tai, ką mes paprastai laikome virusais. Kiti programų tipai tik iš dalies
atitinka apibrėžimą. Kaip ir virusai, tokios programos veikia be vartotojo
žinios ir kompiuteryje atlieka vienokius ar kitokius veiksmus, kuriems yra
sukurtos. Į tokį sąrašą galėtumėme įtraukti “kirminus” (worms), “Trojos
arklius” ir “metikus” (dropers). Visos jos kartu su virusais vadinamos
kenkėjiškomis (malware) programomis.
“Kirminas” gali daugintis per diskelius arba tinklais. Kartais
“kirminas” veikia naudodamasis tinklu kaip pagrindu. Tačiau kitų programų
jis niekada neužkrečia. Kai kurios “kirminų” rūšys naudojasi tinklu tik
tam, kad nukopijuotų save iš vieno kompiuterio į kitą, jie vadinami
“sistemos kirminais” (host worms), o kiti – “tinklo kirminai” – pasklinda
po visą tinklą ir juo naudojasi atskirų savo dalių funkcionavimui.
“Kirminai” gali daugintis ir neprijungtame prie tinklo kompiuteryje. Tuomet
jie kopijuoja save į skirtingas kietojo disko vietas.
“Trojos arklio” pavadinimas kilo iš graikų mito, kurį geriausia
paskaityti “Odisėjoje”. Pasak jo, graikai trojiečiams padovanojo medinį
arklį, kurio viduje slėpėsi kariai. Kai arklys buvo atgabentas į Troją,
graikų kariai iššoko lauk ir užgrobė miestą, taip užbaigdami ilgai trukusią
Trojos apsuptį. Panašiai veikia ir “Trojos arklys”, kuris paslepiamas iš
pažiūros visai nekaltoje programoje. Pastarąją paleidus ji pradeda tam
tikrus iš anksto numatytus veiksmus, – tuo gerokai nustebina nieko
neįtariantį vartotoją. Šio tipo programos pačios nesidaugina.
“Metikai” sukurti taip, kad antivirusinės programos nesugebėtų
atpažinti jų kodo, todėl jie lengvai prasiskverbia į AK. Pagrindinė jų
užduotis – atgabenti ir paleisti virusą. Stebėdami sistemą “metikai”
sulaukia tam tikro įvykio ir užkriečia kompiuterį savo virusu.
Panašiai veikia ir “bombos”. Įtaisytos kenkėjiškose programose jos
veikia kaip detonatoriai. Kitaip tariant, “sprogsta” atsiradus tam tikroms
sąlygoms. Kai kurios “bombos” reaguoja į sistemos laikrodį, kitos gali
Naujųjų metų proga ištrinti visus DOC tipo failus ar parodyti kokį nors
pranešimą per kokio nors garsaus žmogaus gimtadienį. Dar kitos sulaukia,
tarkime, dvidešimties tam tikros programos paleidimo kartų ir paskui
ištrina visus šios programos failų šablonus. Iš esmės “bomba” yra
piktavališkų veiksmų sekos aprašas ar planavimo programa.
Dažnai pačiuose virusuose panaudojamos viena ar kelios kenkėjiškos
programos. Virusai gali būti platinami per “metikus” (nors nebūtinai) ar
naudotis “kirminų” principu kopijuoti pačius save. Nebūdami “Trojos
arkliais” virusai gali atitikti “arkliams” keliamus reikalavimus: daryti
tai, ko nenori vartotojas, ir pasislėpę programose paversti jas “Trojos
arkliais” (t.y. veikti joms pasileidus ir atlikti nepageidaujamus
veiksmus).
1.3. Kaip virusai veikia
Virusų yra daug ir jie veikia skirtingais būdais, todėl apžvelgti
visus yra ganėtinai sunku. Aš aprašysiu tik pagrindinį procesą.
Iš pradžių virusai kokiais nors būdais atsiranda mūsų kompiuteryje.
Dažniausiai taip įvyksta su užkrėstų programų (COM, EXE failų ar pakrovimo
sektoriaus) pagalba. Praeityje virusai buvo platinami išskirtinai per
užkrėstus diskelius. Šiais laikais jie dažniausiai siunčiami tinklais (taip
pat ir “Internetu”) kaip bandomųjų programų failų, makrokomandų failų ar
prisegtų prie elektroninio pašto žinutės failų dalys.
Elektroninio pašto žinutė savaime negali būti virusu. Virusas yra
programa, jis privalo būti paleistas. Elektroniniu paštu virusas atkeliauja
prisegtas prie žinutės kaip failas, todėl
negali įvykti tol, kol mes
jo nepaleidžiame. Tai padaryti galime įvairiai, bet dažniausiai užkrėsti
failai paleidžiami du kurtus spragtelėjus juos pelyte. Vienintelis būdas
apsaugoti save nuo taip atkeliaujančių virusų – niekada neatidarinėti
prisegtų duomenų, kuriuose yra paleidimo failai (EXE ar COM) ar tokių
programų kaip “Office”, kurios leidžia rašyti makrokomandas, failai.
Grafiniai, garso ar kitokie duomenų failai yra saugūs.
Virusas mūsų kompiuteryje elgiasi visai taip, kaip ir “Trojos arklys”.
Jis slepiasi kitoje programoje ar faile ir paleidžiamas kartu su juo. Kad
taip įvyktų, virusas pakeičia užkrėsto failo kodą. Jis duoda nurodymą
programai aptikti virusą ir jį paleisti. Paprastai šis procesas vyksta
taip: programos vykdymas nutraukiamas, peršokama į užkrėstą dalį, įvykdomos
viruso komandos ir sugrįžus į pradžią tęsiamas programos vykdymas. Nuo tada
virusas ima veikti ir užkrečia kitus failus.
Virusai gali pradėti veikti iš karto – tokie virusai vadinami
tiesioginio veikimo virusais – arba pasinaudoję operacinės sistemos leidimu
pasikrauti į atmintį ir ten tūnoti. Daugelis virusų priskiriami antrajai
kategorijai. Tokie virusai vadinami “atminties virusais”. Pasilikdami