CAPTCHA LÀ GÌ?
Là dãy ký tự viết tắt những chữ cái đầu tiên của “Completely Automated Public Turing test to tell Computers and Humans Apart” (Phép thử Turing công cộng hoàn toàn tự động để phân biệt máy tính và con người).
Captcha giống như là một loại kiểm tra về mức độ phản hồi, được sử dụng để xác minh trong máy tính, nhằm xác định xem liệu người dùng có phải là một con người thật sự không. Trong đó, máy chủ sẽ yêu cầu người dùng hoàn tất một quá trình kiểm tra đơn giản mà máy tính dễ dàng tạo ra được, nhưng bản thân nó lại không thể giải được. Vậy nên, chỉ có người dùng – con người đích thực mới có thể hoàn thành Captcha.
ĐẶC ĐIỂM CỦA CAPTCHA
Các máy tính hiện nay chưa thể giải được Captcha một cách chính xác, trong khi đó, đa số con người chúng ta lại có thể giải được một cách dễ dàng.
Không phụ thuộc vào việc loại Captcha đó liệu có mới lạ với kẻ tấn công hay không.
Những mã Captcha thường rất khó đọc. Chúng luôn có các ký tự hay hình ảnh biến dạng, sao cho chỉ có mắt thường mới có thể phân tích được mà thôi.
CAPTCHA HOẠT ĐỘNG NHƯ THẾ NÀO?
Phương thức CAPTCHA truyền thống “gõ lại những chữ bạn thấy trong hình” yêu cầu người dùng nhận diện và nộp về một chuỗi giá trị (chữ hoặc số hoặc cả hai) họ nhìn thấy ở một tấm hình méo mó/ lờ mờ. Những CAPTCHA này dựa trên khả năng nhận biết và đọc hiểu các tín hiệu âm thanh/ hình ảnh – những thứ gây khó khăn cho máy tính hay robot. Dựa vào cơ chế trên, nếu một người dùng có khả năng nhận diện được những tín hiệu âm thanh/ hình ảnh đó, họ nhất định đúng là con người.
MỤC ĐÍCH SỬ DỤNG CAPTCHA
Captcha sẽ trở thành “bức tường lửa” ngăn chặn những hành vi trên, giúp người dùng Internet có nhu cầu chính đáng có thể thực hiện thành công các dịch vụ mà họ cần trên website. Nếu không có sự can thiệp của Captcha, các cuộc tấn công kiểu DDOS sẽ diễn ra như cơm bữa và gây ra hàng loạt các tổn thất cho website cung cấp dịch vụ lẫn người dùng phổ thông.
Một số ứng dụng trong việc bảo mật của Captcha trên thực tế bao gồm:
- Ngăn chặn Spam Comment trong Blog.
- Bảo vệ quá trình đăng ký Website.
- Bảo vệ địa chỉ Email khỏi những Scrapers.
- Ứng dụng thăm dò trực tuyến.
- Ngăn chặn sự tấn công từ điển với mật khẩu.
- Chống Spam trong các Website, Forum.
KHI WEBSITE CÓ CAPTCHA, CÓ THỂ THỰC HIỆN AUTO HOẶC PERFORMANCE TESTING KHÔNG?
Câu trả lời là Có thể và Không. Sau đây là một số giải pháp mà chúng ta có thể tham khảo.
Giải pháp 1: Developer sẽ giúp tạo một CAPTCHA Luôn Đúng và chỉ apply vào trên môi trường test. Ví dụ luôn chấp nhận một giá trị là ABCD6666. Giải pháp này có thể chạy trên Jenkins.
Giải pháp 2: Developer sẽ giúp hiển thị CAPTCHA cần nhập ra màn hình dưới dạng Text bình thường, ví dụ hiển thị ABCD6666 ra UI và testers có thể dùng code / regex để lấy ra giá trị đó và nhập vào field. Giải pháp này cũng có thể chạy trên Jenkins.
Giải pháp 3: Loại bỏ chức năng có CAPTCHA khỏi script auto, chỉ test chức năng đó bằng manual, vì bạn không cần thiết phải làm auto mọi thứ.
Giải pháp 4: Dùng whitelist IP, đưa địa chỉ IP của tester hoặc công ty vào danh sách IP hợp lệ để truy cập chức năng mà không cần nhập CAPTCHA.
Giải pháp 5: Tắt hẳn CAPTCHA trên môi trường test. Chỉ thực hiện được nếu bạn có môi trường test riêng biệt.
Giải pháp 6: Tìm hiểu về cách bật chức năng hỗ trợ test trên CAPTCHA ở một số loại CAPTCHA nhất định, ví dụ reCAPTCHA có thể tham khảo tại link này: developers.google.com/recaptcha/docs/faq
Giải pháp 7: Ở một số loại CAPTCHA đơn giản và không an toàn, có thể dùng nhận diện ảnh để bypass nó, tuy nhiên nếu một CAPTCHA có thể dễ dàng bypass thì cũng không nên dùng trong hệ thống.
TÀI LIỆU THAM KHẢO
- Trên website: https://vi.wikipedia.org/wiki/CAPTCHA.
- Trên website: https://sangbui.com.