它们不仅超级烦人,而且基于文本的验证码也有潜在的安全风险。
来自安全公司F-Secure的研究人员已经找到了如何使用人工智能来欺骗微软Outlook基于文本的验证码,让它认为人类已经解决了这个问题。在一篇博文中,安全专家解释说,最大的挑战不是正确标注文本,而是模仿人们提交答案时的按键。
考虑到他们过去破解基于文本的验证码的经验,研究人员相信保护微软Outlook Web应用程序门户的机制不会有任何机会。结果证明他们错了。
在人工标注了大约200个验证码之后,Outlook系统出人意料地对F-Secure的卷积神经网络恢复了能力,后者识别字符的准确率仅为22%。这时,研究人员决定增加样品量,总共为1400个验证码贴上标签。
在这个过程中,他们发现验证码中的噪音使得他们的人工智能解决方案难以识别这些字母。为了抵消这种影响,他们调整了工具来消除噪音。
即使在所有这些工作之后,这个算法也没有表现得更好——事实上,它的准确率下降到略低于16%。
经过进一步的检查,研究人员意识到他们错误地标记了大约每300个手工输入的验证码中的50个。一些常见的错误包括把“I”和“l”(小写的“l”)搞混,把“Y”和“v”搞混。
他们注意到一种模式:Outlook的CAPTCHA机制从未使用过“l”(小写字母l),考虑到这一点,研究人员缩小了破解字母的范围,帮助他们将算法的准确率从近16%提高到47%。
下一步是弄清楚如何向Outlook的门户网站提交破解的验证码。由于CAPTCHA被设计用来记录用户提交的每一个字母,研究人员不得不模仿人类会做出的按键来欺骗这个机制。
这是一段F-Secure破解工具的视频。与此同时,那些对F-Secure的CAPTCHA破解工具感兴趣的人应该去看看这篇博文。
当然,破解验证码并不是什么新鲜事。
早在2013年,研究人员就开发出了破解谷歌、雅虎和PayPal验证码的软件,成功率超过90%。
F-Secure在其博客文章中写道:“我们去年就说过,我们还会再说一遍:基于文本的验证码已经不再适用了。”“市场上出现了一些有趣的新的验证码样本,但这些样本也会被验证码破解,只是时间问题。”我们并不是说验证码毫无用处,它们不应该被视为阻止自动攻击的灵丹妙药。”