CAPTCHAs验证码被人工智能攻破

据《科学》(Science)杂志2017年10月报道,一家名为Vicarious的人工智能公司开发的人工智能算法攻破了被人们广泛使用的CAPTCHAs验证码。

CAPTCHAs(Completely Automated Public Turing Test To Tell Computers and Humans Apart,全自动区分计算机和人类的图灵测试)是目前最常用的一种验证码,通常由一组混乱的字符、波浪线和其他背景噪声组成。例如,在你报名参加一个时事通讯或购买音乐会门票之前,可能会被要求输入这些字符。

科学家称,他们已经开发出一种计算机模型,能从根本上攻破CAPTCHAs验证码。

CAPTCHAs验证码被人工智能攻破

有很多种方法可以将字母呈现并混合在一起,人们通常可以很直观的读出来,但对计算机来说却很难。**验证码的能力已经成为评判人工智能研究人员的一个重要基准。

许多人尝试过并获得了一些成功。例如,10年前Ticketmaster公司起诉了一家科技公司,因为对方能够绕过该公司的验证码系统大规模地购买音乐会门票。但人工智能公司Vicarious的联合创始人迪利普·乔治(Dileep George)说道,之前的一些尝试只是利用了一种特殊的验证码弱项,而程序的细微变化就可以很容易地对它进行防御。Vicarious公司在《科学》杂志上发表了一项新模型,它通过较少的训练就可以比以前的模型更有效地解析文本,从而能从根本上打破验证码的防御系统。

乔治说,以前的模型试图让机器能像人类一样学习,这在很大程度上依赖于一种叫做深度学习的主流人工智能技术。“深度学习是这样一种技术,你有多层神经元,然后你训练这些神经元按照你的方式做出反应。”他说。例如,你可以通过成千上万次地展示字母A和B的示例图片来训练一台机器识别字母A和字母B。即使是这样,它也很难识别出字母A与B的重叠,除非它已经明确地接受了重叠图片的训练。“它只复制了人脑工作的一些方面。当然,我们能够从案例中学习。但是人脑不需要把每个字符看很多次来重新认识它,例如大脑会识别出字母A,即使它更大或是倾斜的。”

乔治的团队使用了一种被称为递归皮层网络(Recursive Cortical Network)的不同方法,他说,即使缺乏训练,该方法也能更好地推理出它所看到的东西。“我们发现,大脑对视觉世界做出了一些假设,而神经网络(深度学习)却没有”。以下是他们新方法的工作原理:

在训练阶段,新方法建立了它所接触字母的内部模型。因此,如果你向它展示大量的A、B等不同的字符,针对这些字符应该是什么样的,它将建立起自己的内部模型。所以它将显示:这是字母的轮廓,这是字母的内部结构,这是背景,等等。然后,当一个新的图像出现,它会试着解释新图像,并用它以前见过的字符来解释新图像的所有像素。所以它会说,A的这部分缺失了是因为它在B的后面。

验证码有很多种。根据本论文,新方法的模型“解决验证码相关问题的正确率达66.6%……,计算机检测正确率为64.4%,雅虎为57.4%,贝宝(全球最大的在线支付平台)则是57.1%。

然而,这项研究的重点实际上与验证码无关,而是关于如何制造看上去能像人类一样推理的机器人。“我们的长期目标是打造像人脑一样思维的智力。”乔治说,“验证码对我们来说只是一个很自然的测试,因为通过这个测试,你可以检查你的系统是否能像大脑一样工作。”机器人需要了解它周围的世界,能够用物体和操作物体进行推理。这些案例只需要较少的训练样本,却能以非常灵活的方式面对世界,并且都能进行推理,所以非常重要;而且这些案例也是我们正在应用的领域。

有些人对机器人将具备类似人类能力而感到不安,对此他的回答概括起来就是:“这将是技术的发展。至于计算机未来能够像人脑一样工作,我们将不得不视其为理所应当的趋势。”

目前还不清楚这项研究对信息安全的影响有多大。乔治指出,谷歌已经从文本验证码转移到了更高级的测试。随着人工智能变得越来越智能,证明用户是人的测试也将变得更加智能。

CAPTCHAs验证码被人工智能攻破