Zastavení credential stuffingu na edge
Jak tracio.ai rozpozná automatizované pokusy o přihlášení dříve, než zasáhnou váš autentizační systém — kombinací device fingerprintů, kontrol rychlosti a behaviorálních signálů.
Credential stuffing
útoky používají automatizované nástroje k testování ukradených kombinací uživatelského jména a hesla proti přihlašovacím stránkám. Tyto útoky jsou masivní — jediný operátor může otestovat miliony přihlašovacích údajů denně napříč stovkami cílových webů. Tradiční obrany jako rate limiting a CAPTCHA jsou nedostatečné, protože útočníci distribuují své požadavky mezi tisíce IP adres a používají služby na řešení CAPTCHA. Zde je popis toho, jak zastavujeme credential stuffing na edge, dříve než požadavky dorazí k vašemu autentizačnímu systému.
Plocha útoku
Typická operace credential stuffingu používá seznam ukradených přihlašovacích údajů (dostupný na tržištích dark webu už za pouhých 10 dolarů za milion záznamů), automatizační nástroj (obvykle vlastní skript nebo nástroj jako OpenBullet) a pool proxy IP adres (residenční proxy, které rotují na každý požadavek, aby unikly rate limitingu založenému na IP).
Útočník nakonfiguruje svůj nástroj tak, aby odesílal přihlašovací požadavky kontrolovanou rychlostí — dostatečně pomalu, aby nespustil jednoduché rate limity, ale dostatečně rychle, aby otestoval tisíce přihlašovacích údajů za hodinu. Každý požadavek přichází z jiné IP adresy, s jiným řetězcem user agent, což vypadá jako proud legitimních pokusů o přihlášení od různých uživatelů.
Proč rate limiting selhává
Rate limiting založený na IP je první linií obrany, kterou většina týmů nasadí, a je první, která selže. Služby residenčních proxy poskytují přístup k milionům reálných IP adres — domácích routerů, mobilních zařízení a IoT zařízení — které rotují s každým požadavkem. Z pohledu serveru přichází každý pokus o přihlášení z unikátní residenční IP adresy, která nemá žádnou historii zneužití.
Rate limiting založený na účtu (omezení počtu pokusů o přihlášení na uživatelské jméno) je účinnější, ale vytváří vektor denial-of-service: útočník může zablokovat legitimní uživatele tím, že úmyslně provede několik neúspěšných pokusů o přihlášení proti jejich uživatelským jménům.
Device fingerprinting jako základ
Device fingerprinting mění rovnici, protože identifikuje zařízení, na kterém útok běží, nikoli IP adresu, kterou používá. Nástroj pro credential stuffing běžící na jediném stroji nebo farmě virtuálních strojů produkuje konzistentní device fingerprint napříč všemi svými požadavky, bez ohledu na to, přes kterou proxy IP adresu právě rotuje.
Náš engine Bot Detection identifikuje samotné automatizační nástroje. Selenium zanechává artefakty navigator.webdriver. Puppeteer a Playwright mají charakteristické rysy JavaScriptového runtimu. Headless Chrome postrádá specifická rozhraní browser API, která headed Chrome zahrnuje. Dokonce i vlastní HTTP klienti, kteří nespouštějí JavaScript, jsou odhaleni pomocí TLS fingerprintingu — jejich zprávy Client Hello prozrazují použitou HTTP knihovnu.
Sledování rychlosti podle zařízení
Jakmile máme stabilní identifikátor zařízení (přes Device Identification), můžeme aplikovat kontroly rychlosti na úrovni zařízení, nikoli na úrovni IP. Pokud se jediné zařízení pokusí o 50 přihlášení za 5 minut — bez ohledu na to, z kolika různých IP adres tyto požadavky přišly — je tento vzorec nezaměnitelně credential stuffing.
Náš modul IP Intelligence sleduje rychlost napříč třemi časovými okny: 5 minut, 1 hodina a 24 hodin. Tento přístup s více okny zachytí jak agresivní útoky (stovky pokusů za minutu), tak pomalé útoky typu slow-and-low (několik pokusů za hodinu udržovaných po dobu dnů).
Analýza behaviorálních signálů
Kromě bot detection a sledování rychlosti zkoumá naše analýza Smart Signals behaviorální signály, které odlišují automatizované útoky od legitimních přihlášení. Reální uživatelé vykazují přirozenou variabilitu v načasování požadavků, rychlosti psaní a vzorcích navigace. Automatizované nástroje mají tendenci produkovat mechanicky konzistentní načasování, identické hlavičky požadavků a žádné pohyby myší ani události scrollování.
Kontrolujeme také nekonzistence signálů, které naznačují spoofing prostředí. Prohlížeč, který tvrdí, že je Chrome na macOS, ale prezentuje parametry WebGL spojené s Linuxovým virtuálním strojem, je okamžitě označen. Řetězec user agent, který neodpovídá TLS fingerprintu, spustí varování o manipulaci.
Nasazení na edge
Klíčem k zastavení credential stuffingu je zastavit jej dříve, než dorazí k vašemu autentizačnímu systému. Náš agent se načte na přihlašovací stránce a shromáždí signály během načítání stránky — dříve, než uživatel (nebo bot) odešle přihlašovací údaje. Výsledky fingerprintu a bot detection jsou k dispozici v okamžiku odeslání přihlašovacího formuláře, což vašemu serveru umožňuje okamžitě odmítnout automatizované pokusy.
Pro cíle s vysokým objemem doporučujeme nasadit naši integraci Cloudflare Worker nebo CloudFront Lambda@Edge, která spouští validaci fingerprintu na CDN edge. To znamená, že požadavky credential stuffingu jsou blokovány na edge uzlu nejbližším útočníkovi a nikdy nedorazí k vašim serverům na originu.
Výsledky
Naši zákazníci hlásí 99% snížení objemu credential stuffingu po nasazení tracio.ai na jejich přihlašovací stránky. Zbývající 1 % tvoří vysoce sofistikované útoky využívající plnou automatizaci prohlížeče s pečlivě zfalšovanými signály — které naše vícemetodová detekce zachytí během prvních několika desítek požadavků, jakmile se objeví vzorce rychlosti.