Tại sao CAPTCHA ngày càng khó? Vì đây là cuộc chạy đua vũ trang giữa AI và con người
Lối cũ ta về, CAPTCHA lại trở lại với bài thử xử lý hình ảnh. Đáng buồn và đáng lo ngại thay, khả năng xử lý và nhận dạng hình ảnh của máy tính ngày càng tiên tiến.
Khoảng giữa năm ngoái, Google tăng độ khó trò chơi Internet lên vài lần: "nhờ" có hệ thống captcha mới, người ta phải vất vả hơn để chứng minh mình không phải là robot. Nhiều năm trước, ta chỉ cần một dấu tick đơn giản vào ô trống nhưng ngày nay, bạn phải chọn ra đúng hình ảnh biển báo, biển hiệu, cây cối, nhà cửa mới tỏ rõ được mình là người.
Thế mà độ khó đã dừng lại đâu: biển báo bắt đầu lẩn sau tán cây, sương buổi sớm che mất ngôi nhà đằng xa, cửa hiệu không hiển thị tiếng Anh mà là bất cứ thứ ngôn ngữ gì trông có vẻ lằng nhằng.
Những bài thử lằng nhằng mà bạn vẫn quen thuộc có tên CAPTCHA, viết tắt cho Completely Automated Public Turing test to tell Computers and Humans Apart - Bài thử Turing Công khai hoàn toàn tự động để Phân biện Máy tính và Con người, một cái tên dài dòng, gây ức chế như bản thân những bài thử. Cảnh ngộ "càng ngày càng khó" này cũng từng xuất hiện trong quá khứ rồi.
Đầu những năm 2000, chỉ một dòng chữ đơn giản đã đủ làm trở ngại cho các hệ thống spam tự động – các spambot. Nhưng chỉ mười năm sau, khi Google hợp tác với các nhà nghiên cứu từ Carnegie Mellon, mua lại chương trình đọc sách nhằm só hóa dịch vụ Google Books, mọi bài thử liên quan tới chữ phải trở nên uốn éo hơn, khó đọc hơn để chống spambot. Khi máy tính ngày một khôn ra, con người phải tiến hóa để thích ứng: con mắt chúng ta ngày nay soi CAPTCHA giỏi như soi cái đẹp.
CAPTCHA là công cụ dạy AI tuyệt vời, bởi mỗi bài thử đều chỉ là phương án nhất thời, số lượng bài thử có thể nhiều bao nhiêu tùy thích. Cuộc đua giữa người và máy rồi sẽ kết thúc, và người chiến thắng sẽ không phải là người. Chính năm 2014, Google đưa thuật toán machine learning của mình ra đối đầu với con người trong cuộc thi đọc CAPTCHA: ngồi trước dòng chữ bị biến tướng méo xẹo, máy tính đọc đúng 99,8% số lần thử, phe người chỉ đúng được 33%.
Google thấy không ổn, họ chuyển sang sử dụng NoCaptcha ReCaptcha, đọc dữ liệu và quan sát hành vi người dùng để chỉ cần một cú click chuột vào ô trống "Tôi không phải robot", hệ thống sẽ biết ngay đây là người. Chẳng được lâu, các hệ thống tự động cũng học được cách vượt bài thử mới. Bạn có nhìn thấy hình ảnh cửa hiệu xuất hiện mỗi khi cần chứng thực mình là người không? Chúng chính là bước cuối cùng trong cuộc đua giữa người và máy, cuộc đua xem cái gì sẽ vươn lên làm bá chủ khía cạnh đọc CAPTCHA.
Jason Polakis, giáo sư ngành khoa học máy tính tại Đại học Illinois chính là cá nhân chịu hoàn toàn trách nhiệm cho việc CAPTCHA ngày một khó lên. Năm 2016, ông xuất bản nghiên cứu sử dụng công cụ nhận dạng hình ảnh sẵn có trên Internet (bao gồm cả chức năng tìm kiếm nguồn hình ảnh của Google) để giải mã các bài thử CAPTCHA của Google. Hệ thống của Polakis đạt độ chính xác 70%. Một số nhà nghiên cứu khác cũng đạt được thành tựu tương tự, vượt qua bài thử CAPTCHA âm thanh của Google bằng chính phần mềm nhận dạng âm thanh của Google.
Theo nhận định của Polakis, khi xét tới việc đọc chữ cơ bản, hình ảnh đơn giản và nhận dạng giọng nói, machine learning đã giỏi ngang tầm con người. Thực tế mà nói, thuật toán có khi còn giỏi hơn: Chúng ta cần những cách tiếp cận mới, nhưng chưa tìm ra được kế hoạch cụ thể nào cả".
Chặng đường phát triển CAPTCHA chất đầy những thử nghiệm thất bại, những nỗ lực hòng tìm ra thứ mà con người rất giỏi nhưng máy móc phải khó khăn lắm mới vượt được qua. Các nhà nhà nghiên cứu đã tính tới chuyện sử dụng nhận dạng khuôn mặt, giới tính hay sắc tộc – Nhưng bạn cũng có thể tưởng tượng ra vấn đề nhạy cảm đó có kết cục ra sao.
Có những đề xuất khác, như sử dụng các bài hát ru con địa phương – thứ mà ai cũng đã nghe từ thuở ấu thơ – để làm CAPTCHA. Những bài thử mang tính văn hóa ấy không chỉ nhắm tới những con bot, mà còn ngăn những người điền CAPTCHA thủ công để kiếm chút bạc lẻ, những người nhiều khả năng tới từ nền văn hóa khác sẽ chẳng biết một đứa trẻ ở lục địa bên kia nghe được lời hát ru gì.
Người ta cũng thử sử dụng hình ảnh đã được biến tấu để làm CAPTCHA, đơn cử như xác định hình ảnh hoạt họa của một con heo đeo kính; hay những hình khắc đá trên vách hang cổ đại – máy tính rất "dốt" trong việc xác định hình ảnh vẽ trên tường là thứ gì, chúng không có trí tưởng tượng.
Có những nỗ lực mới mẻ hơn, như lồng ghép trò chơi vào CAPTCHA, yêu cầu người dùng phải chọn đúng giá trị, hay tham gia một trò chơi ghép hình mà không có chỉ dẫn gì – chỉ một hình lớn và vài mảnh ghép còn thiếu, yêu cầu người dùng phải tự nhận ra mình đang phải giải đố. Vài người khác còn nghĩ ra việc sử dụng camera hay bất kỳ thiết bị thực tế tăng cường nào để đưa ra những yêu cầu tương tác chỉ con người mới làm được.
Câu vừa rồi không phải lời phàn nàn con người thiếu sự thông minh, con người đang chỉ chung toàn nhân loại, một tập hợp của nhiều ngôn ngữ, vô số nền văn hóa và từng cá nhân lại có một trải nghiệm khác nhau. Làm sao để một bài thử có thể thỏa mãn vài tỷ biến số?
Lối cũ ta về, CAPTCHA lại trở lại với bài thử xử lý hình ảnh. Đáng buồn và đáng lo ngại thay, khả năng xử lý và nhận dạng hình ảnh của máy tính ngày càng tiên tiến.
"Bài thử vẫn bị giới hạn bởi khả năng của con người", Polakis nói. "Không chỉ khả năng cơ thể, ta cần cái gì đó cho người ở mọi nền văn hóa, nói mọi thứ ngôn ngữ có thể hiểu được. Nó cần loại bỏ được các rào cản văn hóa và ngôn ngữ. Cần thứ gì đó đơn giản cho một người bình thường, không thể chỉ tập trung vào một nhóm người và bên cạnh đó, phải đủ khó để máy tính không giải được".
Việc giải đáp các bài thử CAPTCHA nhanh chóng đã làm dấy lên câu hỏi mang đầy tính triết học: tính chất nào để xác định nên một con người, có thể cho máy móc xem bao nhiêu mà chúng không bao giờ học được? Việc tồn tại dưới dạng "một con người" có cảm giác ra sao?
Nhưng cũng có thể, để xác định được bản chất của con người, ta không thể đo đạc bằng một bài thử, mà bằng cách thức phát triển của nhân loại qua tháng năm – hay như trong trường hợp này, là cách ta "tiến hóa" dọc theo chiều dài phát triển của Internet. Theo lời Shuman Ghosemajumder, bất kỳ loại CAPTCHA nào rồi cùng sẽ bị máy móc hóa giải. Tại sao ta lại coi trọng lời nói của Ghosemajumder? Ông làm việc với Google để chống lại các dịch vụ click lừa đảo, trước khi trở thành trưởng ban công nghệ tại công ty phát hiện bot có tên Shape Security.
Ông không coi trọng các bài thử, mà thích thú hơn với ý tưởng "xác nhận liên tục – continuous authentication", quan sát mọi hành động của người sử dụng Internet để phát hiện ra dấu hiệu cho thấy đây là chuỗi hành động tự động.
"Con người không giỏi điều khiển tứ chi cho lắm, vì thế ta không thể di chuyển chuột thực hiện nhiều thao tác cùng một lúc, ngay cả khi ta cố gắng thế nào đi nữa", nhà nghiên cứu bảo mật Ghosemajumder nói. Một con bot có thể tương tác với trang web mà không cần động đến chuột, hay sử dụng chuột một cách cực kỳ chính xác, con người luôn có những "khoảng hỗn loạn" rất khó để làm giả.
Đội ngũ CAPTCHA của Google cũng có suy nghĩ tương tự. Phiên bản mới nhất của họ, reCaptcha v3 ra mắt cuối năm ngoái sử dụng cơ chế "phân tích rủi ro thích nghi tùy tình huống" để xác định xem một hành động có đáng nghi không.
Đầu tiên họ sẽ phải xác nhận xem đâu là những hành động bình thường, từ đó suy ra những hành động được cho là bất thường. Các nhà nghiên cứu bảo mật vẫn gọi chúng là một mớ hổ lốn của cookie trang web, các đặc tính riêng của các trình duyệt khác nhau, lượng truy cập tới từ nhiều nguồn và nhiều yếu tố khác nữa. Điểm trừ của phương cách này: nếu bạn sử dụng những công cụ giấu địa chỉ như VPN hay những phần mềm chống theo dõi, bạn sẽ bị hệ thống nghi ngờ bạn là một con bot.
Aaron Malenfant, trưởng ban kỹ thuật của đội ngũ CAPTCHA tại Google, nói việc không áp dụng bài thử Turing là một bước dừng trên cuộc đua mà ta đã bị bỏ lại sau. "Khi người ta đầu tư càng nhiều vào machine learning, những thử thách chứng minh mình không phải robot sẽ càng khó hơn với con người, đó chính là lý do chúng tôi ra mắt CAPTCHA V3, để đón đầu được xu hướng".
Trong cuốn sách Cá nhân giống người nhất nhân loại, tác giả Brian Christian mô tả lần tham gia cuộc thi Bài thử Turing với tư cách con người, và nhận thấy việc chứng minh mình là người qua việc trò chuyện không hề đơn giản. Mặt khác, những lập trình viên làm bot lại thấy việc vượt bài thử Turing khá dễ dàng, không phải bằng việc tạo ra một con bot nói chuyện cực kỳ linh hoạt, mà một con bot biết cách tránh né câu hỏi bằng một câu chuyện đùa đánh lạc hướng hay bằng việc lồng sai chính tả, sai ngữ pháp vào câu trả lời. Có thể lấy ví dụ về con bot thắng giải năm 2014, nó là một cậu bé Ukraina 13 tuổi nói tiếng Anh rất kém.
Suy cho cùng, không có ai hoàn hảo cả. Trong tương lai, rất có thể CAPTCHA – bài thử Turing được sử dụng nhiều nhất thế giới – sẽ phải tiến hóa, không phải là chọn ra đúng hình ảnh hay dòng chữ nữa, mà phải dựa trên những lỗi lầm người dùng hay mắc phải khi duyệt web.
Nhưng các bài thử CAPTCHA cũng có thể vẫn còn chỗ đứng. Hồi 2017, Amazon công bố bằng sáng chế về bài thử liên quan tới những ảo giác quang học hay các câu đố logic, thứ con người vẫn gặp nhiều khó khăn mới giải ra được. Với cái tên bài thử Turing nhằm vào khía cạnh thất bại, cách duy nhất để vượt qua chúng là chọn ra đáp án sai.