vlambda博客
学习文章列表

验证码识别器可识别94.4%的暗网验证码

研究人员提出基于机器学习的CAPTCHA识别器,可以识别94.4%的暗网CAPTCHA。

当前,网络攻击和数据泄露等网络犯罪数量指数级增长。因此,使暗网变得更加透明对于针对性的网络攻击防御具有重要意义。研究人员想要创建一个将网络威胁情报流水线化处理的系统,这就需要系统能够识别当前需要手动识别的CAPTCHA验证码。

CAPTCHA(Completely Automated Public Turing test to tell Computers and Humans Apart,全自动区分计算机和人类的图灵测试)的目的是区分计算机和人类的一种程序算法,是一种区分用户是计算机和人的计算程序,这种程序必须能生成并评价人类能很容易通过但计算机却通不过的测试。

DW-GAN

暗网CAPTCHAs

为了保护暗网网站免受DDoS攻击等的威胁,当前暗网网站在登录页都使用了CAPTCHA。而且这些CAPTCHA都是定制的,使得开发一个高准确率的CAPTCHA识别器非常困难。因此从暗网市场和论坛自动化地收集网络威胁情报都变得非常困难和昂贵。

DW-GAN方法

为解决这一问题,研究人员提出一种基于机器学习方法的CAPTCHA识别器——DW-GAN。与近年来基于人工智能方法的CAPTCHA识别器方法不同,DW-GAN 使用GAN来去除背景噪声,使用增强的字母分割算法来处理可变字符长度的CAPTCHA图像。

图 边界追踪与区间识别

识别器可以通过去除图像噪声、识别字母之间的边界、将内容分割为单个字母的形式来区分字母与数字。

图 去除CAPTCHA噪声和分割字母

因此,CAPTCHA的大小并不影响识别器的有效性,尤其是识别3次的累计性能方面。不同CAPTCHA大小的识别准确率如下图所示:

图 不同CAPTCHA大小的识别准确率

从字符识别方面来看,识别器使用多个本地区域提取的样本来识别线、边等精细化特征,因此不会受到字符旋转、字体大小变化、颜色混合等的影响。

图 不同字体的数据样本

现实场景测试

研究人员对DW-GAN方法在不同数据集上进行了测试,其中包括在现实场景Yellow Brick的测试。研究人员从Yellow Brick收集了1831个非法产品,其中有286个网络安全相关的项目,包括102个窃取的信用卡、131个窃取的账户、9个伪造的扫描文件、44个黑客工具和1223条毒品相关的信息。

图 在Yellow Brick市场对数据集进行测试

在DW-GAN的帮助下,对这1831个情报信息的数据花费; 5个小时。其中加载每个新页面的HTTP请求花费8.8秒,因此发起1831个页面花费了268.5秒,利用DW-GAN破解和识别CAPTCHA花费18.6秒/个。

总体来看,DW-GAN可以在不超过3次尝试的情况下破解CAPTCHA,破解1831个产品页面的CAPTCHA验证码花费了76分钟。

与其他基于机器学习的验证码识别器的性能对比如下:

图 其他基于机器学习的验证码识别器的性能对比

相关研究成果发表在期刊ACM Transactions on Management Information Systems上,DW-GAN代码也上传到了GitHub,参见:https://github.com/johnnyzn/DW-GAN

研究人员提出基于机器学习的CAPTCHA识别器,可以识别94.4%的暗网CAPTCHA。



END