ABC-ul securitatii aplicatiilor web – Partea a doua

Prima parte a a acestui articol a fost despre importanta securizatii API-urilor in aplicatiile web. Un alt vector de atac foarte folosit este reprezentat de Boti. In ultimii ani traficul generat in mod automat de boti a crescut rapid. Botii sunt folositi in general de motoarele de cautare, dar incep sa isi gaseasca si alte intrebuintari, atat bune, cat si rau-intentionate. Botii buni sunt crawleri pentru motoarele de cautare, boti de retele sociale, boti de monitorizare si se comporta dupa conduita impusa de proprietarul site-ului in fisierul robots.txt. In acelasi timp, acesti boti prezinta un mod prin care pot fi identificati si validati si isi fac treaba astfel incat sa nu supraincarce site-urile si aplicatiile pe care le viziteaza.

Botii rau intentionati sunt construiti pentru o serie de activitati malitioase:

  • lansarea de atacuri coordonate de tipul Distributed Denial of Service (DDoS): atacatorul poate identifica o functie foarte intensiva pentru aplicatie, de exemplu o interogare complexa a bazei de date din spate si poate construi un bot care sa apeleze acea functie in mod repetat supraincarcand aplicatia si facand-o neutilizabila pentru utilizatorii legitimi
  • impersonarea unui browser web – bot-ul poate mima comportamentul unui anumit browser pentru a evita detectarea de catre anumite filtre de securitate
  • crearea de conturi false
  • preluarea ostila a unui cont (account takevoer / credential stuffing) pentru a avea acces la date confidentiale sau pentru a impersona o anumita persoana in atacuri de inginerie sociala
  • “inventory hoarding” – cand bot-ul identifica produse disponibile in cantitate limitata si le adauga in cosul de cumparaturi, facandu-le inaccesibile utilizatorilor care doresc sa le cumpere
  • “price scraping” – un bot specializat in a monitoriza in mod ilegal preturile listate pe site-urile de e-commerce pentru a determina minimul din piata. Informatia poate fi folosita apoi pentru a seta un pret sub cel al pietei pentru a atrage clientii, subminand competitia. Aceasta practica duce la statistici incorecte, clientii isi “parasesc” cosurile de cumparaturi si incetinesc site-urile web
  • “price scalping” – o metoda prin care un bot poate sa creasca in mod artificial pretul unui produs pentru a motiva cumparatorii sa il achizitioneze pana nu devine prea scump, cum a fost de exemplu cazul consolei de jocuri Play Station 5 in decembrie 2020.

Metodele de protectie impotriva botilor trebuie sa se adapteze mereu intrucat acestia evolueaza constant in functionalitate si complexitate. Printre metodele standard de protectie sunt si:

  • folosirea serviciului de securitate Google reCAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) pentru protectia website-ului impotriva abuzurilor si a fraudelor
  • blocarea versiunilor vechi de browser la accesarea aplicatiei web – multe tool-uri folosite de atacatori folosesc variante de “user agent” (un alt nume pentru tipul de browser) care nu mai sunt folosite de utilizatori (cele mai multe browsere au activa functia de auto-update). Desi aceasta metoda nu ii poate opri pe hacker-ii avansati, ii poate detecta si descuraja pe unii dintre ei.
  • protejarea API-urilor si a aplicatiilor mobile, nu numai site-ul web, folosind metode specifice
  • blocarea adreselor IP si a domeniilor cunoscute ca fiind locuri de unde sunt lansate atacuri cu boti (ajuta de exemplu un firewall de retea sau un WAF – Web Application Firewall – are acces la feed-uri de threat intelligence mereu actualizate)
  • monitorizarea incercarilor de login nereusite atat in intervale scurte de timp, cat si pe perioade mai lungi, in special pentru cele de tipul “low and slow” care nu ridica o alerta imediat.

In ultima parte a acestei serii de articole vom discuta despre atacurile care vizeaza Clientul, incheiand triada de securitate ABC pentru aplicatiile si serviciile web.

Mihai Dumitrascu, Sr Systems Engineer