研究人员在33个受欢迎的网站中测试了识别文本验证码的算法。
来自英国和中国的学者开发了一种新的机器学习算法,该算法可以更省力、更快地破解基于文本的验证码系统,并且精确度要高于以前的所有方法。
这个由兰开斯特大学(英国)、西北大学(中国)和北京大学(中国)的科学家开发的新算法基于的是GAN概念,即“生成对抗网络”。
GAN是一类特殊的AI算法,在算法无法访问大量训练数据的情况下非常有用。
分类机器学习算法通常需要数百万个数据点来训练算法,通过期望的准确度来执行任务。
GAN算法的优点是它可以使用更小批量的初始数据点。这是因为GAN使用所谓的“生成”组件来生成相似的数据,然后将这些“生成的”数据点馈送到试图猜测输出结果的“求解器”算法。
由于这两个GAN组件彼此相互对垒,因此求解器会变得更好,就好像它经过了数百万个数据点训练一样。
英国和中国的学者将这一概念应用于破解文本验证码,在绝大多数的先前研究中,仅使用了经典的机器学习算法来测试文本验证码,这些算法经过了大量初始数据点的训练。
研究人员认为,在现实世界的情况下,攻击者无法在未被检测和禁止的情况下在实时网站或API上识别数百万个验证码。
这就是为什么他们的研究只使用了500个文本验证码,这些验证码来自Alexa前50个网站中的32个网站使用的11个文本验证码服务。
“收集500个验证码需要2个小时(大多数的方案不到30分钟),单个用户不到2个小时就可以识别这些验证码。”研究人员说:“这意味着对特定验证码方案发起攻击的难度和成本很低。”
下表中列出的培训数据包括来自维基百科、微软、eBay、百度、谷歌、支付宝、京东、奇虎360、新浪、微博和搜狐等网站的文本验证码。
通过生成的多达20万个“合成”验证码来收集和训练GAN求解器之后,研究人员就在互联网上使用的其它文本验证码系统中测试了他们的算法,在此之前,其他的研究人员在学术成果中已经对这些系统进行了测试。
“下图将微调解算器与之前的攻击进行了比较,”研究人员说道:“在这个实验中,我们的方法的表现要好于比较方案,因为成功率更高。”
研究人员表示,他们的方法能够在Megaupload、Blizzard和Authorize.NET等网站上以100%的准确率识别文本验证码。此外,在他们所测试的30个网站中,均取得了更高的准确率,这些网站包括亚马逊、Digg、Slashdot、PayPal、Yahoo和QQ等。
除了提高准确性外,研究人员还表示,他们开发的GAN算法的解算器组件也比任何其他方法更有效、更便宜。
“台式电脑在0.05秒内就能够识别出验证码。”研究人员说道。
这意味着攻击者为了实时破解网站上的文本验证码,无需购买并支付昂贵的云计算服务器费用。
一旦攻击者训练了文本验证码算法,他们就可以在普通的电脑或网页服务器上运行这个算法,并在使用验证码服务的网站上发动DDoS攻击或发送垃圾邮件。
因为算法也很容易训练,即使他们遇到了前所未见的文本验证码,他们也可以通过训练算法来识别。
“这很可怕,因为这意味着许多网站的第一层安全防御不再可靠。”兰卡斯特大学计算与通信学院高级讲师兼共同研究人员Zheng Wang博士说道。
Zheng和他的团队建议网站所有者使用拥有多层安全性的机器人检测措施,例如用户的使用模式、设备位置或生物识别数据。
今年早些时候,谷歌推出了一项服务,即第3版的reCAPTCHA工具,谷歌表示该工具依靠机器学习算法来区分实际用户和机器人。
关于研究人员研究的更多细节可以在《又一文本验证解算器:基于生成对抗网络的方法》的研究论文中看到。
原文作者:Catalin Cimpanu