การป้องกัน Bot บนอินเทอร์เน็ตเป็นความท้าทายที่ระบบรักษาความปลอดภัยต้องปรับตัวอยู่ตลอดเวลา ปัจจุบัน Cloudflare มีการตรวจสอบคำขอในระดับเครือข่ายมากกว่า 1 ล้านล้านรายการต่อวัน และได้มีการใช้งาน Cloudflare Turnstile เพื่อแทนที่ระบบ CAPTCHA แบบเดิม ซึ่ง Turnstile มีการทำงานถึง 3 พันล้านครั้งต่อวันเพื่อตรวจสอบผู้ใช้งานในจุดสำคัญ เช่น หน้าล็อกอิน หรือหน้าชำระเงิน อย่างไรก็ตาม การตรวจสอบเฉพาะจุดแบบนี้ยังคงมีช่องโหว่ เพราะระบบไม่สามารถมองเห็นพฤติกรรมระหว่างทางได้ว่า มนุษย์และ Bot มีการโต้ตอบกับเว็บไซต์อย่างไรตลอดการใช้งาน
เพื่ออุดช่องโหว่นี้ Cloudflare จึงเปิดตัว Precursor ซึ่งเป็นระบบตรวจสอบแบบ Session-based บน Client-side โดยทำงานผ่านการฝัง JavaScript ขนาดเล็กเข้าไปในหน้าเว็บแบบไดนามิก เพื่อเก็บข้อมูลพฤติกรรมการใช้งานอย่างต่อเนื่อง ระบบนี้เป็นส่วนเสริมของ Turnstile ภายใต้ชุดบริการ Enterprise Bot Management โดยจะนำข้อมูลที่ได้ไปประมวลผลร่วมกับระบบป้องกัน Bot แบบเรียลไทม์ ทำให้สามารถแยกแยะผู้ใช้งานจริงออกจากระบบอัตโนมัติได้อย่างแม่นยำยิ่งขึ้น
สาเหตุที่ต้องวิเคราะห์พฤติกรรมอย่างต่อเนื่อง เป็นเพราะ Bot ในปัจจุบันมีความสามารถสูงขึ้นมาก พวกมันสามารถรัน JavaScript บนเบราว์เซอร์จริง และแก้ CAPTCHA ได้เนียนจนระบบจับไม่ได้หากตรวจสอบเพียงช่วงเวลาสั้นๆ แต่สิ่งที่ Bot ทำเลียนแบบได้ยากมากคือ “พฤติกรรมทางกายภาพของมนุษย์” ที่มีความไม่สมบูรณ์แบบเมื่อใช้งานเว็บไซต์เป็นระยะเวลานาน
การเคลื่อนไหวของ Bot มักจะสมบูรณ์แบบเกินไป เช่น การลากเมาส์เป็นเส้นตรง หรือใช้สมการคณิตศาสตร์อย่างเส้นโค้ง Bézier curves เพื่อจำลองการลากเมาส์ ในขณะที่มนุษย์มีข้อจำกัดทางกายภาพที่ระบบ Precursor สามารถตรวจจับได้ ได้แก่:
- Wrist pivot: การเคลื่อนไหวของเมาส์โดยมนุษย์มักจะเป็นแนวโค้งตามสรีระการหมุนของข้อมือและท่อนแขน
- Cognitive load: ระยะเวลาความหน่วงที่เกิดขึ้นจริงระหว่างที่สมองมนุษย์ประมวลผลภาพบนจอแล้วสั่งให้มือคลิกเมาส์
- Hand tremor: อาการสั่นตามธรรมชาติของกล้ามเนื้อมือมนุษย์ แม้จะพยายามถือเมาส์ให้นิ่งที่สุดก็ตาม
เพื่อจับความผิดปกติเหล่านี้ Precursor มีกลไกการทำงาน 4 ขั้นตอนหลัก ดังนี้:
- Injection and collection layer: ระบบจะฝัง JavaScript ขนาดเล็กเข้าไปใน HTML อัตโนมัติที่ระดับเครือข่าย โดยไม่ต้องตั้งค่าใดๆ เพิ่มเติม สคริปต์นี้จะคอยจับสัญญาณ เช่น การเคลื่อนที่ของเมาส์ จังหวะการพิมพ์แป้นพิมพ์ หรือการเปลี่ยนโฟกัสหน้าจอ โดยไม่กระทบต่อการทำงานหลักของเว็บ
- Evaluation layer: ข้อมูลพฤติกรรมจะถูกส่งกลับมาที่เซิร์ฟเวอร์ Edge เพื่อประมวลผลและตรวจสอบความสอดคล้อง เช่น ตรวจสอบว่ามีการพิมพ์แป้นพิมพ์เกิดขึ้นในขณะที่ช่องกรอกข้อความถูกโฟกัสอยู่จริงๆ หรือไม่
- Session integration: ข้อมูลทั้งหมดจะถูกรวบรวมประเมินผลตลอดทั้ง Session ทำให้ Bot ไม่สามารถรีเซ็ตพฤติกรรมตัวเองได้ด้วยการกดรีเฟรชหน้าเว็บ ข้อมูลนี้จะถูกนำไปปรับลดหรือเพิ่มคะแนนความน่าจะเป็น Bot ในระบบอย่างต่อเนื่อง
- Privacy by design: ระบบถูกออกแบบมาให้เก็บเฉพาะข้อมูลเชิงสถิติ เช่น จังหวะและน้ำหนักการพิมพ์ โดยจะไม่บันทึกว่าผู้ใช้งานพิมพ์ตัวอักษรใดลงไป ข้อมูลเหล่านี้จะใช้ภายในระบบของ Cloudflare เท่านั้น และไม่มีการระบุตัวตนผู้ใช้งาน
นอกจากนี้ Cloudflare ยังได้เพิ่มมุมมองแบบ Session-based ในหน้า Security Analytics เพื่อให้ผู้ดูแลระบบสามารถวิเคราะห์ภาพรวมการเดินทางของผู้เยี่ยมชมบนเว็บไซต์ได้ชัดเจนขึ้น ว่ามีพฤติกรรมใดที่เข้าข่ายระบบอัตโนมัติ
ปัจจุบัน Precursor เริ่มเปิดให้ใช้งานแล้วผ่าน Cloudflare Dashboard และจะเปิดให้ใช้ฟรีจนกว่าจะออกเวอร์ชัน GA ในช่วงปลายปีนี้ ผู้ใช้งานสามารถเลือกได้ว่าจะเปิดระบบเพื่อเก็บข้อมูลพฤติกรรมแบบเงียบๆ หรือตั้งค่าให้เรียก Challenge ขึ้นมาตรวจสอบทันทีเมื่อพบพฤติกรรมที่น่าสงสัย ระบบนี้สามารถทำงานร่วมกับ Bot Management และ Turnstile ได้ทันทีโดยไม่ต้องแก้ไขโค้ดของแอปพลิเคชัน
ที่มา: Cloudflare