论文部分内容阅读
验证码,是一种全自动区分人类和计算机程序的网络安全技术。各大主流网站都在使用不同的验证码来加强用户的安全性,中文点选验证码作为新颖的验证码设计之一,被许多国内网站应用到其用户注册,邮箱登录,找回密码等功能中,如腾讯、网易、CSDN和斗鱼。中文点选验证码的主要形式是要求用户按照提示信息依次点击图片中的字符完成验证,既保障了安全性,又给用户带来一种有趣、互动性强的验证体验。它还符合通用原则,即不认识中文也可以做到正确识别,这是以往的输入类型中文验证码所不能实现的。目前还没有相关学术成果研究此类验证码的安全性,本文针对中文点选验证码的研究能弥补这一空缺。本文从一些主流网站中选择了5种中文点选验证码分别进行破解。它们几乎包含了所有此类验证码的特征。我们的破解工作主要采取两种方法,一种是基于传统图像处理的方法,即对不同的机制采取不同的预处理和分割方法,将验证码图片中的背景和噪线等无关信息去除,只保留单纯的字符信息,然后将预处理后的图片进行投影分割或平均分割得到单个字符,预处理和分割的效果好坏直接影响到后续的识别结果。另一种是基于Faster-Rcnn的深度学习方法,我们对5种验证码机制分别训练目标检测网络,然后将其原图放入网络中进行字符定位,最后将定位后的字符按照坐标信息提取出来。将上面两种方法处理后得到的字符或字符块分别放入同一个识别网络中进行识别,最终网络输出的预测字符即为该验证码的结果序列。论文中的识别网络是基于卷积神经网络、循环神经网络和注意力机制的模型,该模型可以有效预测字符类别,实现较好的识别效果。为了对比论文提出的识别网络的高效性,我们用一个简单的纯卷积神经网络对深度学习定位方法获取的验证码字符进行识别,作为对比实验。本文的方法成功破解了易盾、腾讯、CSDN、斗鱼和网易邮箱的验证码,主体实验的成功率分别达到了86.3%,66.5%,68.1%,40.4%和14.8%。相比于纯卷积神经网络,加入循环神经网络和注意力机制的模型显示出更好的识别效果。而且很多关键技术,如文本的定位和注意力机制都是首次被用到验证码的破解中。同时,本文通过对5种中文点选验证码机制的特征和破解结果的分析,得出了一些在验证码设计过程中需要重点关注的原则,并且根据这些原则,论文提出了4点建议。