CAPTCHA là gì? Các loại, khả năng tiếp cận và đánh đổi

CAPTCHA là gì?

API thu thập dữ liệu toàn cầu không có rác hỗ trợ việc truy xuất trang công khai đã được ủy quyền khi các trang sử dụng JavaScript và các thử thách CAPTCHA được hỗ trợ.

Tóm tắt

  • CAPTCHA là gì mô tả một khái niệm kỹ thuật cụ thể, không phải là một đánh giá hoàn chỉnh về người dùng hoặc yêu cầu.
  • Chẩn đoán đáng tin cậy kết hợp bằng chứng từ nguồn, sự so sánh có kiểm soát và bối cảnh của hành động được bảo vệ.
  • Một tín hiệu đơn có thể hữu ích mà không cần chắc chắn; các tín hiệu dương tính giả cần được xem lại và có một phương án dự phòng có thể truy cập.
  • Tự động hóa được Ủy quyền nên ưu tiên các giao diện chính thức, giảm thiểu tải, và dừng khi một điều hành viên rõ ràng từ chối quyền truy cập.
  • API Thu thập Dữ liệu Toàn cầu Không Thời gian thực có thể hỗ trợ các quy trình dữ liệu công khai được phép, nhưng nó không thay thế sự cho phép, hợp đồng hoặc xem xét pháp lý.

Định nghĩa

Một CAPTCHA là một bài kiểm tra tự động nhằm phân biệt người dùng thực với phần mềm. Tên gọi mở rộng thành Kiểm Tra Turing công khai hoàn toàn tự động để phân biệt máy tính và con người. Các CAPTCHA cổ điển yêu cầu khách truy cập đọc văn bản bị biến dạng, chọn hình ảnh phù hợp hoặc giải một nhiệm vụ đơn giản. Các hệ thống mới hơn có thể đánh giá tín hiệu trình duyệt và tương tác trước và chỉ hiển thị một câu đố rõ ràng khi rủi ro chưa chắc chắn. Một CAPTCHA là một biện pháp kiểm soát an ninh; nó không xác thực danh tính pháp lý của một người hoặc đảm bảo rằng một hành động thành công là vô hại.

Câu hỏi thực tiễn không chỉ là thuật ngữ này có nghĩa là gì, mà còn là những bằng chứng nào hỗ trợ cho nhãn hiệu, quyết định nào phụ thuộc vào nó, và cách mà một nhà điều hành xử lý sự không chắc chắn. Hướng dẫn này phân tách hành vi có thể quan sát được khỏi những giả định để các nhà phát triển, đội ngũ an ninh, kỹ sư dữ liệu và người mua kỹ thuật có thể sử dụng khái niệm này một cách chính xác.

Cách CAPTCHA hoạt động

Một CAPTCHA chèn một bước xác minh giữa một hành động được yêu cầu và quyết định của máy chủ.

Trang này tạo ra một thách thức hoặc nhận đánh giá rủi ro, người truy cập hoàn thành bất kỳ tương tác nào cần thiết, và khách hàng nhận được một mã tạm thời. Ứng dụng gửi mã đó đến một dịch vụ xác minh hoặc backend của chính nó. Chỉ có kết quả phía máy chủ mới nên ủy quyền cho hành động được bảo vệ. Việc chấp nhận một ô kiểm ở phía client mà không có xác thực sẽ để lộ điểm cuối.

CAPTCHA hoạt động tốt nhất khi gắn liền với một biểu mẫu cụ thể, tên máy chủ, hành động và khoảng thời gian hiệu lực ngắn. Mã token nên chỉ sử dụng một lần nếu nhà cung cấp hỗ trợ. Máy chủ được bảo vệ vẫn phải xác nhận trạng thái tài khoản, ủy quyền, trường yêu cầu và giới hạn lạm dụng vì kết quả CAPTCHA chỉ trả lời một câu hỏi hẹp.

Các loại CAPTCHA phổ biến

Các loại CAPTCHA khác nhau về tín hiệu mà chúng yêu cầu một người hoặc trình duyệt cung cấp.

CAPTCHAs sử dụng các ký tự bị biến dạng. Lựa chọn hình ảnh yêu cầu người dùng phân loại các đối tượng. Các lựa chọn âm thanh phát âm các ký tự hoặc từ. Hệ thống hộp kiểm có thể cho phép những người truy cập có rủi ro thấp mà không cần một câu đố. Các hệ thống vô hình và dựa trên điểm số đánh giá ngữ cảnh trong nền. Các thử thách chứng minh công việc hoặc thiết bị yêu cầu trình duyệt thực hiện tính toán hoặc tiết lộ khả năng.

Mỗi thiết kế chuyển tải chi phí giữa an ninh, độ trễ, quyền riêng tư, khả năng tiếp cận và hỗ trợ. Các nhiệm vụ hình ảnh có thể thất bại với người dùng thị lực kém, âm thanh có thể thất bại với người khiếm thính hoặc trong môi trường ồn ào, và các nhiệm vụ nhận thức có thể loại trừ những người có khuyết tật. Ghi chú về khả năng truy cập CAPTCHA W3C phân tích những hạn chế và các lựa chọn thay thế này.

Tại Sao Các Trang Web Sử Dụng CAPTCHA

Các trang web sử dụng CAPTCHA để gia tăng chi phí cho việc lạm dụng tự động trong các hành động có giá trị.

Các mục tiêu điển hình bao gồm tạo tài khoản, đăng nhập, khôi phục mật khẩu, mua vé, bình luận, mẫu liên hệ, bỏ phiếu và truy vấn dữ liệu hàng loạt. Một thử thách có thể làm chậm spam hàng hoá hoặc buộc một kẻ tấn công phải tiêu tốn nhiều tài nguyên hơn. Nó hiệu quả nhất sau khi các tín hiệu rủi ro xác định một hành động đáng ngờ hơn là trên mỗi lần xem trang.

The Hướng dẫn quản lý bot của OWASP đề xuất quản lý bot theo lớp gắn với mô hình mối đe dọa. Giới hạn tỷ lệ, bảo vệ tài khoản, passkeys, xác minh email, mô hình gian lận, và ủy quyền phía máy chủ có thể phù hợp hơn cho một số hành động. CAPTCHA không nên bù đắp cho việc xác thực yếu hoặc một điểm cuối chấp nhận đầu vào không an toàn.

Khả năng tiếp cận và Chi phí Nhân đạo

Một CAPTCHA có thể chặn người dùng thật ngay cả khi nó giảm thiểu lưu lượng bot.

Cuộc Giới thiệu của W3C về khả năng tiếp cận CAPTCHA giải thích rằng các bài kiểm tra hình ảnh và âm thanh có thể phân biệt đối xử với những người khuyết tật. Các giới hạn thời gian, hình ảnh mơ hồ, ngôn ngữ không quen thuộc, yêu cầu vận động và những thất bại lặp đi lặp lại tạo thêm rào cản. WCAG yêu cầu có các lựa chọn thay thế và truy cập tương đương; Hướng dẫn về khả năng tiếp cận nội dung web cung cấp khung khả năng tiếp cận rộng hơn.

Đo lường tỷ lệ hoàn thành, thời gian, bỏ cuộc, liên hệ hỗ trợ và các từ chối sai theo thiết bị và ngữ cảnh công nghệ hỗ trợ. Cung cấp một lộ trình xác minh khác mà bảo vệ cùng một hành động mà không yêu cầu khả năng cảm giác giống nhau. Tránh một vòng lặp vô tận trong đó một thử thách thất bại tải lại một nhiệm vụ không thể tiếp cận tương tự.

CAPTCHA Không Phải Là Xác Thực

Việc vượt qua CAPTCHA không chứng minh ai là người dùng hoặc hành động có được ủy quyền hay không.

Một chiến dịch lạm dụng do con người điều hành có thể vượt qua một thử thách, trong khi tự động hóa hợp pháp có thể thất bại. Phần mềm độc hại có thể hoạt động thông qua một trình duyệt thực. Một dịch vụ giải quyết có thể trả lại các mã thông báo hợp lệ. Xác thực vẫn cần thông tin đăng nhập hoặc bằng chứng mật mã, và ủy quyền vẫn cần chính sách phía máy chủ. Các hành động nhạy cảm có thể yêu cầu xác nhận giao dịch hoặc một người xác thực đã đăng ký.

Xử lý kết quả CAPTCHA như một đầu vào ngắn hạn trong quyết định rủi ro rộng hơn. Liên kết nó với phiên và hành động nơi hỗ trợ, xác thực nó trên máy chủ và loại bỏ nó sau khi sử dụng. Chỉ ghi lại thông tin cần thiết để điều tra lạm dụng và bảo vệ các nhật ký đó như dữ liệu bảo mật.

CAPTCHA trong Thu thập Dữ liệu Được Ủy quyền

Một CAPTCHA cho thấy rằng trang web đang yêu cầu xác minh bổ sung trước khi một hành động được tiến hành.

Một nhà thu thập được ủy quyền nên đầu tiên tìm kiếm một API, dữ liệu cấp, xuất khẩu hoặc tuyến đối tác. Nếu truy cập trình duyệt là phương pháp được chấp thuận, hãy giữ phiên làm việc nhất quán, giới hạn khối lượng và dừng lại khi chính sách của trang web từ chối truy cập. Đừng thiết kế quy trình làm việc để vượt qua một kiểm soát bảo vệ dữ liệu riêng tư, gắn với tài khoản hoặc dữ liệu hạn chế.

API Scraping Không Scrapeless hỗ trợ tài liệu cho các tình huống thách thức trang công khai được chọn, nhưng dịch vụ không tạo ra quyền hạn. Hãy giữ phạm vi cho thông tin công khai, tuân theo các điều khoản của mục tiêu và phối hợp với nhà điều hành để truy cập định kỳ hoặc với khối lượng lớn.

So sánh Nhanh

Các sự khác biệt sau đây giúp đặt khái niệm vào một quy trình làm việc thực hiện mà không làm sụp đổ các kiểm soát khác nhau thành một nhãn duy nhất.

Kích thướcÝ nghĩaSử dụng Thông thường
Văn bảnĐọc các ký tự biến dạngThị giác, ngôn ngữ, sự mơ hồ
Hình ảnhChọn đối tượng hoặc cảnh vậtThị lực kém, ngữ cảnh văn hóa, sự lặp lại
Âm thanhChuyển văn bản từ nội dung nóiThính giác, tiếng ồn, ngôn ngữ
Dựa vào rủi roTín hiệu nền với thách thức tùy chọnQuyền riêng tư, lỗi mờ, kết quả tích cực giả

Một Danh sách Kiểm tra Xem xét Thực tiễn

Một triển khai đáng tin cậy bắt đầu bằng cách đặt tên cho bề mặt được bảo vệ hoặc thu thập một cách chính xác. Ghi lại URL hoặc điểm cuối, hành động của người dùng dự kiến, các trường dữ liệu liên quan, các điều khoản chi phối, khách hàng dự kiến và chủ sở hữu có thể chấp thuận quyền truy cập. Sau đó xác định chứng cứ có thể thay đổi quyết định. Điều này ngăn ngừa việc một nhãn mơ hồ trở thành một lý do cho việc thu thập rộng rãi hoặc chặn vĩnh viễn.

Xem xét một CAPTCHA bất cứ khi nào có sự thay đổi về bản phát hành trình duyệt, chính sách bảo mật, nguồn dữ liệu, sơ đồ hoặc mục đích kinh doanh. Một mẫu nhỏ theo lịch trình có thông tin hơn một cuộc thăm dò không kiểm soát lớn: so sánh kết quả dự kiến với kết quả quan sát được, phân loại sự khác biệt và chuyển nó đến chủ sở hữu có thể sửa chữa nguồn hoặc chính sách. Giữ lại các trường và quy tắc không còn ảnh hưởng đến quyết định. Nhịp điệu này biến một định nghĩa một lần thành một kiểm soát hoạt động có thể được kiểm toán, giải thích và cải tiến mà không thu thập nhiều dữ liệu hơn những gì quy trình làm việc cần.

  • Xác nhận mục đích. Liên kết mọi tín hiệu và trường với một nhu cầu bảo mật, khả năng tương thích, xuất bản hoặc chất lượng dữ liệu đã được tài liệu hóa.
  • Thay đổi một biến tại một thời điểm. So sánh có kiểm soát tạo ra các giải thích tốt hơn so với nhiều thay đổi cấu hình đồng thời.
  • Đo lường chi phí người dùng. Theo dõi sự từ chối sai, sự bỏ qua, nhu cầu hỗ trợ, độ trễ và tác động đến khả năng tiếp cận bên cạnh kết quả bảo mật.
  • Giữ lại một lối đi chứng cứ. Giữ lại nhật ký tối thiểu, URL nguồn, phiên bản sơ đồ và các loại quyết định mà không thu thập dữ liệu cá nhân không liên quan.
  • Cung cấp xem xét. Người dùng bị ảnh hưởng, các đối tác và những nhà thu thập được chấp thuận cần có một tuyến đường để sửa chữa phân loại sai.

Kết luận

Khái niệm CAPTCHA dễ hiểu nhất khi định nghĩa, chứng cứ, quyết định và giới hạn tách biệt. Khái niệm này mô tả một cơ chế kỹ thuật quan sát được hoặc mô hình dữ liệu; nó hiếm khi chứng minh danh tính, mục đích, chất lượng hoặc quyền hạn tự nó. Các triển khai tốt sử dụng các tín hiệu cần thiết nhỏ nhất, xác thực chúng trong ngữ cảnh, giám sát lỗi và giữ một lộ trình đánh giá rõ ràng.

Đối với công việc dữ liệu web, hãy ưu tiên các API và xuất khẩu chính thức, chỉ thu thập thông tin công khai cần thiết cho mục đích đã nêu, và thiết kế một sơ đồ ổn định trước khi mở rộng. Khi việc hiển thị trình duyệt hoặc thu thập có quản lý là cần thiết một cách hợp pháp, hãy sử dụng Scrapeless trong phạm vi được phê duyệt và giữ quy trình làm việc có thể tái tạo.

Sẵn sàng xây dựng một quy trình làm việc dữ liệu có kiểm soát?

Bắt đầu với một phạm vi được xác định, các trường đã được xác thực, lưu lượng bảo thủ, và sản phẩm Scrapeless phù hợp với bề mặt kỹ thuật.

Bắt đầu miễn phí →

Câu hỏi thường gặp

CAPTCHA là gì?

CAPTCHA là viết tắt của Kiểm tra Turing Công khai Tự động Hoàn toàn để Phân biệt Máy tính và Con người. Nó mô tả một thách thức tự động nhằm tách biệt tương tác của con người với tự động hóa phần mềm.

Một CAPTCHA có chứng minh rằng ai đó là con người không?

Một CAPTCHA thành công cung cấp chứng cứ có giới hạn rằng thách thức đã được hoàn thành, nhưng nó không chứng minh danh tính hợp pháp, ý định tốt, hoặc kiểm soát riêng biệt của con người. Nó nên vẫn là một lớp trong một quyết định bảo mật rộng hơn.

Tại sao CAPTCHAs lại khó khăn cho một số người?

Các nhiệm vụ về hình ảnh, âm thanh, thời gian và nhận thức có thể loại trừ người dùng có khuyết tật hoặc tạo ra rào cản trên các màn hình nhỏ, kết nối chậm và ngôn ngữ không quen thuộc. Các lựa chọn truy cập và một lộ trình hỗ trợ là cần thiết.

Một trang web có thể hoạt động mà không có CAPTCHA không?

Có. Tùy thuộc vào mối đe dọa, một trang có thể sử dụng giới hạn tỷ lệ, khóa xác thực, xác minh email, uy tín tài khoản, kiểm soát gian lận phía máy chủ, trường biểu mẫu ẩn, hoặc kiểm tra nâng cao dựa trên rủi ro. Sự kết hợp chính xác phụ thuộc vào hành động được bảo vệ.

Tài liệu tham khảo