Pornind de la conceptul bine experimentat că este mai puţin costisitor să previi decât să tratezi, este necesar să se acorde o atenţie deosebită problemei viruşilor. Într-o formă simplistă, lupta împotriva viruşilor s-ar putea rezuma la o singură frază: trebuie îmbunătăţite programele şi scanat suportul pe care se afla informatia înaintea introducerii/copierii în harddisk.
Există astăzi mai multe organizaţii internaţionale care se ocupă cu problemele viruşilor pe calculator. Una dintre acestea se numeşte CARO - Computer Anti-virus Researcher Organisation, şi este o organizaţie constituită din cei mai reputaţi experţi din lume care se ocupă cu standardizarea si clasificarea viruşilor.
Încă din anul 1990 a fost înfiinţată o instituţie specializată în acest domeniu, numită EICAR - Institutul European pentru Cercetarea Programelor Anti-Virus. Această organizaţie s-a bucurat de un real succes, mai ales în întâlnirile cu vânzătorii de programe.
În decembrie 1990, firma Symantec a lansat produsul Norton Anti-Virus Software, astăzi foarte la modă. Tot în acelaşi an, dar în luna aprilie, firma Central Point Anti-Virus a lansat produsul CPAV.
Există mai multe publicaţii internaţionale pe această temă, iar Internet-ul abundă de materiale si informaţii. Cea mai importantă revistă internaţională dedicată raportării şi analizei viruşilor se numeşte Virus Bulletin. De la lansarea sa în iulie 1989, revista a monitorizat noile dezvoltări din domeniul programării viruşilor si a evaluat cele mai actualizate instrumente si tehnici pentru combaterea ameninţării reprezentate de viruşi.
În lupta împotriva viruşilor este necesar să se cunoască cele mai importante si eficiente mijloace, metode si tehnici care pot fi utilizate în acest scop. Pentru aceasta, este nevoie să ne familiarizăm cu câteva noţiuni si concepte specifice.
-Suma de control (Checksum) este o valoare numerică obţinută din octeţii individuali ai unui fişier. Împreună cu data creării, mărimea şi atributele DOS ale fişierului, suma de control este memorată în fişiere de tip listă de control. De obicei, are lungimea de 32 sau 64 biţi.
-Un alt termen des utilizat este CRC. Acronimul lui "Cycled Redundancy Check", în traducere - "Control Redundant Ciclic", el reprezintă o metodă matematică folosită pentru verificarea integrităţii datelor. Este o formă de sumă de control, care se bazează pe teoria polinoamelor de lungime maximă. Deşi este mai sigură decât cea bazată pe o simplă sumă de control, metoda CRC nu oferă totuşi o adevărată securitate criptografică.
O secvenţă de octeţi sau, mai general, o combinaţie de secvenţe variabile, prin care programele antivirus încearcă să identifice viruşii se numeşte semnătura unui virus (virus signature).
-Operaţia prin care se elimină un virus dintr-un fişier sau dintr-un sistem se numeşte dezinfecţie (clean). Desigur, contaminarea unui calculator cu un virus informatic se numeşte infecţie (infection).
-Tehnica prin care se adaugă unui program executabil o porţiune de cod, pentru a se asigura autoverificarea sa, în aşa fel încât suma sa de control să fie verificată înainte ca programul propriu-zis să se execute, se numeşte imunizare (immunization). Orice modificare făcută programului poate fi deci verificată si execuţia refuzată. Această tehnică poate provoca multe probleme deoarece ea interfera adesea cu programul pe care încearcă sa-l protejeze.
-Atunci când se generează o amprentă (o informaţie de control) pentru un fişier spunem că s-a efectuat o inoculare (inoculate). Este suficient apoi să se compare această amprentă cu alta calculată ulterior pentru a detecta alterarea eventuală a fişierului de către un virus.
-Un program antivirus care caută fişiere infectate, analizând secvenţe identificabile ca aparţinând unor viruşi cunoscuţi (aşa numitele "semnături" de virus) se numeşte program de scanare (scanner). Programele de scanare au diverse limitări, printre care, cea mai importantă este faptul că ele nu pot căuta decât viruşi deja identificaţi sau cunoscuţi.
-Un software antivirus (anti-virus software) reprezintă un produs program utilizat pentru a identifica si deseori pentru a furniza mijloacele necesare eliminării viruşilor de pe sistemele infectate. Acest proces este denumit frecvent "curăţare" sau "dezinfectare".
-Un software de dezinfecţie (desinfection software) nu este altceva decât un program care încearcă să îndepărteze viruşii de pe discurile infectate, astfel încât să restaureze elementele infectate la starea lor anterioară. Dat fiind faptul că adesea viruşii sunt polimorfi (schimbaţi de o manieră subtilă), software-ul de dezinfectare poate să facă greşeli cu consecinţe potenţial catastrofale pentru integritatea datelor. Detecţia viruşilor sectorului de încărcare este cu mult mai fezabilă decât cea a fişierelor executabile, iar utilizarea programelor de sistem (DEL, SYS, FDISK si FORMAT) reprezintă adesea o soluţie preferabilă.
-Vaccinul este un program pe calculator realizat pentru a oferi o protecţie împotriva viruşilor de calculator.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 mult 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. Adăugând un cod scurt la fişiere, de declanşează o alarmă atunci când un virus încearcă să modifice fişierul. Vaccinurile mai sunt numite si programe de imunizare.
Autorii răuvoitori de viruşi ai calculatoarelor ştiu de existenta programelor de vaccinare si antivirus si unii dintre ei se ocupă cu crearea de noi viruşi care să le contracareze. Dacă folosiţi calculatorul pentru afaceri sau aplicaţii profesionale vitale, protejaţi datele introducând în calculator numai copii noi, care nu au fost deschise, de programe obţinute direct de la producători.
Din activitatea programelor anti-virus pot rezulta si alarme false. O monitorizare a procesului de dezinfectare este deseori foarte utilă.
-O metodă de detectare a fişierelor virusate constă în compararea periodică a fişierului cu cel original, din dată, oră si dimensiune. Aceste teste nu prezintă totală încredere deoarece atât data si ora, cât si dimensiunea fişierelor pot fi manipulate convenabil, fără a ne putea da seama dacă s-a umblat în fişierul original si dacă acesta a fost alterat.
-Există si alte elemente care pot fi verificate, cum ar fi sumele de control (check sum), mai de încredere, dar nu totală, prin care datele dintr-un fişier sunt însumate si trecute printr-un algoritm specific, rezultând un fel de semnătură pentru acel fişier. Sumele de control funcţionează pentru verificarea integrităţii unui fişier în cazul transferului dintr-un punct în altul. Pentru protecţie, lista sumelor de control este necesar a fi păstrată pe un server separat, chiar pe un mediu separat accesibil doar de root si de utilizatorii de încredere. Totuşi această tehnică este insuficientă când sunt atacuri sofisticate împotriva integrităţii fişierelor, existând pericolul ca la destinaţie să ajungă un fişier necorespunzător.
Pe Internet se găsesc însă suficiente materiale referitoare la modul în care pot fi învinse sistemele care folosesc sume de control, multe dintre ele chiar prin acţiunea viruşilor. Multe dintre utilitarele antivirus folosesc o analiză a cifrei de control pentru a identifica activităţi de virusare.
-Există tehnici satisfăcătoare bazate pe calcularea unei amprente digitale (digital fingerprint) sau semnătură pentru fişiere. Algoritmii care realizează acest lucru fac parte din familia MD, cea mai cunoscută implementare fiind MD5. Aceasta este o funcţie neinversabilă (one-way) care generează semnătura digitală pentru un fişier prin intermediul unui algoritm de condensare a mesajului (message digest). Algoritmul preia la intrare un mesaj de o lungime arbitrară şi produce un rezultat pe 128 biţi denumit amprentă (fingerprint) sau rezumat (message digest). Algoritmul se bazează pe un concept conform căruia este imposibil prin prelucrare să se producă două mesaje cu acelaşi rezumat sau să se reconstituie un mesaj pornind de la un anumit rezumat. Algoritmul MD5 este proiectat pentru aplicaţii bazate pe semnături digitale, în care un fişier de dimensiuni mari trebuie comprimat într-un mod sigur înainte de a fi criptat cu o cheie privată (secretă).
-Un produs care utilizează algoritmul MD5 este S/Key dezvoltat de Bell Laboratories pentru implementarea unei scheme de parole unic valabile (one-time), care sunt aproape imposibil de spart, deşi parolele sunt transmise în clar, dar datorită faptului că parola fiind de unică valabilitate, nu mai este de nici un folos pentru un eventual intrus.
-O tehnică foarte interesantă aplicată în combaterea viruşilor se bazează pe utilizarea programelor automodificabile (self-modifying program). Acestea sunt programe care îşi schimbă deliberat propriul lor cod, cu scopul de a se proteja împotriva viruşilor sau copierilor ilegale. În acest mod devine foarte dificilă validarea prin mijloace convenţionale.
Principalele metode raman insa:
Scanarea -se aplica preventiv la prelucrarea fisierelor din afara sistemului,deci este utila in faza primara de raspandire a virusilor. Ea poate fi salvatoare, chiar daca se aplica ulterior (de pe o discheta sistem curata), in faza activa,deoarece in numeroase cazuri poate recupera fisierele infectate.
Concluzii:
aria de actiune; memoria si fisierele de interes;
protectia se mnifesta la primul contact cu orice fisier;
permite dezinfectarea;
nu detecteaza virusi noi. Orice virus nou trebuie introdus in lista de virusi a programului de scanare;
timpul de scanare creste odata cu cresterea numarului de virusi cautati si cu numarul de fisiere protejate;
exista alarme false, daca semnatura virusului este prea scurta;
foloseste ca resursa memoria calculatorului;
opereaza automat (ca un TSR).
Sumele de control -sunt calculate cu polinoame CRC si pot detecta orice schimbare in program,chiar daca aceasta consta numai in schimbarea ordinii octetilor. Aceasta permite blocarea lansarii in executie a programelor infectate,chiar de virusi necunoscuti, dar nu permite recuperarea acestora. Metoda este deosebit de utila in faza de raspandire a virusilor,orice fisier infectat putand fi detectat. In faza activa,insa metoda este neputicioasa.
Programele de protectie - programele antivirus au rolul de a realiza simultan urmatoarele activitati:
prevenirea contaminarii;
detectarea virusului;
eliminarea virusului, cu refacerea contextului initial;
In general, exista doua categorii de programe antivirus:
programe care verifica fisierele pentru a descoperi texte neadecvate sau sematuri de virusi recunoscuti;
programe rezidente in memoria interna, care intercepteaza instructiunile speciale sau cele care par dubioase.
In categoria programelor de vierificare se include cele de tip SCANxxx,unde prin xxx s-a specificat numarul asociat unei versiuni, de exemplu: SCAN86, SCAN102, SCAN108, SCAN200.
Aceste programe verifica intai memoria interna si apoi unitatea de disc specifica, afisand pe monitor eventuali virusi depistati si recunoscuti in versiunea respectiva. Dupa aceasta verificare, utilizatorul va incerca aliminarea virusului depistat,prin intermediul programelor CLEARxxx, prin specificarea numelui virusului; de remarcat ca, folosind acest program, nu exista certitudinea curatirii virusilor,datorita fie a nerecunoasterii acestora, fie a localizarii acestora in locuri care nu pot fi intotdeauna reperate.
Exista doua feluri de antiviruşi după modul in care actioneaza:
1. Programe care după ce au fost lansate ce raman in memoria calculatorului si supraveghează fiecare aplicaţie lansata in execuţie.
2. Programe care sunt lansate de către utilizator numai atunci când el doreşte sa verifice calculatorul
Devirusarea are loc in urmatoarele conditii:
-Scanarea = citirea fişierelor si a memoriei si identificarea viruşilor cunoscuţi de programul antivirus respectiv
-Devirusare = extragerea virusului sau ştergerea fişierului infectat
-Monitorizare = este operaţia prin care un antivirus existent in memorie verifica si semnalează sistematic eventuala apariţie a unui virus.
Sursa: installservices.blogspot.com