Bước kiểm tra “Không phải người máy” trên các website hiệu quả ra sao?

“Tôi không phải người máy” (I’m not a robot) là một phiên bản của reCAPTCHA, trong đó sử dụng nhiều manh mối để xác định xem liệu người dùng đang cố truy cập vào website là một con người thật sự hay một con bot.

Internet đã làm cuộc sống của chúng ta trở nên dễ dàng hơn nhiều. Chỉ một cú nhấn chuột ngay trong căn phòng ấm cúng, bạn đã có mọi thứ mình muốn. Cần sắm nhu yếu phẩm trong nhà? Hãy vào một trang thương mại điện tử nào đó và cho hàng vào giỏ. Muốn gửi tiền mà không phải ra ngân hàng? Sử dụng các dịch vụ internet banking do ngân hàng của bạn cung cấp. Muốn tìm thông tin về bất kỳ sở thích quái lạ nào mà bạn quan tâm? Chỉ cần tìm đọc một loạt các blog chuyên về các chủ đề phù hợp với bạn.

Tuy nhiên, mọi công nghệ đột phá đều có ưu điểm và hạn chế. Trong trường hợp của internet, một trong nhiều mối quan ngại trong quản lý hạ tầng kỹ thuật số chính là lưu lượng truy cập không lường trước vào các website bởi những con bot.

Với khả năng thực hiện những phi vụ lừa đảo tài chính, đến việc khoắng sạch nguồn hàng từ một website thương mại điện tử, những con bot có thể gây hỗn loạn trên diện rộng. Việc phát triển ra những phương thức tiên tiến nhằm xác định xem ai đang thực sự truy cập một website là điều rất cần thiết; một con người trần mắt thịt, hay một con bot lạnh lùng tạo ra từ những dòng mã?

Phương thức phổ biến nhất hiện nay – hẳn bạn đã biết rồi – chính là reCAPTCHA, hay bước kiểm tra nhằm phân biệt giữa bạn với một con bot chỉ bằng một cú nhấn chuột duy nhất.

Bước kiểm tra “Không phải người máy” trên các website hiệu quả ra sao? - Ảnh 1.

Nhưng làm cách nào mà bạn có thể vượt qua bài kiểm tra này khi chỉ đơn giản nhấn vào một cái hộp? Phương thức này hiệu quả đến mức nào?

Tại sao các website cần kiểm tra xem bạn có phải là bot hay không?

Như đã đề cập ở trên, internet nay không còn là một nơi lý tưởng như chúng ta vẫn thường hình dung. Đó là địa bàn hoạt động của vô vàn những kẻ xấu muốn lợi dụng những sơ hở trong cơ sở hạ tầng kỹ thuật số để phục vụ cho những ý đồ cá nhân của mình.

Bot có thể được huấn luyện để gây đủ loại nguy hiểm. Bot có thể tạo nhiều tài khoản trên các nền tảng mạng xã hội và các nhà cung cấp dịch vụ email (như Gmail chẳng hạn), khiến số lượng người dùng của các dịch vụ này tăng cao và sử dụng những tài khoản email đó để phá hoại những nơi khác trên internet. Chúng có thể điền vào các form bằng các nội dung không mong muốn và phát tán thư rác. Điều tương tự cũng xảy ra với phần bình luận trên các website và các nền tảng khác. Bot khiến chúng ta khó lòng đánh giá được tương tác giữa những con người thực thụ trên một nền tảng hay website.

Ngoài ra, còn có những kẻ gọi là "scraper", chuyên sử dụng bot để thu thập địa chỉ email của người dùng và sử dụng chúng cho nhiều mục đích khác nhau. Các hacker có thể dùng phương thức tấn công "từ điển", trong đó lần lượt quét từng từ trong một danh sách chúng lập nên để bẻ mật mã, do đó mật mã của bạn hoàn toàn không an toàn như bạn vẫn nghĩ. Đó là lý do tại sao bạn lại thấy một bước kiểm tra "I’m not a robot" khi đăng nhập vào nhiều website. Bot còn được dùng để viết các đánh giá tích cực 5 sao trên các sản phẩm và dịch vụ, nhằm tạo nên hình ánh "bóng loáng" trong khi trên thực tế chưa chắc đã vậy.

Để ngăn chặn những vấn đề nêu trên, bước kiểm tra để phân biệt người dùng thực sự và bot là điều cần thiết. Đó là lúc người ta dùng đến CAPTCHA.

Bước kiểm tra “Không phải người máy” trên các website hiệu quả ra sao? - Ảnh 2.

Sự ra đời của CAPTCHA

CAPTCHA, viết tắt của "Completely Automated Public Turing test to tell Computers and Humans Apart" (bài kiểm tra Turing công khai hoàn toàn tự động nhằm phân biệt máy tính và người), được phát triển bởi các nhà khoa học và giáo sư tại Đại học Carnegie Mellon (CMU) và IBM vào năm 2000. Nó là một phương thức để loại bỏ những con bot không mong muốn khỏi website bằng cách sử dụng những hình ảnh bị biến dạng, những câu đố, những đoạn âm thanh… Phương thức này được sử dụng để theo dõi các trường hợp lừa đảo thẻ tín dụng của PayPal.

Tiền đề của phương thức này là các chương trình thường gặp khó khăn trong việc giải mã các hình ảnh bị biến dạng, trong khi con người có thể dễ dàng giải mã chúng. Có thời điểm, phương thức CAPTCHA này đã được sử dụng bởi 200 triệu người dùng mỗi ngày, tương đương với việc bỏ ra xấp xỉ 500.000 giờ giải mã các đoạn văn bản bị xáo trộn! Các chuyên gia tại CMU quyết định biến toàn bộ những nỗ lực này thành một thứ gì đó hữu dụng hơn, và họ đã dùng phương thức phát hiện bot này để số hóa những cuốn sách kinh điển.

Phương thức mới này được gọi là reCAPTCHA, và nó sử dụng các tập tin PDF và sách được scan lên máy tính, hay các nguồn nguyên liệu khác, để đóng vai trò những bài kiểm tra chữ biến dạng, yêu cầu người dùng phải giải mã chúng, qua đó giải quyết 2 vấn đề: loại bỏ bot và số hóa những cuốn sách kinh điển.

Loại công nghệ CAPTCHA mới này sau đó được mua lại bởi Google vào năm 2009 và tiếp tục được công ty phát triển.

Vào ngày 14/4/2014, Google tung ra một bản thảo khoa học tiết lộ hãng đã phát triển được các hệ thống nhận dạng hình ảnh bằng Deep Convolutional Neural Networks, với khả năng giải mã chữ và số từ kho hình ảnh Street View của mình. Có nghĩa là các chương trình này có khả năng giải được các bài kiểm tra CAPTCHA khó nhất với độ chính xác đến 99,8% - khiến cho hệ thống hiện tại trở nên không đáng tin cậy nữa.

Dẫu vậy, vấn đề bot vẫn còn tồn tại, và chúng ta cần một cách nào đó để loại bỏ chúng. Xin giới thiệu với các bạn: No CAPTCHA reCAPTCHA.

Bước kiểm tra “Không phải người máy” trên các website hiệu quả ra sao? - Ảnh 3.

No CAPTCHA reCAPTCHA

Vào ngày 14/12/2014, Google công bố đã phát triển một phiên bản reCAPTCHA mới – phiên bản khá phổ biến hiện nay, chính là ô vuông với dòng chữ "I’m not a robot" (Tôi không phải người máy) bên cạnh.

Phiên bản này không yêu cầu người dùng giải mã các văn bản biến dạng nữa, nhưng thay vào đó sẽ dựa vào một cú nhấn chuột duy nhất để xác định xem bạn là người hay bot. Phương thức này sử dụng backend Advanced Risk Analysis dành cho reCAPTCHA, được phát triển và công bố bởi Google trên một bài blog vào năm 2013.

Quy trình backend này sẽ phân tích tương tác của người dùng trước, trong và sau khi viết CAPTCHA để xác nhận họ, dựa vào các manh mối để hiểu được một người dùng là bot hay con người. Bài kiểm tra "I’m not a robot" sử dụng các phương thức tương tự, đồng thời đánh giá các người dùng di chuyển con trỏ chuột và cách họ điền vào ô văn bản. Google không tiết lộ tất cả các manh mối, bởi nếu lộ ra, mục tiêu loại bỏ bot sẽ không đạt được.

Tuy nhiên, CAPTCHA chưa hoàn toàn bị thay thế, và vẫn được dùng kèm với ô nhấn chuột nếu Google cảm thấy có hành vi mờ ám, biến nó thành một manh mối bổ sung để xác minh người dùng. Các văn bản biến dạng đã được thay thế bằng các hình ảnh – ví dụ, một chú mèo – mà người dùng phải xác định trong số các hình ảnh khác.

Bài kiểm tra "I’m not a robot" có hiệu quả?

Google nói rằng khi phiên bản mới của reCAPTCHA được tung ra, các công ty như Snapchat, WordPress, và Humble Bundle sẽ sẵn sàng triển khai phương thức này. Họ khẳng định rằng trong tuần đầu sử dụng No CAPTCHA reCAPTCHA, người dùng đã vào được website chính nhanh hơn nhiều so với các phương thức trước đó.

Xét về khía cạnh bảo mật, thêm nhiều lớp manh mối sẽ khiến việc truy cập vào một website trở nên khó khăn hơn, và phương thức "I’m not a robot" rõ ràng đã hỗ trợ rất nhiều so với việc giải mã văn bản trong các phương thức CAPTCHA trước đó. Google không tiết lộ các manh mối để buộc những kẻ viết bot phải đoán, từ đó đảm bảo reCAPTCHA luôn ở "kèo" trên.

Phương thức này còn phù hợp với những người khiếm thị, bởi nó giảm được thời gian cần thiết để giải mã văn bản, và thay việc đó với chỉ một cú nhấn chuột, và thỉnh thoảng là tìm một đồ vật trong nhiều hình ảnh. "No CAPTCHA reCAPTCHA" sẽ được phát triển hơn nữa trong tương lai, với nhiều manh mối hơn được thêm vào thuật toán để kiểm tra tính hợp lệ của người dùng.

Có thể nói vấn đề bot sẽ chưa biến mất sớm, nhưng tính đến nay, có vẻ như con người đang dẫn trước trong cuộc đua số với chính những chiếc máy tính.

Tham khảo: ScienceABC