Era virusilor

Protectia relelelor impotriva atacurilor cu virusi:

1) Puncte de intrare
a) mail
b) web
c) ip-uri mascaradate
d) access fizic in reteaua interna
e) penetrarea ruterelor de acess
2) Metode de protectie
a) In cazul mail prin solutii antivirus si antispam
Protectia antivirus este esentiala atat pentru sistemele Linux, cat si pentru cele Windows. Exista trei motive importante pentru aceasta:
Securitatea masinilor Linux poate fi compromisa atunci cand sunt folosite ca servere pentru statii de lucru non-Unix si ca emulatoare PC. Sunt supuse riscului de a deveni purtatoare de virusi non-Linux cum ar fi macrovirusii.
Pana acum creatorii de virusi au ales Windows ca tinta predilecta datorita vulnerabilitatilor cunoscute si a dominatiei colosale a Microsoft pe piata. Cu toate aceste pe masura ce popularitatea Linux continua sa creasca, creatorii de virusi pot sa fie din ce in ce mai interesati. Ar putea foarte usor sa exploateze bogatia de informatii si cod Linux disponibile gratuit pe Internet.
In multe cazuri traficul de internet generat de virusi poate fi enorm iar scosturile pot creste exponential.

b) In cazul web prin content filtering
Content filtering este necesar deoarece au inceput sa existe din ce in ce mai mult pagini de web “agresive” . Pagini ce contin java scripts , exploituri pentru internet explorer si nu numai. Daca nu se face content filtering riscul infectarii cu spyware si virusi este mare . Se stie tendintza utilizatorilor in special de sex masculin de a se uita la site-uri XXX. Iar aceste site-uri de obicei sint “agesive” nu numai prin vizual . de asemenea content filtering poate fi folosit pentru a impiedica transmiterea de documente din cadrul firmei prin webmailuri de exemplu .
c) Prin antivirusi instalati local
Conexiunile mascaradate sint o reala problema . pentru ca permit rularea programelor de tip p2p , programelor de tip irc si de asemenea permit instalarea de tuneluri intre calculatoare internet si externe relelei. Ceea ce inseamna ca propagarea virusilor este facilitata. De asemenea in cazul uni virus de tip Velchia conexiunea mascaradata permite, cel putin la nivel, teoretic infectarea altor calculatoare prin scan / exploit. De aceea limitatarea acestor tipuri de ip-uri in cadrul unei retele este recomandata.

d) Prin metode administrative 
e) Aplicarea la timp a patchurilor si corectarea bugurilor de securitate combinata cu firewaluri si metode specifice serverelor

3) Cum scapam de traficul kazaa
4) Virusi de linux? Mit sau realitate?
Protejarea retelei impotriva traficului kazaa

Protocolul pe care se bazeaza kazaa se numeste FastTrack si este folosit in iMesh , Grokster sau KazaaLite . Datorita felului in care a fost gindit protocolul este foarte complicat de blocat folosind ipchains / iptables .

Multi dintre adminii de retea doresc sa scape de acest model de trafic in primul rind datorita imposibilitatii controlului a ce s-a traficat precum si a raspindirii de spyware , virusi si/sau fisiere ce incalca copyright-ul. De asemenea prin kaaza se pot “scurge” informatii confidentiale firmei.

De ce este greu de blocat protocolul FastTrack:

– nu utilizeaza porturi fixe
– conversatia nu se limiteaza la un numar mic de adrese (se tine un cache de 200 de adrese si se incearca conectarea la ele la momentul pornirii aplicatiei si mai mult acest cache se schimba periodic)
– algoritmul de gasire a unei perechi de conversatie nu este centralizat
– unele bucati din protocol contin strong crypto

Totusi nu este imposibil de blocat.
Exista un proiect opensource P2Pwall ( http://p2pwall.sourceforge.net ) care incearca sa rezolve acest lucru. Si in majoritatea cazurilor functioneaza.

Cum functioneaza ?

Pentru a intelege cum functioneaza trebuie inteles mecanismul de functionare
a protocolului FastTrack . FastTrack foloseste pentru a se conecta cu client 3 mecanisme distincte:
a) flood packete UDP
b) multiple conexiuni TCP in paralel
c) conexiuni TCP traditionale
Protocolul FastTrack schimba intre ele metodele in cazul in care una dintre
metode nu functioneaza.

P2pwall se bazeaza pe prelucrarea packetelor in userspace si fiecare parte a
protocolului fasttrack avind reguli specifice .
ex: iptables -A FORWARD -p udp -i eth0 -j QUEUE

La momentul la care am scris acest articol p2pwall versiunea 2 contine suport pentru blocarea traficului de WinMx si de OpenNap.
Cum a inceput ?
Primul virus de Linux
Nume: Staog Dimensiune: 4744

Acest virus a fost descoperit in toamna anului 1996 si infecteaza fisiere executabile de tip ELF. Este considerat ca fiind primul virus nativ de linux. Virusul a fost scris in limbaj de asamblare si incearca sa ramina “rezident” si sa infecteze fisierele executate de useri.
Virusul incearca sa obtina drepturi de root ( elevation of privileges ) folosind 3 bug-uri cunoscute ( mount buffer overflow , dip buffer overflow si suid perl bug )

Virusul este atribuit gruparii VLAD (un grup australian de creatori de virusi).

Depistarea prezentei acestui prim virus in sistem este foarte simpla. Se cauta in toate executabilele sau fisierele dupa semnatura. Stringul hexa asociat virusului conform F-Secure este :
215B31C966B9FF0131C0884309884314B00FCD80

Era RST si RST/B

La sfirsitul anului 2001 si inceputul lui 2002 au aparut virusii RST si RST/B.
Inca sint cele mai raspindite variante din Romania. Pot fi gasite in majoritatea “rootkits” ale hackerilor din Romania. De ce? Pentru ca initial s-a plecat de la un exploit de ssh infectat cu o versiune de virus RST si apoi s-a multimplicat pe sistemele hackerilor… iar pe masura ce exploitul a trecut de la unii la altii s-a multiplicat si virusul. Mecanismul de infectare prin exploituri asa zis 0day este predilect in momentul de fata. De remarcat aici este urmatorul fapt: Pe hacker nu-l intereseaza securitatea (in majoritatea cazurilor se multumesc sa aiba “inca un root”) si straniu dar adevarat, virusul este in simbioza cu hackerul care foloseste rootkitul infectat.
Virusul supravietuieste in acest canal de infectare datorita “inteligentei” hackerului iar virusii ce intra in asemenea canale de simbioza vor disparea greu din comunitate deoarece la fiecare nou bug / exploit va reaparea si virusul.

Virusi pe FRESHMEAT ?
De asemenea nu trebuie sa uitam ca exista “The ELF Virus Writing HOWTO” proiect care este GPL si este tecut ca proiect pe http://freshmeat.net/
Pagina oficiala a documentului este
http://www.lwfug.org/~abartoli/virus-writing-HOWTO/_html/
Iar in acest document sint prezentate metode de infecare a executabilelor ELF precum si mecanisme de detectie. Documentul se ocupa exclusiv de mecanismele de infectie propriu zisa si nu intra in amanunte de metode de ascundere , metode de infectare a kernelului etc, etc.

Alte surse de documentatii:

Linux viruses ELF File format http://www.nai.com/common/media/vil/pdf/mvanvoers_VB_conf%202000.pdf
Lista de produse antivirus disponibile pe platfoma Linux
http://cvs.sourceforge.net/viewcvs.py/openantivirus/mini-faq/av-unix_e.txt?rev=HEAD

Considerente referitoare la costuri in cazul unui incident:

In cazul unui virus de windows costurile sint relativ usor de calculat:
Pesupunind ca instalarea / rularea unui program antivirus pe statia compromisa dureaza in medie 1ora, costul unui tehnician IT (in Romania) in de circa 2$ pe ora, costul angajatului care ar trebui sa foloseasca acel computer este de circa 2$ pe ora, iar pierderile din nefolosirea acelui calculator sa spunem de 30$ (in cazul in care se pierd date sau se pierd toate informatiile de pe sistemul respectiv costurile pot fi MULT mai mari ) putem face urmatorul tabel:

Sisteme Infectate
Formula de calcul
Cost Total
1
1*((1*2)+(1*2)+30)
34$
5
5*((1*2)+(1*2)+30)
170$
10
10*((1*2)+(1*2)+30)
340$
100
100*((1*2)+(1*2)+30)
3400$
1000
1000*((1*2)+(1*2)+30)
34000$

In tabelul de mai sus s-a presupus ca exista suficienti oameni IT in firma astfel incit timpul de devirusare sa nu depaseasca 1 ora / statie. Iar acesta este cazul fericit deoarece endintza actuala a virusilor este de a infecta cit mai rapid un numar cit mai mare de statii de lucru.

In cazul infectarii unui server situatia este diferita in functie de ce servicii ofera acel server . De aceea costurile pot varia foare mult si nu se pot estima usor . In orice caz se poate ajunge la costuri de zeci de mii de dolari in cazul in care sa zicem ca este infectat / compromis un server care tine legatura cu clientii.

Ce ingreuneaza propagarea virusilor de linux

Sistemul de permisiuni linux ce separa drepturile intre utilizatori face dificila propagarea virusului in cazul unui cont de utilizator obisnuit deoarece acesta nu va avea drept de scriere decit in direcorul propriu si eventual in /tmp , executabilele sistem fiind potejate la scriere.
Tehnica “priviledge elevation” nu se poate aplica decit pentru sisteme cu vulnerabilitati cunoscute ceea ce incetineste la un punct infectia deoarece exista tendintza de a corecta bugurile cde securitate cit se poate de repede .
Distributia de fisiere binare nu este foarte raspindita si atunci acest vector de atac este mult diminuat.
Combinatia intre virus si worm este detectabila datorita traficului ridicat in momentul propagarii worm-ului .

Tendinte actuale in dezvoltarea virusilor si antivirusilor

Ca pe orice sistem de operare balanta dintre virusi si antivirusi ramine in echilibru, iar evolutia virusilor este similara cu cea de pe platforma windows. Evident ca si constructie nu ca si raspindire. In acest moment au aparut pe linux virusii metamorfi facuti cu engine-ul : MetaPHOR , au aparut virusi scrisi in PERL , PHP si BASH. Pina acum majoritatea nu s-au raspindit mult datorita inchiderii rapide a cailor de propagare. (exceptie face evident RST despre care am discutat deja). Un material mult mai detaliat despre virusii de linux veti putea citi in revista Chip in curind , material scris de Mihai Chiriac.

© 2003 Mihai (Cop) Moldovanu
TFM Group , Linux Division , Romania