Denial-of-Service/Distributed-Denial-of-Service

O știre aducea în atenție că „că la alegerile prezidenţiale au fost folosite atacuri cibernetice în scop politic„. Atacul în discuție era de tip DoS/DDoS.

Vizual, cam așa ceva s-a întîmplat:

1. Puțină teorie

Un atac de tip DoS – Denial-of-Service este o încercare de a afecta intenționat și în mod negatitv un serviciu IT, un sistem sau o rețea, astfel încît acestea să devină inutilizabile pentru utilizatorii săi legitimi. Spre deosebire de alte tipuri de atacuri, DoS nu are nevoie de un atacator cu acces fizic la echipamanete. Scopul principal al unui atac DoS este de a nega utilizatorilor legitimi accesul la serviciul oferit de acel server.

Atacul își atinge obiectivul prin „inundarea„ țintei până când aceasta se blochează, devine inaccesibilă din reteaua exterioară sau nu mai poate gestiona traficul legitim. Volumul real al traficului implicat în atac depinde de tipul de încărcătură utilă (payload) folosită în  traficul de  atac.

De exemplu, mai multe fragmente IP incorect fragmentate pot fi suficiente pentru a bloca stiva TCP/IP. Sau se poate lua o cantitate foarte mare de fragmente de IP corect fragmentate care să depăsească capacitatea procesului de defragmentare din stiva TCP / IP.

Din punct de vedere al impactuui, atacurile DoS pot varia: consumareal ățimii de bandă a unei rețele, blocarea utilizării unui serviciu al unui server sau întreruperea serviciului.

Cele mai multe atacuri DoS sunt de tip „flood„: după cum se vede și din filmul de mai sus, se inundă o rețea cu conexiuni TCP care sînt legitime dar care consumă lățimea de bandă. Header-ele pachetelor sunt de obicei falsificate, pentru a păcăli victima să le accepte ca și cum ar proveni dintr-o sursă de încredere.

Să ne aducem aminte puțin despre TCP:

TCPImaginea de mai sus ajută la înțelegerea tipologiei atacurilor DoS. Ne intresează cele 6 cîmpuri cu dimensiunea de 1 bit:

URG (Urgent) – indică deplasamentul în octeţi faţă de numărul curent de secvenţă la care se află informaţia urgentă. Foloseşte îndeosebi la înlocuirea mesajelor de întrerupere

ACK (Confirmare) – indică validitatea numărului de confirmare. Dacă acest bit are valoarea zero, este ignorat cîmpul număr de confirmare al segmentului respectiv.

PSH (PushForţare) – acest bit indică destinatarului să livreze aplicaţiei informaţia imediat ce este recepţionată fără a o mai memora în buffer.

RST(Reset) – desfiinţează o conexiune care a devenit inutilizabilă

SYN(sincronizare) – stabileşte conexiunea între calculatoare

FIN (Sfîrşit) – termină o conexiune.

Majoritatea atacurilor DoS pot fi identificate ca  anomalii statistice ale traficului prin raportare la distribuția normală și volumul acestuia. Schimbări semnificative în aceste niveluri pot indica un comportament rău intenționat

a.  Atacuri cu volume mari asupra serverelor web. Aceste atacuri sînt concepute pentru a supraîncărca serverele de web și capacitatea acestora de procesare cu cereri neesențiale. Un atac la nivelul 7 OSI este mai greu de detectat deoarece un astfel de atac este de multe ori comis folosind o creștere a cererilor normale HTTP. Atacatorul configurează boti pentru a lansa atacurile împotriva anumitor domenii sau URL-uri, și generează o cantitate mare de cereri HTTP către serverul vizat.

b. Atacuri cu volume mici asupra serverelor web. HTTP este un protocol destinat conexiunilor pentru perioade scurte de timp, orice conexiune deschisă peste durata normală se presupune a fi un atac lent. Asta înseamnă că atacatorul trimite cereri care rămân deschise pentru durate lungi de timp. În cazul în care conexiunile rămân deschise pentru perioade prelungite se consumă resursele serverului/supraîncărcare

c. TCP SYN. Un atac TCP SYN are loc atunci când atacatorul trimite către țintă un volum mare de pachete TCP SYN folosind adrese IP falsificate/spoofed

d. TCP Full connect. Este un atac în care se folosește o adresă IP sursă validă. Atacatorul folosește PC-uri reale cu IP-uri reale și botnet. Aici avem de aface de fapt cu DDoS, boots și sisteme distribuite. 

e. TCP ACK/FIN. În acest caz atacatorul trimite un volum mare de pachete TCP ACK / FIN către țintă. Acestea consumă lățime de bandă și creează o stare DoS.

f. TCP RST. În acest caz atacatorul trimite o cantitate mare de pachete TCP RST cu scopul de a închide prematur sesiunile TCP active. Ca și în cazul precedent, verificarea și elimnarea pachetelor înseamnă consum de resurse locale..

g.  Inundare DNS. Din teorie știm că spre deosebire de TCP, protoculul UDP este simplu și nu are un mecanism de management al conexiunii similar three way handshake. Cum DNS folosește ca protol UDP, un număr mare de cereri DNS poate afecta infrastructura vizată.

h. Inundare UDP. După cum îi spune și numele acest atact presupune multe pachete UDP transmise către porturi UDP selectate aleator pe calcultatorul țintă

i. Inundare ICMP: foarte multe pachete ICMP  Echo  Request/Reply în rețea

j. Inundare Non TCP/UDP/ICMP: pachete greșit formatate, pachete IPSec…

k. Inundare la nivel de aplicație: încadrat și la buffer overflow

 2. Mecanisme de protecție

Majoritatea IPS – Intrusion Prevention Systems, oferă protecție anti DoS/DDoS pe bază de praguri limită de trafic, autoînvățare sau profilare.

Detecția bazată pe praguri de semnificație presupune configurarea limitelor de trafic astfel încît serverele să nu devină indisponibile. În cazul autoînvățării, platforma IPS studiază comportamentul (modul de utilizare, dimensiunea și tipul traficului, diferite corelări) din rețeaua pe care o apără ajungînd ca după scurt timp să poată delimita traficul legitim de cel ilegitim. Algoritmul de învățare ține cont de creșterile bruște de trafic.
Există și echipamente dedicate strict protecției împotriva acestor tipuri de atacuri.
În opinia mea, o strategie de apărare ar trebui să includă și altele. Dincolo de ceea ce implică o rețea ar trebui să avem în vedere și aplicațiile și bazele de date. Astfel pe lîngă firewall și IPS putem adăuga și o soluție de tip „network behaviour analysis„, monitorizarea bazelor de date și nu în ultimul rînd SIEM. Acesta din urmă însă nu trebuie folosit doar ca un instrument de corelare și agregare de fluxuri și evenimente ci trebuie să fie declanșatorul, punctul care transmite informații către o echipă de reacție.

Mulţumesc.

Completează mai jos detaliile despre tine sau dă clic pe un icon pentru autentificare:

Logo WordPress.com

Comentezi folosind contul tău WordPress.com. Dezautentificare / Schimbă )

Poză Twitter

Comentezi folosind contul tău Twitter. Dezautentificare / Schimbă )

Fotografie Facebook

Comentezi folosind contul tău Facebook. Dezautentificare / Schimbă )

Fotografie Google+

Comentezi folosind contul tău Google+. Dezautentificare / Schimbă )

Conectare la %s