CAPTCHA và những điều chưa biết


Spam luôn là một vấn nạn đối với các nhà phát triển ứng dụng internet (email, website, blog, các mạng xã hội). Bắt đầu từ những spam mail (thư rác), ngày nay từ spam còn được dùng để chỉ những tin nhắn rác, những comment quảng cáo được phát tán trên các blog, các trang Facebook với tốc độ khủng khiếp. Spam đã có thể phát triển hơn thế nữa, đến mức có thể làm nghẽn mạng, đánh sập các server, nếu như không có chốt chặn đáng tin cậy CAPTCHA.



Lịch sử

Thuật ngữ CAPTCHA có thể rất lạ lẫm với nhiều người, nhưng đa số người dùng internet đã quen với việc phải nhập mã xác nhận khi đăng ký tài khoản tại các web mail, forum hay thậm chí trước khi gửi comment trên các dịch vụ blog. Khi nhập mã xác nhận thành công để hoàn tất tiến trình đăng ký hay gửi comment, chính là bạn đã giải xong phép thử CAPTCHA. Thuật ngữ này do Luis von Ahn, Manuel Blum, Nicholas J. Hopper của Đại học Carnegie Mellon và John Langford (IBM) đặt ra vào năm 2000 để gọi tên chương trình dùng để phân biệt người và máy tính này. CAPTCHA, viết tắt các chữ đầu của cụm từ Completely Automated Public Turin test to tell Computers and Humans Apart, nghĩa là Phép thử Turin công cộng hoàn toàn tự động để phân biệt con người và máy tính, là chương trình dùng để ngăn chặn việc gửi các truy vấn hàng loạt của các bot (chương trình tự động được lập trình để gửi spam) gửi đến các máy chủ của dịch vụ email, blog hay forum. CAPTCHA sẽ yêu cầu người dùng giải một bài test mà máy tính có thể tạo ra nhưng không thể tự giải được. Vì máy tính không thể giải được nên bất kỳ người dùng nào nhập đúng lời giải sẽ được xem là con người thật sự.

Các CAPTCHA phổ biến nhất thường có dạng những bức ảnh méo mó chứa các ký tự bị mờ hay đan xen nhau, như thường thấy ở trang đăng ký các website, forum; người dùng sẽ phải nhập những ký tự chứa trong những bức ảnh này để giải CAPTCHA. (hình 1)

 
Một CAPTCHA tiêu chuẩn ngày nay có dạng như hình 2, với các tùy chọn cho phép thay đổi ảnh nếu bạn không đọc được, hoặc cơ chế đọc từ cần nhập dành cho những người khiếm thị.

 
Với cơ chế bảo vệ này, các chương trình spam sẽ bị vô hiệu hóa vì mỗi lần muốn gửi 1 truy vấn về máy chủ đều phải giải 1 CAPTCHA khác nhau. Đây chính là lý do CAPTCHA được xem như khắc tinh của các spammer.

Ngăn spam – Đọc sách

Việc giải mỗi CAPTCHA thường tốn khoảng 10 giây, một khoảng thời gian dường như không đáng kể. Tuy nhiên, với việc hiện nay có khoảng 200 triệu CAPTCHA được giải mỗi ngày, con số này sẽ là hơn 150 ngàn giờ. Nhận thấy việc lãng phí lượng thời gian khổng lồ đó, người ta đã tạo ra reCAPTCHA, để biến khoảng thời gian giải CAPTCHA đó có ích hơn bằng cách “đọc sách”. Với khẩu hiệu “Stop spam. Read books”, reCAPTCHA cũng là một dạng CAPTCHA nhưng với việc giải các CAPTCHA này, người dùng sẽ đồng thời giúp nhận diện những ký tự mà các chương trình nhận dạng ký tự quang học (ORC) không đọc được trong quá trình số hóa các tài liệu dạng viết như sách vở, báo chí, thư tịch cổ, v.v. Những ký tự ORC không nhận dạng được này sẽ được đưa ra dưới dạng một ảnh CAPTCHA để người dùng giải mã giúp. Nhưng vấn đề đặt ra là nếu chính CAPTCHA cũng không đọc được từ đó thì làm sao xác định được người dùng có giải đúng hay không? Giải pháp đưa ra: trong mỗi CAPTCHA, người dùng sẽ phải nhận diện hai từ (như hình 2). Một từ trong các tài liệu số hóa mà ORC chưa nhận diện được và một từ do cơ sở dữ liệu của CAPTCHA đưa ra. Nếu người dùng nhập đúng từ trong cơ sở dữ liệu, CAPTCHA sẽ cho rằng người đó cũng nhập đúng từ còn lại. Cứ thế các từ ORC chưa nhận diện được sẽ được hàng triệu người trên thế giới này giúp hoàn tất.

Trang web chính thức của reCAPTCHA cho biết hiện họ đang số hóa các bản in cũ của tờ The New York Times. Vậy, với mỗi CAPTCHA giải được nghĩa là bạn đã góp phần vào việc số hóa tờ báo nổi tiếng này rồi đấy.

Hài hước và sáng tạo với CAPTCHA

Các nhà lập trình web luôn là những người đầy ắp ý tưởng sáng tạo và cũng không kém phần hài hước. Không bằng lòng với việc kết hợp giải CAPTCHA với việc số hóa văn bản để không lãng phí thời gian, một số nhà lập trình đã đưa ra nhiều ý tưởng khác để tạo ra những CAPTCHA “không đụng hàng” nhưng vẫn đảm bảo được vai trò ngăn chặn spam.

Cho rằng việc nhập CAPTCHA lặp đi lặp lại mỗi ngày thật nhàm chán, một số lập trình viên đã đề xuất ý tưởng thay việc nhập CAPTCHA bằng cách máy chủ sẽ đặt ra các câu đố đơn giản, có thể là các câu hỏi về kiến thức phổ thông như Thủ đô của nước Mỹ là gì, hay các phép tính đơn giản 2 + 2 = ?, và người dùng sẽ trả lời những câu đố này, thay vì phải nhập các ký tự như CAPTCHA thông thường. Add-on NoSpam! Của vBulletine, một trong những nền tảng forum phổ biến nhất hiện nay, chính là một ví dụ. Người quản trị có thể tự đặt ra các câu hỏi hoặc kèm luôn câu trả lời vào câu hỏi. (hình 3)
 
 
Một số lại theo hướng hài hước hóa các CAPTCHA, như thay các ký tự bằng 1 bảng mật mã với chìa khóa cho sẵn, người dùng chỉ việc theo đó mà nhập cụm từ được giải mã vào. Lại có những CAPTCHA với câu hỏi là một phép toán cực kì phức tạp. (hình 4)
 

Trên Youtube, nếu nhập cụm từ funny captcha, bạn cũng sẽ tìm thấy rất nhiều video chỉ ra những tình huống hài hước khi CAPTCHA vô tình đưa ra những cụm từ có nghĩa vui nhộn.

CAPTCHA chỉ mới có lịch sử hơn 10 năm, nhưng những ứng dụng của nó trong việc ngăn chặn spam bot và các chương trình tự động thì không thể phủ nhận. CAPTCHA, hơn thế nữa, còn là câu trả lời hoàn hảo cho câu hỏi làm sao để phân biệt giữa người và máy tính – câu hỏi mà dường như câu trả lời ngày càng khó tìm với sự phát triển vượt của trí tuệ nhân tạo (AI) hiện nay.

(bài đã đăng trên tạp chí Làm bạn với máy vi tính, số 366)

Comments

  1. Hay! Love "reCaptcha" most. Very informative. Thanks

    ReplyDelete
  2. Woa. Entry của này của anh Xu hay phết ^^ Đọc xong biết được nhiều điều bổ ích ghê :)

    ReplyDelete
  3. cảm ơn bạn, bài viết hữu ích

    ReplyDelete
  4. hackers thuê người khác trả lời CAPTCHA thì phải làm sao?

    ReplyDelete

Post a Comment

Để đề phòng blog bị lỗi ko comment được, trước khi bấm Post comment các bạn nên copy nội dung comment lại trước.

Popular posts from this blog