验证码错误?新算法更容易识别文本验证码
Posted MottoIN
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了验证码错误?新算法更容易识别文本验证码相关的知识,希望对你有一定的参考价值。
英国和中国学者共同开发了一种新的机器学习算法,该算法可以比以前的所有算法更省力、更快、更准确地破解文本验证码。这个由兰开斯特大学(英国)、西北大学和北京大学的科学家共同开发的新算法基于GAN的概念,即“生成对抗网络”。
GAN是一种特殊的人工智能算法,在算法无法访问大量实数据的情况下非常有用。分类机器学习算法通常需要数百万个数据点来训练算法,看它是否能以设定的准确度完成任务。
GAN算法的优点是它需要使用初始数据点更少。生成对抗网络由一个生成网络与一个判别网络组成。生成网络从潜在空间(latent space)中随机采样作为输入,其输出结果需要尽量模仿训练集中的真实样本。判别网络的输入则为真实样本或生成网络的输出,其目的是将生成网络的输出从真实样本中尽可能分辨出来。而生成网络则要尽可能地欺骗判别网络。两个网络相互对抗、不断调整参数,最终目的是使判别网络无法判断生成网络的输出结果是否真实。
英国和中国的学者将这一概念应用于破解文本验证码,在先前绝大多数的研究中,仅使用经过大量初始数据点训练过的经典机器学习算法破解文本验证码。
研究人员认为,在现实生活中,攻击者无法在未被检测或禁止的情况下在实时网站或API上识别数百万个验证码。这就是为什么他们的研究只使用了500个文本验证码,这些验证码来自Alexa前50个网站中的32个网站使用的11个文本验证码服务。
研究人员说:“收集500个验证码需要2个小时(大多数的方案不到30分钟),单个用户不到2个小时就可以识别这些验证码,这意味着对特定验证码方案发起攻击的努力和成本很低。”
下表中列出的测试数据包括来自维基百科、微软、eBay、百度、谷歌、支付宝、京东、奇虎360、新浪、微博和搜狐等网站的文本验证码。
在生成200,000多个“合成”验证码训练过他们的GAN解算器之后,研究人员就用其它网站上的文本验证码测试了他们的算法。
“最后一张图将我们微调的解算器与之前的攻击进行了比较,”研究人员说。“在这个实验中,我们的方法通过提供更高的成功率,优于所有比较过的方案。”
研究人员表示,他们的方法能够在Megaupload、Blizzard和Authorize.NET等网站上以100%的准确率破解文本验证码。此外,在他们进行测试的30个网站上,他们的方法的准确度绝对比其他所有方法的高,测试的网站包括亚马逊、Digg、Slashdot、PayPal、雅虎和QQ等。
除了准确度提高以外,研究人员还表示他们开发的基于GAN算法的破解器也比其它的更有效率、更便宜,它可以在台式机上在0.05秒以内破解验证码。这意味着攻击者无需购买昂贵的云计算服务器就可以在网站上实时破解文本验证码。
一旦攻击者训练了文本验证码算法,他们就可以在普通电脑或Web服务器上运行它,并在使用验证码服务的网站上发起DDoS或垃圾邮件发布攻击。
由于算法也很容易训练,所以即使遇到前所未见的文本验证码,攻击者也可以训练他们的算法来破解它。
“这很可怕,因为这意味着许多网站的第一道安全防线不再可靠,”兰卡斯特大学的学者说。
研究人员建议网站所有者实施使用多层安全性的替代机器人检测措施,例如用户的使用模式、设备位置或生物识别数据。
今年早些时候,谷歌推出了这样一项服务,即reCAPTCHA第三版,谷歌表示它依靠机器算法来区分机器人和真实用户。
以上是关于验证码错误?新算法更容易识别文本验证码的主要内容,如果未能解决你的问题,请参考以下文章