+1

Đôi điều về CAPTCHA

Khi bạn đăng ký một email mới hoặc tham gia các trang web bình chọn trực tuyến một điều gì đó bạn sẽ được yêu cầu nhìn vào một hình nhỏ bao gồm các chữ cái và con số (thường thì chúng đều méo mó hoặc xếp chèn lên nhau nhằm khiến cho bạn khó nhận dạng chúng hơn), và sau đó bạn cần phải đánh lại các chữ cái và số đó theo đúng thứ tự xuất hiện vào một ô nhỏ bên dưới hoặc bên cạnh hình ảnh này. Ví dụ như này: Đôi khi bạn tự hỏi nó là gì? Tại sao người ta lại phải thiết kế những chữ và số đó một cách khó nhìn đến vậy? Thứ đó được gọi là CAPTCHA. Vậy thực sự CAPTCHA là gì? Tác dụng của nó ra sao?

CAPTCHA là từ viết tắt của "Completely Automated Public Turing test to tell Computers and Humans Apart"(dịch là 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), là một loại kiểm thử dạng hỏi đáp được dùng trong máy tính để xác định xem người dùng có phải là con người hay không.

Nguồn gốc

Vào những năm 1950, sự khó khăn tiềm tàng trong việc phân biệt giữa người và máy tính mạo danh con người đã được đề ra, điển hình là phép thử Turing được đề xuất bởi Alan Turing.Cuộc bàn luận đầu tiên về các thử nghiệm tự động để phân biệt con người với máy tính với mục đích kiểm soát sự truy cập các dịch vụ web xuất hiện trong bản thảo năm 1996 của Moni Naor từ Viện Khoa học Weizmann, có tên "Lĩnh vực xác minh con người, hay Sự định danh thông qua Phép thử Turing" Naor, Moni (1996)

Những CAPTCHA nguyên thủy có lẽ được phát triển vào năm 1997 tại AltaVista, do Andrei Broder và đồng nghiệp của ông sáng tạo để ngăn ngừa bot thêm URL vào bộ máy tìm kiếm của họ. Để khiến cho hình ảnh chống lại được OCR (Nhận dạng ký tự quang học), nhóm đã mô phỏng những tình huống mà những cuốn hướng dẫn bộ quét cho rằng sẽ dẫn đến kết OCR sai. Vào năm 2000, von Ahn và Blum đã phát triển và công khai khái niệm CAPTCHA, bao gồm bất kỳ chương trình nào có thể phân biệt con người với máy tính. Họ đã sáng chế ra nhiều mẫu CAPTCHA, gồm có những CAPTCHA đầu tiên được sử dụng rộng rãi, và cũng chính là những loại được Yahoo! sử dụng. (Theo wiki)

Đặc điểm

Một hệ thống CAPTCHA là một dạng thử thách mới được tạo ra tự động trong đó:

  • Có một số lượng vô hạn các phiên bản mà máy tính hiện nay không thể giải được một cách chính xác, việc dạy máy tình có thể đưa ra câu trả lời chính xác là cực kỳ có khăn trong khi đó đa số con người có thể giải được.
  • Khoảng cách hoặc sự phân biệt các ký tự trong captcha là khó khăn.
  • Phải được hiểu một cách toàn diện giúp nhận các ký tự có khả năng được nhận biết chính xác.Ví dụ trong một phân đoạn CAPTCHA, tồn tại một ký tự nhìn như chữ m, nhưng nếu đặt toàn bộ vào ngữ cảnh thì nó phải được hiểu là chữ n.

Ứng dụng

CAPTCHA có một số ứng dụng trong bảo mật thực tế, bao gồm:

  • Ngăn chặn Spam comment trong Blogs. Hầu hết các blogger đều quen thuộc với các chương trình đưa ra comment không có thật, thường là nhằm mục đích nâng cao thứ hạng của công cụ tìm kiếm trong một số trang web. Đây được gọi là spam nhận xét. Bằng cách sử dụng CAPTCHA, chỉ có người có thể nhập nhận xét vào blog. Không cần người dùng phải sign up trước khi họ nhập nhận xét, và không có ý kiến hợp pháp nào bị mất.
  • Bảo vệ Đăng ký Website: Một số công ty (Yahoo !, Microsoft, ...) cung cấp dịch vụ email miễn phí. Cho đến một vài năm trước, hầu hết các dịch vụ này đều chịu một loại tấn công cụ thể: các con "bots" thể đăng ký hàng nghìn tài khoản email mỗi phút. Giải pháp cho vấn đề này là sử dụng CAPTCHA để đảm bảo rằng chỉ có con người mới có được tài khoản miễn phí. Nói chung, dịch vụ miễn phí nên được bảo vệ bằng CAPTCHA để ngăn chặn lạm dụng bằng các tập lệnh tự động.
  • Bảo vệ Địa chỉ Email Từ Scrapers. Những người gửi spam thu thập thông tin Web để tìm kiếm các địa chỉ email được đăng trong văn bản rõ ràng. CAPTCHA cung cấp cơ chế hiệu quả để ẩn địa chỉ email của bạn khỏi những scraper. Ý tưởng là yêu cầu người dùng giải quyết CAPTCHA trước khi hiển thị địa chỉ email của bạn.
  • Cuộc thăm dò trực tuyến: Vào tháng 11 năm 1999, http://www.slashdot.org đã công bố một cuộc thăm dò trực tuyến về một trong những trường đại học tốt nhất về khoa học máy tính (một câu hỏi nguy hiểm để hỏi qua web!). Như trường hợp của hầu hết các cuộc thăm dò trực tuyến, địa chỉ IP của người vote được ghi lại để ngăn không cho người sử dụng đơn lẻ bỏ phiếu nhiều lần. Tuy nhiên, sinh viên Carnegie Mellon đã tìm ra cách để bỏ phiếu bằng các chương trình đã bỏ phiếu cho CMU hàng ngàn lần. Điểm của CMU bắt đầu phát triển nhanh chóng. Ngày hôm sau, sinh viên MIT đã viết chương trình riêng của họ và cuộc thăm dò đã trở thành một cuộc thi giữa bỏ phiếu "bots". MIT đã kết thúc với 21.156 phiếu bầu, Carnegie Mellon với 21.032 và mọi trường khác với ít hơn 1.000. Có thể tin cậy kết quả của bất kỳ cuộc thăm dò trực tuyến nào? Không phải trừ khi cuộc thăm dò đảm bảo rằng chỉ có con người mới có thể bỏ phiếu.
  • Ngăn chặn tấn công từ điển với mật khẩu: CAPTCHAs cũng có thể được sử dụng để ngăn chặn các cuộc tấn công từ điển trong các hệ thống mật khẩu. Ý tưởng rất đơn giản: ngăn không cho máy tính có thể lặp lại toàn bộ không gian mật khẩu bằng cách yêu cầu nó giải quyết CAPTCHA sau một số lần đăng nhập không thành công. Điều này tốt hơn cách tiếp cận cổ điển của việc khóa tài khoản sau một chuỗi đăng nhập không thành công, vì làm như vậy sẽ cho phép kẻ tấn công khóa tài khoản theo ý muốn.

reCAPTCHA

reCAPTCHA là một CAPTCHA kiểu mới do Google phát triển hồi năm 2014, nó sẽ kết hợp theo dõi hành vi của bạn trên website để hỏi xem bạn có phải là người thật hay bạn là bot. Nếu là người thật, phần lớn thời gian bạn chỉ cần check vào một ô là xong, còn nếu bạn có vài hành vi mà Google nghi ngờ thì cũng chỉ phải chọn một số tấm hình đơn giản. Tuy nhiên, nó vẫn khiến người dùng khó chịu ít nhiều. Và vì thế, Google chuẩn bị ra mắt một phiên bản ReCAPTCHA hoàn toàn mới mà chỉ có con người mới có thể sử dụng được, nó được đặt tên "Invisible ReCAPTCHA". Công ty chưa cho biết nó sẽ hoạt động như thế nào trong thời điểm hiện tại, tuy nhiên mọi người có thể đăng ký nhận bản tin về công nghệ mới này của Google trong thời gian sắp tới. Các chuyên gia dự đoán rằng Google sẽ dùng các thuật toán để nhận biết mức độ di chuyển của chuột, từ đó sẽ phân tích đó là người thật hay bot. Có một điều chắc chắn rằng nó sẽ không yêu cầu người dùng phải tự tay click chuột hay nhập liệu gì như kiểu ReCAPTCHA cổ điển.

Tài liệu tham khảo


All Rights Reserved

Viblo
Let's register a Viblo Account to get more interesting posts.