Antivirusi si virusi
DEFINITII SI CLASIFICARI:
In "codrul des" al programelor din calculatoare (cu tendinta evidenta de a deveni pe zi ce trece o "jungla") si-au facut aparitia, asa cum era de asteptat, si vietuitoarele salbatice. Mici si trecand deseori neobservate, tratate la inceput ca fiind mai curand niste curiozitati amuzante, aceste vietuitoare au inceput treptat sa fie privite cu tot mai mult interes deoarece s-a observat (surpriza!) ca nu sunt chiar atat de inofensive pe cat pareau la inceput. Au primit chiar si un nume, acela de "virus". Nemultumiti probabil de atentia, nu indeajuns de insemnata, cu care erau tratati, virusii s-au inmultit, s-au diversificat, s-au ramificat, intr-o adevarata explozie "demografica" ce a devenit greu de stapanit. Incercarile de a controla valurile (analize, studii, programe "anti-virus", sisteme de protectie, sisteme de "injectare", "antibiotice", etc...) n-au reusit sa blocheze aparitia de noi virusi, tot mai subtili, tot mai veninosi, tot mai greu de detectat sau de combatut, tot mai imuni. Numarul lor a devenit atat de mare, iar efectele actiunii lor atat de devastatoare, incat au aparut si numeroase incercari de a-i analiza, de a-i caracteriza, de a-i clasifica. Dar, inainte de a analiza si clasifica virusii, sa lamurim totusi un lucru: ce este de fapt un virus ? O prima definitie (Victoria Lammer) spune ca un virus este o portiune de cod care are capacitatea de a se replica (de a se inmulti), strecurandu-se printre programele de pe un calculator si provocand diverse efecte "secundare", de la unele complet inofensive pana la altele cu caracter catastrofal. Utilizarea cuvantului virus in domeniul informatic se datoreaza asemanarilor functionale dintre sus-numitele portiuni de cod si vietuitoarele microscopice de care se ocupa microbiologii si medicii. O a doua definitie, ceva mai academica, considera cuvantul virus ca fiind, de fapt, un acronim VIRUS, provenit de la sintagma "Vital Information Resources Under Siege" (Pamela Kane) care s-ar putea traduce prin "Asediul Resurselor Informatice Vitale". O a treia definitie, deja super - academica, apartinand unui pionier al luptei anti-virus Frederick B. Cohen, nu o mai dam, deoarece este o formula matematica ce se scrie pe 11 randuri si, cu tot respectul cuvenit doctorului Cohen, nu credem ca aduce prea multa lumina in domeniul atat de trist al "virusologiei informatice", ci dimpotriva.
Ne vom limita in cele ce urmeaza doar la prima definitie, care scoate in evidenta o caracteristica esentiala a virusilor, aceea de a se inmulti. In mod paradoxal, cea de a doua caracteristica, de a produce efecte secundare nu este chiar obligatorie. Exista virusi care, respectand principiul "traieste si lasa-i si pe altii sa traiasca", isi cer parca dreptul la viata si nu fac decat sa se inmulteasca.
Dar nu numai acestea doua sunt caracteristicile virusilor ci inca numeroase altele care, pe masura ce "creatorii de virusi" se perfectioneaza devin si mai numeroase.
O incercare de a pune ordine in caracteristicile virusilor a fost facuta de Vesselin Bontchev. Aceasta incercare se bucura de un succes deosebit si va fi prezentata pe larg in cele ce urmeaza.
Dar, inversunatii creatori de virusi nu au avut, si nu au pretentia de a fi originali. Ca urmare, ei au preluat deseori un virus existent si l-au modificat producand alti virusi. Au aparut astfel familii ramificate cu (uneori) zeci si chiar sute de membri...
CE FAC VIRUSII:
Prima atestare "documentara" (virusii
aparusera insa mai de mult) a unui virus dateaza din anul 1986 cand Basit si Amjad
au constatat ca sectorul boot al unei dischete continea cod executabil, si ca
acest cod este rulat de fiecare data cand pornesti calculatorul cu o discheta
in drive-ul A. Ei au observat ca pot inlocui acest cod cu un program propriu,
ca acesta poate fi un program rezident in memorie, si ca el poate instala o
copie a lui insusi pe orice discheta care este accesata in orice
"drive". Pe acest program, care se copia el insusi
- l-au numit virus. Inceputul era modest, el infecta doar dischete de
360 Ko. In 1987, cei de la Universitatea din
In 1986, un programator
numit Ralf Burger a constatat ca un fisier putea fi conceput astfel incat sa se
copieze pe el insusi, prin atasarea unei copii a lui la alte fisiere. El a
scris o demonstratie a acestui efect, pe care a
numit-o VIRDEM. A distribuit-o la conferinta Chaos Computer Club, in decembrie a acelui an, conferinta pe tema virusilor. VIRDEM ar fi
infectat orice fisier COM; din nou pagubele erau destul de nesemnificative, dar
acest fapt a atras atata interes, incat el a fost
rugat sa scrie o carte. Ralf nu s-a gandit la virusii de sectoare boot ca
Brain, si drept urmare cartea sa nici macar nu ii
mentioneaza. Dar, chiar atunci, in
In anul 1987, Franz Swoboda a sesizat faptul ca un virus era raspandit printr-un program numit Charlie. El l-a numit virusul Charlie si a facut multa publicitate in jurul
acestei descoperiri (si a fost atacat rau din aceasta cauza). In acest
punct exista doua versiuni ale acestei povesti - Burger pretinde ca el are o
copie a acestui virus de la Swoboda, dar Swoboda neaga
acest lucru. In orice caz, Burger a obtinut o copie,
si a dat-o lui Berdt Fix, care a dezasamblat-o (a fost prima oara cand cineva a
dezasamblat un virus). Burger a inclus aceasta dezasamblare in cartea sa, dupa ce a scos cateva zone din ea pentru a face virusul
mai putin periculos si pentru a diminua pagubele pe care le producea.
Rezultatul normal al unui virus
Intre timp, in SUA, Fred Cohen (despre care vom mai vorbi) si-a terminat doctoratul, care avea ca tema virusii de calculatoare (problema luase deja amploare). Dr Cohen a demonstrat ca nu poti scrie un program care poate, cu o certitudine de 100%, sa se uite la un fisier, si sa decida daca este un virus. Desigur, nimeni nu a crezut ca se poate, dar Cohen s-a folosit cu succes de o teorie matematica si si-a castigat doctoratul. El a facut, de asemenea, cateva experiente; a dat drumul unui virus intr-un sistem, si a descoperit ca el calatorea mai departe si mai repede decat s-ar fi asteptat oricine.
Tot in anul 1987, un
programator german a scris un virus foarte "destept", virusul
Cascade, numit asa dupa literele cazatoare pe care le afisa. Cascade a folosit
o idee noua - cea mai mare parte a virusului era incriptata, lasind doar o mica
parte necodata, curata, pentru a putea 323b18d decoda restul cu ea. Motivul acestui
mecanism nu a fost destul de clar, dar in mod cert ingreuna recuperarea
fisierelor infectate, si reducea optiunile de alegere a sirului de cautare doar
la primii cativa octeti. Aceasta idee a fost extinsa mai
tarziu de Mark Washburn atunci cand a scris primul virus polimorfic, 1260
(Chameleon). Washburn si-a bazat virusul Chameleon pe un
virus pe care l-a gasit intr-o carte - virusul
Dintre acesti virusi timpurii,
doar Stoned, Cascade si
Anul 1988 a fost destul de
linistit, pentru stadiul in care ajunsese procesul de scriere de virusi.
In general, a fost anul in care au aparut comerciantii de anti-virusi, si care
au produs o mare agitatie in jurul a ceea ce, la vreme
aceea, era doar o problema potentiala, si, care nu au vandut prea mult software
anti-virus. Comerciantii erau toti firme mici, care isi
vindeau software-ul la preturi foarte mici (cel mai adesea la 5$ sau 10$).
Unele dintre programe erau shareware, iar unele erau
freeware. Unele firme au incercat, ocazional, sa
se propulseze, dar nimeni nu platea bani seriosi pentru o potentiala problema.
Pe de o parte era mare pacat, pentru ca anul 1988 a fost un
an foarte propice pentru virusi. A dat o sansa de a se raspandi, fara a fi
descoperiti, virusilor Stoned, Cascade si Jerusalem si de a realiza un numar de
obiecte infectate care sa le asigure mai departe existenta.
Totusi, in anul 1988, IBM a realizat ca trebuie sa ia
in serios virusii. Si acest lucru nu s-a intamplat
datorita aparitiei viermelui Christmas tree care putea fi tratat foarte usor. A
fost din cauza ca cei de la IBM au avut o epidemie de virusi Cascade la
Lehulpe, si s-au gasit in situatia neplacuta de a-si anunta clientii ca s-ar
putea sa fi fost infectati. De fapt nu a fost o
problema prea grava, dar din acest moment, IBM a luat virusii in serios, si
drept rezultat, lui High Integrity Computing Laboratory din
1988 a avut cateva
aparitii sporadice de virusi Brain, Italian, Stoned, Cascade si
Fiecare aparitie a unui virus
se trata in functie de caz. Software-ul care exista, a fost utilizat
pentru a detecta virusii de sectoare boot (prin inspectarea sectorului boot) si
s-a mai scris si software de tratare a aparitiilor
virusilor Cascade si
Tot in 1988, a fost scris un
virus numit "Virus-B". Este un alt virus
care nu este rezident in memorie si care a fost creat prin modificarea altui
virus care sterge fisierele in ziua de vineri 13. Cand se ruleaza, virusul
afiseaza: "Avertisment!!!! Acest program este
infectat cu virusul Virus-B! Va infecta toate fisierele .COM din subdirectorul
curent!". Un virus care
este atat de evident ca acesta, in mod cert, nu a fost scris pentru a se
raspandi. A fost, desigur, creat ca virus demonstrativ, pe care il oferea o firma
Era clar ca nu se putea merge la fiecare din cei care au fost infectati cu virus. Totodata era clar, ca institutiile financiare si grupurile academice, ar fi putut cu usurinta sa faca fata unei epidemii, daca ar fi avut uneltele necesare. Tot ce le trebuia era un detector eficient de virusi, care nu era insa disponibil. Ca atare, a fost creat primul Anti Virus Toolkit.
In anul 1989, prima zi de vineri 13 a fost in
ianuarie, zi in care s-a inregistrat prima epidemie
serioasa. 1989 a fost anul in care lucrurile au inceput sa
se miste. Printre altele, Virusul Fu Mancho (o modificare a virusului
Cand virusul a fost dezasamblat, s-a constatat ca
in orice zi dupa octombrie, el va declansa o formatare low level al cilindrului
zero de pe hard disc, care va determina pe cele mai multe hard discuri
eliminarea tabelei de alocare a fisierelor, si va lasa utilizatorul fara nici o
data. Va afisa totodata numele virusului : Datacrime.
A fost publicata o analiza a efectelor virusului, dar
s-a constatat ca era vorba, de fapt, de un alt virus, nerezident in memorie, si
care era foarte putin probabil ca se va raspandi. Oricum, analiza a fost
publicata din nou de o revista, o alta revista a repetat istoria, o a treia a
modificat-o putin, si pana in luna iulie a devenit un fapt cunoscut ca virusul
se va declansa pe 12 octombrie (ceea ce nu e adevarat, caci se declanseaza in
orice zi "dupa" ziua de 12 si pana pe 31 decembrie) si ca va face un
format "low level" al intregului hard disc. In
Intre timp, in Olanda, politia olandeza facea unul din acele lucruri care face parte din acele lucruri pe care politia ar trebui sa le faca - prevenirea crimelor. Datacrime era in mod evident o crima, si un mod de a o evita era de a rula un detector. Astfel ei au angajat un programator care sa scrie un detector pentru Datacrime, si l-au oferit politiei pentru suma de 1$. S-a vandut destul de bine. Dar a starnit o serie de alarme false, si a trebuit sa fie refacut si inlocuit cu o noua versiune. Au fost cozi foarte lungi la poarta sectiei de politie, multa confuzie in jurul faptului ca cineva intr-adevar a avut acest virus (greu de crezut ca cineva l-a avut, dar alarmele false au starnit zvonurile).
Daca politia ia ceva in
serios atunci trebuie sa fie serios, nu? Astfel in luna
iulie, mari companii scotiene au inceput sa intrebe la IBM daca virusii sunt o
amenintare serioasa. Datacrime nu exista poate, dar exista posibilitatea ca o
firma sa se infecteze cu
IBM avea un software anti-virus doar pentru folosinta interna. Ei foloseau acest software pentru a verifica suporturile magnetice care intrau in firma, si ca sa se asigure ca un accident ca Lehulpe nu se va mai intampla. IBM avea o problema - daca nu ofereau acest software clientilor lor puteau sa-si strice reputatia daca pe 13 octombrie o serie de calculatoare ar fi cazut. Personalul tehnic stia ca acest lucru nu se va intampla, dar in mod evident, ei stiau si ca cineva, undeva, ar putea sa aiba date importante pe calculator care ar putea sa fie atacate de Datacrime. IBM a trebuit sa ia decizia daca sa scoata pe piata software-ul sau nu, si au avut o data limita destul de stricta - 13 octombrie ar fi fost deja prea tarziu.
In septembrie 1989, IBM a scos o versiune 1.0 a software-ului de scanare IBM, impreuna cu o scrisoare care explica clientilor sai despre ce este vorba, si de ce scoteau ei asa ceva pe piata. Cand primesti o scrisoare ca aceasta de la IBM, si o discheta, vei avea grija sa o tratezi cu toata atentia, si deci o multime de firme au scanat o multime de calculatoare, pentru prima data. Se pare ca nimeni nu ar fi gasit Datacrime, dar au existat versiuni ale unor virusi obisnuiti.
13 octombrie a cazut intr-o vineri, asa ca a fost
un eveniment dublu -
In Londra, Royal National Institute for the Blind au anuntat ca au avut un
atac, si ca au pierdut o multime de date valoroase de cercetare, reprezentind
luni intregi de munca. Acest eveniment a fost investigat, si adevarul este ca
au avut o mica eruptie de
La sfarsitul anului 1989, au fost cativa virusi,
dar nu se stia ca in
In 1990, nu se mai punea problema sa treci cateva
siruri de cautare prin fiecare fisier. Mark Washburn a luat virusul
O consecinta era faptul ca unii comercianti nu puteau face acest lucru. Nu era usor de scris un astfel algoritm, si multi comercianti se bazau, in acel timp, pe siruri de cautare extrase de altcineva. Principalele trei surse pentru aceste siruri de cautare erau: un "newsletter" numit Virus Bulletin, scannerul IBM, si "reverse engineering" un produs al unui concurent. Dar nu poti intotdeauna sa detectezi un virus polimorf in acest fel (intr-adevar, la doi ani dupa ce acesti virusi polimorfi au fost publicati, multe din produse sunt inca incapabile de a gasi acesti virusi). Washburn si-a publicat totodata, codul sursa, care acum este disponibil pe scara larga. In acea vreme, s-a crezut ca acest virus va determina o serie de alti virusi care sa-l imite; in practica, nimeni nu pare sa foloseasca codul lui Washburn. In schimb, o multime de autori par sa utilizeze aceasta idee.
O alta consecinta a aparitiei virusilor polimorfi, a fost o crestere a alarmelor false. Daca scrii cod care detecteaza ceva cu posibilitati la fel de mari ca ale lui V2P6, exista sansa ca sa marchezi un fisier inocent, si sansa este mult mai mare decat in cazul unei cautari de virus cu un sir de scanare de 24 de octeti. O alarma falsa poate fi pentru un utilizator un stres la fel de mare ca si un virus, intrucat va pune in actiune toate procedurile sale anti-virus.
In 1990, au aparut niste virusi provenind din
Totodata, Dark Avenger a fost si mult mai creativ in distribuirea virusilor sai. El i-a pus pe BBS-uri, infectind programe shareware antivirus, impreuna cu un fisier de documentare care reasigura pe oricine care verifica lungimea si sumele de control ale fisierelor ca ele nu s-au modificat. El si-a pus si codul sursa, pentru ca altii sa invete sa scrie virusi.
Tot in 1990, a avut loc un alt eveniment in
In cea de a doua jumatate a lui 1990, a aparut
Whale. Whale era un virus foarte mare si foarte complex. A facut foarte multe;
cel mai des reseta calculatorul in momentul in care cineva incerca sa-l ruleze.
Dar era un adevarat exercitiu de complexitate si de dificultate, si a ajuns in
miinile autorilor de virusi ca un puzzle care trebuia rezolvat. Unii
cercetatori de virusi au petrecut saptamani dezasamblindu-l pe Whale, desi in
practica el putea fi descoperit cu o serie de siruri de cautare, si nu ar mai
fi trebuit sa faci alte lucruri in plus, caci oricum era prea incalcit. Dar fiindca
era atat de mare si de complex, a castigat faima.
La sfarsitul anului 1990, cercetatorii antivirus au ajuns la concluzia ca
trebuie sa fie mult mai organizati - ei ar trebui sa fie cel putin atat de
organizati pe cat sunt autorii de virusi. Asadar, a luat nastere in Hamburg
EICAR (European Institute for Computer Antivirus Research), in decembrie 1990.
De aici a provenit un forum foarte folositor pentru cercetatorii antivirusi si
pentru comercianti, o ocazie pentru ei de a se intalni si de a schimba pareri
(si specimene de virusi), si de a indemna autoritatile sa incerce sa-i
urmareasca penal mult mai intens pe autorii de virusi. La vremea cand a fost
creat EICAR, existau aproximativ 150 de virusi, iar fabrica bulgara de virusi
"Virus factory" era in plin avant.
In 1991, problema virusilor era destul de interesanta pentru a atrage marile companii. Symantec a lansat Norton Anti Virus in decembrie 1990, iar Central Point a lansat CPAV in aprilie 1991. Acesta a fost repede urmat de XTree, Fifth Generation si altii. In decembrie 1990, erau aproximativ 200 - 300 de virusi; in decembrie 1991 erau 1000 (au fost scrisi poate chiar mai multi in acel an, pentru ca in februarie s- au numarat mai mult de 1300, dupa unele surse).
"Glut" inseamna o multime de virusi, si acestia creeaza o multime de probleme neplacute. In fiecare program exista diverse limitari. In particular, un scanner trebuie sa stocheze siruri de cautare in memorie, iar sub DOS, exista doar 640 kb de utilizat (si DOS-ul, shell- ul si interfata programului utilizatorului pot sa ocupe o jumatate din ei). O alta problema a "glut"-ului, este ca unele scannere merg mai incet in functie de numarul de virusi pe care ii scaneaza. O a treia problema "glut" apare odata cu analiza virusilor; aceasta e necesara daca vrei sa descoperi cum actioneaza virusul, sa repari programul. Daca un cercetator dezasambleaza un virus intr-o zi, atunci el va putea dezasambla doar 250 pe an. Daca ii ia doar o ora, numarul devine 2000 pe an, dar oricare ar fi cifra, mai multi virusi inseamna mai multa munca. "Glut" mai inseamna si o multime de virusi care sunt asemanatori. Aceasta poate duce la identificari gresite, si de aceea la o recuperare proasta. Foarte putine scannere fac o identificare completa a unui virus, astfel incat confuziile legate de virusul care a fost capturat, sunt foarte obisnuite.
Cei mai multi dintre acesti virusi au venit din estul Europei si din Rusia - productia de virusi din Rusia era in plin avant. Dar o alta sursa noua de virusi era schimbul de virusi prin BBS-uri.
1991 a fost, de asemenea, anul in care virusii
polimorfi au avut un impact major cu utilizatorii. Washburn a scris 1260 si
seria de V2 cu mult timp inainte, dar fiindca ei se bazau pe
Dar in aprilie 1991, a aparut in lume ca o cometa
Tequila. Era scris in Elvetia, si nu era destinat sa se raspandeasca. Dar el a
fost furat de la autor de catre un prieten, care l-a introdus pe hard discul
master al tatalui sau. Tatal era un comerciant de shareware, si foarte repede
Tequila s-a raspandit peste tot. Tequila utiliza "stealth" complet
atunci cand se instala pe el insusi pe sectorul de partitionare, iar in fisiere
utiliza "stealth" partial si era complet polimorf. Era un virus total
polimorf pentru care nu se poate scrie nici un sir de cautare, chiar daca
permiti utilizarea de "wild cards". Tequila a fost primul virus
polimorf care s-a raspandit pretutindeni. Prin mai, primele scannere au inceput
sa-l detecteze, iar pana in septembrie toate scannerele importante puteau sa
detecteze acest virus. Daca nu poti sa-l detectezi sigur, atunci pierzi, sa
spunem 1% din fisierele infectate. Virusul incepe o noua epidemie pornind de la
aceste instante trecute cu vederea, si trebuie oprit din nou, dar acum exista
acel procent de 1% plus inca un procent de 1% de fisiere care sunt infectate
dar nedectate. Acest lucru poate continua atata timp cat are rabdare
utilizatorul, pana cand eventual hard discul nu contine decat fisiere pe care
scannerul nu le poate detecta. Utilizatorul crede ca dupa ce virusul a revenit
din nou de cateva ori, el infecteaza gradat din ce in ce mai putine fisiere,
pana cand, la sfarsit, el crede ca a scapat de virus definitiv. In
In septembrie 1991, un alt virus polimorf , Maltese Amoeba s-a raspandit prin Europa. La sfarsitul anului erau doar cativa virusi polimorfi. Fiecare era clasificat ca "dificil", ceea ce inseamna, ca unui cercetator antivirus ii lua mai mult decat cateva ore ca sa faca ceea ce trebuia facut. Totodata, cele mai multe produse aveau nevoie de cod special pentru a detecta virusul, ceea ce inseamna crearea de programe, ceea ce implica bug-uri, depanare, teste beta si controlul calitatii. Mai mult chiar, virusii normali nu incetinesc cele mai multe scannere, in timp ce virusii polimorfi ar putea face acest lucru.
Era tot in 1991, cand Dark Avenger a anuntat primul virus "vapourware". El a amenintat cu un virus care avea 4.000.000.000 de forme diferite. In ianuarie 1992, a aparut acest virus, dar de fapt, nu era un virus.
In ianuarie 1992 a luat nastere Self Mutating Engine (MtE) provenind de la Dark Avenger. La inceput, tot ce s-a vazut era un virus numit Dedicated, dar la scurt timp dupa aceea, a aparut MtE-ul. Acesta a venit ca un fisier OBJ, impreuna cu codul sursa al unui virus simplu, si cu instructiuni referitoare la felul in care trebuie legat fisierul OBJ de un virus pentru a obtine un virus complet polimorf. Cercetatorii au inceput imediat sa lucreze la un detector pentru el. Cele mai multe companii anti-virus au facut acest lucru in doua etape. In unele conceptii, etapa unu era : "uita-te la el si tremura", faza a doua : "ignora-l si spera ca va dispare". Dar in locurile R&D mai bune, faza unu era un detector care determina intre 90 si 99% din instante, si era transportat foarte repede, si faza a doua era un detector care gasea 100% instantele. La inceput s-a crezut ca vor fi sute si sute de virusi care utilizeaza un MtE, pentru ca era destul de usor de utilizat si facea virusul greu de detectat. Dar autorii de virusi au constat ca daca un scanner detecta un virus pe baza de MtE, el detecta toti virusii MtE cu destula usurinta. Astfel incat, putini autori de virusi au profitat de avantajele unui motor de acest gen (au fost aproximativ o duzina sau doua de astfel de virusi).
Acesta a fost urmat de Commander Bomber a lui Dark Avenger. Inainte de CB, puteai sa prevezi cu usurinta unde va fi virusul in fisier. Multe produse profita de aceasta predictibilitate pentru a rula rapid; unele scaneaza doar inceputul si sfarsitul fisierului, iar unii scaneaza doar locul unde ar trebui sa se afle virusul daca ar exista. Bomber a modificat acest lucru, astfel incat produsele trebuie sa scaneze fie intregul fisier, fie trebuie sa fie construite mult mai complicat ca sa localizeze virusul.
Un alt virus care a aparut aproximativ in aceiasi perioada, a fost Starship. Starship este un virus complet polimorf (pentru a evita scannerele), cu cateva trucuri de anti-debugging, si evita totodata si verificatorii bazati pe sume de control, prin intermediul unui truc foarte simplu. Verificatorii pe baza de sume de control pot sa nu detecteze virusii datorita faptului ca acestia trebuie sa schimbe codul executabil pentru a se inmulti. Starship infecteaza doar fisierele care sunt copiate de pe hard disc pe dischete, astfel incat, fisierele de pe hard disc nu se schimba niciodata. Dar copia de pe discheta este infectata, si daca apoi o copiezi pe aceasta pe un alt hard disc, si ii mentionezi verificatorului prin sume de control despre acest fisier nou, verificatorul il va accepta, si nu va raporta niciodata vreo schimbare. Starship se mai autoinstaleaza pe hard disc, fara a schimba cod executabil. Va schimba datele de partitionare, facind o noua partitie boot. Nu este modificat codul, dar partitia noua contine codul virusului, si acesta este rulat inainte ca sa dea controlul partitiei originale boot.
Cel mai mare eveniment al anului 1992 a fost, probabil, marea teama de virusul Michelangelo. Unul dintre comerciantii americani de antivirusi a prezis ca cinci milioane de calculatoare se vor strica pe 6 martie, si multi alti comercianti au preluat aceasta idee. Utilizatorii de PC au intrat intr-o stare frenetica, datorita mass - media care a facut valuri in jurul acestui fapt. Pe 6 martie au cazut intre 5000 si 10000 de masini, si bineinteles comerciantii au subliniat faptul ca ei au prezis acest dezastru. Probabil ca niciodata nu se va sti cate calculatoare au avut Michelangelo, dar in mod sigur in zilele dinaintea zilei de 6 martie o multime de calculatoare au fost verificate de virusi. Dupa 6 martie, erau o multime de experti discreditati.
In august 1992, au aparut alte pachete serioase pentru creare de virusi: VCL (Virus Creation Laboratory) de la Nowhere Man, si Phalcon/Skism Mass-Produced Code Generator. Aceste pachete dadeau posibilitatea oricui care stia sa utilizeze un calculator, sa scrie un virus. In decurs de 12 luni, au fost creati cu ajutorul acestor pachete o multime de virusi.
Spre sfarsitul lui 1992, a aparut in
O alta intamplare a anului 1992, a fost aparitia
unor oameni care vindeau (sau incercau sa vanda) colectii de virusi. Ca sa fim
mai precisi, acestea erau colectii de fisiere, dintre care unele erau virusi,
si dintre care multe erau fisiere ne - periculoase. In
Spre sfarsitul lui 1992, guvernul SUA oferea
virusi oamenilor care apelau un anumit BBS.
La inceputul lui 1993, XTREE anunta ca se retrage din afacerea cu antivirusi.
Era prima oara ca o companie importanta renunta la lupta.
La inceputul lui 1993, a aparut un nou grup de scriitori de virusi, in Olanda, numit Trident. Principalul autor al Tridentului, Masou Khafir, a scris un motor polimorf numit Trident Polymorfic Engine, si a emis un virus care il utiliza, numit GIRAFE. Acesta a fost urmat de versiuni imbunatatite de TPE. TPE-ul este mult mai greu de detectat decat MtE, si este foarte greu sa eviti alarmele false.
Khafir a produs totodata primul virus care lucra in conformitate cu principiile descrise prima oara de Fred Cohen. Virusul Cruncher era un virus de compresie de date, care automat se adauga pe el insusi la un fisier, cu scopul de a se autoinstala pe cat mai multe calculatoare.
Intre timp, Nowhere Man, din grupul Nuke, a fost foarte ocupat. La inceputul lui 1993, el a scos Nuke Encryption Device (NED). Acesta era un alt motor care era mult mai inteligent decat MtE. A urmat curand dupa aceea un virus numit Itshard.
Nici Phalcon/Skism nu trebuie omis. Dark Angel a
scos DAME (Angel's Multiple Encryptor) intr-o editie a publicatiei electronice 40hex;
il foloseste un virus numit Trigger. Trident a scos versiunea 1.4 a lui TPE
(din nou aceasta versiune este mult mai complexa si mai dificila decat cele
anterioare) si a emis un virus numit
Curand dupa aceasta, Lucifer Messiah, de la Anarkik Systems a luat versiunea 1.4 a lui TPE si a scris un virus POETCODE, care utiliza o versiune schimbata a acestui motor (1.4b).
La inceputul lui 1993, a aparut un alt virus polimorfic, numit Tremor. El a devenit renumit atunci cand a fost inclus intr-un broadcast TV de software (receptionat prin intermediul unui decodor).
La mijlocul lui 1993, Trident a primit un ajutor
cand Dark Ray si John Tardy au intrat in grup. Tardy a emis un virus complet
polimorf de 444 de octeti.
Cel mai important eveniment din 1993, a fost problema numarului crestere de
motoare polimorfe, care fac mai usoara scrierea de virusi pe care scannerele ii
vor gasi foarte greu.
Incepind din 1994 evenimentele din aceasta lume mica s-au succedat intr-un ritm din ce in ce mai rapid. Pentru a scrie istoria acestor ani, chiar foarte sumara, ar trebui scrisa o carte, iar noi ne-am propus sa va oferim doar o scurta introducere in lumea virusilor.
CE FAC ANTIVIRUSII - Scanarea semnaturilor:
Un virus de calculatoare este un program, ceea ce inseamna ca este format din instructiuni si date. Probabil anumite parti din el sunt unice, ceea ce inseamna ca nu vor fi gasite in alte programe. Deci, atunci cand cineva va gasi o parte specifica a unui virus intr-un program, el poate trage concluzia ca acel calculator contine aproape sigur un virus.
Toate instructiunile si datele unui program sunt memorate sub forma de numere. In mod consecvent, partea unica utilizata pentru a descoperi un virus, este o secventa de numere. Aceasta secventa de identificare se numeste semnatura. Un scanner de semnaturi verifica toate fisierele unui disc de prezenta unei semnaturi corespunzatoare unui virus.
Limitarea acestei metode este evidenta: numarul de virusi care trebuiesc descoperiti creste practic exponential. In 1991 erau cam de douazeci de ori mai multi virusi decat in 1989. Numarul de infectii raportate sporeste anual. Evident, orice virus nou determina adaugarea unei noi semnaturi la lista de semnaturi cunoscute de virusi. De aceea, orice scanner de semnaturi va avea nevoie de mai mult timp dupa fiecare actualizare a listei de semnaturi. Utilizatorii vor fi inclinati sa nu mai foloseasca acelasi scanner daca sunt nevoiti sa astepte mai mult timp.
Alt dezavantaj este ca, pentru ca un virus sa poata fi gasit de catre un scanner, el trebuie mai intai sa fie descoperit. Doar atunci se poate afla o semnatura si poate fi inclusa in listele de semnaturi ale scanner-ului.
Intrebarea care se pune, este, daca exista sau nu, un numar semnificativ de virusi nedescoperiti. Parerea noastra este ca, atata timp cat scanarea de semnaturi este metoda de detectie cea mai des folosita, un virus foarte bine scris are toate sansele sa ramana nedescoperit pana la activare.
Chiar si dupa ce un virus a fost descoperit, iar semnatura lui a fost
inclusa (update) in baza unui produs de scanare, el va continua sa se
raspandeasca pana cand toti cei cu discurile infectate vor obtine noul produs.
Aceasta necesitate de actualizare, atarna ca o greutate asupra utilizatorilor:
pentru ca scannerul sa ramana valabil, nu trebuie omis nici un update. Si acest
lucru face ca sistemul sa nu mai fie atat de prietenos pentru utilizatori.
O alta limitare este impusa de virusii care se modifica ei insusi in asa fel
incat identificarea unei semnaturi devine foarte dificila sau chiar imposibila.
Acest lucru poate fi facut de exemplu prin criptarea unui virus si prin
adaugarea unei rutine diferite de decriptare, la fiecare reproducere a lui.
Astfel de virusi se numesc virusi polimorfici sau mutanti.
Pentru a identifica un virus polimorfic, el trebuie analizat, si trebuie scris un algoritm specific de detectie. Acest lucru complica si mai mult munca de concepere de software de scanare. La optsprezece luni de la descoperirea lui, cel mai sofisticat virus polimorfic de pana acum, putea fi deja detectat, inclusiv toate formele sale, de aproximativ jumatate din scannerele existente. Acest virus se considera ca este de cateva ori mai simplu decat schema utilizata de "Mutation Engine" (MTE).
Virusul contine o subrutina (un modul generator) pe care trebuie sa o apeleze de fiecare data, inainte de a se copia pe el insusi. Subrutina cripteaza virusul utilizind o cheie aleatoare si genereaza o rutina de decriptare formatata aleator, care este adaugata la inceputul virusului criptat. Lungimea modulului care rezulta este, de asemenea, variabila.
O metoda de a detecta virusii, ce se bazeaza pe generatoare, este de a masura frecventa instructiunilor si frecventa de contact cu alte rutine. Inainte de a scrie un algoritm care ar putea sa detecteze sigur orice infectie MTE, codul MTE trebuie sa fie analizat foarte atent.
Cercetatorii anti-virus sunt de acord ca motorul in sine nu este partea cea mai importanta, ci faptul ca el este disponibil pe scara larga, si ca este destul de usor de folosit. Mai mult, exista multe cai de a-l imbunatati. Virusul contine o subrutina (un modul generator) pe care trebuie sa o apeleze de fiecare data, inainte de a se copia pe el insusi. Subrutina cripteaza virusul utilizind o cheie aleatoare si genereaza o rutina de decriptare formatata aleator, care este adaugata la inceputul virusului criptat. Lungimea modulului care rezulta este, de asemenea, variabila.
CE FAC ANTIVIRUSII - Scanarea euristica:
In loc sa incerce sa detecteze orice virus pe baza unei semnaturi unice, un scanner ar putea sa caute operatiile care sunt caracteristice virusilor. Acest tip de scanare se numeste euristica.
Un scanner euristic contine un set de reguli care descriu operatii posibile ale virusilor. Exemple de astfel de reguli sunt:
"Programele sunt suspecte daca:
Scanarea euristica:
"Acest program se modifica el insusi intr-un mod foarte suspect. Este fie infectat, fie un program scris foarte prost care suprascrie codul cu date."
Scanarea de semnaturi:
"Infectia: noua sau o varianta a lui Cascade"
Daca un utilizator a folosit scanarea euristica, probabil, dupa ce a citit mesajul de mai sus, va anunta operatorul de sistem. Daca face asa, operatorul nu va fi capabil sa identifice virusul sau sa il elimine; pentru asta va avea nevoie de un scanner de semnaturi.
Scriitorii de scannere euristice tin o lista cu programele care determina falsi pozitivi, pentru ca sa poata sa-i recunoasca drept falsi negativi pe viitor. Este foarte important, ca pentru un astfel de program sa fie definit exact contextul in care poate sa aiba loc o operatie.
Daca de exemplu programul de DOS FORMAT ar putea sa formateze, atunci un virus ar putea sa il infecteze si ar putea sa contina cod legitim pentru a formata discul hard.
Dupa parerea noastra, regula euristica va deveni mult mai cuprinzatoare, iar
scannerele consecvent euristice vor avea o rata din ce in ce mai mare de
detectie. De fapt, in prezent, scannerele euristice au o rata de detectie de
80-95%. Oricum, acest fapt nu elimina problema falsilor pozitivi: in prezent,
rata acestora e de aproximativ 1-10%.
Principalul avantaj al metodei de scanare euristica este abilitatea ei de a
detecta virusii care nu pot fi gasiti de catre scannerele de semnaturi. Printre
acestia ar fi virusii care folosesc "mutation engine", virusi inca
nedescoperiti si virusi care se scriu acum. Astfel, daca metoda se
imbunatateste si rata de falsi pozitivi este redusa semnificativ, ea poate fi o
metoda ce se va utiliza in primul rand: dupa ce va raporta un program suspect,
va fi folosit un scanner de semnaturi pentru a vedea daca virusul poate fi
identificat. Daca scannerul de semnaturi nu va reusi sa identifice virusul, se
va avea cel putin in vedere examinarea ulterioara a programului suspect.
CE FAC ANTIVIRUSII - Verificare integritatii:
Utilitarele de verificare a integritatii calculeaza o valoare virtuala unica pentru fiecare fisier din sistem. Prima oara cand se face acest lucru, aceste valori de autentificare (sau, date de integritate, bazate pe sume de control), sunt memorate fie intr-un fisier separat, fie in fisiere diferite, cate unul in fiecare subdirector. Odata la catva timp, verificatorul este rulat din nou pentru a constata daca s-au facut sau nu, schimbari asupra fisierului.
Verificatorul recalculeaza valorile pentru fiecare fisier, si le compara cu
valorile memorate.
Astfel de valori pot fi calculate folosind metoda numita verificarea ciclica a
redundantei (CRC). Aceasta metoda asigura o verificare destul de sigura, cu
scopul de a constata daca un fisier a fost sau nu modificat: daca se utilizeaza
o metoda CRC pe 32 de biti, sansele ca o schimbare sa ramana neobservata sunt
de 1 la peste patru miliarde, in afara cazurilor cand valoarea CRC-ului pentru
un fisier este aceiasi inainte ca si dupa ce el s-a schimbat.
O alta cale de a construi o valoare de autentificare pentru un fisier este
utilizarea unei sume criptografice de verificare. O astfel de suma de
verificare este creata de un algoritm complex, care utilizeaza ca intrare un
numar secret si fisierul care trebuie verificat.
Exista virusi care incearca sa evite verificatoarele de integritate. Ei sunt
rezidenti in memorie si detecteaza momentul cand un verificator de integritate
(sau orice alt program) deschide un fisier executabil in modul citire. Inainte
ca sa se permita o astfel de citire, virusul dezinfecteaza mai intai fisierul.
Dupa ce s-a confirmat integritatea fisierului, fisierul este din nou infectat.
Acest tip de virus se numeste "un virus stealth" (ascuns).
O cale de a evita acest lucru, este de a incarca sistemul de de pe o discheta sistem originala, protejata la scriere. Daca presupunem ca fisierele de pe discheta nu sunt infectate, nici un fel de virusi stealth nu vor fi in memorie dupa bootare. Oricum, discul sistemului ar putea sa fie infectat, fie de la producator, fie din timpul cand, pentru un motiv oarecare, nu a fost protejat la scriere. Deci aceasta strategie nu asigura o securitate perfecta, dar este foarte aproape de ea.
Un virus ar putea sa infecteze un fisier in asa fel, incat de autentificare sa ramana aceeasi, sau ar putea sa o recalculeze. De exemplu daca un scriitor de virusi ar fi avut acces la polinomul care a fost folosit pentru a calcula CRC-ul, acest lucru ar fi relativ usor. Sunt vulnerabile in special valorile care sunt memorate in interiorul fisierului. O solutie ar fi generarea unui polinom aleator cand este instalat software-ul antivirus.
Referitor la puterea metodei de verificare a integritatii, Vesselin Bontchev scria in VIRUS-L: "Pe deasupra, nu este posibil ca un virus sa poata evita orice schema de detectie pe care o cunoaste. Un verificator de integritate bine implementat, ar trebui sa fie capabil sa reziste oricarui virus, chiar daca autorul (virusului, PM) are sursa completa a intregului program. De aceea, in primul rand, verificatorii de integritate sunt mai puternici decat antivirusii care monitorizeaza activitatea sistemului (rezidenti) si scannerele!" Ei pot fi evitati doar de un tip de atac, dar acesta e un atac impotriva verificatorilor de integritate in general, si autorul virusului nu trebuie sa stie cum este implementat in particular un verificator de integritate."
Utilizarea unui verificator de integritate de incredere, care il informeaza intotdeauna pe utilizator daca a avut loc o schimbare, nu garanteaza ca nici un virus nu va mai infecta niciodata sistemul. Exista virusi care infecteaza un executabil exact in momentul cand a fost schimbat. Desi verificatorul de integritate va raporta schimbarea, utilizatorul o va permite totusi.
CE FAC ANTIVIRUSII - Monitorizare:
Un program de monitorizare este invocat in timpul pornirii sistemului, si ramane rezident in memorie. El monitorizeaza intreruperile care sunt apelate de obicei de catre virusi, si cer utilizatorului sa confirme orice actiune care ar putea proveni de la un virus.
Dificultatea este cum sa determini care actiuni sunt determinate de virusi si care nu. La fel ca si scanarea euristica, acest lucru cauzeaza multi falsi pozitivi. Un monitor trebuie sa pastreze, de asemenea, o lista de falsi pozitivi si sa memoreze ce are voie sa faca un program si ce nu.
Utilizatorul este alertat daca un monitor detecteaza o actiune cauzata de un virus. Monitorul ofera apoi posibilitatea de a renunta la actiune sau nu. Datorita naturii tehnice a acestor actiuni, doar un utilizator care este un foarte bun cunoscator al sistemului poate sa ia o actiune responsabila, adica sa permita sau nu operatia in curs.
O serie de virusi existenti ataca anumite produse anti-virus, cu scopul de a le dezactiva sau de a le invada. Exista deja virusi inteligenti, care pot detecta prezenta unui program de monitorizare si se pot abtine de la orice actiuni de tip virus in timp ce monitorul este activ. In general, un virus poate manipula oricand un monitor. Pe sistemele DOS un virus poate, de asemenea, sa treaca de un monitor prin apelul direct al ROM BIOS: monitorul intercepteaza doar apeluri de intreruperi.
CE FAC ANTIVIRUSII - Protectia hardware:
Protectia hardware contra virusilor este, de obicei, livrata aditional, ca o placa ce este introdusa intr-un slot liber de extensie, in interiorul calculatorului. Un program anti-virus, memorat in ROM pe placa, este apelat la "startup", inainte ca sa i se permita sistemului sa booteze.
Principalul avantaj al utilizarii protectiei hardware este ca poti fii sigur de codul de pe placa, cod ce este executat inaintea unui sector boot sau program, eventual infectate. Protectia software apare intotdeauna dupa procesul de bootare, de exemplu: executia unui sector boot, incarcarea de fisiere sistem, drivere de dispozitiv, etc.
Avantaje aditionale ale protectiei hard sunt faptul ca programul lui va fi executat intotdeauna, la fiecare startup, codul este rezident in ROM si de aceea nu poate fi modificat, si facilitatea de a include protectie prin parole.
Oricum, programul de monitorizare de pe placa hardware are aceleasi probleme ca si monitorul software sau scannerul euristic: problema e cum sa determini ce actiuni pot proveni de la un virus, cu alte cuvinte, ce presupune un comportament tipic virusilor.
"Exista o multime de cai prin care se poate trece de astfel de placi. Ideea aici este ca, fara a fi prea evident, placa trebuie sa decida care este un acces "legitim" la disc si sa opreasca doar accesele care crede ca nu sunt "legitime". Din pacate, aceasta problema este neclara si virusul poate sa-si mascheze intotdeauna accesul, ca fiind legitim" (Bontchev)
Asa cum un virus poate sa treaca de un monitor software prin apelul direct al BIOS-ului, tot asa poate sa treaca, de o placa hardware printr-un apel direct al ei.
Programul de pe placa hardware ramane rezident in spatiul de adrese al PC-ului. Asta inseamna ca poate fi apelat din orice loc. Intr-un anumit stadiu al programului de verificare, se decide daca o cerere a discului este acceptata. Daca virusul ar apela programul exact in acel loc, accesul sau la disc va fi, in mod fals, acceptat.
"Nu se poate preveni actiunea unui virus de a apela direct placa. daca are propriul CPU si daca programul sau este complet inaccesibil din spatiul de adrese al PC-ului. Dar acest lucru il va face foarte costisitor."
"Versiunea curenta a unor astfel de placi nu este mai scumpa decat un program anti-virus scump, dar nu sunt mult mai sigure. Este posibila o versiune mai sigura dar ea va fi mult mai scumpa."
CE FAC ANTIVIRUSII - Protectia la scriere:
Fisierele pot fi marcate, pentru a indica faptul ca ele nu trebuie sa fie modificate sau sterse. Daca acest lucru este implementat in software, semnul poate fi sters din software. Programul care gestioneaza scrierea protejata este pus in fata problemei daca sa permita sau nu o cerere de stergere a unui semn. Apar aceleasi probleme ca si cele prezente la un program de monitorizare.
CE FAC ANTIVIRUSII - Programe momeala:
Un program anti-virus care utilizeaza programe momeala creeaza o multime de fisiere executabile in afara fisierului sistem, incearca sa le execute, si apoi compara executabilele cu cele create initial. Daca a aparut vreo schimbare, este probabil din cauza unui virus.
Problemele create de aceasta metoda includ faptul ca nu toti virusii se imprastie cand sunt create executabile sau cand sunt executate. Metoda poate oferi un suport pentru detectie si pentru un pachet care utilizeaza alte strategii. Este un fel de metoda euristica, aplicata intr-un mediu relativ sigur.
CE FAC ANTIVIRUSII - Vaccinarea:
Multi virusi marcheaza fisierele pe care le-au infectat, pentru ca ei infecteaza fisierele doar o singura data. Totodata, virusii rezidenti in memorie verifica daca nu sunt deja rezidenti in memorie: acestea sunt asa-numitele apeluri de "esti acolo?". Ideea din spatele vaccinarii este de a pune semne de "infectat", cat mai multe posibil pe toate fisierele, si de a implementa cat mai multe raspunsuri de "da" la toate apelurile "Esti acolo" posibile. Asta pentru a face virusii sa creada ca ei au infectat deja un sistem, lucru pe care de fapt nu l-au facut.
Aceasta metoda creeaza mai multe probleme. In primul rand, nu toti virusii isi verifica prezenta in modul acesta simplu. In al doilea rand, o multime de virusi au teste pentru conflict de prezenta. Si trei, acest tip de protectie este foarte usor de evitat. De exemplu, considerati un virus rezident in memorie care verifica prezenta sa prin apelul unei intreruperi DOS, folosind un numar nefolosit inca. Daca de exemplu se returneaza numarul 100 intr-un anumit registru, virusul presupune ca este deja rezident in memorie. Un program de vaccinare pentru virus ar face exact acelasi lucru. Un mod de a evita acest lucru ar fi intoarcerea unui alt numar (de exemplu 101) drept numarul ce indica prezenta, in versiunile viitoare ale virusului.
Un exemplu de un antivirus este:
AspVIRin PLUS - un antivirus inteligent
Virusii informatici nu dorm, ci din contră, mereu apar în variante noi. Sunt din ce în ce mai bine scrisi, iar unii sunt pregătiti chiar pentru mai multe sisteme de operare. Noii virusi polimorfi au îngreunat foarte mult detectia eficientă. De aici si necesitatea unor antivirusi noi, moderni cu mecanisme interne puternice, care nu se mai bazează exclusiv pe semnături ci fac o analiză inteligentă a fragmentelor de cod. În cele ce urmează vom vedea la lucru un astfel de antivirus românesc.
Multi utilizatori ai calculatorului au avut
probabil bătăi de cap datorate virusilor. Unii mai speriati, (altii si mai
speriati...) au sters repede toate fisierele suspecte, sau au lansat imediat
primul antivirus pe care l-au avut la îndemână. În cazul fericit au reusit să
scape de dihanie, însă nu rare au fost situatiile când a rezultat un sistem
perfect curat la care aplicatiile "dezinfectate" mureau subit la lansare.
Detectia corectă a virusului precum si tratarea corespunzătoare a fost mereu o
problemă majoră. Virusii stealth, care prin înlocuirea unor functii sistem cu
rutine proprii si-au putut masca prezenta în mod eficient, au îngreunat mult
situatia. Astfel, după activarea virusului, erau ascunse modificările produse
si utilizatorul nu observa o serie de lucruri precum cresterea mărimii
aplicatiilor sau descresterea memoriei sistem disponibilă.
Următorul pas a fost aparitia unor virusii mult mai perfectionati, care
foloseau tehnici complexe de polimorfism. Acestia sunt foarte greu de depistat
pentru că îsi schimbă mereu codul. În esentă ei dispun de o secventă numită
descriptor, care realizează codificarea-decodificarea restului virusului. La
unii virusi, mai simplii, acest descriptor este o secventă fixă de mici
dimensiuni, care criptează cu o cheie variabilă restul virusului. Acestia se
pot depista relativ usor, deoarece dispun de aceea secventă de cod fixă.
Virusii din primele generatii foloseau cu precădere operatii aritmetice pentru
a-si cripta o bună parte din cod si depistarea lor era mai usoară.
Tehnicile moderne pe care le folosesc "adevăratii" virusi polimorfi sunt foarte
variate. Ei exploatează toate micile "portite" ale sistemului de operare si a
setului de instructiuni, si apelează la o serie de artificii de programare.
Lungimea si codul lor este variabil, iar descriptorul a devenit de asemenea
variabil. Pot infecta noile tipuri de fisiere ale platformei Windows 95:
Un antivirus eficient în primul rând trebuie să analizeze secventele de cod
potrivite din programul ce urmează a fi verificat (punctul de intrare în
program sub diferitele sisteme de operare). Emulatorul de cod propriu trebuie
să execute pas cu pas codul masină si să facă distinctie între secventele "de
umplutură" si instructiunile reale ce urmează a se executa.
Un antidot potrivit
Noua versiune a antivirusului românesc
AspVIRin 8.0 PLUS aduce o serie de îmbunătătiri semnificative. Autorii au
implementat mai multe mecanisme puternice pentru a-l pregăti să facă fată atât
virusilor clasici, cât si noilor virusi polimorfi deosebit de puternici. Versiunea
8.0 are un motor de scanare regândit din temelii care poate face fată virusilor
conceputi cu renumitele pachete "polimorfice" din familiile MtE, TPE, Smeg,
VICE, DAME etc.
Functiile avansate de căutare euristică permit detectarea virusilor necunoscuti
în fisiere binare sau zone vulnerabile ale sistemului de operare (tabela de
partitii si sectorul de încărcare).
Autorii testează curent acest program pe o un număr de peste 13.000 de virusi,
iar sistemul de detectie implementat îi identifică corect. Lucru extraordinar,
prin analiza comportamentului diferitelor secvente de cod în peste 80% din
cazuri, motorul de căutare euristic semnalizează prezenta virusului chiar
înainte de începerea identificării după semnături.
Cum detectează "fiarele"?
AspVIRin verifică fisierele suspecte
printr-o o serie de metode avansate. El caută la început virusii necunoscuti,
variantele si mutantii unor virusi cunoscuti. În continuare se uită după un
număr impresionant de virusi a căror descriere o are în propria bază de date.
IntelliSCAN este numele noii tehnologii de detectie implementate. Prin
intermediul acesteia se încearcă identificarea virusului prin executarea unui
anumit număr de pasi din programul suspectat. "Intelligent Scanning" desemnează
comportamentul inteligent al diferitor componente de sine-stătătoare, care
împreună fac o analiză "la sânge" a codului suspect.
Procesorul logic, un fel de masină virtuală x86, emulează executia codului
masină de la XT la Pentium. În paralel un analizor euristic verifică eventualele
actiuni suspecte, fiind capabil să detecteze o multitudine de simptome
specifice virusilor. Un modul cu comportament Fuzzy centralizează rezultatele
analizei euristice si după o verificare atentă dă verdictul: fisierul este
curat, sau este prezent un virus de fisiere, este virus de boot, virus
rezident, virus care se autocriptează etc.
Întreaga functionare a programului este supervizată de modulul de scanare.
Acesta detectează orice operatie de citire/scriere în memorie si la aparitia
unei secvente caracteristice poate identifica unic un anumit tip de virus.
Diferitele componente functionale din sistemul IntelliSCAN au un comportament
inteligent si prin resursele proprii dobândesc o mare autonomie în functionare.
Ele dispun de memorie proprie pentru a avea acces la actiunile din trecut si la
simptomele deja găsite; au un comportament propriu derivat din natura codului
analizat si au un domeniu de actiune propriu în cadrul căruia pot colabora cu
celelalte componente din sistem. Comunică între ele printr-un protocol propriu
la aparitia anumitor evenimente (de exemplu când apar operatii de
scriere/citire în memorie).
Pe parcursul operatiei de scanare AspVIRin mai întâi verifică atent memoria de
lucru (în functie de setări, memoria sistem de 640KB sau prima portiune de
1MB). După identificarea si analiza rutinelor de tratare a întreruperilor
sistem critice (INT 21h, INT 13h etc.) trece la verificarea discului
specificat: verifică sectorul de încărcare (BOOT) iar în cazul discurilor hard
aruncă o privire peste tabela de partitii. După această fază, începe analiza
atentă a tuturor fisierelor executabile scrise pentru DOS, Windows 3.x si
Windows 95/NT4. Este pregătit si pentru câtiva noi virusi, specifici platformei
Windows 32 biti, putând analiza euristic apelurile sistem specifice.
Instalare
AspVIRin este foarte usor de instalat si
folosit. Atât la instalare cât si în timpul folosirii ulterioare oferă o
interfată DOS prietenoasă, cu suport mouse si cu posibilitatea de apelare a
unui serviciu de ajutor (help), senzitiv la context.
Este distribuit pe dischete, protejate la copiere neautorizată, cu un de
instalări egal cu numărul de licente comandate. Este pregătit pentru lucrul în
retea Novell, unde poate fi folosit cu succes la verificarea diferitor unităti
de disc logice. Instalarea se poate face central (pe server) sau local, pe
statiile de lucru. Fiecare pachet instalat poate fi personalizat individual de
către utilizator. Dacă din anumite motive se impune reinstalarea softului pe
acelasi sistem, atunci numărul de instalări rămase nu scade. Pentru siguranta
operatiilor, în momentul instalării programul mai întâi verifică memoria. Dacă
nu găseste nici un virus activ, atunci după un scurt autotest se instalează în
directorul specificat. Datorită tehnicilor speciale, memorarea unor semnături
si descrieri de actiuni se face foarte eficient într-o singură bază de date,
necesarul de spatiu pentru acest antivirus fiind surprinzător de mic: sub
150KB.
Utilizatorul primeste un manual de utilizare detaliat, dar poate folosi cu
succes si forma electronică a acestuia din directorul de instalare.
AspVIRin recunoste si tratează discurile de retea, volume logice si unităti
CD-ROM. Oferă posibilitatea de a salva informatii importante despre sistem
(continutul memoriei CMOS si sectoarele BOOT/MBR), precum si restaurarea
acestora în caz de deteriorare fizică sau virusare.
Prin redefinirea setului de caractere s-a obtinut o interfată utilizator
plăcută. Pe sistemele cu adaptoare grafice vechi (Hercules, CGA, MGA etc.) se
va lucra cu interfata simplificată si cu parametrii pe linia de comandă.
Virusii găsiti în timpul rulării sunt vizibili doar pentru scurt timp, însă
programul poate genera un raport cu lista completă a infectiunilor.
Bibliografie: www.avx.ro
www.aspVir.com
Made by:
Georgescul Valentin Stefan
|