Primul Java-virus din lume

Costin Raiu

În urmă cu puține săptămâni a fost descoperit primul virus informatic care infectează aplicațiile scrise în Java. Virusul, numit "StrangeBrew", reprezintă o noutate în domeniu, deoarece până acum se credea că pericolul unui virus scris în Java este doar teoretic.

Primul antidot din lume la acest virus l-a constituit un produs software din România, antivirusul RAV (versiunea 6.08) produs de GeCAD The Software Company.

Java.StrangeBrew.A este un virus nativ Java, capabil să infecteze atât applet-uri cât și aplicații, însă se poate răspândi numai dacă este rulat ca aplicație, folosind programul JAVA.EXE din JDK sau altceva simi lar, precum utilitarul JVIEW al Microsoft. Virusul nu se înmulțește dacă este lansat din navigatoare web precum Netscape Navigator sau MS Internet Explorer, dar funcționează dacă este lansat ca applet din browser-ul Sun HotJava, sau dintr-un browser configurat să ruleze plug-in-ul de securitate care permite applet-urilor să ruleze ca aplicații Java.

Virusul folosește metoda "System.getProperty" pentru a afla directorul curent al utilizatorului ("user.dir") și a lista toate obiectele aflate în directorul curent. Apoi testează toate aceste obiecte, dacă sunt fișiere, dacă fișierul este accesibil, dacă lungimea este multiplu de 101 bytes și dacă numele fișierului se termină cu ".class". Testul de lungime este utilizat de către virus pentru a se autodetecta în fișierele deja infectate. Interesant de menționat că este vorba de același test utilizat și de virușii scriși de membri grupului 29A, viruși cum ar fi Win95.Marburg. Virusul caută toate fișierele din directorul curent care au dimensiunea divizibilă cu 101 (zecimal). Dacă un fișier trece toate aceste teste, virusul crează un nou obiect Random AccessFile pentru a-l accesa. Autorul virusului a ales să utilizeze RandomAccessFile în loc de DataInput și DataInputStream pentru că folosește operații "seek" pentru a lucra în fișier, operații permise numai de obiectul RandomAccessFile. De notat că loader-ul unei clase poate fi scris fără a utiliza nici o operație "seek", dar probabil a fost mult mai simplu pentru autor să scrie parser-ul folosind apeluri "seek". Fișierul candidat este deschis read-only, pentru că virusul va face doar câteva teste pe fișier, rutina de infecție fiind apelată mai târziu. Dacă vă întrebați de ce virusul caută fișiere infectate în directorul curent, răspunsul e simplu: trebuie să-și încarce codul de undeva, pentru că nu-l poate accesa direct din memorie. Deci trebuie să caute fișiere infectate și să încarce corpul virusului în două zone de memorie alocate dinamic (de lungimi 2860 și 1030 bytes).

De acum înainte, produsele AV performante vor trebui să includă (dacă nu făcut-o deja) loader-e și analizoare pentru cod Java.

Este foarte probabil că virusul a fost scris doar ca demonstrație că un astfel de virus poate fi creat. Mecanismul său de infecție este pe, de o parte, destul de primitiv (își caută corpul în alte fișiere), iar pe de alta este foarte performant (datorită rutinei de infectare directă). Limbajul Java este însă foarte puternic. Viruși criptați și, de ce nu, polimorfici pot fi scriși și în Java. Detectarea lor s-ar putea să ridice probleme în industria produselor Anti-Virus, dar câtă vreme aplicațiile Java nu sunt foarte mult schimbate printre utilizatori, este foarte puțin probabil ca asfel de viruși să se răspândească. Situația este aproape aceeași ca la virușii pentru Microsoft Access, cu o mică diferență: pentru a scrie un virus de Java este nevoie de un nivel de cunoștințe / cali tăți de programare mult mai mare. Deci și șanse mai puține ca aceștia să prolifereze.

Primul antidot din lume la "StrangeBrew" – un soft românesc

Antivirusul RAV 6.08 produs de GeCAD - The Software Company, care are un motor special adăugat pentru acest tip de viruși, este primul antivirus din lume care poate detecta și curăța "StrangeBrew". Soluția românească la acest virus a apărut după numai câteva zile (și nopți de lucru intens) de la primele infecții raportate cu "StrangeBrew". Performanța românească a fost recunoscută ca atare și mediatizată imediat de publicații de profil din Europa occidentală.

Pentru mai multe informații vizitați pagina de web GeCAD, unde puteți găsi o analiză detaliată a virusului, realizată de specialiștii echipei RAV.


BYTE România - septembrie 1998


(C) Copyright Computer Press Agora