【技术实现步骤摘要】
一种基于对抗样本的大字符集验证码攻击防御方法
[0001]本专利技术涉及网络安全
,具体为一种基于对抗样本的大字符集验证码攻击防御方法。
技术介绍
[0002]验证码是一种用于区分用户是计算机还是人的公共全自动程序。一种设计成功的验证码机制应该能够使人类非常容易通过验证码的测试,而将攻击者编写的自动化破解程序排除在外。目前,验证码已被广泛应用于各大在线网站和应用程序中,在一定程度上防止了包括恶意注册、垃圾邮件、社交机器人在内的多种互联网上的恶意行为。
[0003]尽管目前已经有非常多种类的验证码被设计出来,但是由于生成成本低,且用户接受程度高,字符型验证码仍然是目前使用最为广泛,对于用户和网站而言,最为方便的验证码类型。字符型验证码一般设计为多个较难识别的字符加上一定干扰的背景,并要求用户输入验证码中的字符。
[0004]不幸的是,目前字符型验证码已经被不少研究工作破解。原因之一是传统的字符型验证码只包含英文字母和罗马数字。在字符型验证码分类空间小的情况下,使用近年来流行的深度学习模型,将很容易破解这类验证码。
[0005]为了解决这一问题,拥有更大字符集的验证码被设计出来。大字符集验证码包括含有中文、日文、韩文等字符的验证码。以中文大字符集验证码为例,中文大字符集验证码通常可以包含3755个常用的汉字,更大的字符集增加了验证码攻击模型的目标类别,从而提高了验证码的安全性。这类验证码增加了攻击者模型构建和训练的难度,也在一定程度上降低了破解成功率。
[0006]然而随着研究工作的 ...
【技术保护点】
【技术特征摘要】
1.一种基于对抗样本的大字符集验证码攻击防御方法,其特征在于,包括以下步骤:步骤1:采集中文验证码服务网站上现有的大字符集验证码数据并进行人工标注,同时模仿得到的验证码生成新的验证码,从而构建扩充的验证码数据集;步骤2:构建字符检测模型和字符识别模型,字符检测模型包括用于生成针对字符检测模型的噪声的白盒模型,以及用于测试对抗样本的迁移效果的黑盒模型;字符识别模型包括用于生成对抗样本字符以防御字符识别模型的白盒模型,以及用于测试对抗样本的迁移效果的黑盒模型;基于字符检测模型和字符识别模型分别在验证码的字符和背景上生成噪声;步骤3:对抗样本验证码的生成步骤3.1:在对抗样本验证码生成过程中,采用结合梯度攻击、输入变换和注意力机制的对抗样本生成方法,生成针对验证码字符识别模型的对抗样本字符;步骤3.2:面对验证码字符检测模型的威胁,采用集成式的对抗样本生成方法,集成多种不同架构字符检测模型的损失函数,将不同架构字符检测模型的黑盒设置转换为白盒设置,在验证码的背景上生成对抗噪声以防御字符检测模型。2.根据权利要求1所述的基于对抗样本的大字符集验证码攻击防御方法,其特征在于,所述步骤1中,对验证码数据并进行人工标注的标注信息包括:验证码中字符的位置和字符类别;先统计收集到的验证码图片中出现的字符集大小;再将所标注的每一种验证码对半划分为两部分,一部分用于训练验证码破解模型,另外一部分用于测试攻击模型以及生产对抗样本验证码。3.根据权利要求1所述的基于对抗样本的大字符集验证码攻击防御方法,其特征在于,所述步骤2中,构建字符检测模型和字符识别模型还包括:1)字符检测模型选择Faster
‑
RCNN、YOLO
‑
v5和SSD作为目标检测架构;对于Faster
‑
RCNN,训练ResNet
‑
50、ResNet
‑
101和VGG三种主干网络的模型;对于SSD,训练MobileNetV2和VGG两种主干网络的模型;对于YOLO
‑
v5,使用CSPDarknet
‑
53作为主干网络进行训练;将字符检测模型的标签设置为是否存在字符,即字符检测模型在训练和测试时统一将字符作为前景,而不进行具体字符类别的识别;使用以ResNet
‑
101为主干网络的Faster
‑
RCNN,MobileNetV2为主干网络的SSD,以及YOLO
‑
v5作为白盒模型;使用以ResNet
‑
50和VGG为主干网络的Faster
‑
RCNN,以VGG为主干网络的SSD作为黑盒模型;2)字符识别模型选择网络模型Inception
‑
Resnet
‑
v2、Inception
‑
v3、ResNet
‑
50和VGG
‑
16对单个字符进行多分类识别;使用Inception
‑
Resnet
‑
v2作为白盒模型,使用Inception
‑
v3、ResNet
‑
50和VGG
‑
16作为黑盒模型。4.根据权利要求1所述的基于对抗样本的大字符集验证码攻击防御方法,其特征在于,述步骤3中生成针对验证码字符识别模型的对抗样本字符具体包括:步骤3.1.1:确定对抗样本生成模型f的损失函数;寻找的对抗样本图片x
adv
满足以下条件f(x
adv
;θ)≠y
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)||x
‑
x
adv
||
∞
<ε
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)其中,θ为对抗样本生成模型f的参数,x为任意的输入字符图片,y为图片x的类别真实
标签,ε为每个像素点处的最大噪声幅度;通过最大化对抗样本生成模型f下输入字符图片x对真实类别的损失值来达到寻找对抗样本的目的,采用类别交叉熵J作为对抗样本生成模型f的损失函数:步骤3.1.2:基于梯度的攻击;计算得到对损失函数的导数在梯度迭代步骤中结合梯度方差缩减和Nesterov迭代;在每次迭代前,将当前epoch中的对抗样本字符进行一次更新得到进行一次更新得到其中,为当前epoch中的对抗样本字符,u为动量衰减因子,a为每一步迭代中添加的噪声幅度,为更新后的对抗样本字符;g
t
为第t迭代的梯度;在每一个epoch中,更新梯度后,根据以下公式更新梯度方差v
t
:其中,v
t+1
为更新后的梯度方差;且式中,N代表在计算梯度方差时,对当前x周围的N个临近点的梯度进行采样;x的临近点定义为x
i
=x+r
i
,r~U[
‑
(β
·
ε)
d
,(β
·
ε)
d
],其中U[
‑
(β
·
ε)
d
,(β
·
ε)
d
]代表随机向量,每一个点都服从范围内的均匀分布,β为梯度方差计算的超参数,r
i
代表第i个随机向量;r代表采样...
【专利技术属性】
技术研发人员:王海舟,杨涵,傅宇成,孙国恒,黄骏天,
申请(专利权)人:四川大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。