Google đã vá lỗ hổng cho phép vượt qua reCAPTCHA của hãng – phương pháp dựa trên thử nghiệm Turing để chứng minh rằng người dùng trang web không phải là rô bốt và được nhiều các trang đăng nhập trực tuyến sử dụng để xác minh người dùng.

Google đã và đang làm việc để chỉnh sửa và tăng cường reCAPTCHA trong nhiều năm và năm ngoái đã mở rộng nó đến các trang web di động cho người dùng Android. Về cơ bản, các nhà phát triển web có thể sử dụng mã reCAPTCHA khá dễ dàng bằng API của Google. Khi được nhúng, reCAPTCHA xác định có nên tin tưởng khách truy cập trang web dựa trên khả năng giải quyết một câu đố đơn giản chẳng hạn như nhấp vào tất cả các ảnh có biển chỉ dẫn giao thông, đánh lại dãy kí tự đã cho, ghi lại con số bạn vừa nghe…

Google vá lỗ hổng cho phép vượt qua reCAPTCHA
Các hình thức xác minh người dùng của reCAPTCHA

Khi người dùng giải quyết thử thách và nhấp chuột xác minh, hàm reCAPTCHA sẽ gửi yêu cầu HTTP đến ứng dụng web. Ứng dụng web lần lượt gửi yêu cầu riêng của mình đến Google reCAPTCHA API, sau đó xác minh là ứng dụng đáng tin cậy và xác minh yêu cầu rằng khách truy cập đã giải quyết chính xác reCAPTCHA.

Để có thể khai thác lỗ hổng cho phép vượt qua reCAPTCHA tin tặc cần thực hiện kỹ thuật tấn công HTTP parameter pollution trong ứng dụng web. Nói cách khác, ứng dụng web sẽ cần gửi yêu cầu xác minh tới reCAPTCHA API theo cách không an toàn. Điều này làm giảm mức độ nghiêm trọng của lỗ hổng, nhưng cũng dẫn đến tỷ lệ thành công 100%.

Kẻ tấn công trong trường hợp này có thể gửi phản hồi được thiết kế đặc biệt tới ứng dụng web mà chứa khóa bí mật được mã hóa cứng để vô hiệu hóa xác minh phản hồi reCAPTCHA. Khóa được cung cấp cho nhà phát triển như một cách dễ dàng để tắt xác minh reCAPTCHA trong môi trường chạy thử. Nếu một kẻ tấn công chèn khóa vào trong chuỗi phía trước phản hồi thông thường từ API, họ có thể tham gia reCAPTCHA.

Google đã khắc phục vấn đề bảo mật ở upstream trong reCAPTCHA REST API và không cần bất cứ sửa đổi nào đối với các ứng dụng web bị ảnh hưởng.

Đây không phải là lần đầu tiên một khai thác được thiết kế cho cơ chế này. Mùa thu năm ngoái đã chứng kiến ​​sự ra mắt của unCAPTCHA, một hệ thống tự động dựa trên trí tuệ nhân tạo được thiết kế tại Đại học Maryland. Nó có thể phá vỡ những thách thức reCAPTCHA dựa trên âm thanh của Google (được cung cấp dưới dạng tùy chọn cho người khuyết tật), với độ chính xác 85%. Trên thực tế unCAPTCHA có thể giải quyết 450 thách thức reCAPTCHA với cùng mức độ chính xác chỉ trong vòng 5,42 giây.

unCaptcha kết hợp các công cụ chuyển từ giọng nói sang văn bản trực tiếp, miễn phí với kỹ thuật lập bản đồ ngữ âm. Hệ thống tải về thử thách âm thanh, chia nhỏ nó thành một số clip âm thanh kỹ thuật số, sau đó chạy chúng thông qua một số hệ thống chuyển văn bản thành giọng nói để xác định tính chính xác, rồi tổng hợp kết quả theo mức độ tin cậy và gửi câu trả lời cho Google.

reCAPTCHA 3

Trong khi đó, Google gần đây đã công bố phiên bản beta của một cách tiếp cận mới để reCAPTCHA loại bỏ các câu đố. Thay vào đó reCAPTCHA 3 trả về điểm tin cậy cho mỗi yêu cầu dựa trên tương tác với trang web.

Google cho biết cơ chế sẽ không làm gián đoạn người dùng và quản trị viên trang web sẽ có thể quyết định thời điểm chạy nó. Điểm số dựa trên tương tác của người dùng với trang web, với các đặc điểm hành vi như chuyển động của chuột được sử dụng để xác định cấp độ humanity của khách truy cập. Điểm số “tốt” là 1,0, trong khi tương tác bot sẽ được tính bằng không.