Tại Sao Google Bắt Chọn Hình Ảnh? Tìm Hiểu Về reCAPTCHA

Khi sử dụng Google, hẳn bạn đã từng gặp phải yêu cầu chọn hình ảnh theo mô tả để chứng minh mình không phải là robot. Hoặc khi truy cập một số trang web, bạn cũng thấy bài kiểm tra tương tự. Đó chính là reCAPTCHA, một công cụ giúp phân biệt người dùng thật với các hệ thống tự động. Vậy reCAPTCHA là gì và tại sao chúng ta lại phải thực hiện bài kiểm tra này? Hãy cùng Sen Tây Hồ tìm hiểu chi tiết trong bài viết dưới đây.

Tổng Quan Về reCAPTCHA

reCAPTCHA được phát triển dựa trên CAPTCHA bởi Luis von Ahn và cộng sự, sau đó được Google mua lại và phát triển.

  • Nhà phát triển: Google
  • Ra mắt: 27 tháng 3 năm 2007
  • Phiên bản: Hiện tại là v2, v3 đang được phát triển và sử dụng

1. reCAPTCHA v1: Cuộc Chiến Chống Spambot Bằng Chữ Viết

Trước hết, cần hiểu rằng reCAPTCHA là một hệ thống dựa trên CAPTCHA. CAPTCHA là viết tắt của “Completely Automated Public Turing test to tell Computers and Humans Apart” (tạm dịch: “Phép thử Turing công cộng hoàn toàn tự động để phân biệt máy tính với người”). Nói một cách đơn giản, đây là một bài kiểm tra để xác định xem truy cập đến từ người dùng thật hay từ một chương trình tự động.

Phép thử Turing là một phương pháp kiểm tra khả năng suy nghĩ của máy tính, trong khi CAPTCHA lại kiểm tra khả năng nhận thức của con người. Do đó, CAPTCHA đôi khi được gọi là phép thử Turing ngược.

CAPTCHA được thiết kế dựa trên sự khác biệt trong cách con người và máy tính nhận thức thông tin. Ví dụ, việc đọc chữ trên một hình ảnh là điều dễ dàng đối với con người, nhưng lại là một thách thức lớn đối với máy tính (ở thời điểm ban đầu).

reCAPTCHA được Google phát triển và cung cấp miễn phí, nhằm giúp các trang web ngăn chặn spambot. Spambot là các chương trình máy tính được lập trình để gửi hàng loạt yêu cầu (request) đến một trang web trong thời gian ngắn, với mục đích xấu như thu thập dữ liệu, tấn công từ chối dịch vụ (DoS), gây ảnh hưởng đến hoạt động của máy chủ.

Như hình trên, ta có thể đọc được dòng chữ “Levelers critics”. Tuy nhiên, các hệ thống tự động sẽ gặp khó khăn trong việc “đọc” do chúng không có khả năng nhận diện và xử lý hình ảnh phức tạp như con người.

Người dùng cần nhập chính xác dòng chữ hiển thị trong khung reCAPTCHA. Nếu nhập đúng, họ sẽ được xác nhận là người thật và vượt qua bài kiểm tra. Ngược lại, họ phải thử lại với một hình ảnh khác.

Trong phiên bản v1, reCAPTCHA chủ yếu sử dụng các hình ảnh chữ viết được quét từ sách báo giấy. Các hình ảnh này sau đó được xử lý để tạo ra các chữ bị biến dạng, gây khó khăn cho các chương trình tự động. Nhờ đó, reCAPTCHA v1 đã góp phần số hóa nhiều ấn phẩm quan trọng như The New York TimesGoogle Books.

Tuy nhiên, sự ra đời của reCAPTCHA cũng mở ra một “cuộc chiến” giữa các bên liên quan, dẫn đến sự thay đổi và phát triển liên tục của công nghệ này:

  • Phe reCAPTCHA: Sử dụng chữ viết được quét từ sách báo giấy, với phông chữ và kiểu chữ in ấn thông thường. Các chữ được lựa chọn qua OCR (Optical Character Recognition – Nhận dạng ký tự quang học).

  • Phe máy tính giả danh người dùng: Sử dụng chính công nghệ OCR, nhưng với thuật toán tốt hơn, để tạo ra các chương trình có thể nhận diện chữ viết hiệu quả hơn.

  • Phe reCAPTCHA: Tăng độ khó của chữ viết bằng cách làm mờ, méo, gạch ngang, hoặc tạo màu nền khác nhau.

  • Phe máy tính giả danh người dùng: Tiếp tục nâng cấp OCR và có thể giải được nhiều hình ảnh reCAPTCHA. Ví dụ, một chương trình được công bố vào năm 2012 tuyên bố có khả năng giải reCAPTCHA với độ chính xác 82%.

  • Phe người giả danh người dùng: Sử dụng CAPTCHA farming, một hình thức thuê người khác giải CAPTCHA thay cho người dùng. Những người này được gọi là CAPTCHA farmer.

  • Phe reCAPTCHA: Dùng các biện pháp để ngăn chặn CAPTCHA farming, như chặn IP, xác định máy tính và trình duyệt qua Browser fingerprinting (thu thập dữ liệu định danh của trình duyệt).

Sau nhiều năm, độ khó của reCAPTCHA nhận dạng chữ viết đã tăng lên đến mức cả máy tính lẫn người dùng đều gặp khó khăn trong việc giải. Cuối cùng, vào ngày 31 tháng 3 năm 2018, Google tuyên bố ngừng hỗ trợ reCAPTCHA v1 và thay thế bằng reCAPTCHA v2.

2. reCAPTCHA v2 và v3: Hình Ảnh và Đánh Giá Hành Vi

reCAPTCHA v2 thay thế hình ảnh chữ viết bằng hình ảnh trực quan, yêu cầu người dùng chọn các ô hình ảnh theo mô tả như “chọn các hình ảnh có chứa vạch kẻ đường” hoặc “chọn ô hình ảnh có chứa biển báo”.

Tuy nhiên, trước khi hiển thị hình ảnh, reCAPTCHA v2 thường yêu cầu người dùng đánh dấu vào ô “Tôi không phải là robot (I’m not a robot)”. Khi người dùng nhấp vào ô này, Google sẽ phân tích thông tin của người dùng, bao gồm tài khoản Google đang đăng nhập, cookie của trình duyệt, lịch sử duyệt web,… Nếu Google đánh giá rằng người dùng không phải là chương trình tự động, họ sẽ được thông qua bài kiểm tra mà không cần chọn hình ảnh.

Cả reCAPTCHA v1 và v2 đều cho phép người dùng lựa chọn nghe âm thanh thay vì nhận diện hình ảnh. Người dùng có thể nhấp vào biểu tượng loa (v1) hoặc tai nghe (v2) để nghe một đoạn âm thanh (thường là một chuỗi số hoặc từ ngữ) và nhập lại những gì đã nghe được để xác nhận.

Phiên bản v3 là một bước tiến lớn so với v2, khi nó không còn yêu cầu người dùng tương tác trực tiếp bằng cách nhận dạng hình ảnh hoặc âm thanh. Thay vào đó, Google sẽ đánh giá hành vi của người dùng và đưa ra một thang điểm từ 0 đến 1. Điểm số này phản ánh mức độ tin cậy của người dùng, dựa trên cách họ duyệt web và tương tác với trang web. Nếu điểm số thấp (gần 0), người dùng có khả năng là một chương trình tự động. Nếu điểm số cao (gần 1), người dùng có khả năng là người thật. Tất cả các hoạt động đánh giá này đều diễn ra ngầm, không gây phiền toái cho người dùng. Điều này giúp giảm bớt sự khó chịu so với các phiên bản reCAPTCHA trước đây.