主页 topics 什么是 CAPTCHA? 什么是 CAPTCHA?
CAPTCHA 将认证用户以确定其是否为人类,这可防止恶意机器人带来的威胁。
显示不同办公室人员全都使用 IBM Security 的等距图
什么是 CAPTCHA?

CAPTCHA 是“Completely Automated Public Turing Test* to Tell Humans Apart(全自动区分计算机和人类的图灵测试)”的首字母缩写。它是指各种认证方法,这些方法利用一个对于人类来说很简单但对机器来说很难的挑战来测试用户,以验证用户是否为人类。 CAPTCHA 可防止诈骗者和垃圾邮件发送者使用机器人填写用于恶意目的的 Web 表单。

传统 CAPTCHA 要求用户阅读并正确重新输入无法通过光学字符识别 (OCR) 技术解释的失真文本。 最新的 CAPTCHA 技术使用 AI 驱动的行为和风险分析,根据活动模式(而不是单个离散任务)对人类用户进行认证。

许多网站都要求用户在登录到帐户档案、提交注册表、发表评论或执行黑客可能使用机器人执行的某些其他操作之前回答 CAPTCHA 问题。 回答这种问题,即表明用户是人类,并被允许在网站上继续执行活动。

CAPTCHA 演进

最初的 CAPTCHA 技术是在 20 世纪 90 年代末和 21 世纪初由几个不同的小组并行开发的。 这些小组都致力于解决黑客使用机器人在因特网上执行恶意活动的普遍问题。 例如,搜索引擎 AltaVista 领域的计算机科学家希望阻止机器人将恶意网址添加到公司的链接数据库中。

IT 公司 Sanctum 的研究人员在 1997 年建立了第一个 CAPTCHA 样式的系统。 但是,CAPTCHA 一词是由卡内基梅隆大学的计算机科学研究人员小组(负责人为 Luis von Ahn 和 Manuel Blum)于 2003 年创造的。 该团队之所以开始研究这项技术,是受到一位雅虎高管的启发,他在演讲中提到该公司面临的问题,那就是垃圾邮件机器人注册了数百万个虚假电子邮件帐户。

为了解决雅虎面临的这个问题,von Ahn 和 Blum 创建了一个计算机程序,该程序会执行以下操作:1)生成一个随机的文本字符串,2)生成该文本的失真图像(称为“CAPTCHA 代码”),3)将该图像呈现给用户,以及 4)要求用户将该文本输入到表单字段中,然后通过单击“我不是机器人”旁边的复选框来提交输入。 由于当时的光学字符识别 (OCR) 技术难以解密这种失真文本,因此机器人无法回答 CAPTCHA 问题。 如果用户输入了正确的字符串,则可以可靠地认为他们是人类,并允许他们完成帐户注册或 Web 表单提交。

雅虎实施了卡内基梅隆大学的技术,要求所有用户在注册电子邮件地址之前通过 CAPTCHA 测试。 这显著减少了垃圾邮件机器人的活动,随后其他公司也开始采用 CAPTCHA 来保护他们的 Web 表单。 然而,随着时间的推移,黑客使用已回答的 CAPTCHA 问题的数据,开发能够稳定通过 CAPTCHA 测试的算法。 这标志着 CAPTCHA 开发人员和网络犯罪分子之间的拉锯战的开始,并推动了 CAPTCHA 功能的演进。

reCAPTCHA v1

reCAPTCHA v1 由 von Ahn 于 2007 年推出,它具有双重目标:确定难以被机器人破解的基于文本的 CAPTCHA 问题,以及提高当时用于数字化印刷文本的光学字符识别 (OCR) 的准确性。

reCAPTCHA 实现第一个目标的方法是:增加向用户显示的文本的失真度并最终添加横穿文本的线条。

它实现第二个目标的方法是:将随机生成的失真文本的单张图像替换为从实际文本扫描的文字的两张失真文本图像(由两个不同的 OCR 程序扫描)。 第一个词(也称为控制词)是两个 OCR 程序都能正确识别的词;第二个词是两个 OCR 程序都无法识别的词。 如果用户正确识别了控制词,则 reCAPTCHA 得出以下结论:1) 认为该用户是人类并允许他们继续执行任务,2) 还认为该用户正确识别了第二个词,并使用响应来验证未来的 OCR 结果。

通过这种方式,reCAPTCHA 不仅提高了反机器人安全性,还提高了互联网档案馆和纽约时报数字化文本的准确性。 (让人感到讽刺的是,随着时间的推移,它还帮助改进了人工智能机器学习算法,到 2014 年,他们识别出最失真的文本 CAPTCHA 的概率为 99.8%。)

2009 年,Google 收购了 reCAPTCHA,并开始使用它来数字化 Google Books 文本,同时将其作为服务提供给其他组织。 然而,随着 OCR 技术在 reCAPTCHA 的帮助下进步,能够有效回答基于文本的 reCAPTCHA 问题的人工智能程序也在进步。 作为回应,Google 在 2012 年推出了图像识别 reCAPTCHA;这种 reCAPTCHA 用 Google Street View 拍摄的图像替换了失真文本。 用户通过识别路灯和出租车等真实物体来证明他们的人性。 除了能够避开机器人当前部署的高级 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(可能是人类)。 网站所有者可以将自动操作设置为在用户分数表明其可能是机器人的特定时刻触发。 例如,低分用户输入的博客评论可能会在他们单击“提交”时发送到审核队列,或者低分用户在尝试登录帐户时可能会被要求完成多因子认证过程。

通过移除 CAPTCHA 验证过程中的交互式问题,基于 AI 的认证方法(如 reCAPTCHA v3)试图防止黑客使用先前回答的问题中的数据来训练机器人以破解新 CAPTCHA。 正因为如此,专家认为基于 AI 的 CAPTCHA 可能会成为常态,并在未来 5 到 10 年内完全取代基于问题的 CAPTCHA。

CAPTCHA 用例

作为一种机器人检测和预防措施,CAPTCHA 技术有多种常见用途,包括:

防止虚假注册。 通过要求用户在注册电子邮件帐户、社交媒体个人档案或其他在线服务之前通过 CAPTCHA 测试,公司可以过滤掉旨在使用这些服务传播垃圾邮件或恶意软件或进行其他恶意活动的机器人。 雅虎、微软和 AOL 等公司是最早一批使用 CAPTCHA 的公司,他们当时希望阻止机器人注册虚假电子邮件帐户。

防范可疑交易。 像 Ticketmaster 这样的公司已使用 CAPTCHA 来阻止机器人购买数量有限的商品(如音乐会门票)并在二级市场上转售。

保护在线投票的完整性。 如果不采用 CAPTCHA 等遏制手段,在线投票可能会受到机器人的影响。 正是因为要保护在线投票结果的完整性,才启动了 CAPTCHA 类似技术的一些早期试验。 例如,为了确保 1996 年美国总统大选期间在线投票结果的公正性,Digital Equipment Corporation 要求用户在投票之前找到并单击网页上的像素化旗帜图像。

阻止垃圾评论和产品评论。 诈骗者和网络犯罪分子经常使用博客和文章评论部分来传播诈骗和恶意软件;他们还可能参与垃圾评论,在其中发布大量虚假评论,从而人为地提高产品在电子商务网站或搜索引擎上的排名。 机器人还可能使用不受保护的评论部分来开展骚扰活动。 可通过要求用户在发布评论之前完成 CAPTCHA 来减少这类恶意活动。

防御暴力攻击和字典攻击。 在暴力攻击和字典攻击中,黑客通过使用机器人猜测数字、字母和特殊字符的组合来入侵帐户,直到找到正确的密码。 可通过要求用户在一定次数的登录尝试失败后完成 CAPTCHA 来阻止这类攻击。

CAPTCHA 缺点

虽然 CAPTCHA 技术通常被证明能够有效阻止机器人,但它并未没有在其他方面做出牺牲。

不方便的用户体验。 CAPTCHA 问题为注册、登录和表单填写过程增加了一个额外步骤,这肯定会让有些人觉得很厌烦。 此外,为了击败更复杂的机器人,CAPTCHA 复杂性也会随之增加,因此回答 CAPTCHA 问题也会让用户感到挫败。 2010 年的一项研究表明,当斯坦福大学的研究人员要求三人一组回答相同的 CAPTCHA 问题时,参与者一致认为:回答 CAPTCHA 问题的概率只有 71%(PDF,2.5 MB;链接位于 IBM.com 外部)。 该研究还发现,与英语母语者相比,非英语母语者需要花更多时间才能解决 CAPTCHA,这表明与其他人相比,CAPTCHA 对于某些群体而言可能更具挑战性。

无法访问。 对于视力障碍用户而言,文本和图像 CAPTCHA 问题可能极具挑战性或根本无法回答。 屏幕朗读器无法读取大多数的 CAPTCHA 问题,因为这些测试都被设计为机器无法读取,这一事实使情况变得更加复杂。

替代的 CAPTCHA 解决方案试图解决这个问题,但它们也有自身的局限性。 众所周知,要求用户解密乱码音频的音频 CAPTCHA 问题都很难回答。 上述斯坦福研究发现,用户一致认为:回答音频 CAPTCHA 问题的概率只有 31%。

MAPTCHA 是一种要求用户回答简单数学问题的 CAPTCHA,因此它非常容易被算法破解。

使用无法访问的 CAPTCHA 也可能招致某些法律后果。 美国 1998 年推出的《1973 年康复法案》第 508 条修正案规定,美国联邦机构以及与这些机构有业务往来的私人组织应提供可供残疾人访问的数字化信息。 如果公司没有提供 CAPTCHA 辅助功能选项,则视为可能违反此要求。

转化率降低。 不方便的用户体验和无法访问的 CAPTCHA 都会对转化率产生负面影响。 2009 年针对 50 个网站的案例研究表明,要求用户完成 CAPTCHA,使得合法转化率下降了 3.2% (链接位于 IBM.com 外面)。 音频 CAPTCHA 可能特别有害:上述斯坦福研究发现,用户放弃回答基于语音的 CAPTCHA 问题的概率是 50%。

机器人 AI 技术不断发展,进而破解了新的 CAPTCHA 问题。自该技术诞生以来,CAPTCHA 方案已发生了多次变化,因为机器人技术不断发展,进而破解了新的 CAPTCHA 问题。 这个问题正是由 CAPTCHA 技术结构所导致,因为 CAPTCHA 依靠未解决的 AI 问题来阻止机器人。 当人类回答 CAPTCHA 问题时,他们会生成数据集,而这些数据集可用于训练机器学习算法以解决以前不可能解决的 AI 问题。 例如,在 2016 年,计算机科学研究人员 Jason Polakis 已使用 Google 反向图像搜索来回答 Google 基于图像的 CAPTCHAS 问题,且准确率达到 70%。

隐私问题。 虽然新形式的 CAPTCHA 试图通过完全消除交互式问题来解决可访问性问题并阻止机器人拉锯战,但一些用户和研究人员发现由 AI 驱动的 CAPTCHA 具有一定的侵入性。 人们对于 reCAPTCHA v3 使用代码和 Cookie 在多个网站上跟踪用户的做法表示担忧。 一些人认为,将这些跟踪数据用于验证以外的其他目的时,透明度不够。

*图灵测试以其创造者艾伦·图灵 (Alan Turing) 的名字命名,用于测试机器展现人类智能的能力。

相关解决方案
身份和访问管理 (IAM)

利用 IBM Security Verify IAM 解决方案,将每个用户与正确的访问级别关联在一起。

探索 IAM 解决方案
高级认证

IBM Security Verify 通过无密码或多重身份验证选项,让您拥有的不仅仅是基本身份验证。

探索高级认证
自适应访问

利用 IBM Security Verify,借助 AI 辅助的基于风险的身份验证,主动保护用户和资产。

探索自适应访问解决方案
资源 什么是 IAM(身份和访问管理)?

通过使用 IAM,IT 管理员可以为网络上的每个用户或实体分配、认证、许可和管理单个数字身份。

什么是多因子认证 (MFA)

MFA 除了密码外还需要至少一个认证因子,或者至少需要两个认证因子(不是密码)来认证用户。

什么是单点登录 (SSO)?

通过使用 SSO,用户可使用一组登录凭证登录到会话一次,并在该会话期间访问多个相关的应用程序和服务。