หยุด Credential Stuffing ตั้งแต่ที่ Edge
tracio.ai ระบุความพยายามล็อกอินอัตโนมัติได้อย่างไรก่อนที่จะเข้าถึงระบบยืนยันตัวตนของคุณ โดยผสาน device fingerprint การตรวจสอบ velocity และสัญญาณเชิงพฤติกรรม
การโจมตีแบบ
credential stuffing
ใช้เครื่องมืออัตโนมัติทดสอบชุดชื่อผู้ใช้และรหัสผ่านที่ถูกขโมยกับหน้าล็อกอิน การโจมตีมีขนาดมหาศาล — ผู้โจมตีรายเดียวอาจทดสอบข้อมูลรับรองนับล้านชุดต่อวันกระจายไปยัง เว็บไซต์เป้าหมายหลายร้อยแห่ง การป้องกันแบบดั้งเดิม เช่น การจำกัดอัตราและ CAPTCHA ไม่เพียงพอ เพราะผู้โจมตีกระจายคำขอไปยังที่อยู่ IP หลายพันแห่งและใช้บริการแก้ CAPTCHA นี่คือวิธีที่เราหยุด credential stuffing ตั้งแต่ที่ edge ก่อนที่คำขอจะไปถึงระบบยืนยันตัวตนของคุณ
พื้นผิวการโจมตี
ปฏิบัติการ credential stuffing ทั่วไปใช้รายการข้อมูลรับรองที่ถูกขโมย (หาได้ในตลาดมืดในราคาต่ำเพียง 10 ดอลลาร์ต่อหนึ่งล้านรายการ), เครื่องมืออัตโนมัติ (มักเป็นสคริปต์ที่เขียนเองหรือเครื่องมืออย่าง OpenBullet) และ pool ของ IP proxy (residential proxy ที่หมุนเวียนในทุกคำขอเพื่อหลบการจำกัดอัตราตาม IP)
ผู้โจมตีตั้งค่าเครื่องมือให้ส่งคำขอล็อกอินในอัตราที่ควบคุมได้ — ช้าพอที่จะไม่ไปกระตุ้นการจำกัดอัตราแบบง่าย ๆ แต่เร็วพอที่จะทดสอบข้อมูลรับรองหลายพันชุดต่อชั่วโมง แต่ละคำขอมาจากที่อยู่ IP ที่ต่างกัน พร้อมสตริง user agent ที่ต่างกัน ทำให้ดูเหมือนกระแสความพยายามล็อกอินที่ถูกต้องจากผู้ใช้หลายคน
ทำไมการจำกัดอัตราจึงล้มเหลว
การจำกัดอัตราตาม IP คือแนวป้องกันด่านแรกที่ทีมส่วนใหญ่นำมาใช้ และเป็นด่านแรกที่ล้มเหลว บริการ residential proxy ให้การเข้าถึงที่อยู่ IP จริงนับล้านแห่ง — เราเตอร์ในบ้าน อุปกรณ์มือถือ และอุปกรณ์ IoT — ที่หมุนเวียนในทุกคำขอ จากมุมมองของเซิร์ฟเวอร์ ความพยายามล็อกอินแต่ละครั้งมาจาก residential IP ที่ไม่ซ้ำกันซึ่งไม่มีประวัติการใช้ในทางที่ผิด
การจำกัดอัตราตามบัญชี (จำกัดจำนวนความพยายามล็อกอินต่อชื่อผู้ใช้) มีประสิทธิภาพมากกว่า แต่สร้างช่องทางโจมตีแบบ denial-of-service ขึ้นมา นั่นคือผู้โจมตีสามารถล็อกไม่ให้ผู้ใช้ที่ถูกต้องเข้าระบบได้ด้วยการจงใจล็อกอินผิดหลายครั้งกับชื่อผู้ใช้ของพวกเขา
Device Fingerprinting คือรากฐาน
Device fingerprinting เปลี่ยนสมการเพราะมันระบุอุปกรณ์ที่รันการโจมตี ไม่ใช่ IP ที่มันใช้อยู่ เครื่องมือ credential stuffing ที่รันบนเครื่องเดียวหรือฟาร์ม VM สร้าง device fingerprint ที่คงที่ตลอดทุกคำขอ ไม่ว่ามันจะหมุนเวียนผ่าน IP proxy ตัวใดก็ตาม
เอนจิน Bot Detection ของเราระบุเครื่องมืออัตโนมัติเหล่านี้ได้ Selenium ทิ้งร่องรอย navigator.webdriver ไว้ Puppeteer และ Playwright มีลักษณะเฉพาะของ JavaScript runtime Headless Chrome ขาด browser API บางตัวที่ Chrome แบบมีหน้าจอมีอยู่ แม้แต่ HTTP client ที่เขียนเองซึ่งไม่รัน JavaScript ก็ถูกตรวจจับได้ผ่าน TLS fingerprinting — ข้อความ Client Hello ของมันเผยให้เห็นไลบรารี HTTP ที่อยู่เบื้องหลัง
การติดตาม Velocity ตามอุปกรณ์
เมื่อเรามีตัวระบุอุปกรณ์ที่เสถียร (ผ่าน Device Identification) เราสามารถใช้การตรวจสอบ velocity ในระดับอุปกรณ์แทนระดับ IP ได้ หากอุปกรณ์เดียวพยายามล็อกอิน 50 ครั้งใน 5 นาที — ไม่ว่าคำขอเหล่านั้นจะมาจาก IP กี่ตัวก็ตาม — รูปแบบนี้คือ credential stuffing อย่างไม่ต้องสงสัย
โมดูล IP Intelligence ของเราติดตาม velocity ในหน้าต่างเวลาสามช่วง: 5 นาที, 1 ชั่วโมง และ 24 ชั่วโมง แนวทางหลายหน้าต่างนี้จับได้ทั้งการโจมตีแบบพุ่งรุนแรง (หลายร้อยครั้งต่อนาที) และการโจมตีแบบช้า ๆ เบา ๆ (ไม่กี่ครั้งต่อชั่วโมงที่ยืดเยื้อต่อเนื่องหลายวัน)
การวิเคราะห์สัญญาณเชิงพฤติกรรม
นอกเหนือจากการตรวจจับบอตและการติดตาม velocity การวิเคราะห์ Smart Signals ของเราตรวจสอบสัญญาณเชิงพฤติกรรมที่แยกความแตกต่างระหว่างการโจมตีอัตโนมัติกับการล็อกอินที่ถูกต้อง ผู้ใช้จริงมีความแปรผันตามธรรมชาติในจังหวะเวลาของคำขอ ความเร็วในการพิมพ์ และรูปแบบการนำทาง ส่วนเครื่องมืออัตโนมัติมักสร้างจังหวะเวลาที่คงที่แบบเครื่องจักร, header คำขอที่เหมือนกัน และไม่มีการเคลื่อนเมาส์หรือเหตุการณ์เลื่อนหน้าจอ
เรายังตรวจหาความไม่สอดคล้องของสัญญาณที่บ่งชี้การปลอมแปลงสภาพแวดล้อมด้วย เบราว์เซอร์ที่อ้างว่าเป็น Chrome บน macOS แต่แสดงพารามิเตอร์ WebGL ที่เกี่ยวข้องกับ Linux VM จะถูกทำเครื่องหมายทันที สตริง user agent ที่ไม่ตรงกับ TLS fingerprint จะกระตุ้นการแจ้งเตือนการดัดแปลง
การติดตั้งที่ Edge
กุญแจสำคัญในการหยุด credential stuffing คือการหยุดมันก่อนที่จะไปถึงระบบยืนยันตัวตนของคุณ เอเจนต์ของเราโหลดบนหน้าล็อกอินและเก็บสัญญาณระหว่างการโหลดหน้า — ก่อนที่ผู้ใช้ (หรือบอต) จะส่งข้อมูลรับรอง ผลลัพธ์ fingerprint และการตรวจจับบอตพร้อมใช้งานเมื่อฟอร์มล็อกอินถูกส่ง ทำให้เซิร์ฟเวอร์ของคุณปฏิเสธความพยายามอัตโนมัติได้ทันที
สำหรับเป้าหมายที่มีปริมาณสูง เราแนะนำให้ติดตั้งการเชื่อมต่อ Cloudflare Worker หรือ CloudFront Lambda@Edge ของเรา ซึ่งรัน fingerprint validation ที่ CDN edge นั่นหมายความว่าคำขอ credential stuffing จะถูกบล็อกที่ edge node ที่ใกล้ผู้โจมตีที่สุด ไม่มีวันไปถึงเซิร์ฟเวอร์ต้นทางของคุณ
ผลลัพธ์
ลูกค้าของเรารายงานว่าปริมาณ credential stuffing ลดลง 99% หลังจากติดตั้ง tracio.ai บนหน้าล็อกอินของพวกเขา ส่วนที่เหลืออีก 1% ประกอบด้วยการโจมตีที่ซับซ้อนสูงซึ่งใช้ browser automation เต็มรูปแบบพร้อมสัญญาณที่ปลอมแปลงอย่างพิถีพิถัน — ซึ่งถูกจับได้ด้วยการตรวจจับหลายวิธีของเราภายในไม่กี่สิบคำขอแรกเมื่อรูปแบบ velocity เริ่มปรากฏ