Oprirea atacurilor de tip credential stuffing la nivel de edge
Cum identifică tracio.ai tentativele automate de autentificare înainte să ajungă la sistemul tău de auth — combinând device fingerprints, verificări de viteză și semnale comportamentale.
Credential stuffing
sunt atacuri care folosesc instrumente automate pentru a testa combinații furate de nume de utilizator și parolă pe paginile de autentificare. Atacurile sunt masive — un singur operator poate testa milioane de credențiale pe zi pe sute de site-uri țintă. Apărările tradiționale precum limitarea ratei și CAPTCHA-urile sunt insuficiente, deoarece atacatorii își distribuie cererile pe mii de adrese IP și folosesc servicii de rezolvare a CAPTCHA-urilor. Iată cum oprim credential stuffing la nivel de edge, înainte ca cererile să ajungă la sistemul tău de autentificare.
Suprafața de atac
O operațiune tipică de credential stuffing folosește o listă de credențiale furate (disponibile pe piețele de pe dark web pentru doar 10 $ pentru un milion de înregistrări), un instrument de automatizare (de obicei un script personalizat sau un instrument precum OpenBullet) și un grup de IP-uri de proxy (proxy-uri rezidențiale care se rotesc la fiecare cerere pentru a evita limitarea ratei bazată pe IP).
Atacatorul își configurează instrumentul să trimită cereri de autentificare la o rată controlată — suficient de lentă pentru a evita declanșarea limitelor simple de rată, dar suficient de rapidă pentru a testa mii de credențiale pe oră. Fiecare cerere provine de la o adresă IP diferită, cu un șir de user agent diferit, făcând-o să pară un flux de tentative legitime de autentificare de la utilizatori diferiți.
De ce eșuează limitarea ratei
Limitarea ratei bazată pe IP este prima linie de apărare pe care o implementează majoritatea echipelor și este prima care cedează. Serviciile de proxy rezidențial oferă acces la milioane de adrese IP reale — routere de acasă, dispozitive mobile și dispozitive IoT — care se rotesc la fiecare cerere. Din perspectiva serverului, fiecare tentativă de autentificare provine de la un IP rezidențial unic, fără istoric de abuz.
Limitarea ratei bazată pe cont (limitarea tentativelor de autentificare per nume de utilizator) este mai eficientă, dar creează un vector de denial-of-service: un atacator poate bloca utilizatorii legitimi eșuând în mod deliberat mai multe tentative de autentificare pe numele lor de utilizator.
Device fingerprinting ca fundament
Device fingerprinting schimbă ecuația, deoarece identifică dispozitivul care rulează atacul, nu IP-ul pe care îl folosește. Un instrument de credential stuffing care rulează pe o singură mașină sau pe o fermă de VM-uri produce un device fingerprint consistent pe toate cererile sale, indiferent prin ce IP de proxy se rotește.
Motorul nostru de Bot Detection identifică instrumentele de automatizare în sine. Selenium lasă artefacte navigator.webdriver. Puppeteer și Playwright au caracteristici distinctive ale runtime-ului JavaScript. Chrome-ul headless nu conține anumite API-uri de browser pe care Chrome-ul cu interfață le include. Chiar și clienții HTTP personalizați care nu execută JavaScript sunt detectați prin TLS fingerprinting — mesajele lor Client Hello dezvăluie biblioteca HTTP subiacentă.
Urmărirea vitezei pe dispozitiv
Odată ce avem un identificator de dispozitiv stabil (prin Device Identification), putem aplica verificări de viteză la nivel de dispozitiv, mai degrabă decât la nivel de IP. Dacă un singur dispozitiv încearcă 50 de autentificări în 5 minute — indiferent de câte IP-uri diferite au provenit acele cereri — tiparul este, fără îndoială, credential stuffing.
Modulul nostru IP Intelligence urmărește viteza pe trei ferestre de timp: 5 minute, 1 oră și 24 de ore. Această abordare cu ferestre multiple prinde atât atacurile agresive (sute de tentative pe minut), cât și atacurile lente și discrete (câteva tentative pe oră, susținute pe parcursul mai multor zile).
Analiza semnalelor comportamentale
Dincolo de bot detection și urmărirea vitezei, analiza noastră Smart Signals examinează semnale comportamentale care disting atacurile automate de autentificările legitime. Utilizatorii reali prezintă o variație naturală în sincronizarea cererilor, viteza de tastare și tiparele de navigare. Instrumentele automate tind să producă o sincronizare mecanic consistentă, anteturi de cerere identice și niciun eveniment de mișcare a mouse-ului sau de scroll.
Verificăm, de asemenea, inconsistențele semnalelor care indică falsificarea mediului. Un browser care pretinde că este Chrome pe macOS, dar prezintă parametri WebGL asociați cu un VM Linux, este semnalat imediat. Un șir de user agent care nu corespunde cu TLS fingerprint-ul declanșează o alertă de manipulare.
Implementare la nivel de edge
Cheia pentru a opri credential stuffing este oprirea lui înainte să ajungă la sistemul tău de autentificare. Agentul nostru se încarcă pe pagina de autentificare și colectează semnale în timpul încărcării paginii — înainte ca utilizatorul (sau botul) să trimită credențialele. Rezultatele fingerprint-ului și ale bot detection sunt disponibile în momentul în care formularul de autentificare este trimis, permițând serverului tău să respingă instantaneu tentativele automate.
Pentru ținte cu volum mare, recomandăm implementarea integrării noastre Cloudflare Worker sau CloudFront Lambda@Edge, care rulează validarea fingerprint-ului la nivel de edge CDN. Aceasta înseamnă că cererile de credential stuffing sunt blocate la nodul de edge cel mai apropiat de atacator, fără să ajungă vreodată la serverele tale de origine.
Rezultate
Clienții noștri raportează o reducere de 99% a volumului de credential stuffing după implementarea tracio.ai pe paginile lor de autentificare. Restul de 1% constă în atacuri extrem de sofisticate care folosesc automatizarea completă a browserului cu semnale falsificate cu atenție — care sunt prinse de detecția noastră cu metode multiple în primele câteva zeci de cereri, pe măsură ce apar tiparele de viteză.