Agora
Media
Libraria Byblos



AgoraNews  





PC Magazine Ro  




NET Report   




Ginfo   




agora ON line   





PC Concrete   





Liste de discuţii   




Cartea de oaspeţi   




Mesaje   





Agora   








Clic aici
PC Report - ultimul numar aparut


IPRO - PC Magazine Romania, Februarie 2004
SOLUŢII PENTRU PROGRAMATORII ŞI DESIGNERII WEB

Securitatea Reţelei [5] - atacurile DoS

Cadeeeeee: atacurile DoS

Alexandru Ioan Lazăr

Tocmai am venit de la şcoală. Am dat lucrare şi am făcut varză (de parcă ar fi ceva nou). De aceea, mă întreb dacă nu cumva există o metodă de a bloca acţiunea săvârşită de profesor. Adică, pot împiedica profesorul să-mi treacă nota? În fond, e tot un serviciu şi ăsta…

Mda…tocmai am bătut apropouri despre clasa de atacuri pe care o vom analiza astăzi: atacurile Denial of Service (DoS) - atacuri de refuz al serviciului.

,,Orice corp…

...îşi păstrează starea de repaus sau mişcare uniformă şi rectilinie atâta timp cât asupra lui nu acţionează o forţă exterioară". La fel se întâmplă cu orice calculator: totul merge bine până când apare o "forţă exterioară" (ştiţi sloganul… pericol! Om la tastatură!).

În general, acţiunile utilizatorilor nu duc la blocarea intenţionată a unei maşini. De exemplu, un server Linux cu un firewall bine configurat va refuza pachetele incomplete. Şi totuşi, uneori apar situaţii pe care nici un programator nu le poate prevedea: pachete neinteligibile sau comenzi care necesită resurse enorme, lansate de utilizatori rău intenţionaţi. Sistemul nu le poate înţelege şi are tendinţa de a face ce e mai sigur: se resetează sau - în cazurile cele mai serioase - se blochează.

Aşadar, atacurile DoS reprezintă acele atacuri de la distanţă (sau chiar locale, dar mai rar) care au ca ţintă blocarea unor servicii de pe maşina ţintă, sau chiar a maşinii însăşi.

Bine-bine, dar de ce ar încerca un atacator să blocheze o maşină? Unii lansează asemenea atacuri numai pentru iritare (chiar şi mailbombing-ul poate reprezenta un atac DoS dacă are drept consecinţă blocarea posibilităţii unui utilizator de a-şi verifica mesajele). Alţii doar din amuzament sau teribilism (cum ar zice răposatul Kurt Cobaine, smells like teen spirit). Aceştia sunt cei mai mulţi. Există însă hackeri sau crackeri experimentaţi, care folosesc aceste atacuri pentru a scoate din uz o maşină a cărei adresă IP o vor folosi pentru a "păcăli" o altă maşină din reţea (acest ultim tip de atac se numeşte IP spoofing - imitare IP - şi vom discuta despre el într-un articol viitor). Iată motivul principal pentru care atacurile tip DoS trebuie tratate cu cea mai mare seriozitate de orice administrator: orice atac DoS poate fi preludiul unui atac prin imitare IP!

Problema celor două puncte

Nu, nu puncte materiale (ce naiba, abia am scăpat de fizică!). Să zicem că tu administrezi un server Windows NT 3.51 (cazuri rare, dar e de dragul didacticii). Eu am acces la o maşină *nix, sau oricum, o maşină pe care rulează un OS capabil de a folosi directoarele partajate în reţea de către tine. (Ştiu… deja începe să nu-ţi placă situaţia☺) Iată ce o să fac eu…

$telnet 142.141.5.13
Trying 142.141.5.13...
Connected to 142.141.5.13.
Escape character is ´^]´.
Welcome to our domain!
>

Evident, e vorba de un caz ipotetic… nu vă gândiţi că m-am apucat să sparg reţele reale (de fapt, cele din clasa xxx.xxx.5.xxx sunt private, n-am curaj nici să mă gândesc ce organizaţii le deţin). ´>´ reprezintă prompt-ul, deci maşina aşteaptă comenzi. Mai departe, eu voi…

>DIR ../

Şi brusc, conexiunea va fi întreruptă. De ce? Aplauze, te rog, tocmai ţi-am blocat maşina… Pe ecranul maşinii NT a apărut un mesaj STOP, după care sistemul a fost reiniţializat.

Cazul de mai sus este cel mai simplist. De fapt, există mai multe metode de a bloca un calculator aflat la distanţă. La ora actuală, nu cred că mai există vreun calculator care să poată fi blocat în acest fel, pentru că Microsoft a lansat un patch (versiunile afectate erau doar NT 3.50 şi 3.51). Rezultate asemănătoare se pot obţine bombardând ţinta cu cereri telnet, finger, ping, sau blocând demonul inetd. De fapt, chiar acesta este principiul DoS: atacurile vizează epuizarea resurselor ţintei, sau blocarea traficului prin reţea. De obicei, un hacker cu experienţă va folosi mai întâi o altă tehnică, anume aceea de syn flooding.

Syn flooding

Dacă mai ţii minte, am vorbit în primul articol din această serie despre înţelegerea în trei părţi. Priveşte figura 1: în primul pas, clientul (atacatorul) va trimite o cerere de conexiune către ţintă. Pachetul este de tip TCP:syn (synchronize). Ţinta va răspunde cu un pachet TCP:syn/ack (synchronize/acknowledge) şi va aştepta. Cel puţin în teorie - clientul va răspunde cu un pachet TCP:ack (observă sintaxa pe care o vom folosi de acum încolo: [protocol]:[tip pachet]), şi schimbul de date poate începe.

Fig. 1 - Structura protocolului

Să presupunem că maşina noastră a răspuns deja cu pachetul TCP:syn/ack, şi aşteaptă ca atacatorul să răspundă cu TCP:ack. Dacă acesta întârzie, maşina noastră va aştepta… şi va aştepta…

Bineînţeles, dacă e vorba de un singur port atacat nu e ceva foarte grav. O simplă intervenţie din partea mea va finaliza scurt tentativa de atac. Situaţia devine periculoasă dacă atacatorul ia la rând toate porturile maşinii mele. La un moment dat, ţinta nu va mai putea face faţă şi se va reseta (dacă nu se va bloca înainte).

Dar cum se pot trimite atâtea cereri? Nici un hacker nu poate lucra atât de repede. Probabil că deja v-aţi gândit la Perl… şi eu, dar Perl funcţionează numai pentru alte tehnici (implementarea unui syn_flooding în Perl e prea complicată). În schimb, folosind C/C++ sau un alt limbaj puternic (am văzut chiar şi un program în Assembler), un asemenea atac se poate implementa foarte uşor. Programe care automatizează atacuri DoS se pot găsi pe internet cu zecile de mii - unele sunt adevărate bijuterii în materie de programare. Ar trebui să le studiaţi cu atenţie, pentru a vă putea proteja sistemul.

Fortress Arround Your Heart

(Ştiu, şi mie îmi place Sting ☺). Dar dacă veni vorba de fortăreţe, să vedem cum se poate proteja un sistem…

Mai întâi, trebuie să ştii că singurele sisteme sigure împotriva atacurilor DoS prin internet sunt maşinile neconectate la Reţea. Celelalte pot suferi de pe urma acestor atacuri.

Există totuşi metode prin care te poţi proteja. În primul rând, instalează toate patch-urile oficiale şi fii cu ochii pe buletinele de ştiri. Ultima parte poate chiar să dea greş! Sunt mulţi hacker care nu-şi împărtăşesc descoperirile decât cu colegi de breaslă. Aşa că poţi încerca să te "infiltrezi" sub un pseudonim fals şi să iei pulsul acţiunii chiar de la atacatori (mai ales dacă eşti expert în securitate). E o metodă murdară şi periculoasă (unii indivizi sunt de-a dreptul dubioşi, mulţi au dat deja o raită prin închisorile federale), dar funcţională.

Scanează-ţi maşina cu un scanner de calitate (identTCPscan, Strobe sau nmap) şi închide toate serviciile inutile. Cu cât maşina ta rulează mai puţine servicii, cu atât este mai puţin vulnerabilă, deoarece există mai puţine programe care pot fi atacate, şi mai multe resurse disponibile (operaţii care ar bloca o maşină configurată greşit s-ar putea să nu blocheze maşina ta, deoarece dispun de resursele necesare).

Încearcă orice metodă de a ataca un sistem. Dacă ai aflat despre o tehnică de atac, testeaz-o imediat şi găseşte o modalitate de protecţie (pe sistemul tău, normal). La fel - dacă ai descoperit o tehnică de protecţie, caută-i vulnerabilităţile. În felul acesta, vei putea fi cu un pas înaintea eventualului atacator.

Foloseşte neapărat un firewall şi un wrapper. Pe Linux, perechea TIS - TCP Wrapper este aproape imbatabilă (mai ales ultimul, este un program excepţional, scris de Wietse Wenema). Ai grijă la felul în care utilizatorii de la distanţă (sau chiar locali) pot afla informaţii despre reţeaua ta. Ai văzut deja câte pot afla folosind comanda host. Dar oricine poate afla informaţii despre o maşină folosind servicii ca uptime, ps, showmount, host, netstat… nu ezita să le dezactivezi pe cele care nu sunt necesare.

Dacă ai fost atacat, vei descoperi urme în fişierele-jurnal. Contactează imediat ISP-ul atacatorului şi - foarte important - dacă atacul a fost o formă de concurenţă neloială, ai de-a face cu un caz penal! Nu ştiu de vreo reglementare specială pentru atacurile DoS în România, dar peste hotare ea este ilegală - iar în România, dacă eşti în căutare de distracţii ca acestea, vei avea probleme cu ISP-ul. Lecţia? Ca de obicei, încearcă tehnicile numai pe sistemul tău!

Toceala…

Mâine am lucrare la chimie şi mă întorc, deci, la caiet şi la obişnuita toceală. Pentru toceala ta, ar trebui să încerci www.astalavista.com Nu trebuie să-mi spui, înregistrarea costă, dar se menţine tradiţia hackerilor adevăraţi: accesul la informaţii de valoare nu este condiţionat de calitatea de membru. Acolo vei găsi informaţii despre DoS (şi programe-exemplu). De asemenea, poţi consulta revista Phrack! (www.phrack.org). Este o revistă care apare practic anual, revistă mai mult cu numele - de obicei are în jur de 3-400 de pagini, mai ceva ca manualul meu de mate☺ - care conţine informaţii despre orice are legătură cu securitatea.

OK… cam atât pentru ziua de azi. Uraţi-mi succes mâine!

 


PC Magazine Ro | CD ROM | Redactia | Abonamente | CautareArhive

Copyright © 1999-2002 Agora Media.

webmaster@pcmagazine.ro

LG - Life´s Good

www.agora.ro

deltafri

Concurs de Grafica Digitala si Web Design

www.agora.ro

www.agora.ro