CAPTCHA là gì? Có những dạng CAPTCHA nào?

Cũng như mọi thứ trong kỉ nguyên thông tin, thay đổi rất nhanh và mau chóng trở thành một thứ quen thuộc hàng ngày mà chúng ta còn không để ý. Hệ thống xác thực người dùng trên mạng CAPTCHA là một ví dụ.

Khi bạn nhấp vào hộp kiểm I'm not a robot dường như chỉ là một hành động rất đơn giản, một cú nhấp, nhưng sự thật đằng sau phức tạp hơn như vậy. Bạn có thể đọc bài viết về I'm not a robot trên Quantrimang.com để hiểu rõ hơn về dạng CAPTCHA này. 

Trong bài viết sau mình sẽ tìm hiểu về CAPTCHA là gì, nó ra đời như thế nào và tại sao các web lại cần có CAPTCHA, reCAPTCHA hay I'm not a robot.

CAPTCHA là gì? Tại sao cần có CAPTCHA?

CAPTCHA là viết tắt của “Completely Automated Public Turing test to tell Computers and Humans Apart” (tạm dịch là bài kiểm tra tính tự động để phân biệt máy tính và con người).

Trong thời đại Internet ngày nay, khả năng độc giả của một trang web là một robot rất cao. Bot mạng được lập trình nhằm mục đích độc hại (chạy các tác vụ tự động) ngày càng phổ biến trên Internet. Chúng có thể được sử dụng ở nhiều quy mô khác nhau từ việc tạo tài khoản mạng xã hội giả mạo, đặt vé xem buổi hòa nhạc nổi tiếng hay dàn dựng một cuộc tấn công từ chối dịch vụ phân tán DDoS quy mô lớn. Điều này có thể phá hủy hoạt động của mọi doanh nghiệp từ ngân hàng đến các trang web của chính phủ. Vì nguy cơ như vậy, cần phải có cách nào đó để phân biệt các bot mạng với mục đích xấu xa và người dùng thực sự, có thiện chí. Đó là lý do ra đời CAPTCHA.

Sự ra đời của CAPTCHA

Giống như các bot mạng và nhiều cải tiến trong lĩnh vực Internet, CAPTCHA bắt nguồn trong cộng đồng hacker. Quay trở lại những năm 1980, hacker đã phát minh ra leetspeek để vượt qua lớp bảo mật trên các diễn đàn trò chuyện trên Internet. Leet là phương pháp chuyển đổi các từ thành những ký tự hoặc chữ viết tắt nhìn có vẻ giống nhau mà máy tính không hiểu được, nó gần giống với ngôn ngữ teen hiện nay, ví dụ:

  • leet > I33t
  • censored > c3n50red
  • p0rn hay 53x

Trong thời kỳ khi Internet chưa có Google, trang web được gửi thủ công đến các công cụ tìm kiếm. Dù việc gửi URL giúp mở rộng kho dữ liệu nhưng có người dùng bot để spam máy chủ của các trang web tìm kiếm, nhằm thao túng thuật toán xếp hạng của bộ tìm kiếm.

Vào năm 1997, để ngăn chặn việc gửi trang web giả mạo/tự động, AltaVista (một công cụ tìm kiếm phổ biến nhất lúc bấy giờ) đã triển khai hệ thống giống như CAPTCHA bây giờ để yêu cầu người dùng nhập một loạt các ký tự bị bóp méo vào hộp văn bản. Kiểu CAPTCHA này chúng ta vẫn thường gặp khi đăng ký tài khoản mới hoặc gửi thông tin trên internet, nó dựa trên ba nguyên tắc:

  • Con người có thể dễ dàng nhận ra các ký tự bị biến dạng, xoay hoặc lệch nhiều hơn.
  • Con người có thể dễ dàng phân tách các ký tự chồng chéo hơn.
  • Con người có thể dễ dàng đặt các ký tự trong một bối cảnh trực quan hơn để hiểu chúng là gì, ví dụ, xác định một ký tự dựa trên toàn bộ từ mà nó xuất hiện.
Giao diện trang web tìm kiếm AltaVista
Giao diện trang web tìm kiếm AltaVista

Thuật toán này do Andrei Broder, Chief Scientist tại Alta Vista phát triển, sau đó được hoàn thiện bởi các nhà nghiên cứu tại đại học Carnegie Mellon (đứng đầu là Luis von Ahn (hay Big Lou)) đầu những năm 2000. 

Năm 2003, nhóm của von Ahn đã xuất bản bài nghiên cứu tiên phong mô tả nhiều loại chương trình phần mềm khác nhau có thể phân biệt con người với máy tính. Chính họ cũng đã đặt ra các từ viết tắt hấp dẫn hơn.

reCAPTCHA xuất hiện

Khi CAPTCHA ngày càng được dùng phổ biến trong bảo mật trên Internet, Luis von Ahn cảm thấy con người đã tiêu tốn quá nhiều thời gian để giải những câu đố hình ảnh này. Trong TED Talk 2011, von Ahn đã ước tính rằng toàn bộ nhân loại đã lãng phí 500.000 giờ mỗi ngày để gõ CAPTCHA.

Khi được hỏi liệu có cách nào để CAPTCHA được sử dụng mạnh mẽ và có ý nghĩa hơn không, ông đã phát triển reCAPTCHA, sau đó được bán cho Google vào năm 2009. Ngày nay, có một số dự án và công ty (bao gồm Google Books, Internet Archive, Amazon Kindle hay Thời báo New York) đang quét và lập chỉ mục số lượng lớn sách, tài liệu và hình ảnh để sử dụng trên web với sự hỗ trợ từ reCAPTCHA.

reCAPTCHA hoạt động bằng cách lấy những từ không thể nhận ra trong quá trình quét và đưa cho người dùng, đặt bên cạnh một từ đã biết để người dùng giải nghĩa. Bằng cách nhập chính xác từ đã biết, bạn sẽ được xác nhận là người và hệ thống reCAPTCHA tin tưởng rằng bạn đã số hóa chính xác từ thứ hai. Nếu 10 người khác cũng đưa ra đáp án giống bạn về từ chưa biết, hệ thống sẽ cho rằng từ bạn nhập là chính xác.

reCAPTCHA "nguyên thủy" yêu cầu nhập từ đã biết để xác định bạn có phải là người không, đồng thời giúp dịch từ mà máy tính chưa nhận diện được
reCAPTCHA "nguyên thủy" yêu cầu nhập từ đã biết để xác định bạn có phải là người không, đồng thời giúp dịch từ mà máy tính chưa nhận diện được

reCAPTCHA đã giúp số hóa hàng triệu cuốn sách mỗi năm và cũng đã mở rộng để hỗ trợ các nỗ lực khác như số hóa tên đường và số trên Google Maps hoặc nhận ra các đối tượng phổ biến trong ảnh cho Google Images. Bạn muốn tìm hiểu nhiều hơn về dạng CAPTCHA này có thể đọc trong bài viết Bí mật phía sau chương trình miễn phí reCAPTCHA của Quantrimang.com.

Dạng CAPTCHA mới cũng được sử dụng để xác định ảnh, dữ liệu được chụp bởi Google Street View
Dạng CAPTCHA mới cũng được sử dụng để xác định ảnh, dữ liệu được chụp bởi Google Street View

CAPTCHA bằng hình ảnh không phải hình thức duy nhất, ngoài ra còn có dưới dạng âm thanh dành cho người khiếm thị (thường bị làm méo tiếng để ngăn các phần mềm nhận diện giọng nói), câu hỏi bằng văn bản mà máy tính không thể hiểu được hay PiCAPTCHA, gồm một chuỗi các hình ảnh và yêu cầu người dùng chọn theo một thứ tự nhất định.

I’m not a robot xuất hiện

Von Ahn rất hài lòng với phiên bản reCAPTCHA mới và cho rằng nó sẽ còn dùng được mãi vì “có rất nhiều văn bản in”. Nhưng đây là kỉ nguyên Internet và nhiều thứ chúng ta vẫn coi là nghiễm nhiên tồn tại trên mạng có thể biến mất một ngày nào đó. Hệ thống CAPTCHA cũng không phải ngoại lệ.

CAPTCHA không phải là không thể phá vỡ. Năm 2014, phân tích của Google cho thấy trí tuệ nhân tạo có thể giải được những hình ảnh CAPTCHA và reCAPTCHA phức tạp nhất với độ chính xác lên tới 99.8%.

Google đã tạo ra hệ thống mới No CAPTCHA reCAPTCHA: I'm not a robot, không dựa vào khả năng giải mã văn bản của người dùng mà là hành vi trên mạng của họ trước khi vượt qua điểm kiểm tra an ninh. Khi người dùng ở trên trang, thuật toán sẽ xem cách họ tương tác với nội dung để quyết định xem đó là người hay robot.

Hình ảnh I'm not a robot chúng ta thường thấy
Hình ảnh I'm not a robot chúng ta thường thấy

Cụ thể, Google sẽ phân tích hành vi của bạn trước, trong và sau khi nhấp vào hộp kiểm để xác định xem bạn có những đặc điểm xuất hiện ở người không. Phân tích này có thể bao gồm mọi thứ từ lịch sử duyệt web của bạn (bot độc hại không nhất thiết phải xem vài video YouTube và kiểm tra Gmail trước khi đăng ký tài khoản ngân hàng), cho đến cách bạn di chuyển chuột trên trang.

Nếu Google vẫn không chắc chắn rằng bạn có phải là người thật hay không thì sau khi nhấp vào hộp kiểm, bạn sẽ được hiển thị reCAPTCHA trực quan (với các từ, ký hiệu đường phố hoặc hình ảnh) như một biện pháp bảo mật bổ sung. Cách tiếp cận đa diện này là cần thiết khi máy tính trở nên thành thạo hơn trong việc nhận dạng hình ảnh phức tạp và với sự gia tăng của các trang trại CAPTCHA (nơi có lượng lớn nhân viên được trả tiền để trả lời các câu đố của CAPTCHA).

Cuộc chiến giữa các chuyên gia bảo mật và spambot có lẽ sẽ không khi nào có hồi kết. Một ngày nào đó No CAPTCHA reCAPTCHA cũng có thể bị qua mặt và thay thế bằng công nghệ khác. Khi đó, hãy luôn cảnh giác.

Xem thêm:

Thứ Ba, 24/03/2020 11:34
56 👨 1.102