验证码这么难,是机器太聪明还是人太笨?

声明:本文来自于微信公众号栈外(ID:zhanwai_),作者:Josh Dzieza,授权站长之家转载发布。

本文看点

验证码用于区分机器和人类用户。起初只需要简单的文本验证码就能避免许多恶意操作,然而随着机器学习技术不断发展,由文字到图像再到游戏,验证码对人类来说越来越难,而机器却不断进化,不断超越人类。

当前验证码设计的难度在于:测试受到人类能力的限制,除了人类的基本能力,还需要一些跨文化、跨语言的能力。要保证所有普通人都能轻而易举地通过验证,同时让电脑难以通过,这给实际工作带来了很大的限制。

人性并非由单一任务衡量,而是由一系列行为衡量。研究人员试图通过观察用户的行为并寻找自动化的迹象来区分人机。在未来,会犯错、错过按钮、分心和切换标签的机器人更具欺骗性,而验证码也可能会永远存在。

有一次,Google不断要求我证明自己的人类身份,且这一流程越来越咄咄逼人。“我不是机器人”的按钮过于简单可爱,以至于现在我们愈发需要通过其他操作证明自己的身份。

系统可能要求我们选择图像网格中所有的红绿灯、人行横道或者店面。很快,验证码中的红绿灯就被埋在了远处的树叶里;人行横道弯弯曲曲,在拐角处若隐若现;店面的招牌变得模糊不清,而且还是韩文标语。有的还要求用户辨认一个消防栓,这也太难了。

这些俗称验证码的测试被称为CAPTCHA,这是一个缩写,意思是区分用户是计算机或人的公共全自动进程,它们一度达到了这种不可理喻的难度。

在 21 世纪初,简单的文本验证码足以阻挡大多数垃圾邮件。但十年后,在Google从卡内基梅隆大学的研究人员那里购买了这个程序,用于Google图书的数字化之后,文本变得越来越扭曲模糊,以求领先于不断进步的光学字符识别程序。

从某种意义上来说,所有试图解决验证码难题的人都在帮助改进这些程序

由于验证码是训练人工智能(AI)的一个绝佳工具,任何给定的测试都只能是暂时的,这是其发明者在一开始就承认的事实。所有这些研究人员、骗子和普通人都在AI能力的极限下解决了数十亿个谜题。

未来某个时刻,这些机器将会超过我们。 2014 年,Google让一种机器学习算法与人类竞争,来识别最扭曲的文本验证码:计算机的正确识别率有99.8%,而人类只有33%

Google随后诉诸于NoCaptcha ReCaptcha,它通过用户点击“我不是机器人”按钮,来观察用户数据和行为。有些情况可以直接通过,有些时候就需要完成图片选择验证。

但是机器又一次迎头赶上了人类的表现。那些似是而非的图片,就成了人类与机器的决赛。

芝加哥伊利诺伊大学计算机科学教授杰森·波拉基斯认为,如今验证码难度的增加有他的一份功劳。 2016 年,他发表了一篇论文,利用现成的图像识别工具,包括Google自己的反向图像搜索,以70%的准确率解决了Google的图像识别问题。

其他研究人员则利用Google自己的音频识别程序解决了Google的音频验证码。

波拉基斯说,机器学习在基本的文本、图像和语音识别任务上已经和人类达到了差不多的水平。事实上,算法可能在这方面做得更好:“我们为了让软件更难识别验证码,反倒给人们带来了更大的不便。我们需要一些替代方案,但目前还没有具体计划。”

关于验证码的文献中充斥着错误的出发点和奇怪的尝试,试图找到人类普遍擅长的、机器难以对付的文本或图像识别以外的东西。

研究人员试图让用户根据面部表情、性别和种族对人物图像进行分类。也太离谱了。有人提议使用一些琐碎的验证码,以及基于大家都熟记于心的儿歌的验证码。这种文化验证码不仅针对机器人,还针对海外的验证码码农,他们靠破解验证码获利。

最近有人致力开发游戏类型的验证码,要求用户将对象旋转到特定角度或将拼图块移动到位,指令并非以文本形式给出,而是以符号形式给出,或根据游戏界面的上下文暗示得出。他们觉得人们能够理解这种谜题的逻辑,而机器则会因为缺少明确的指令而陷入困境。

其他研究人员试图利用人类有实体这一事实,使用设备摄像机或增强现实技术来交互,证明人类的身份。

许多测试的问题其实不一定在于机器人太聪明,而在于人类的表现太差。这并不是说人类太蠢,而是人类在语言、文化和经验上有着广泛的多样性。

如果不考虑所有这些,就去设计一个任何人类不需要事先训练或深思熟虑都能通过的测试,你只能选择像图像处理这样的残酷任务,而AI也会愈发擅长这种任务。

“测试受到人类能力的限制,”波拉基斯说,“不仅是我们的基本能力,你还需要一些跨文化、跨语言的能力。你需要设计出希腊、芝加哥、南非、伊朗和澳大利亚的人都能同时达成的某种挑战,它必须独立于复杂和差异性的文化。”

“你设计出的验证码要让所有普通人都能轻而易举地完成,而非特定的人群,同时这种测试也要让电脑难以通过。这给实际工作带来了很大的限制。这种验证必须是人们能很快完成的事情,而且不会太烦人。”

如何解决这些模糊的图像问题很快上升到了哲学层面:什么是可以向机器展示但机器又无法模仿的人类普遍素质?什么是人类?

但也许我们的人性不是由我们如何完成一项任务来衡量,而是由我们如何在世界(或互联网)上行动来衡量的。

舒曼·戈斯马尤德说,游戏验证码、视频验证码,不管你设计的是什么样的验证码测试,最终都会被破解。他曾在Google负责打击点击欺诈,后来成为机器人检测公司Shape Security的首席技术官。

相比测试,他更喜欢所谓的“持续认证”,这种操作本质上就是观察用户的行为并寻找自动化的迹象

“真正的人类无法很好地控制自己的运动机能,他们无法每次都以同样的方式移动鼠标。”戈斯马尤德说。机器人无需移动鼠标,或可以非常精确地移动鼠标来与页面进行交互,而人类的行为具有难以模仿的“熵”。

Google自己的验证码团队也在思考类似的问题。 2018 年底发布的最新版本reCAPTCHA V3 使用“自适应风险分析”,根据可疑程度为流量评分。

网站所有者可以选择向潜在危险用户提出挑战,比如密码请求或双因子身份验证。根据验证码团队的产品经理西·霍尔梅的说法,Google不会披露评分标准包含哪些因素,只是说Google会观察网站的“优质流量”有哪些特征,并以此来检测“劣质流量”。

安全研究人员说,评分因素很可能是cookie、浏览器属性、流量模式的混合,以及其他因素。新的机器人检测模式有一个缺点——体验不佳,需要在浏览网页的同时进行最小程度的监视,因为VPN和反跟踪扩展等东西会让用户被标记为可疑。

Google验证码团队的工程主管亚伦·马伦芬特说,放弃图灵测试是为了避开这场人类不断输掉的竞争。

“随着人们在机器学习上投入越来越多的资金,这些挑战对人类来说越来越难,这也是我们推出CAPTCHA V3 的原因,我们想要走在这一趋势前面。”

马伦芬特说, 5 到 10 年后,验证码可能根本不可行。相反,大部分网页都会有一个持续的、秘密的图灵测试在后台运行。

《最有人性之人》一书中,布莱恩·克里斯蒂安作为人类对照参加了图灵测试比赛,他发现,在对话中证明人类身份是相当困难的。

另一方面,机器人很容易通过测试,并非因为它们是最能言善辩或最聪明的健谈者,而是因为它们用不符合逻辑的笑话和错误输入来回避问题。

在 2014 年机器人赢得图灵比赛的案例中,机器声称自己是一个 13 岁的乌克兰男孩,无法很好掌握英语。毕竟,犯错是人之常情。

世界上使用最广泛的图灵测试验证码也有可能迎来类似的未来——这场新的军备竞赛并不是要创造出在标记图像和解析文本方面超越人类的机器人,而是那些会犯错、错过按钮、分心和切换标签的机器人。

“我想人们已经意识到了。现在已经有一个应用程序可以模拟普通的人类用户……或者说是比较蠢的人类用户。”

验证码也可能会永远存在。Amazon在 2017 年获得了一项专利,该专利涉及人类在破译视觉幻觉和逻辑谜题时遇到的巨大困难。这被称为通过失败进行的图灵测试,成功唯一的方法是给出错误的答案。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注