Phần 4 : BOT Management
Các loại bot: GAMIB
G – Good Bots:
Đây là các bot hợp pháp hoặc bot tốt, có lợi cho website. Ví dụ: Googlebot (bot của Google dùng để thu thập thông tin để lập chỉ mục), Bingbot, hay các bot của công cụ tìm kiếm khác.
Cloudflare sẽ không chặn các Good Bots này vì chúng có lợi cho việc lập chỉ mục website và cung cấp dữ liệu cho các dịch vụ như SEO.
A – Automated Bots:
Đây là các bot tự động, có thể được lập trình để thực hiện các tác vụ cụ thể. Chúng có thể là API clients, script tự động thực hiện các hành động nhất định trên trang web của bạn.
Tùy thuộc vào mục đích của các Automated Bots, bạn có thể muốn cho phép hoặc chặn chúng.
M – Malicious Bots:
Đây là các bot xấu, được thiết kế để thực hiện các hoạt động gây hại như spam, scraping nội dung (sao chép nội dung trang web), tấn công brute force hoặc tấn công DDoS.
Cloudflare Bot Management được thiết kế để phát hiện và chặn các bot độc hại này nhằm bảo vệ website của bạn.
I – Impersonators:
Đây là các bot giả mạo, thường giả vờ là các bot tốt hoặc bot hợp pháp, nhưng thực chất có mục đích xấu. Ví dụ, một bot xấu có thể giả làm Googlebot để vượt qua các biện pháp bảo mật.
Impersonators thường gây khó khăn trong việc phát hiện vì chúng cố gắng ngụy trang thành các bot hợp pháp. Cloudflare sử dụng các thuật toán và phân tích hành vi để phát hiện và chặn chúng.
B – Bad Bots:
Tương tự như Malicious Bots, Bad Bots thường nhắm vào việc gây thiệt hại cho trang web như thực hiện tấn công DDoS, spam bình luận, hoặc khai thác bảo mật. Chúng có thể đến từ botnet hoặc các nguồn độc hại khác.
Cloudflare sẽ chặn hoặc áp dụng các biện pháp bảo vệ, chẳng hạn như thách thức CAPTCHA, để đối phó với các bot này.
Giới thiệu Bot Management
Bot Management dành cho Enterprise là một paid add-on cung cấp khả năng bảo vệ bot tinh vi cho miền của bạn.
Sản phẩm Enterprise này mang lại sự linh hoạt nhất cho khách hàng bằng cách:
Tạo điểm cho bot ( bot score ) từ 1-99 cho mỗi request. Scores dưới 30 thường có thể là bot traffic. Nếu là điểm 1 thì nó chắc chắn là Bot traffic
Cho phép khách hàng tự đưa ra Action cho những điểm bot score này với WAF custom rules hoặc
Workers.Cho phép khách hàng theo dõi điểm bot score này trong Bot Analytics or Logs.
Hiểu hơn về cách Cloudflare áp dụng các cơ chế phát hiện bot cho mọi yêu cầu:
Cloudflare áp dụng Quản lý Bot cho mọi yêu cầu trong thời gian thực, không có độ trễ.
Mô-đun Quản lý Bot chạy trên các máy chủ edge toàn cầu, gần nhất với người dùng. ( kết hợp với DDOS để phát hiện hành vi BOTnet tinh vi chưa tình biết đến thay vì phải gửi lên Data Core Center Cloudflare)
Dữ liệu được đưa vào 5 công cụ phát hiện bot để xác định yêu cầu có phải từ bot không.
Bot score
Not computed
0 - Bot Management did not run on the request
Automated
1
Likely automated
2 - 29.
Likely human
30 - 99.
Verified bot
Good Bot , Cloudflare có danh sách Good Bot
5 Detection mechanisms:

Bot Management của Cloudflare hiện sử dụng 5 cơ chế phát hiện bổ sung lẫn nhau, tạo ra các điểm số riêng, sau đó được kết hợp để tạo thành một điểm số duy nhất gửi tới Firewall. Phần lớn các cơ chế phát hiện được áp dụng cho mọi yêu cầu, trong khi một số cơ chế được kích hoạt theo từng khách hàng để phù hợp hơn với nhu cầu của họ.
Heuristics Engine :
Sử dụng các quy tắc và phương pháp phát hiện dựa trên kinh nghiệm (heuristics) để nhận diện bot. Cơ chế này dựa vào các mẫu hành vi chung của bot đã biết.
Các request được phát hiện gắn cờ là Heuristicslà bot với bot score = 1
Machine Learning :
Dựa trên các mô hình học máy để phân tích và xác định các mẫu truy cập, giúp nhận diện bot một cách chính xác hơn. Cốt lõi của cơ chế phát hiện dựa trên học máy là CatBoost - một thư viện mã nguồn mở hiệu suất cao cho boosting trên cây quyết định. Việc áp dụng mô hình chỉ mất chưa đến 50 micro giây, đảm bảo quá trình xử lý yêu cầu cực kỳ nhanh chóng.
Behavioral Analysis (Phân tích hành vi)
Behavioral Analysis là một cách tiếp cận học máy không giám sát (unsupervised), không cần con người gắn nhãn. Thay vì dựa vào các nhãn đã biết về bot, hệ thống này tự học để phân biệt hành vi xấu so với hành vi bình thường.Phân tích hành vi là một cách tiếp cận học máy không giám sát (unsupervised), không cần con người gắn nhãn. Thay vì dựa vào các nhãn đã biết về bot, hệ thống này tự học để phân biệt hành vi xấu so với hành vi bình thường.
Các đặc điểm nổi bật của Phân tích Hành vi:
Phù hợp với nhu cầu cụ thể của khách hàng: Phương pháp này tự động được kích hoạt cho tất cả khách hàng sử dụng Quản lý Bot và liên tục tính toán, phân tích hành vi truy cập bình thường trên trang web của khách hàng qua một khoảng thời gian dài.
Phát hiện các bot chưa từng thấy trước đây: Vì không sử dụng các nhãn bot đã biết, cơ chế này có thể phát hiện các bot mới và các hành vi bất thường khác biệt so với hành vi bình thường trên trang web của khách hàng.
Khó bị né tránh: Hành vi bất thường thường là kết quả trực tiếp từ mục tiêu của bot, vì vậy, bot khó có thể che giấu được hành vi đó để vượt qua hệ thống phát hiện.
Verified Bots
Verified Bots (Xác minh bot): Xác định các bot hợp pháp từ những nguồn đáng tin cậy, chẳng hạn như bot của các công cụ tìm kiếm (Googlebot, Bingbot), để đảm bảo chúng không bị chặn.
JS Fingerprinting
Để đạt được chất lượng phát hiện bot tốt trong Bot Management, Cloudflare tập trung vào chất lượng và số lượng tín hiệu. Các phương pháp phát hiện bot trước đây chủ yếu dựa vào các thuộc tính yêu cầu (request attributes) được gửi qua mạng và phân tích ở phía máy chủ. Tuy nhiên, câu hỏi đặt ra là: Liệu có thể khai thác thêm tín hiệu nào từ phía máy khách để cải thiện việc phát hiện không?
Câu trả lời: Có!
Mỗi trình duyệt đều có các đặc điểm riêng biệt trong cách hiển thị, và kết quả đồ họa trên trang web, như canvas, phụ thuộc vào nhiều lớp khác nhau như phần cứng (GPU), phần mềm (driver, hệ điều hành). Điều này tạo ra kết quả rất độc đáo, cho phép Cloudflare phân biệt chính xác giữa các loại trình duyệt hoặc thiết bị khác nhau.
Tại sao phương pháp này không xâm phạm quyền riêng tư?
Kỹ thuật này không phải là một loại siêu cookie (supercookie) và không được sử dụng để theo dõi hoặc nhận diện cá nhân người dùng.
Nó chỉ xác minh rằng tác nhân người dùng (user agent) của yêu cầu có khớp với các thông tin thu thập từ API canvas của trình duyệt hay không.
Cách thức hoạt động của cơ chế phát hiện này
Hệ thống thách thức-đáp ứng (challenge-response): Cloudflare tiêm một thách thức (challenge) vào trang web từ máy chủ edge của mình.
Thách thức này sau đó được hiển thị ngầm trong nền (background) bằng các hướng dẫn đồ họa cụ thể, và kết quả được gửi ngược về Cloudflare để xác thực.
Dựa trên kết quả này, Cloudflare sẽ đưa ra các hành động tiếp theo, chẳng hạn như tạo ra điểm số để đánh giá khả năng là bot của yêu cầu.
Phương pháp này có nhiều cơ chế phức tạp nhằm đảm bảo kết quả đáng tin cậy, không làm tổn hại đến quyền riêng tư của người dùng và có khả năng chống lại các cuộc tấn công như phát lại (replay attacks). Hệ thống hiện đang trong giai đoạn thử nghiệm beta riêng tư và đã cho thấy những kết quả rất hứa hẹn.
JA3 và JA4 Fingerprints:
JA3 và JA4 Fingerprints là các kỹ thuật giúp xác định các client SSL/TLS (thường là trình duyệt hoặc ứng dụng) dựa trên đặc điểm riêng của chúng khi thiết lập kết nối bảo mật. Chúng cung cấp khả năng phân biệt các client SSL/TLS cụ thể ngay cả khi chúng kết nối đến các địa chỉ IP, cổng, hoặc chứng chỉ X509 khác nhau.
JA3 Fingerprint:
Tạo dấu vân tay (fingerprint) bằng cách băm các yếu tố trong thông điệp ClientHello của giao thức TLS, gồm danh sách bộ mã hóa (cipher suites), các phần mở rộng (extensions), và các tham số khác. Tuy nhiên, JA3 gặp vấn đề do các trình duyệt mới bắt đầu xáo trộn thứ tự phần mở rộng trong ClientHello, khiến các dấu vân tay khó nhận diện hơn.
JA4 Fingerprint
Nâng cấp từ JA3, JA4 khắc phục hạn chế trên bằng cách sắp xếp lại thứ tự các phần mở rộng trong ClientHello. Việc này làm giảm số lượng dấu vân tay khác nhau cho các trình duyệt hiện đại, giúp hệ thống nhận diện và phân loại chính xác hơn.

JA4 Signals :
hiển thị các quan sát về một JA4 cụ thể mà Cloudflare đã thấy trên toàn cầu trong một giờ qua
h2h3_ratio_1h
tỷ lệ HTTP/2 và HTTP/3 / toal JA4 fingerprint trong 1 giờ . (0-1)
cao ⇒ người dùng
heuristic_ratio_1h
Tỷ lệ request có scoreSrc là “heuristic” / total JA4 fingerprint trong 1 giờ (%)
cao ⇒ Bot cao
reqs_quantile_1h
JA4 fingerprint này có số lượng yêu cầu tương đối cao trong 1 giờ qua.
Quantile position = 95:điều này có nghĩa là số lượng yêu cầu từ fingerprint này lớn hơn 95% số lượng yêu cầu từ tất cả các fingerprints khác.
uas_rank_1h
Thứ hạng của JA4 fingerprint dựa trên số lượng user agents khác nhau liên kết với fingerprint trong vòng 1 giờ qua. Thấp ⇒ rank cao hơn các fingerprint khác
browser_ratio_1h
Tỷ lệ request của user agent sử dụng brower / total JA4 fingerprint. cao ⇒ người dùng brower cao
paths_rank_1h
Rank của JA4 dựa trên paths unique đã truy cập 1 giờ qua.
paths unique : /home /about
reqs_rank_1h
Rank JA4 / total all requests accociated fingerprint
cache_ratio_1h
Tỷ lệ phản hồi có thể lưu trữ cho JA4 fingerprint cho thấy bao nhiêu phần trăm phản hồi từ fingerprint này có thể được lưu trữ tạm thời. Giá trị cao cho thấy phần lớn phản hồi có thể được lưu trữ (cache), giúp cải thiện hiệu suất, trong khi giá trị thấp cho thấy hầu hết phản hồi là nội dung động hoặc không thể lưu trữ.
ips_rank_1h
Thứ hạng của JA4 fingerprint dựa trên số lượng địa chỉ IP duy nhất mà nó liên kết trong vòng 1 giờ qua. Giá trị thấp hơn cho thấy fingerprint này có nhiều địa chỉ IP khách hàng duy nhất, giá trị cao cho thấy nó liên quan đến ít địa chỉ IP hơn.
ips_quantile_1h
vị trí phần vị (quantile position) của JA4 fingerprint dựa trên số lượng địa chỉ IP khách hàng duy nhất liên kết với fingerprint này trong vòng 1 giờ qua, so với tất cả các fingerprints khác. Giá trị cao hơn cho thấy fingerprint này có số lượng địa chỉ IP khách hàng duy nhất cao hơn so với các fingerprints khác.
Last updated