Arvutiviirus: erinevus redaktsioonide vahel

Allikas: Vikipeedia
Eemaldatud sisu Lisatud sisu
Xqbot (arutelu | kaastöö)
KamikazeBot (arutelu | kaastöö)
218. rida: 218. rida:
[[fi:Tietokonevirus]]
[[fi:Tietokonevirus]]
[[sv:Datorvirus]]
[[sv:Datorvirus]]
[[tl:Bayrus ng mga kompyuter]]
[[tl:Bayrus ng mga komputadora]]
[[ta:கணினி நச்சுநிரல்]]
[[ta:கணினி நச்சுநிரல்]]
[[kab:Anfafad asenselkim]]
[[kab:Anfafad asenselkim]]

Redaktsioon: 24. jaanuar 2013, kell 17:54

Viiruse koodvaade assembleris.
Stoned (1987)
Stoned Code

Arvutiviirus ehk viirus on programm, mis on võimeline end iseseisvalt kopeerima ning arvutit nakatama. Mõistet „viirus“ kasutatakse ekslikult ka muud tüüpi, ka isepaljunemisvõimeta pahavaraprogrammide puhul: nt reklaam, nuhkvara, ussid ning trooja hobused. Ehtne viirus levib ühest arvutist teise nakatunud peremees-programmi ümbertõstmisel. Selline levimine toimub näiteks failide saatmisel üle võrgu ja interneti või nende transportimisel erinevate andmekandjatega, nt flopiketas, CD, DVD ja USB-mälupulk.

Viirused suudavad tõsta oma levimisefektiivsust, nakatades võrgus paiknevaid või teise arvuti poolt sagedasti kasutatavaid failisüsteeme[1].

Eelmainitult mõistetakse termini „viirus“ all ekslikult kõiki pahavaraprogrammide tüüpe: näiteks „ussid“ ning „trooja hobused“, mis on toimeloogikalt täiesti erinevad. Ussid kasutavad ära süsteemis leiduvaid turvaauke, et end võrgu kaudu, võrku lülitatud arvutist uutesse arvutitesse levitada ning trooja hobune on ohutuna näiv programm, kuid peidab endas pahatahtlikke funktsioone. Selline pahavara kahjustab andmefaile arvutisüsteemis ning vähendab selle jõudlust. Kui ühtede pahavaraprogrammide tegevusel tekivad kasutajale märgatavad sümptomid, siis teised tegutsevad süsteemis kahtlust äratamata.

Ajalugu

Viirusprogrammid

1970[2]-ndatel avastati esmakordselt ARPANET’is. (s.o. interneti eelkäijas) viirus nimega Creeper. Tegemist oli Bob Thomase eksperimentaalse isepaljuneva programmiga. Creeper kasutas ARPANET’i võrku, et nakatada TENEX-i operatsioonisüsteemiga DEC PDP-10 arvuteid. Olles saanud ligipääsu, kopeeris programm end teistesse süsteemidesse, kus kuvati sõnum „Mina olen Creeper, püüa mind kinni, kui suudad!“ (inglise I'm the creeper, catch me if you can!). Viiruse eemaldamiseks loodi programm nimega Reaper[3].

Elk Cloner oli esimene arvutiviirus, mis ilmus väljaspool selle loomiskeskkonda: arvutit või laborit. Kirjutatuna aastal 1981 Richard Skrenta poolt, kinnitas programm end operatsioonisüsteemile Apple DOS 3.3 ning levis diskettide abiga. See pahavara, mis loodi ilma tõsisemate eesmärkideta ajal, mil R. Skrenta õppis veel keskkoolis, levis andmekandjal oleva mänguga. Pärast 50 kasutuskorda aktiveeriti viirus ning kuvati lühike luuletus algusega: „Elk Cloner: Iseloomuga programm“.

Enne arvutivõrkude ulatuslikku kasutamist levisid enamus viirustest irdkandjatega, peamiselt diskettidel ehk flopiketastel. Viimased olid personaalarvutite algusaegadel peamisteks vahenditeks informatsiooni ja programmide vahetamisel. Osad viirused levisid nakatades andmekandjal olevaid programme ning teised paigaldasid end ketta alglaadesektorisse, et aktiveerimine toimuks arvuti vahendilt käivitamisel automaatselt. Kasutati ära tolle aja arvutite omadust käivitumisel diskette lugeda. Kuni selliste andmekandjate kasutusaja lõpuni olid alglaadesektorit kasutavad pahavaralised failid kõige tavapärasemad ning edukamad teiste masinate nakatamisel.

Traditsioonilised arvutiviirused tekkisid 1980. aastatel tänu personaalarvutite, BBS-i (hiljem FidoNet) ja modemite populaarsuse kasvule. Bulletin board-il (BBS) põhinenud tarkvara jagamine aitas otseselt kaasa trooja hobuste levikule ning viiruseid hakati kirjutama enam kasutatavate programmide jaoks.

Makroviirused muutusid tavalisteks 1990. aastate keskpaigast. Enamus sellistest viirustest on kirjutatud Microsofti programmidele nagu Word ja Excel ning levivad läbi Microsoft Office’i nakatades dokumente ja arvutustabeleid. Macintoshi arvutid olid samuti haavatavad, sest mainitud programmid olid saadaval ka Mac OS’ile.

Mõned Microsoft Word’i vanemad versioonid lubavad makrodel imiteerida end tühjade ridadega. Kui kaks makroviirust nakatavad dokumendi samaaegselt, võib nende kombinatsioon olla tuvastatav täiesti uue pahalasena.[4]

Viirused on ka võimelised saatma arvutikasutaja nimekirjas olevatele kontaktidele linke veebisaitidele, mille eesmärgiks on külastajate tehnika nakatamine.

Aastal 2002[5] teatati viirustest, mis kasutavad murdskirptimist (lüh. XSS). Selliste pahavaraliste failidega on seotud mitmeid juhtumeid MySpace’i ja Yahoo saitidel.

Nakatumisstrateegiad

Et viirus saaks paljuneda, peab olema võimaldatud programmijuppide jooksutamine ning arvuti mälusse kirjutamine. Selle tõttu kinnitavad paljud programmid end käivitatavate failide külge, mis võivad olla kasutaja poolt installeeritud tarkvara osaks. Strateegia abil aktiveeritakse viirusi tavaprogrammidega samaaegselt. Oma käitumismudeli poolest jagatakse viirused kaheks: mitteresidentsed ja residentsed. Mitteresidentsed viirused otsivad uusi nakatatavaid peremees-faile kohe peale käivitamist, sobivaid leides paljundavad end ning annavad seejärel kontrolli üle protsessi esile kutsunud põhiprogrammile. Residentsed viirused laevad end arvuti mälusse ning jäävad taustal aktiivseks. Uute failide nakatamine toimub nende kasutamisel programmide või operatsioonisüsteemi enda poolt.

Mitteresidentsed viirused

Koosnevad leidja- ja replikatsioonimoodulist. Esimene viib läbi uute failide otsimist. Sobivate leidmisel kasutatakse teist moodulit leitud failide nakatamiseks.

Residentsed viirused

Residentsed viirused sisaldavad mitteresidentsetega sarnast replikatsioonimoodulit, mis laetakse aktiveerumisel arvuti mälusse. Moodulit kasutatakse iga kord, mil operatsioonisüsteem täidab kindlat ülesannet. Näiteks võib toimuda pahavara paljunemine iga käivitatava faili jooksutamisel, mille tulemusena nakatatakse kõik leitud sobivad programmid.

Residentsed viirused jagunevad kaheks: kiiresti ning aeglaselt levivateks. Kiiresti paljunevad residentsed viirused on kavandatud nakatama võimalikult paljusid süsteemi poolt kasutatud faile ning nende efektiivsus sõltub suuresti levimiskiirusest. Kiiresti paljunev pahavara kujutab endast erilist probleemi antiviirusprogrammidele, sest süsteemi mälus märkamata jäänud aktiivne viirus võib nakatada üldskaneerimise käigus igat kontrollitud faili. Sellist meetodit kasutades suureneb pahavara avastamise tõenäosus, kuna võib langeda nakatunud arvuti töökiirus ning esineda muidki kahtlust äratavaid sümptomeid. Aeglased residentsed viirused paljunevad aga harva, näiteks ainult failide kopeerimisel. Selliste programmide eesmärgiks on jääda madalat profiili hoides tabamatuks: arvuti aeglustumise võimalus on väiksem ning halvimal juhul esineb tõrjeprogrammide poolt väheseid viiruse jälgede tuvastamisi.

Faililaiendid ja viirused

Viirused on suunatud erinevatele failidele ja meediumitele, näiteks:

  • Binaarsed käivitatavad failid (nagu COM ja EXE failid MS-DOS’is, kaasaskantavad käivitatavad failid Microsoft Windowsis, Mach-O formaat OSX’is ja ELF failid Linux’is).

Kõvaketaste peabuutsektorid. - Üldotstarbelised skript-failid nagu batch failid MS-DOS’is ning ka Microsoft Windowsis, VBScript failid ning kest-skript (shell script) failid Unix’i platvormides.

  • Programmipõhised skriptfailid (nagu Telix-skriptid).
  • Süsteemipõhised automaatse käivitamise failid (nagu Autorun.inf fail Windows’i opsüsteemis, mida vajatakse tarkvara automaatseks jooksutamiseks USB-andmekandjatelt).
  • Dokumendid, mis võivad sisaldada makrosid (nagu Microsoft Word’i dokumendid, Microsoft Excel’i arvutustabelid, AmiPro dokumendid ja Microsoft Access’i andmebaasi failid.
  • Cross-site skriptimise turvaaugud veebirakendustes (nagu XSS Uss).
  • Programmides esinevad ärakasutatavad vead nagu puhvri ületäitumine, formaat string ja võidu-olek (race condition), mille puhul on võimalik tarkvarasse peidetud pahavaralise koodi käivitamine. Sellise õelvara tööd on võimalik raskendada sisseehitatud kaitsefunktsioonidega nagu täitmist blokeeriv bit (execute disable bit) ja/või aadressiruumi suvaline paigutus (address space layout randomization).

PDF’ides, nagu HTML failideski, on võimalik viitamine kuritahtlikule koodile. PDF-failid võivad ka ise olla pahavaraga nakatunud.

Operatsioonisüsteemides, kus kasutatakse faililaiendeid failide sidumiseks programmidega (nagu Microsoft Windows), võivad laiendid olla vaikeseadmena kasutaja eest peidetud. Selle tõttu on võimalik failide loomine, mille näiv tüüp ei vasta tegelikkusele (näiteks käivitatav fail „pilt.png.exe“, millest kasutajale kuvatakse „pilt.png“).

Teiseks meetodiks on tsükkelkoodkontrolli CRC16/CRC32 kasutades genereerida erinevate operatsioonisüsteemi failide osadest viiruse koodi. Moodust kasutades on võimalik lahti pakkida üsna suuremahulist pahavara. Selline rünnak on väga kergesti leitav traditsioonilise viiruse signatuuri tuvastamismeetodi poolt ning tänaseni pole seda avalikkuses leitud.

Viiruste meetodid avastamise vältimiseks

Kasutaja poolt märkamata jäämiseks kasutasid osad viirustest, eriti MS-DOS platvormis, „viimati muudetud“ kuupäevaga manipuleerimist. Nimelt välditi nakatamisel selle faili kirje uuendamist. Meetod on viirusetõrjeprogrammide vastu ebaefektiivne.

Osad viirused (süvendviirused, inglise cavity viruses) on võimelised nakatama operatsioonisüsteemi osi muutmata suurusi ning kahjustamata nende sisu. Selleks kasutatakse failide poolt hõivamata jäänud alasid. Näiteks CIH viirus nakatab käivitatavaid faile, milles esinevate tühimike tõttu saab 1 KB suurune pahavara levida märkamatult.

Leidub ka õelvara, mis üritab tuvastamise vältimiseks katkestada tõrjeprogrammidega seotud protsesse.

Kuna arvutid ja operatsioonisüsteemid muutuvad üha suuremaks ja keerukamas, tuleb viiruste peitmistehnikaid pidevalt uuendada. Tulevikus võib arvuti pahavara eest kaitsmine nõuda failisüsteemidelt üksikasjalikuma ning rangema failide ligipääsupoliitika rakendamist.

Tahtmatud peremees-failid

Arvutiviirus peab edasi levimiseks nakatama uusi faile, mille seas võib leiduda ka viirusetõrje programme. Kuna paljud neist viivad iseenda peal läbi regulaarset kontrolli, suureneb vale faili nakatades viiruse tuvastamise tõenäosus. Sellel põhjusel on teatud pahalased programmeeritud ignoreerima kindlate tunnustega faile: näiteks väikseid, kindlat sisu omavaid. Viimaste seas võib leiduda ka nn. söötefaile, mis on spetsiaalselt anti-viiruse poolt nakatamiseks loodud.

  • Viirusetõrje spetsialistid saavad söötefaile kasutada viiruselt proovi võtmiseks. Selline väikse failiga opereerimine on palju praktilisem, kui töödelda kogu nakatunud programmi.
  • Söötefaile kasutatakse viiruse käitumismudeli õppimiseks ning tõrjeprogrammi efektiivsuse hindamiseks. See on eriti kasulik mitmekujuliste viiruste puhul, mil pahavara on suuteline nakatama suurt hulka söötefaile, sest viimaste abiga saab kontrollida kõikide viiruse variantide tuvastamist tõrje poolt.
  • Teatud viirusetõrjeprogrammid kontrollivad loodud söötefaile regulaarselt. Kui neid on muudetud, hoiatatakse kasutajat võimalikust pahavara olemasolust.

Et söötefailide kasutamist raskendada, on mõned viirustest programmeeritud ignoreerima kindla käitumismudeli järgi muidu nakatamiseks sobivaid faile. Näiteks võib levik toimuda kindlatel nädalapäevadel või lihtsalt pisteliselt.

Varjatud viirused

Mõned õelvaralised programmid jälgivad tõrjeprogrammide tegevust ning aktiveeruvad, kui operatsioonisüsteemile esitatakse nende poolt päring faili avamiseks. Niimoodi on võimalik antiviirustarkvarale tagastada nakatatud faili terve versioon ja programmile tundub, et fail on muutmata. Kaasaegsed tõrjeprogrammid kasutavad sellega võitlemiseks erinevaid tehnikaid. Ainuke täielikult usaldusväärne meetod on arvuti nakatamata meediumilt käivitamine ja selle skannimine.

Moondumine

Enamik antiviirusprogrammidest kasutab pahavara leidmiseks signatuuridel põhinevat skannimist. Selle käigus võrreldakse andmebaasis olevaid baidimustreid kontrollitava faili sisuga. Kui selline muster leitakse, teavitatakse kasutajat õelvarast ning vastavalt paigaldatud tarkvarale lastakse valida järgmine samm (nt. kustutada/parandada fail, puhastada süsteem). Et sellist tuvastamist vältida, kasutavad osad viirused igal nakatamisel erinevat koodi ning tulemuseks on uus signatuur.

Krüpteeritud viirused

Üheks viiruste kaitsemeetodiks on enese krüpteerimine. Selline pahavara koosneb väikesest dekrüptiast ja krüpteeritud viiruskoodist. Kui iga uue faili nakatamisel kasutatakse krüpteerimiseks erinevat võtit, püsib muutumatuna vaid dekrüptimismoodul. Nendel juhtudel ei suuda tõrjeprogrammid otseselt pahavara signatuuri skannimisega leida, kuid sellest hoolimata jääb dekrüptia osa tuvastatavaks. Kasutatavad võtmed on sümmeetrilised ning neid hoitakse nakatunud peremees-failis. Tänu sellele on võimalik krüpteeritud viiruseid lahti kodeerida. Tihti pole aga antiviirusprogrammidel selleks vajadust, kuna isemuutuv kood on piisavalt haruldane, et lugeda fail halvimal juhul kahtlaseks.

Mitmekujuline kood

Polümorfne kood oli esimene tehnika, mis kujutas endas tõsist ohtu viirusetõrjeprogrammidele. Selline pahavara nakatab uusi faile oma krüpteeritud koopiaga, mille lahtikodeerimine toimub dekrüptia abiga. Lisaks toimub igal uuel nakatamisel dekrüptimismooduli muutmine, mille tõttu puuduvad hästi kirjutatud polümorfsel viirusel peremees-failides korduvad osad. Tõrjeprogrammidel on keeruline sellist pahavara signatuuride võrdlemisega leida, sest arvatav viirus tuleb ennem lahti krüptida või analüüsida selle struktuuri. Polümorfse koodi kasutamiseks peab viirusel olema oma krüpteeritud kehas vastav mootor.

Osa pahavarast rakendab polümorfset koodi viisil, mis vähendab oluliselt viiruse muteerumissagedust. Näiteks võib muutumine toimuda pikemate ajaperioodide vahel. Samuti saab selliseid viiruseid programmeerida hoiduma mutateerumisest, kui toimub faili nakatamine, mis juba sisaldab sama viiruse krüpteeritud koopiaid. Selliste võimaluste kasutamine raskendab oluliselt antiviirusprogrammide tööd õelvarale kindlate tunnuste leidmisel, sest nende poolt loodud söötefailid sisaldavad endas tüüpiliselt identseid viiruse koopiaid. Nii suureneb tõenäosus, et skannimisel jäävad viiruse osakesed leidmata.

Haavatavus ja vastumeetmed

Operatsioonisüsteemide haavatavus viirustele

Tarkvarasüsteemide mitmekesisus vähendab viiruste hävitavat potentsiaali. Vastupidine olukord leidis aset 1990-ndatel aastatel, mil kasvas Microsoft’i operatsioonisüsteemi ja kontoriprogrammide (Microsoft Office) turuosa. Firma tarkvara populaarsuse tõttu on selle kliendid kõige rohkem viiruste poolt ohustatud. Palju kriitikat on olnud ka vigade ja turvaaukude suunas, mida pahavara kirjutajad saavad ära kasutada.

Kuigi Windows on kaugelt populaarseim viirusekirjutajate sihtmärk, leidub sarnast tarkvara teistelgi platvormidel. Iga operatsioonisüsteem, mis lubab kolmandate osapoolte programme, võib endas kanda aktiivseid viiruseid. Mõned opsüsteemid on turvalisemad kui teised. Unix’il baseeruvad keskkonnad lubavad kasutajatel käivitatavaid programme jooksutada vaid neile etteantud kaitstud mälupiirkonnas.

Internetipõhine uuring näitas, et leidub inimesi, kes vajutaks võimalusel tahtlikult viiruse allalaadimiseks vastavat nuppu. Turvalisusanalüütik Didier Stevens viis Google AdWords’i kaudu läbi reklaamikampaania loosungiga: „Kas sinu arvuti on viiruseta? Hangi nakkus siit!“. Klikkide koguarvuks saadi 6 kuu jooksul 409[6][7]. Inimeste arvuteid siiski ei nakatatud, sest tegemist oli eksperimendiga.

Aastast 2006 on leitud üsna vähe Mac OS X’ile suunatud pahavara. Apple’i vanematele operatsioonisüsteemidele valmistatud viiruste koguarv varieerub erinevate allikate väitel suuresti. Apple’i sõnul on selleks numbriks 4, sõltumatu allika väitel aga koguni 63. Windows’i ning Mac’i õelvarale haavatavus on ka nende müüginumbrite suurimaks mõjutajaks[8]. 2009. aasta jaanuaris avastas Symantec Apple’i opsüsteemidele suunatud troojalase.

Erinevalt Windows’ist on Linux’i opsüsteemis kasutajal blokeeritud süsteemifailide muutmine. See erinevus on jätkunud tänapäevalgi peamiselt tänu laialdasele administraatorkontode kasutamisele Microsofti kaasaegsetes operatsioonisüsteemides. Unix’i süsteemides on viirusel võimalik nakatada ainult neid faile, millele aktiivsel kasutajal on ligipääs. Kuna erinevalt Windows’ist ei logita sellistes opsüsteemides vaikimisi sisse administraatorina, ei saa viirus peale käivitamist failisüsteemi kahjustada.

Tarkvaraarenduse roll

Kuna tarkvarasse implementeeritakse omavolilise süsteemiressursside kasutamise vastu erinevaid turvaelemente, peavad viirused levimiseks ära kasutama programmides leiduvaid vigu. Vigased tarkvara arendusstrateegiad suurendavad tavaliselt ka nende ärakasutamise tõenäosust pahavara poolt.

Antiviirustarkvara ja teised kaitsemeetmed

Paljud kasutajad paigaldavad arvutisse antiviirustarkvara, mis on võimeline viiruseid tuvastama ja eemaldama. Enamlevinud lisaks signatuuride võrdlemisele on veel heuristilise algoritmi kasutamine, mis otsib pahavarale omaseid käitumismudeleid. Selline tehnika on võimeline leidma viiruseid, mille baidimustrid veel andmebaasides puuduvad.

Osad tõrjeprogrammid skannivad faile nende kasutamisel nö. „lennult“. Sellest hoolimata ei muutu vastuvõtlikkus pahavarale, mistõttu on turvaaukude parandamiseks tähtis programmide regulaarne uuendamine. Samuti vajab värskendamist antiviirustarkvara, et tõuseks selle skannimisefektiivsus.

Viiruste poolt tehtava kahju vähendamiseks võib kasutaja teha tähtsamatest failidest regulaarseid koopiaid meediumitele, mis pole süsteemiga pidevalt ühendatud või selle poolt korduvalt kasutatavad. Näiteks liigutades failid optilisele andmekandjale nagu CD või DVD, muutuvad need pahavarale immuunseks (juhul, kui viirust ei kopeeritud ühes).

Taastamismeetodid

Kui arvuti on juba viirusega nakatunud, pole tavaliselt turvaline jätkata selle kasutamist ilma operatsioonisüsteemi uuesti installeerimiseta. Siiski leidub mitmeid taastamisvõimalusi, mille valimisel tuleb lähtuda nakkuse tüübist ja ulatusest.

Viiruse eemaldamine

Opsüsteemides Windows Me, Windows XP, Windows Vista ja Windows 7 on võimalik kasutada süsteemitaastet (inglise System Restore), mis taastab registri ja kriitilised süsteemifailid valitud kuupäeval olnud seisundisse. Teatud pahalased keelavad aga selle abivahendi kasutamise või teiste tähtsamate programmide nagu tegumihalduri ja käsurea käivitamise. Olukord saavutatakse administraatori õigusi kuritarvitades.

Microsofti operatsioonisüsteemi kasutajatele on firma veebilehel ligipääs tasuta skannimisele. Külastajalt nõutakse 20 numbrikohaga registreerimiskoodi sisestamist. Leidub teisigi saite, kus on tavaliselt võimalik kasutada ainult piiratud puhastamisvõimalusi. Nii mõjutatakse inimesi oma tarkvara ostma. Internetis pakutakse ka ühe faili kontrollimist korraga mitme tõrjeprogrammi poolt.

Operatsioonisüsteemi uuesti paigaldamine

Teiseks võimalikuks lähenemiseks viiruste eemaldamisel on opsüsteemi uuesti paigaldamine. See tähendab arvuti kõvaketta vormindamist ning platvormi ja programmide installeerimist või partitsiooni taastamist puhtalt tagavaratõmmiselt. Niimoodi on garanteeritud pahavara täielik eemaldamine. Tuleb arvestada, et kogu operatsioonisüsteemi ning programmide uuesti paigaldamine vajab palju pingutust ja aega. Seevastu tagavaratõmmise kasutamine on kiire, täiesti turvaline ja taastab probleemideta kõik seaded koopia loomise hetkele.

Vaata ka

Viited

  1. "What is a Computer Virus?" Actlab.utexas.edu
  2. "Virus list"
  3. Computer Security Basics by Deborah Russell and G. T. Gangemi (lk 68) O'Reilly, 1991. ISBN 0937175714
  4. Vesselin Bontchev. "Macro Virus Identification Problems" FRISK Software International
  5. Berend-Jan Wever. "XSS bug in hotmail login page"
  6. "Need a computer virus?- download now" Infoniac.com.
  7. “Is your PC virus-free? Get it infected here!” « Didier Stevens" Blog.didierstevens.com
  8. "Apple - Get a Mac".

Välislingid

Vabavara antiviirused

Artiklid

Mall:Link FA