Documente online.
Username / Parola inexistente
  Zona de administrare documente. Fisierele tale  
Am uitat parola x Creaza cont nou
  Home Exploreaza
upload
Upload






























Antivirusi si virusi

Informatica


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 Delaware au constatat ca ei au acest virus cand au vazut eticheta " c Brain" pe o discheta. Tot ce facea el - se copia pe el insusi, si punea o eticheta de volum pe discheta.

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 Vienna a inceput sa se raspandeasca un virus...

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 Vienna este de a determina un fisier din opt sa rebooteze calculatorul (virusul mapeaza primii cinci octeti de cod); Burger (sau poate Fix) au inlocuit acest cod de rebootare cu cinci spatii. Efectul era ca fisierele mapate blocau calculatorul, in loc sa-l rebooteze. Nu se poate spune ca era o imbunatatire!

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 Vienna, publicat de Burger. Cascade trebuia sa se uite la Bios, si daca ar fi gasit un copyright IBM, stopa procesul de infectare. Aceasta parte a codului nu a functionat. Autorul a emis la putin timp dupa aceea o noua versiune a virusului, de 1704 octeti in loc de 1701, cu scopul de a corecta aceasta greseala. Dar versiunea corectata avea un bug : el tot nu era in stare sa detecteze bios-urile IBM.

Dintre acesti virusi timpurii, doar Stoned, Cascade si Jerusalem au rezistat pana in zilele noastre, iar acesti trei virusi sunt intr-adevar raspanditi.

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 Yorktown i-a revenit responsabilitatea cercetarilor in acest domeniu.

1988 a avut cateva aparitii sporadice de virusi Brain, Italian, Stoned, Cascade si Jerusalem. Intr-un interviu, Peter Norton, a sustinut ca ei erau o legenda urbana, ca si crocodilii din canalizarea New York-ului, iar un expert din Marea Britanie a pretins ca el are dovezi ca nu sunt altceva decat o creatie a imaginatiei.

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 Jerusalem.

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 americana "corporatiilor mari, universitatiilor si organizatiilor de cercetare" pe baza unui acces special. La sfarsitul anului 1988 s-au intamplat, aproape simultan ,mai multe lucruri. Primul lucru a fost o epidemie mare de Jerusalem, intr-o institutie financiara mare, fapt ce a insemnat ca o multime de oameni au fost implicati in procesul de eliminare a virusului pe scara larga, proces care a durat mai multe zile. Al doilea lucru a fost faptul ca, o firma britanica numita S&S a tinut primul seminar pe tema virusilor, seminar care explica ce este un virus si cum lucreaza el. Al treilea lucru a fost epidemia de "Vineri 13".

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 Jerusalem) a fost trimis anonim unui cercetator de virusi din UK, ca si virusul 405 (o modificare a virusului de suprascriere din cartea lui Burger). In 1989, bulgarii au inceput sa devina interesati de virusi, si a inceput sa se trezeasca si Rusia. In martie 1989, a avut loc un eveniment minor care a determinat o avalansa. A fost scris un virus nou in Olanda. Un scotian care se autointitula Fred Vogel (un nume scotian foarte obisnuit !?) a contactat cercetatori din UK, si le-a comunicat ca a gasit acest peste tot in hard discul sau. El a mentionat totodata, ca se numea Datacrime, si ca era ingrijorat ca se va declansa din nou in ziua 13 a lunii viitoare.

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 America oamenii au inceput sa il numeasca "Columbus Day virus" (12 octombrie) si s-a sugerat ca a fost scris de un terorist norvegian, suparat de faptul ca Eric cel Rosu nu a descoperit el America, ci Columb.

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 Jerusalem, Cascade sau Stoned (sau in acele zile cu Italian, inainte ca 8088 sa devina o raritate). Deci ce face IBM-ul impotriva acestei amenintari, au intrebat ei?

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 - Jerusalem si Datacrime. In SUA, Datacrime (Columbus Day) a fost exagerat si confundat cu unul care nu este atat de periculos ca acesta, si este destul de probabil ca nici un utilizator nu a avut acest virus. In Europa (mai ales in Olanda) s-ar putea sa fi fost cativa, dar nu multi.
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 Jerusalem, si cateva fisiere usor de inlocuit au fost sterse. Patru calculatoare au fost infectate. Dar epidemia RNIB a trecut in legenda ca un mare dezastru. De fapt, RNIB-ul a avut mai multe pagube din pricina televiziunii si a materialelor tiparite, decat din cauza virusului.



La sfarsitul anului 1989, au fost cativa virusi, dar nu se stia ca in Bulgaria si in Rusia se intamplau lucruri mari.

In 1990, nu se mai punea problema sa treci cateva siruri de cautare prin fiecare fisier. Mark Washburn a luat virusul Vienna, si a creat din el primul virus polimorf. Ideea virusilor sai (1260, V2P1, V2P2 si V2P6) era ca tot virusul era criptat, si ca exista un decriptor la inceputul virusului. Dar decriptorul putea sa aiba o gama larga de forme, si, in primii virusi cel mai lung sir de cautare posibil era doar de doi octeti (V2P6 a coborat acest prag pana la un octet). Pentru a detecta acest virus, era necesar sa scrii un algoritm care ar fi aplicat teste logice fisierului, si ar fi decis daca octetii la care se uita erau unii dintre posibilii decriptori.

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 Bulgaria, mai ales de la o persoana care se autointituleaza "Dark Avenger". Virusii Dark Avenger au introdus doua idei noi. Prima idee era cea de "infector rapid"; in cazul acestor virusi, daca virusul este in memorie atunci simpla deschidere a unui fisier pentru citire, atrage dupa sine infectia virala. Tot hard discul este infectat foarte repede. Cea de-a doua idee noua in acest virus, a fost cea a efectelor sale subtile. DarkAvenger.1800 suprascrie ocazional un sector de pe hard disc. Daca nu se observa acest lucru intr-o o anumita perioada de timp, se face un backup al fisierelor corupte, si cand este refacut backup-ul, datele sunt nefolosibile. Dark Avenger tinteste si backup-urile, nu numai datele. Alti virusi care au provenit din aceeasi sursa sunt de exemplu Number-of-the-Beast (un virus stealth intr-un fisier) si Nomenklatura (care produce pagube chiar mult mai mari decat Dark Avenger).

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 Bulgaria - a aparut primul BBS de schimburi de virusi. Ideea era ca, daca puneai un virus pe BBS, puteai sa preiei un virus, iar daca puneai un virus nou, atunci aveai acces complet. Acest lucru, desigur, a incurajat crearea de virusi noi, si circulatia mai larga a acestora. De asemenea, VX BBS a oferit cod sursa, lucru ce facea ca tehnicile folosite de scriitorii de virusi sa se raspandeasca rapid.

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.

Bulgaria si-a inceput pioneratul cu VX BBS, dar au urmat repede o serie de alte tari. "Italian Virus Research Laboratory" din Milano a fost locul in care un scriitor de virusi numit Cracker Jack si-a descarcat virusii (care erau virusi ce plagiau virusii bulgari). Germania avea Gonorrhea, Suedia avea Demoralised Youth, America avea Hellpit, Marea Britanie avea Dead On Arrival si Semaj. Unii dintre acesti virusi fie au capitulat sau au disparut, dar in mod sigur au contribuit la problema "glut". Cu un VX BBS, tot ce are de facut un autor de virusi, este sa descarce niste surse cod, sa faca cateva schimbari simple, sa incarce un nou virus, care ii da acces la toti virusii existenti pe BBS.

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 Vienna, nu erau destul de periculosi ca sa se raspandeasca.

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 Romania este raspandita varianta Tequila.2468

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 Anglia un grup nou de autori de virusi numit ARCV (Association of Really Cruel Viruses) - in cateva luni, sectia crime pe calculator a lui Scotland Yard i-a urmarit si i-a arestat. ARCV a inflorit pentru aproximativ trei luni, timp in care ei au scris vreo duzina de virusi si au atras cativa membri.

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 America, John Buchanan si-a oferit colectia de cateva mii de fisiere pentru 100$ pe copie, iar in Europa, The Virus Clinic a oferit diferite variante pornind de la 25$. The Virus Clinic a fost urmarita de sectia de crime pe calculator; John Buchanan inca isi mai vinde virusii.



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 Bosnia care il foloseste.

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:

  • incep cu o instructiune de jump (salt) aproape la sfarsitul fisierului
  • intercepteaza o cerere de executie pentru un anumit proces, si apoi deschide fisierul programului in modul citire / scriere" In prezent, aceasta metoda nu este destul de sigura pentru ca sa reprezinte o alternativa reala: principala problema este raportarea de falsi pozitivi si falsi negativi. Un fals pozitiv apare atunci cand scannerul raporteaza cod suspect, care de fapt, nu face parte dintr-un virus. Daca un scanner produce mai multi falsi pozitivi, un utilizator va tinde sa nu mai creada rezultatele sale. Un fals negativ apare atunci cand un scanner considera un fisier "curat", si de fapt, el a fost infectat de un virus. In prezent, metoda de scanare euristica nu este capabila de aceeasi rata de detectie ca cele mai bune scannere de semnaturi existente si chiar daca produce un pozitiv adevarat, mesajul pe care il da utilizatorului, nu este definitiv, ca cel pe care il produce un scanner de semnaturi. Urmatoarele mesaje se refera la acelasi program infectat:

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: NE- New-Exe, PE- Portable Executable, COFF- Common object file format etc. Mecanismul de polimorfism implementat răspunde de generarea aleatorie a unei chei si a unor secvente de cod de mare varietate. Fragmentele de cod generate folosesc alti registrii, modificând dinamic codul instructiunii următoare, însă indiferent de forma actuală ei trebuie să facă aceeasi treabă.
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





Document Info


Accesari: 6128
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2024 )