Anatomia unui atac DDoS

Orice organizatie care are o prezenta in mediul online printr-un site web este vulnerabila la un atac de tipul Distributed Denial of Service (DDoS). Pentru cele mai multe organizatii nu este o problema “daca” vor fi o tinta pentru atacatori, ci mai degraba “cand” se va intampla acest lucru. Sunt necesare masuri corespunzatoare de contracarare si de mitigare a unui astfel de atac, pentru a avea cel mai mic impact posibil asupra site-urilor web, indiferent daca acestea sunt gazduite on premises, la un furnizor de servicii sau intr-un mediu cloud.

Ce este un atac DDoS?

O organizatie se poate confrunta cu multe tipuri de atacuri cibernetice. Un DDoS este un atac specific care urmareste sa paralizeze o retea, coplesind-o cu un volum incredibil de date sau de cereri de date. Atacatorii isi formeaza o armata de computere compromise in prealabil si aflate sub controlul lor, care vor forma un botnet. Computerele “zombie” vor fi activate printr-un malware de tip Command and Control (CnC) si vor lansa la unison atacul asupra victimei. Pe piata neagra a hacker-ilor (dark web) astfel de retele botnet se vand pentru sume de bani considerabile. Ce este mai grav este ca proprietarul computerului nici macar nu stie ca sistemul sau este folosit in acest gen de atacuri.

In ultima vreme dispozitvele de tip IoT formeaza cele mai multe retele de tip botnet. Camere de supraveghere, platforme de tip DVR/NVR, NAS-uri sunt tipuri de echipamente care ofera utilizatorului o interfata de login accesibila din Internet. Credentialele folosite sunt, de cele mai multe ori, cele default, atacatorii nevand nicio problema in a le exploata. Totodata, firmware-ul acestor echipamente nu este securizat in mod corespunzator, atacatorii putand folosi si vulnerabilitati cunoscute pentru a le compromite si trece in puterea lor.

DDoS poate fi un atac de sine statator sau poate fi primul pas dintr-un atac mai complex. In timp ce echipa de securitate sau departamentul IT se ocupa de eliminarea sau restrangerea volumului de trafic, atacatorii se folosesc de ocazie pentru a compromite alte sisteme sau sa extraga date din interiorul organizatiei, fara a fi observati.

Tipuri de atac DDoS

Atac de tipul Smurf – un astfel de atac se foloseste de mesaje de ICMP de tip broadcast. Mesajele au sursa IP impersonata ca fiind adresa IP a statiei tinta. Cand restul de statii din retea vor raspunde, se va genera un varf in utilizarea latimii de banda si a incarcarii procesorului acelei victime. Daca volumul de trafic generat in urma broadcast-ului este semnificativ, reteaua poate experimenta congenstie si latente marite pana chiar in punctul in care devine inutilizabila.

Fraggle – o varianta a atacului de tip Smurf, insa in loc de protocolul ICMP se folosesc mesaje spoof-ate pe porturile UDP 7 si 19 (servicii legacy utilizate in scopuri de testare).

Syn Flooding – un atac care exploateaza modul de stabilire a unei conexiuni TCP (three way handshake). Atacatorul trimite o succesiune de mesaje de tipul SYN care vor deschide conexiuni embrionare cu adrese IP fictive, conexiuni care nu vor fi finalizate, ocupand memoria si procesorul victimei. Daca un server primeste un numar prea mare de astfel de mesaje, serverul nu va mai putea onora cererile valide de conexiune, pentru utilizatori parand ca serviciul este indisponibil.

Application Layer DDoS – un astfel de atac nu targheteaza o retea, ci vizeaza o anumita aplicatie sau o functionalitate a acesteia. De exemplu, se poate face un DDoS care sa compromita functia de “add to cart” sau de login intr-un site web.

DDoS as a Service – malware-ul se muta in cloud si devine disponibil printr-o subscriptie. DDoS nu face exceptie. Astfel, oricine este dispus sa plateasca o suma lunara va avea acces la o gama variata de atacuri, exploit-uri si vulnerabilitati, precum si la mijloacele necesare pentru a livra aceste payload-uri malitioase si executa atacuri care sa compromita sisteme sau retele intregi.

Scopul atacului DDoS este acela de a impiedica o retea sau un sistem sa functioneze normal. Un DDoS eficient nu permite clientilor organizatiei sa viziteze site-ul web sau sa foloseasca aplicatia dezvoltata de organizatie  pentru a comanda produse si pentru a face plati, lucru care se traduce in pierderi financiare semnificative. Atacul DDoS poate viza si alte aspecte, cum ar fi testarea paginii de login pentru a afla credentialele de acces la baze de date cu informatii sensibile (numere de carduri) sau confidentiale (informatii medicale). Intrucat atacatorii folosesc calculatoarele altor persoane si resursele acestora, nu exista vreo limita de timp in care DDoS-ul sa se disipe. Victima trebuie sa aiba la dispozitie mijloacele necesare prin care sa raspunda in fata unui astfel de amenintari.

Metodologii de raspuns impotriva unui DDoS

Detectia – pentru a raspunde unui atac, acesta trebuie mai intai detectat. Detectia poate fi reactiva, de exemplu un utilizator sau client trimite un mesaj departamentului Helpdesk prin care spune ca nu poate completa plata unei comenzi sau nu poate accesa un anumit continut. Detectia poate fi si proactiva, daca organizatia are la dispozitie tool-urile care ii permita monitorizarea continua a sistemelor, de exemplu, prin probe de tipul GET trimise la intervale regulate de timp. Astfel, se poate anticipa un atac sau o problema, dinainte ca efectul ei sa se rasfranga asupra utilizatorului.

Detectia unui atac se poate face si daca organizatia dispune de un baseline, de o imagine asupra comportamentului normal asupra traficului web care se face inspre server. Un baseline poate sa raspunda la intrebari precum:

  • de unde este originat traficul? Din ce tari?
  • ce sisteme de operare sunt folosite ?
  • ce browsere web sunt folosite de catre cei care acceseaza site-ul
  • cum difera traficul din weekend fata de cel din cursul saptamanii?

In functie de aceste raspunsuri si de ce inseamna normal, se pot customiza alerte automate pentru evenimentele care nu se incadreaza in categoria “normal”. Este mult mai bine pentru business primirea unei alerte automate pe email decat un mesaj de la un client nemultumit.

Identificare problemei – daca un atac DDoS este in executie, trebuie gasita victima acestuia. Este intreaga retea? Daca este un atac volumetric, simptomele sunt evidente, consumarea intregii latimi de banda de Internet. Este aplicatia? Utilizatorii primesc codul 404 Error sau 503 Service Unavailable? Poate site-ul este in picioare, dar timpul de raspuns al server-ului este foarte mare. Sau poate este o problema cu o integrare prin API-uri. In functie de cauza problemei se poate gasi o solutie pentru aceasta.

O data ce problema a fost identificata, se poate formula si un raspuns. Pentru a minimiza efectul atacului, o solutie temporara poate fi o idee foarte buna. De exemplu, implementarea unei functii de captcha pentru a descuraja atacatorii sa faca brute force paginii de login poate fi suficient pentru a opri atacul.

Folosirea unui echipament anti-DDoS – care sa preia atacul volumetric si sa il black hole-ze inainte ca acesta sa intre in retea. Un astfel de echipament foloseste analiza comportamentala a retelei pentru a crea in mod automat un baseline si pentru a detecta daca si cand are loc un atac.

Implementarea unui WAF – este o solutie pe termen lung. Un Web Application Firewall este un element critic de securitate in fata unui DDoS. Un WAF monitorizeaza, filtreaza si blocheza traficul HTTP catre si dinspre un server web. Poate preveni atacuri si exploit-uri ca SQL injection, XSS (cross-site scripting) sau file inclusion (care duce pana la urma la RCE- remote code execution).

Avand in vedere numarul din ce in ce mai mare de dispozitive conectate la Internet si de site-uri web, atacurile DDoS nu vor disparea din peisaj prea curand. Insa, cu putina pregatire si cu tehnologiile corespunzatoare organizatiile se pot pregati sa raspunda cu succes in fata unei astfel de amenintari cibernetice.

Mihai Dumitrascu, Sr Systems Engineer