CAPTCHA 代表“完全自动化的公开图灵测试*,用于区分计算机和人”。它指的是各种身份验证方法,通过提出对人来说简单但对机器来说困难的挑战,验证用户为人而不是机器人。
CAPTCHA 可防止诈骗者和垃圾邮件发送者出于恶意目的使用机器人来填写网络表单。
传统的 CAPTCHA 要求用户阅读并正确地重新输入光学字符识别 (OCR) 技术无法解读的扭曲文本。CAPTCHA 技术的较新版本使用 AI 驱动的行为和风险分析,根据活动模式而不是单个任务来验证真人用户。
为了防止黑客利用机器人执行恶意操作,许多网站要求用户在登录帐户、提交注册表单、发表评论或执行其他操作之前完成 CAPTCHA 挑战。通过完成挑战,用户确认自己是真人,然后才能继续在网站上进行活动。
* 图灵测试以其创造者艾伦·图灵 (Alan Turing) 的名字命名,旨在测试机器是否具有人的智力。
在 20 世纪 90 年代末和 21 世纪初,多个团队同时开发出了最早形式的 CAPTCHA 技术。每个团队都致力于打击黑客在互联网上使用机器人进行恶意活动这一普遍问题。例如,为搜索引擎 AltaVista 工作的计算机科学家希望阻止机器人将恶意网址添加到公司的链接数据库中。
IT 公司 Sanctum 的研究人员于 1997 年开发出了第一个 CAPTCHA 式系统。然而,CAPTCHA 一词最初是由 Luis von Ahn 和 Manuel Blum 领导的卡内基梅隆大学计算机科学研究小组于 2003 年引入的。雅虎公司曾经深受垃圾邮件机器人的困扰,它们大量注册虚假邮箱,给公司带来了巨大的麻烦。在一次高管分享中,该团队成员受到启发,决心开发一项新技术来应对这个问题。
为了解决雅虎的问题,von Ahn 和 Blum 创建了一个计算机程序,它能够:
当时的 OCR 技术难以破译这种扭曲的文本,因此机器人无法通过 CAPTCHA 挑战。如果用户输入了正确的字符串,则可以可靠地认为他们是真人,从而允许他们完成帐户注册或网络表单提交。
雅虎实施了卡内基梅隆大学的技术,要求所有用户在注册电子邮件地址之前通过 CAPTCHA 测试。这大大减少了垃圾邮件机器人活动,其他公司也开始采用 CAPTCHA 来保护他们的 Web 表单。然而,随着时间的推移,黑客使用已完成 CAPTCHA 挑战的数据,开发出了能够可靠地通过 CAPTCHA 测试的算法。这标志着 CAPTCHA 开发人员和网络罪犯之间持续“军备竞赛”的开始,这场竞赛推动了 CAPTCHA 功能的演变。
reCAPTCHA v1
reCAPTCHA v1 由 von Ahn 于 2007 年推出,具有双重目标:一是让基于文本的 CAPTCHA 挑战更难被机器人破解,二是提高当时用于数字化印刷文本的 OCR 的准确性。
reCAPTCHA 通过提高向用户显示的文本的扭曲程度,并最终在文本中添加线条,实现了第一个目标。
为了实现第二个目标,它不再使用随机生成的扭曲文本的单个图像,而是使用两个不同 OCR 程序扫描实际文本所得到的两个扭曲文本图像。第一个词或控制词是两个 OCR 程序都正确识别的单词。第二个词是两个 OCR 程序都无法识别的词。如果用户正确识别了控制词,reCAPTCHA 就会假设该用户是真人,允许他们继续执行任务,同时假设用户正确识别了第二个词,并利用响应来验证未来的 OCR 结果。
通过这种方式,reCAPTCHA 增强了对机器人攻击的防护能力,并提高了互联网档案馆和《纽约时报》的数字化文本的准确性。具有讽刺意味的是,随着时间的推移,它还帮助改进了人工智能和机器学习算法,以至于到 2014 年,这些算法识别扭曲程度最高的文本 CAPTCHA 的正确率达到了 99.8%。
2009 年,谷歌收购了 reCAPTCHA,并开始使用它来数字化谷歌图书的文本,同时将其作为服务提供给其他组织使用。但是,随着 OCR 技术在 reCAPTCHA 的帮助下取得进步,能够有效解决基于文本的 reCAPTCHA 的人工智能程序也在发展。作为回应,谷歌于 2012 年推出了图像识别 reCAPTCHA,它用源自谷歌街景的图像取代了扭曲文本。用户通过识别路灯和出租车等现实世界中的物体来证明自己是真人。除了能避开机器人使用的高级 OCR 外,这些基于图像的 reCAPTCHA 还被认为对移动应用程序用户来说更方便。
Google reCAPTCHA v2:无 CAPTCHA 的 reCAPTCHA
2014 年,Google 发布了 reCAPTCHA v2,它用一个简单的“我不是机器人”复选框取代了基于文本和图像的挑战。当用户选中复选框时,reCAPTCHA v2 会分析用户与网页的交互,评估打字速度、Cookie、设备历史记录和 IP 地址等因素,确定用户是否可能是真人。复选框也是 CAPTCHA 工作原理的一部分:无 CAPTCHA 的 reCAPTCHA 跟踪用户单击复选框时的鼠标移动。人的动作往往更混乱,而机器人的动作更精准。如果无 CAPTCHA 的 reCAPTCHA 怀疑用户可能是机器人,它会向用户提出基于图像的 CAPTCHA 挑战。
reCAPTCHA v3
reCAPTCHA v3 于 2018 年首次亮相,取消了复选框,并扩展了无 CAPTCHA 的 reCAPTCHA 的 AI 驱动风险分析。reCAPTCHA v3 通过 JavaScript API 与网页集成并在后台运行,以 0.0(可能是机器人)到 1.0(可能是人)的等级对用户的行为进行评分。网站所有者可以设置自动操作,当用户的得分表明其可能是机器人时,便在特定时刻触发该操作。例如,当低分用户点击“提交”时,其博客评论可能会被发送到审核队列,或者低分用户在尝试登录帐户时可能会被要求完成多重身份验证过程。
reCAPTCHA v3 等基于 AI 的身份验证方法旨在避开黑客问题。这些方法消除了 CAPTCHA 验证过程中的交互挑战,可以防止黑客使用先前解决的挑战中的数据来训练机器人破解新的 CAPTCHA。因此,专家认为基于 AI 的 CAPTCHA 可能会成为常态,在未来五到十年内完全取代基于挑战的 CAPTCHA。
CAPTCHA 技术作为机器人检测和预防措施有几种常见用途,包括:
防止虚假注册
在注册电子邮件帐户、社交媒体资料或其他在线服务之前,公司可以要求用户通过 CAPTCHA 测试,从而阻止机器人使用这些服务传播垃圾邮件或恶意软件或进行恶意活动。CAPTCHA 最早的采用者是 Yahoo、Microsoft 和 AOL 等公司,他们希望阻止机器人注册虚假电子邮件帐户。
防范可疑交易
Ticketmaster 等公司已使用 CAPTCHA 来阻止机器人购买稀缺商品(如音乐会门票)并在二级市场上转售。
保护在线投票的完整性
若没有 CAPTCHA 这样的防护措施,机器人可以轻易操纵在线投票。保护在线投票结果完整性的需求推动了 CAPTCHA 类技术的早期探索。例如,为了确保 1996 年美国总统大选期间的在线民意调查质量,Digital Equipment Corporation 要求用户在投票之前找到并点击网页上的国旗像素化图像。
遏制垃圾评论,维护产品评价的真实性
诈骗者和网络罪犯经常使用博客和文章评论区来传播诈骗和恶意软件。他们还可能发布大量虚假评论来操纵产品评价,通过这种方式,他们可以人为地提高产品在电商平台或搜索引擎中的排名。机器人还可能利用不受保护的评论区开展骚扰活动。要求用户在发布评论之前完成 CAPTCHA 可以减少此类恶意活动。
防范暴力和字典攻击
在暴力破解和字典攻击中,黑客使用机器人来猜测数字、字母和特殊字符的组合,直至找到正确的密码,从而非法进入帐户。要求用户在一定次数的登录尝试失败后完成 CAPTCHA,可以阻止此类攻击。
虽然 CAPTCHA 技术已被证明可以有效阻止机器人,但它也存在缺点,包括:
使用不便,用户体验不佳
CAPTCHA 挑战在注册、登录和表单填写过程中增加了一个额外步骤,有些人觉得这很烦人。此外,为了击败更老练的机器人,CAPTCHA 的复杂度不断提高,因此解决 CAPTCHA 也让用户感到沮丧。在 2010 年的一项研究中,斯坦福大学的研究人员要求三人一组解决相同的 CAPTCHA,参与者对 CAPTCHA 答案的一致同意率只有 71%(ibm.com 外部链接)。研究还发现,非英语母语人士解决 CAPTCHA 问题比英语母语人士更困难,这表明 CAPTCHA 对某些群体来说可能比其他群体更具挑战性。
无障碍访问挑战
对于视障用户来说,文本和图像 CAPTCHA 可能极具挑战性,甚至无法解决。此类测试的设计初衷就是让机器无法读取,因此屏幕阅读器无法阅读大多数 CAPTCHA 挑战,这进一步加大了视障用户的困难。
替代形式的 CAPTCHA 已尝试解决此问题,但它们有其自身的局限性。音频 CAPTCHA 需要用户听懂被扭曲的声音,非常难以通过。上述斯坦福大学研究发现,用户对音频 CAPTCHA 答案的一致同意率仅为 31%。
MAPTCHA 是一种需要用户解决简单数学问题的 CAPTCHA,很容易被算法破解。
使用无法访问的 CAPTCHA 也会产生法律影响。1973 年《康复法案》第 508 条修正案于 1998 年出台,要求美国联邦机构及其私营部门合作伙伴为残障人士提供无障碍访问的数字信息。如果公司没有可无障碍访问的 CAPTCHA 选项,则可能违反了此要求。
转化率降低
不便的用户体验和 CAPTCHA 的难以访问性会对转化率产生负面影响。2009 年对 50 个网站的案例研究表明,由于要求用户完成 CAPTCHA,合法转化率降低了 3.2%(ibm.com 外部链接)。音频 CAPTCHA 可能特别有害:前面提到的斯坦福大学研究发现,用户有 50% 的可能会放弃解决基于声音的 CAPTCHA。
机器人 AI 击败新 CAPTCHA 的能力
自 CAPTCHA 技术诞生以来,CAPTCHA 方案已经改变了很多次,原因是机器人一直在进化以击败每一种新的 CAPTCHA 挑战。CAPTCHA 技术的结构本身导致了这个问题,因为 CAPTCHA 依赖未解决的 AI 问题来阻止机器人。当人解决 CAPTCHA 挑战时,他们会生成数据集,这些数据集可以训练机器学习算法攻克以前无法解决的 AI 问题。例如,2016 年计算机科学研究人员 Jason Polakis 使用 Google 的反向图像搜索解决了 Google 基于图像的 CAPTCHA 问题。
隐私问题
虽然新形式的 CAPTCHA 试图通过完全消除交互式挑战来解决无障碍访问问题并阻止机器人军备竞赛,但一些用户和研究人员发现 AI 驱动的 CAPTCHA 具有侵入性。人们对 reCAPTCHA v3 如何使用代码和 cookie 跨多个网站追踪用户表示担忧。一些人认为,这些追踪数据除了用于验证之外,还可能被用于其他方面,但具体如何使用却不够透明。