Precursor: Hệ thống của Cloudflare phát hiện hành vi tác nhân trên toàn bộ phiên
(blog.cloudflare.com)- Khi ngày càng khó phân biệt tự động hóa sử dụng trình duyệt thật và JavaScript chỉ bằng các điểm xác minh riêng lẻ như đăng nhập, đăng ký, thanh toán, Cloudflare đã giới thiệu Precursor để phân tích liên tục các tín hiệu hành vi trên toàn bộ hành trình người dùng
- Bằng cách chèn JavaScript nhẹ được lắp ráp động vào phản hồi HTML, hệ thống thu thập chuyển động con trỏ, hoạt động bàn phím, trạng thái focus và hiển thị trang, rồi phản ánh theo thời gian thực vào đánh giá ở edge và hệ thống phòng thủ bot hiện có
- Chuyển động cổ tay, độ trễ nhận thức, run tay, cùng nhịp điệu tốc độ·hướng·hiệu chỉnh là những yếu tố mà tự động hóa có xu hướng di chuyển thẳng, tốc độ cố định hoặc độ chính xác quá mức khó sao chép trên toàn bộ phiên, trở thành cơ sở cho đánh giá ở cấp độ phiên
- Hệ thống chỉ thu thập thời điểm và nhịp điệu thay vì nội dung gõ phím thực tế, đồng thời áp dụng thiết kế bảo vệ quyền riêng tư không liên kết tín hiệu hành vi với tài khoản người dùng, hồ sơ lâu dài hay hiển thị trực tiếp trên dashboard khách hàng
- Tính năng này hiện đang được triển khai trong Enterprise Bot Management và có thể dùng miễn phí cho đến khi GA vào cuối năm; có thể vận hành bằng cách quan sát nền không cần sửa ứng dụng hoặc buộc Challenge với các phiên chưa được xác minh
Từ các điểm xác minh riêng lẻ đến toàn bộ phiên
- Phòng thủ bot là một cuộc cạnh tranh đối kháng lặp lại giữa sự thích nghi của kẻ tấn công và phản ứng của bên phòng thủ; Cloudflare kết hợp khả năng quan sát trên toàn mạng với các tín hiệu từ môi trường client
- Hệ thống phân tích hơn 1 nghìn tỷ request mỗi ngày trên mạng toàn cầu để nắm bắt danh tiếng, mẫu hành vi và dấu hiệu bất thường trên hơn 20% Web
- Cloudflare Turnstile đã phát triển từ một lựa chọn thay thế CAPTCHA thành Challenge được quản lý theo rủi ro, điều chỉnh mức độ ma sát cần thiết để xác minh người dùng
- Turnstile được chạy khoảng 3 tỷ lần mỗi ngày tại các điểm nhạy cảm như đăng nhập, đăng ký, thanh toán, nhưng khả năng quan sát cách con người và bot hành xử trên toàn bộ hành trình người dùng, bao gồm cả khoảng giữa các điểm này, vẫn còn hạn chế
- Precursor lấp đầy khoảng trống quan sát đó bằng cách liên tục thu thập tín hiệu hành vi từ client trên toàn bộ ứng dụng web và đánh giá ở cấp độ phiên
- Mở rộng cơ chế phát hiện phía client mà Challenge từng cung cấp ra toàn bộ ứng dụng
- Bổ sung có chọn lọc cho Turnstile, và cả hai đều nằm trong Enterprise Bot Management
Tính liên tục của hành vi khó bắt chước hơn những khoảnh khắc ngắn
- Tự động hóa hiện đại có thể chạy JavaScript, dùng môi trường trình duyệt thật và thậm chí vượt qua từng CAPTCHA riêng lẻ, nên trong các khoảng ngắn nó có thể trông giống người dùng bình thường
- Tuy nhiên, việc tái hiện hành vi con người một cách nhất quán trên toàn bộ phiên khó hơn nhiều, và Precursor dùng tính liên tục của hành vi này làm tín hiệu phát hiện gian lận và lạm dụng
- Bổ sung thêm nhiều tín hiệu cho mỗi quyết định để tăng độ chính xác khi phân biệt con người và tự động hóa
- Giảm mức phụ thuộc vào Challenge mang tính xâm lấn, từ đó giảm gián đoạn không cần thiết với người dùng hợp lệ
- Nhà phát triển bot phải mô phỏng cả phiên, làm tăng chi phí xây dựng và duy trì tự động hóa, đồng thời giảm độ tin cậy khi vận hành ở quy mô lớn
Sai số của con người và các ràng buộc vật lý
- Nhà phát triển bot thường thêm Gaussian noise hoặc độ trễ ngẫu nhiên đồng đều vào chuyển động chuột, nhưng chuyển động của con người chịu các ràng buộc vật lý và nhận thức vượt xa nhiễu đơn thuần
- Trục xoay cổ tay: do phạm vi chuyển động của cổ tay và sự xoay của cẳng tay, chuột thường di chuyển theo cung
- Tải nhận thức: sau khi nhìn thấy checkbox sẽ có một độ trễ có thể đo được trước khi nhấp
- Run tay: ngay cả ở bàn tay ổn định vẫn xuất hiện rung động theo tần số run sinh lý
- Tự động hóa có xu hướng dùng nội suy đường thẳng hoặc các đường cong Bézier lý tưởng về mặt toán học, và nhấp với độ chính xác mà con người khó tái hiện
- Thư viện tự động hóa ví dụ di chuyển chuột theo đường thẳng hoàn hảo, luôn quay về gốc tọa độ và phản ứng với cùng một tốc độ
- Ngược lại, con người ngay cả trên cùng một site vẫn thể hiện đường đi không đều, các hiệu chỉnh nhỏ và vượt quá điểm đích, cùng thay đổi về tốc độ·thời điểm·hướng
- Dù từng tương tác riêng lẻ có vẻ hợp lý, khác biệt trong mẫu hành vi vẫn lộ ra trên toàn bộ phiên, và Precursor nắm bắt các chữ ký hành vi này trong suốt chuỗi tương tác để đánh giá
Tiêm vào client và thu thập tín hiệu
- Khi bật Precursor, script nhẹ sẽ được tự động chèn vào phản hồi HTML của các site đi qua mạng Cloudflare
- Không cần cấu hình bổ sung, kết nối mạng riêng hay nhúng bên thứ ba
- Bundle nhỏ, được obfuscate và lắp ráp động theo từng phản hồi
- Được thiết kế để không can thiệp vào logic trang khác của ứng dụng web được host
- Script dùng các event listener nhẹ để ghi nhận chuyển động con trỏ, hoạt động bàn phím, thay đổi focus và trạng thái hiển thị trang
- Các event được serialize theo định dạng nén và buffer trong bộ nhớ
- Dữ liệu tích trong buffer được gửi định kỳ tới tầng đánh giá
Đánh giá ở edge và đối chiếu chéo
- Máy chủ edge deserialize payload Precursor nhận được thành đầu vào hành vi và chạy nhiều evaluator thông qua dispatcher
- Mỗi evaluator có thể đọc luồng Precursor cần thiết và đăng ký tín hiệu vào registry phát hiện dùng chung
- Thay vì phụ thuộc vào một event đơn lẻ, hệ thống đối chiếu chéo nhiều loại dữ liệu khác nhau
- Kiểm tra xem hoạt động con trỏ có khớp với thời gian trang thực sự hiển thị hay không
- Xem các event bàn phím có chỉ xảy ra khi ô văn bản đang được focus hay không
- Thông tin đến liên tục được hợp nhất thành các tín hiệu phát hiện riêng lẻ và dùng để tính trọng số phát hiện
Tích lũy theo phiên và các tầng phát hiện tiếp theo
- Dữ liệu Precursor được tích lũy trong phạm vi phiên, nên bot không thể reset chữ ký hành vi chỉ bằng cách refresh trang hoặc bắt đầu lại từ một Challenge mới
- Metadata của phiên cũng được chuyển cho các tầng phát hiện tiếp theo
- Heuristic shadow mode và phân tích phiên
- So sánh giữa hoàn thành dự kiến và hoàn thành thực tế
- Heuristic session delinquency
- Thông tin quan sát ở edge được ghi lại để cải thiện phát hiện và dùng để điều chỉnh điểm bot của phiên
Thiết kế bảo vệ quyền riêng tư
- Các event listener chỉ thu thập lượng thông tin tối thiểu cần thiết để phân biệt mẫu hành vi của con người với mẫu tự động hóa và lạm dụng
- Với hoạt động bàn phím, hệ thống chỉ ghi nhận thời điểm và nhịp điệu thay vì phím thực tế được nhấn
- Đánh giá các mẫu hành vi tổng hợp thay vì từng hành động riêng lẻ
- Tín hiệu hành vi chỉ được dùng bên trong hệ thống phát hiện bot của Cloudflare
- Không hiển thị trực tiếp trên dashboard khách hàng
- Không liên kết với tài khoản người dùng, danh tính đăng nhập hay hồ sơ lâu dài
- Nhờ đó, hệ thống có thể liên tục cập nhật đánh giá hành vi đồng thời giảm ma sát với người dùng hợp lệ
Security Analytics dựa trên phiên
- Security Analytics được bổ sung chế độ xem dựa trên phiên cho thấy toàn bộ hành trình khách truy cập thay vì từng request riêng lẻ
- Trên dashboard, có thể điều tra các câu hỏi sau
- Một phiên điển hình trên site trông như thế nào
- Những điểm nào lệch khỏi hành vi kỳ vọng
- Những phiên nào cho thấy dấu hiệu tự động hóa theo thời gian
- Hành vi giữa các request, vốn khó nắm bắt bằng phân tích theo từng request, giờ cũng trở thành đối tượng phân tích
- Dữ liệu Precursor được đưa trực tiếp vào điểm bot, phán đoán Challenge và các quy tắc bảo mật hiện có, nên ngữ cảnh phiên bổ sung có thể được tận dụng ngay trong hệ thống phòng thủ hiện hành
Mở rộng trong tương lai và cách kích hoạt
- Precursor là nền tảng để mở rộng phát hiện bot ra toàn bộ ứng dụng, và Cloudflare có kế hoạch tiếp tục mở rộng ở các lĩnh vực sau
- Phạm vi và độ sâu của các tín hiệu hành vi dùng cho bảo mật
- Cách thông tin cấp độ phiên tác động đến các biện pháp bảo vệ của bot management
- Các cách mới để trực quan hóa và hành động dựa trên dữ liệu phiên
- Khi bot tiếp tục tiến hóa, phát hiện cũng phải vượt ra khỏi các điểm xác minh biệt lập để xử lý toàn bộ luồng hoạt động của người dùng
- Hiện tại có thể bật Precursor theo từng zone trong dashboard Cloudflare, và tính năng này được cung cấp miễn phí cho đến khi GA vào cuối năm
- Có thể chọn cường độ xác minh phiên theo hai cách
- Ở chế độ ma sát thấp, hệ thống quan sát hành vi trong nền
- Nếu cần các phiên được xác minh hoàn toàn, hệ thống sẽ buộc Challenge khi không có phiên hiện hữu
- Ngay khi kích hoạt, khả năng phòng thủ bot hiện có sẽ được tăng cường mà không cần thay đổi ứng dụng
- Nếu đã dùng Bot Management hoặc Turnstile, phạm vi phát hiện sẽ được mở rộng vượt ra ngoài các điểm Challenge hiện có để bao phủ cả phần còn lại của phiên và hoạt động giữa các điểm được bảo vệ
1 bình luận
Ý kiến trên Hacker News
Việc Cloudflare đang trở thành người phán xử bot ở cả hai phía chặn và cho phép là điều đáng lo ngại, và có vẻ cũng không lành mạnh cho toàn bộ Internet
Gần 20 năm nay người ta vẫn than rằng cần một phương thức trả thù lao cho nhà sáng tạo nội dung tốt hơn quảng cáo, và đây có thể là câu trả lời
Cũng đã liên tục có chỉ trích rằng Anthropic và OpenAI được xây dựng trên nội dung bị lấy cắp, nên không thể vừa phớt lờ thực tế này vừa muốn có cả hai phía
Chỉ với kiểu phê phán bao quát như vậy thì khó hiểu là ý nói phạm vi cung cấp quá rộng, hay cho rằng không ai cung cấp dịch vụ tương tự
Việc Cloudflare vừa bán sản phẩm agent, vừa tung ra một dịch vụ có vẻ như chặn việc sử dụng agent trên web, tạo cảm giác hơi kỳ lạ
Chắc chắn họ dùng nhiều tín hiệu hơn ngoài đường đi của chuột, nhưng với các thiết bị nhập liệu phi truyền thống như màn hình cảm ứng hay TrackPoint của ThinkPad thì việc phân biệt vốn đã có thể khó
Nếu nhận nhầm người dùng công cụ chuột hỗ trợ tiếp cận là bot thì rất nghiêm trọng, nhưng nếu xử lý ngoại lệ cho họ thì đó cũng có thể trở thành đường vòng cho agent browsing
Dù vậy, xét ở khía cạnh giảm lạm dụng và spam từ agent bot thì gần như chắc chắn đây là hướng đi tốt
Họ có thể cung cấp dịch vụ cho bot tốt dùng, đồng thời giúp chặn bot xấu
Nếu bot mô phỏng chuyển động chuột một cách vụng về thì đó sẽ là tín hiệu bất thường mạnh; còn nếu là bot tốt thì sẽ tuân theo
robots.txtvà không che giấu việc mình là bothCaptcha đã triển khai tất cả các chức năng này từ 6 năm trước
Không chỉ phân biệt người và bot, họ còn nhận diện được cả hành vi bàn phím/chuột xuất hiện khi cùng một người tạo nhiều tài khoản hoặc thử nhiều thẻ tín dụng
Khi Cloudflare chuyển sang hCaptcha năm 2020 thì tính năng phát hiện lạm dụng kiểu này đã được bao gồm, và khi họ rời hCaptcha năm 2022 thì tôi tưởng họ đã tự triển khai rồi
Tìm “accessibility” trên trang thì không có kết quả, nên kiểu chiêm tinh học chuyển động chuột này có vẻ sẽ loại hoàn toàn người khiếm thị và người chỉ dùng bàn phím khỏi một phần đáng kể của Internet
Nếu đăng nhập và từ bỏ tính ẩn danh thì có lẽ sẽ được xem là không phải bot
Ở một số khu vực, nếu không có smartphone thì thậm chí không thể check-in chuyến bay, khiến việc đi lại trở nên bất khả thi, nhưng đa số lại xem đó là chuyện đương nhiên
Phát hiện agent là một lĩnh vực mới hình thành và sẽ còn trở nên quan trọng hơn nhiều
Các sản phẩm liên quan gồm Foil(https://usefoil.com/), Kasada https://www.kasada.io/, DataDome(https://datadome.co/), Castle(https://castle.io/), Fingerprint(https://fingerprint.com/), HUMAN(http://humansecurity.com/), Google Cloud Fraud Defense, thực chất là hậu duệ của reCAPTCHA(https://cloud.google.com/security/products/fraud-defense?hl=...), và Cloudflare Precursor
Hiện các mục đích sử dụng chính là ngăn chặn credential stuffing tự động, lạm dụng tài khoản giả và dùng thử miễn phí cùng chi phí Twilio SMS phát sinh, gian lận thanh toán, scraping bằng LLM, và tự động đầu cơ vé/giày sneaker
Tôi tò mò trường hợp sử dụng nào sẽ thúc đẩy nhu cầu doanh nghiệp, và hy vọng thay vì chặn agent vô điều kiện, họ có thể phát hiện rồi đưa vào luồng dành riêng cho agent để agent có thể duyệt web và thực hiện tác vụ thay người dùng
Chúng cung cấp hàng trăm triệu IP dân dụng, dấu vân tay trình duyệt giống người thật, binary trình duyệt tùy chỉnh, và tự động vượt qua khi gặp Turnstile, reCAPTCHA v3, Kasada, DataDome, AWS WAF, v.v.
Bằng cách kết hợp profiling và xác suất chuyển giai đoạn, nó cho phép yêu cầu xác thực bổ sung hoặc chặn agent chỉ ở một số khu vực nhất định của tài sản số, chẳng hạn như thanh toán có rủi ro chargeback
Hiện Precursor có vẻ tập trung hơn vào phát hiện scraping lấy nhiều tài liệu trên cùng một site
Tôi tò mò không biết có thể chặn bằng gì nếu bot hoặc agent thêm những rung lắc rất nhỏ để bắt chước chuyển động con trỏ của con người
Chắc họ cũng dùng các tín hiệu khác, nhưng riêng tín hiệu này có vẻ bot chỉ cần tinh vi hơn một chút là dễ dàng vượt qua
Chỉ với phân cụm học máy cơ bản cũng có thể phân biệt hành vi chuột, bàn phím, cảm ứng của bot với con người, nhưng cũng rất dễ phân biệt đối xử với người khuyết tật dùng các tính năng hỗ trợ như theo dõi ánh mắt
Hành vi của người chỉ dùng một tay có thể khác rất xa người dùng điển hình, và hiện tại ở Mỹ, ngoài California, Illinois, NY, việc thực thi ADA cũng còn yếu
Một công ty có tầm ảnh hưởng lớn như Cloudflare cần lọc một cách thận trọng để người khuyết tật không trở thành nạn nhân của kiểu phân tích hành vi này
Không nên đẩy trách nhiệm bằng cách nói “chỉ cung cấp điểm khả năng là bot, còn ngưỡng do từng website quyết định”, rồi bảo việc người khuyết tật bị chặn là do site đặt ngưỡng quá nghiêm ngặt
Ở quy mô này, họ phải chịu trách nhiệm cả với các tác động bậc hai, bậc ba của quyết định
Dữ liệu này có thể phân biệt không chỉ bot, mà cả giới tính, tay thuận, độ tuổi ước chừng, tiếng mẹ đẻ theo mẫu gõ phím, quá trình chấn thương và hồi phục, cho tới khuyết tật tinh thần và thể chất
Vì có thể suy đoán ADHD, tâm thần phân liệt, bệnh Parkinson, việc sử dụng thuốc và hiệu quả điều trị từ cách điều hướng trang, nên việc bắt chước để lọt vào cùng cụm với người điển hình trên tất cả các tín hiệu này là cực kỳ khó
Dù có thể hiệu quả trong ngắn hạn, theo thời gian các mẫu hình rõ rệt sẽ lộ ra; dữ liệu rung lắc theo từng site và từng layout cũng đa dạng, nên có thể dễ dàng phát hiện mô phỏng nhân tạo
Cùng một người dùng cũng có chuyển động khác nhau tùy thiết bị nhập liệu
Trên PC làm việc thì dùng chuột, trên laptop cá nhân thì dùng touchpad, trên laptop công việc thì dùng trackpoint ThinkPad, nên một người sẽ có ba hồ sơ hành vi
Chắc sẽ khác với chuyển động của AI, nhưng nếu dấu vân tay chuyển động chuột trở thành thêm một cửa ải nữa thì có thể sẽ xuất hiện nhiều ngoại lệ thú vị
Cloudflare không nên giả vờ là đang bảo vệ Internet
https://developers.cloudflare.com/browser-run/quick-actions/...
Công ty này giống như một doanh nghiệp vừa bán thuốc lá vừa xây bệnh viện
Tôi mong đến ngày Cloudflare bán dữ liệu tình trạng cổ tay của tôi cho công ty bảo hiểm. Địa ngục giám sát do chính chúng ta tạo ra thật tuyệt vời
Gần đây vì dương tính giả của Cloudflare, thường xuyên xảy ra chuyện phiên chỉ tải mãi mà không chuyển sang trang thật
Tôi lo rằng nếu họ cứ tung ra các giải pháp mới được code theo cảm tính mỗi ngày thì chất lượng dịch vụ cũng sẽ bị ảnh hưởng xấu