Bảo vệ ứng dụng của bạn khỏi bot bằng Cloud Armor và reCAPTCHA Enterprise

Tháng Chín 30, 2021
Nga Pham

Lượng truy cập web không mong muốn từ bot đang ngày càng tăng lên và trở thành một yếu tố lớn gây ra rủi ro trong kinh doanh và vận hành. Động cơ của những người điều khiển bot rất đa dạng, có thể kể tới gián đoạn hoạt động kinh doanh thông qua các cuộc tấn công DDoS, các hình thức gian lận như tấn công dồn dập thông tin xác thực và gian lận trong sử dụng thẻ tín dụng. Google đã xây dựng giải pháp hỗ trợ phát hiện và giảm thiểu những rủi ro này bằng cách tận dụng sức mạnh AI/ML của họ để chống lại lưu lượng truy cập từ bot, cũng như quy mô mạng lưới toàn cầu để phòng tránh ngay cả những mối đe dọa lớn nhất.

Google vừa công bố bản xem trước công khai của ứng dụng quản lý bot Cloud Armor kết hợp với reCAPTCHA Enterprise. Bộ tính năng mới này tập trung vào sự tích hợp sâu giữa reCAPTCHA Enterprise và Cloud Armor như một phần của giải pháp Wep-App and API Protection (WAAP) tổng thể của họ, bao gồm cả Apigee. Giờ đây, bạn có thể tận dụng sức mạnh trí thông minh của reCAPTCHA có được từ kinh nghiệm bảo vệ hơn 5 triệu trang web trực tiếp trong Cloud Armor để quản lý toàn diện rủi ro tấn công bot và các mối đe dọa trên các lớp ứng dụng khác. Bạn có thể bật tính năng bảo vệ này bằng cách sử dụng chính sách định cấu hình dễ dàng, chỉ với một cú nhấp chuột trong Cloud Armor mà không cần đến bất kỳ sự thay đổi nào ở máy chủ ứng dụng của bạn. Vì việc phát hiện và thực thi diễn ra trực tiếp hoặc ở biên của mạng lưới Google, bạn có thể giảm thiểu các mối đe dọa trước khi chúng có cơ hội tác động đến các ứng dụng của bạn, cho dù chúng chạy trên GCP, cơ sở tại chỗ hay trong một triển khai hỗn hợp hoặc đa đám mây.

Google Cloud Armor

Google Cloud Armor là dịch vụ giảm thiểu tấn công DDoS và tường lửa ứng dụng web (WAF), tận dung quy mô toàn cầu cho mạng lưới Google để ngăn chặn lưu lượng truy cập không mong muốn đến cơ sở hạ tầng của bạn. Cloud Armor giúp bảo vệ các trang web và ứng dụng khỏi các cuộc tấn công DDoS dựa trên khối lượng và giao thức (volumetric and protocol based DDoS attacks), các cuộc tấn công DDoS cấp ứng dụng và giảm nhẹ phần còn lại trong top 10 của OWASP. Với Cloud Armor, bạn có thể thực thi lọc và xếp hạng Layer 7 tùy chỉnh và các chính sách giới hạn yêu cầu (rate-limiting) tại biên để đảm bảo khối lượng công việc sẵn có, cũng như đáp ứng các yêu cầu về bảo mật và tuân thủ.

reCAPTCHA Enterprise

reCAPTCHA Enterprise là dịch vụ phát hiện gian lận của Google, tận dụng kinh nghiệm hơn một thập kỷ bảo vệ Internet và dữ liệu từ mạng lưới Google với hơn 5 triệu trang web. reCAPTCHA Enterprise có thể được sử dụng để ngăn chặn gian lận và các cuộc tấn công do tập lệnh, phần mềm bot hoặc con người gây ra. Khi được cài đặt trên trang web, tại thời điểm của một hành động, chẳng hạn như đăng nhập, mua hàng hoặc tạo tài khoản, reCAPTCHA Enterprise cung cấp trải nghiệm người dùng dễ dàng, cho phép người dùng hợp lệ tiếp tục sử dụng trang web, đồng thời ngăn chặn những người dùng giả mạo và bot.

Tích hợp Cloud Armor và reCAPTCHA Enterprise

Người dùng hiện có thể định cấu hình các chính sách bảo mật Cloud Armor của họ để chặn các yêu cầu mà reCAPTCHA xác định là đến từ một bot. Có nhiều cách khác nhau để thực hiện điều này.

cloud armor bot management.jpg
  1. Frictionless assessment (Đánh giá nhanh)

reCAPTCHA Enterprise chỉ định điểm số rủi ro cho các tương tác trên trang web của bạn (đăng nhập, đăng ký, đổi thẻ quà tặng, thanh toán, v.v). Dựa trên các tương tác này, nó sẽ trả về một điểm số từ 0,0 đến 1,0 với 0,0 là tương tác có khả năng gian lận và 1,0 là tương tác có thể hợp lệ. Để phòng tránh gian lận, bạn có thể quyết định không thực hiện hành động khi điểm số dưới 0,5 và cho phép những người dùng có điểm cao hơn tiếp tục thực hiện hành động của họ.

Với tích hợp mới này, bạn cũng có thể yêu cầu Cloud Armor thực hiện hành động dựa trên điểm số, bao gồm cả việc chặn hoặc chuyển hướng yêu cầu dựa trên đánh giá của reCAPTCHA từ thiết bị đo lường phía máy khách. Thiết bị do phía máy khách có thể được kích hoạt bằng cách cài đặt thư viện javascript của reCAPTCHA vào các ứng dụng trình duyệt, hoặc sử dụng reCAPTCHA SDK với các ứng dụng di động. Vào thời điểm yêu cầu của người dùng đi khỏi máy khách, nó sẽ được gửi kèm theo đánh giá reCAPTCHA và điểm số bot. Việc chấm điểm này được thực hiện trực tiếp vì yêu cầu của người dùng đang được đánh giá thông qua chính sách bảo mật Cloud Armor của bạn. Điều quan trọng là, công đoạn này xảy ra mà không cần chịu ảnh hưởng từ độ trễ của một yêu cầu hay phản hồi bổ sung nào với dịch vụ reCAPTCHA.

  1. reCAPTCHA Challenge trong Cloud Armor

Trong trường hợp này, những người dùng đáng ngờ sẽ bị Cloud Armor chặn cho đến khi họ vượt qua được thử thách reCAPTCHA. Bạn có thể định cấu hình Cloud Armor để tạo thử thách reCAPTCHA cho bất kỳ yêu cầu nào phù hợp với quy tắc chính sách bảo mật của Cloud Armor, bằng cách định cấu hình quy tắc trong Google Cloud CLI với một hành động chuyển hướng đến reCAPTCHA Enterprise để phân phát một captcha:

gcloud beta compute security-policies rules create 1000
     --security-policy my-policy
     --expression "request.path.matches("/login.html")"
     --action redirect
     --redirect-type google-recaptcha

Trong ví dụ trên, chúng ta đang lựa chọn triển khai reCAPTCHA Enterprise để đánh giá mọi yêu cầu cố gắng truy cập trang đăng nhập, nhằm ngăn chặn không cho bot đăng nhập vào dịch vụ của mình. Trước tiên, Cloud Armor sẽ yêu cầu reCAPTCHA Enterprise đánh giá rủi ro là bot đối với yêu cầu tiếp cận, lưu lượng truy cập không được chào đón từ các bot sẽ bị chặn ngay từ đầu.

  1. Quy trình “chuộc lại”

Mặc dù Google đặt mục tiêu là làm cho đánh giá reCAPTCHA ban đầu chính xác nhất có thể, nhưng một số tổ chức có thể muốn cho người dùng cuối một cơ hội khác bằng cách giải quyết một thử thách trong trường hợp điểm reCAPTCHA thấp hơn ngưỡng xác định của họ. Trong bản phát hành mới, bạn có thể kết hợp cả đánh giá nhanh và thử thách thủ công vào thứ mà Google gọi là quy trình chuộc lại (redemption flow). Để thực hiện điều này, bạn có thể định cấu hình điều kiện đối chiếu cho quy tắc Cloud Armor để phát hiện ngưỡng điểm reCAPTCHA và cấu hình hành động với quy tắc tương tự để chuyển hướng đến một thử thách reCAPTCHA.

gcloud beta compute security-policies rules create 1000
     --security-policy my-policy
     --expression "request.path.matches(\"/login.html\") && token.recaptcha.score <= 0.3"
     --action redirect
     --redirect-type google-recaptcha

Bằng cách kết hợp cả hai trường hợp trên vào quy trình chuộc lại, bạn có thể cho những khách hàng đáng ngờ một cơ hội khác để chứng minh họ không phải là bot.

Các trường hợp sử dụng phát hiện và ngăn chặn bot này có thể được thực hiện cùng nhau hoặc riêng lẻ, cho phép bạn mở rộng quy mô chiến lược quản lý bot của mình mà không làm ảnh hưởng đến khối lượng công việc cần được bảo vệ, vì tất cả các quyết định đều được thực hiện tại biên của mạng Google.

Tính năng quản lý bot bổ sung

Ngoài việc được tích hợp với reCAPTCHA Enterprise, Cloud Armor còn được bổ sung nhiều tính năng hơn để giúp bạn có được một chiến dịch quản lý bot hiệu quả như:

Hành động chuyển hướng

Quy tắc Cloud Armor hiện hỗ trợ thực hiện hành động chuyển hướng để chuyển hướng người dùng cuối đến URL do bạn định cấu hình. Những yêu cầu phù hợp với các quy tắc như vậy sẽ phản hồi bằng HTTP 302 tới máy khách cuối để gửi chúng đến một điểm thay thế.

Thêm Header

Với khả năng chèn các điều kiện và giá trị tùy chỉnh vào header của một yêu cầu, người dùng có thể gắn thẻ yêu cầu dựa trên tiêu chí trong điều kiện đối chiếu của bất kỳ quy tắc Cloud Armor nào. Điều này cho phép bạn xử lý các yêu cầu được gắn thẻ khác nhau ở lớp phía dưới trong các ứng dụng của mình. Ví dụ, bạn có thể chọn chuyển các yêu cầu đáng ngờ đến một honeypot hoặc âm thầm không xử lý giao dịch của họ để không đánh lừa bot rằng nó đã bị phát hiện.

Theo Google Cloud Blog