UNCAPTCHA – ĐÁNH BẠI HỆ THỐNG RECAPTCHA ÂM THANH CỦA GOOGLE VỚI ĐỘ CHÍNH XÁC 85%

NGUỒN CẢM HỨNG

Trên khắp Internet, hàng trăm nghìn trang web dựa vào hệ thống reCaptcha của Google để phòng chống bot (trên thực tế, Devpost sử dụng reCaptcha khi tạo một tài khoản mới). Sau khi nhóm nghiên cứu của Google chứng minh thất bại hoàn toàn của bản reCaptcha trong năm 2012, hệ thống reCaptcha đã phát triển dựa vào những thách thức âm thanh và hình ảnh, những thách thức khó khăn trong quá khứ đối với các hệ thống tự động để giải quyết. Google đã liên tục lặp đi lặp lại thiết kế của nó, phát hành phiên bản mới hơn và mạnh mẽ hơn trong năm nay. Chứng minh thành công thất bại của một lỗ hổng hệ thống đánh vần captcha này đã gây thiệt hại đáng kể cho hàng trăm nghìn trang web phổ biến.

UNCAPTCHA ĐÃ LÀM GÌ?

Hệ thống unCaptcha của chúng tôi có khả năng tấn công được viết cho captcha âm thanh. Sử dụng phần mềm tự động hóa trình duyệt, chúng tôi có thể tương tác với trang web mục tiêu và tương tác với captcha, phân tích các yếu tố cần thiết để bắt đầu cuộc tấn công. Chúng tôi chủ yếu dựa vào cuộc tấn công captcha âm thanh – bằng cách xác định đúng các số nói, chúng ta có thể truyền chương trình reCaptcha theo cách lập trình và lừa trang web nghĩ là bot của chúng tôi là con người. Cụ thể, uncaptcha nhắm mục tiêu trang web Reddit phổ biến bằng cách đi qua các chuyển động của việc tạo ra một người dùng mới, mặc dù uncaptcha dừng lại trước khi tạo ra người dùng để giảm thiểu tác động trên Reddit.

BỐI CẢNH

Hệ thống reCaptcha của Google sử dụng một hệ thống phân tích rủi ro tiên tiến để xác định một cách có khả năng một người sử dụng nhất định là một con người hay một bot. Nó sẽ tính đến cookie của bạn (và thông qua phần mở rộng, sự tương tác của bạn với các dịch vụ khác của Google), tốc độ giải quyết các thách thức, di chuyển chuột và (rõ ràng) bạn đã thành công trong việc giải quyết được nhiệm vụ đã đưa ra như thế nào. Khi hệ thống được ngày càng đáng ngờ, nó mang lại những thách thức ngày càng khó khăn, và yêu cầu người sử dụng giải quyết nhiều vấn đề hơn. Các nhà nghiên cứu đã xác định những điểm yếu nhỏ với hệ thống reCaptcha – 9 ngày sau khi tương tác hợp pháp (ish) với các dịch vụ của Google thường đủ để làm giảm mức độ nghi ngờ của hệ thống đáng kể.

PHƯƠNG THỨC LÀM VIỆC

Định dạng của âm thanh captcha là một loạt dài các số khác nhau được phân cách đọc to với tốc độ khác nhau, độ cao và dấu nhấn thông qua tiếng ồn nền. Để tấn công captcha này, payload âm thanh được xác định trên trang, được tải xuống và tự động chia theo vị trí của giọng nói.

Từ đó, mỗi bit âm thanh số được tải lên 6 dịch vụ phiên mã âm thanh trực tuyến miễn phí khác (IBM, Google Cloud, Google Speech Recognition, Sphinx, Wit-AI, Bing Speech Recognition) và các kết quả này được thu thập. Chúng tôi tổng hợp các kết quả từ mỗi trong số này để liệt kê xác suất số chuỗi có nhiều khả năng nhất với một heuristic định sẵn. Những con số này sau đó được đánh vào nội dung vào captcha, và captcha hoàn tất. Từ thử nghiệm, chúng tôi đã nhìn thấy 92%+ độ chính xác trong nhận dạng cá nhân và 85%+ chính xác khi đánh bại hoàn toàn captcha âm thanh.

HƯỚNG DẪN CÀI ĐẶT

Đầu tiên, cài đặt các gói âm thanh độc lập:

$ pip install -r requirements.txt Hãy chắc chắn rằng bạn cũng có sox, ffmpeg, và selenium được cài đặt!

$ apt-get install sox ffmpeg selenium Và cuối cùng, nó được PoC:

$ python main.py --audio --reddit Thao tác này sẽ mở ra reddit.com, tương tác với trang để đăng ký tài khoản, tạo ra một tên người dùng giả mạo, email, mật khẩu, và sau đó tấn công captcha âm thanh. Khi captcha hoàn tất (cho dù nó đã qua hay không), trình duyệt sẽ thoát.

HỌC HỎI THÊM

Vui lòng đọc bài báo của chúng tôi, tại đây (link dự phòng tại đây), để biết thêm thông tin. Ngoài ra, bạn có thể ghé thăm trang web của chúng tôi tại đây, hoặc kiểm tra bản gốc Slides for USENIX WOOT '17.(link dự phòng tại đây)

Tải unCaptcha tại đây

Nguồn: vnhackernews.com dịch từ https://github.com/ecthros/uncaptcha