CN111460426A - 基于对抗演化框架的抗深度学习文本验证码生成系统及方法 - Google Patents
基于对抗演化框架的抗深度学习文本验证码生成系统及方法 Download PDFInfo
- Publication number
- CN111460426A CN111460426A CN202010254384.5A CN202010254384A CN111460426A CN 111460426 A CN111460426 A CN 111460426A CN 202010254384 A CN202010254384 A CN 202010254384A CN 111460426 A CN111460426 A CN 111460426A
- Authority
- CN
- China
- Prior art keywords
- verification code
- module
- deep learning
- result
- countermeasure
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/36—User authentication by graphic or iconic representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Character Discrimination (AREA)
Abstract
本发明公开了一种基于对抗演化框架的抗深度学习文本验证码生成系统及方法,系统包括生成模块和判别模块;判别模块模拟了攻击者所采用的攻击模型,生成模块根据攻击模型的反馈不断提高文本验证码对攻击模型的欺骗能力,当对抗演化完成时,验证码的欺骗能力足以在大部分场景下误导主流的深度学习模型输出错误结果,起到防御深度学习自动识别的目的。本发明能显著提高文本验证码抗深度学习识别的能力。
Description
技术领域
本发明属于计算机网络安全技术领域,涉及一种文本验证码生成系统及方法,具体涉及一种基于深度学习(Deep Learning)、对抗样本(Adversarial Example)的文本验证码(text CAPTCHA)生成系统及方法。
背景技术
深度学习(Deep Learning)是机器学习(ML,Machine Learning)领域中一个新的研究方向,深度学习是学习样本数据的内在规律和表示层次,这些学习过程中获得的信息对诸如文字,图像和声音等数据的解释有很大的帮助。其最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。深度学习是一个复杂的机器学习算法,在语音和图像识别方面取得的效果,远远超过先前相关技术。深度学习在搜索技术,数据挖掘,机器学习,机器翻译,自然语言处理,多媒体学习,语音,推荐和个性化技术,以及其他相关领域都取得了很多成果。深度学习使机器模仿视听和思考等人类的活动,解决了很多复杂的模式识别难题,使得人工智能相关技术取得了很大进步。
文本验证码(text CAPTCHA)是验证码(CAPTCHA)的一种实现形式。CAPTCHA含义为全自动区分计算机和人类的图灵测试。这些测试往往是基于人类能轻松解决而计算机往往难以解决的问题。而文本验证码则是将一些字符画在图片上,交给受测试对象识别图片上的字符,并由其给出结果。而近几年,随着深度学习的发展,深度学习被应用至文本验证码自动识别中,使得原本难以被计算机程序自动识别的文本验证码现在在深度学习模型的帮助下变得比较容易。因此文本验证码的保护能力受到了深度学习的挑战。任意的修改文本验证码的确能够降低深度学习的自动识别成功率,但是同样会大幅度的影响人类用户识别,显然任意的修改会使验证码失去其本身区分人类用户和自动程序的意义。
而对抗样本能够以小幅度修改原始样本为代价能够大幅度的误导深度学习模型的置信度输出,这种特性十分适用于文本验证码针对深度学习的防御场景。但简单的应用对抗样本无法在具体的防御场景中起到较好的对抗效果和泛化能力,无法满足文本验证码的防御要求,因此如何在深度学习自动识别场景下保护文本验证码任然是亟待解决的问题。
发明内容
本发明的目的在生成一种对抗文本验证码,能够降低深度学习自动识别程序的自动识别成功率,而提供了一种基于对抗演化框架的抗深度学习文本验证码生成系统及方法。
本发明的系统所采用的技术方案是:一种基于对抗演化框架的抗深度学习文本验证码生成系统,其特征在于:包括生成模块、判别模块,分别模拟网站防御者所拥有的对抗验证码生成模型和攻击者采用的识别模型。
所述生成模块包括归一化子模块、权重显著性计算子模块、截断取整子模块、归一化还原子模块;所述归一化子模块,用于在初始输入过程中将不同大小的原始文本验证码统一大小,作为中间对抗验证码;所述权重显著性图计算子模块,用于在对抗演化过程中,计算中间对抗验证码的权重显著性图;所述截断取证子模块,用于在对抗演化过程中,利用权重显著性图的绝对值均值E对中间对抗验证码进行筛选和修改其中权重显著性大于绝对值均值E的像素点按照RGB数值减少步长ε,小于-E的点增加步长ε,其余像素点不做修改,并对修改后的中间对抗验证码进行截断和取整,生成下一代中间对抗验证码;所述归一化还原子模块,用于在对抗文本验证码的输出过程中,按照原始验证码的大小对对应的对抗文本验证码进行大小的还原,作为中间对抗文本验证码;
所述判别模块包括预处理子模块和若干判别子模块,所述预处理子模块内含有若干滤波算法,所述判别子模块内均含有深度学习模型;所述预处理子模块,用于在判别过程中对输入的中间对抗文本验证码进行预处理,随机选用一个子滤波模块,然后将处理后的信息输入所述判别子模块,由深度学习模型组进行判别,由每个深度学习模型给出判别结果,然后根据原始文本验证码的正确结果的字符数量N将每个判别结果分为N组,每个对应字符取模型组输出的对应组中正确字符置信度最大的一组,共同组成判别结果。
本发明的方法所采用的技术方案是:一种基于对抗演化框架的抗深度学习文本验证码生成方法,其特征在于,包括以下步骤:
步骤1:利用普通的文本验证码训练判别模块内的深度学习模型直至模型收敛;
步骤2:输入普通的文本验证码;
步骤3:经过生成模块的归一化子模块归一化处理,统一文本验证码图像大小并将统一后的文本验证码作为中间对抗文本验证码;
步骤4:判别模块对中间对抗文本验证码随机选用预处理子模块组中一个预处理子模块对中间对抗文本验证码进行预处理,并将预处理后的结果输出给深度学习模型组,由模型组中的每个深度学习模型给出判别结果,并共同组成最终的判别结果,作为最新的中间对抗文本验证码;
步骤5:判断判别结果是否达到带限制性条件的信息熵要求,如果未达到要求则继续步骤6;否则退出循环,将最新的中间对抗文本验证码作为最终的抗深度学习文本验证码输出;
步骤6:将判别结果输入至生成模块的权重显著性计算子模块中,根据权重显著性计算子模块计算出的权重显著性图,由生成模块的截断取整子模块为中间对抗文本验证码附加对抗扰动,更新中间对抗文本验证码,返回步骤4。
相对于现有技术,本发明的有益效果是:本发明能够在不替换原始文本验证码的情况下,对原始验证码进行防御增强,大幅度的降低多种深度学习模型自动识别的准确率,这种防御增强框架提高了现有文本验证码的防御能力并降低了部署成本,同时考虑到攻击者可能采用预处理手段削弱验证码的防御能力,为对抗文本验证码增添了抗预处理能力,使对抗文本验证码能够在面对多种类型攻击时更加健壮,降低自动识别程序的正确率,保护文本验证码的区分自动程序与人类用户的能力。
附图说明
图1为本发明实施例的对抗演化框架原理图;
图2为本发明实施例框架中的判别模块设计原理图;
图3为本发明实施例框架中的生成模块设计原理图。
具体实施方式
为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。
本发明旨在生成一种对抗文本验证码,能够降低深度学习自动识别程序的自动识别成功率。因此为了达成这个目的,对抗文本验证码需要同时具备三个能力:1.对抗能力及泛化能力2.抗预处理能力3.用户高可用性。这三个能力的缺乏所造成的直接影响是:1.对抗文本验证码不能有效的降低深度学习模型或只能降低有限种类的深度学习模型的自动识别成功率。2.对抗文本验证码在面对攻击者预处理时,其对抗能力会受到大幅度的影响。3.人类用户在识别对抗文本验证码时非常困难,对抗文本验证码无法将人类用户和自动识别程序区分开来。
为了能够生成同时拥有上述三个能力的对抗文本验证码,本发明设计了一种对抗演化框架,对抗演化框架包括两个主要模块:分别是生成模块和判别模块。判别模块模拟了攻击者所采用的攻击模型,生成模块根据攻击模型的反馈不断提高文本验证码对攻击模型的欺骗能力,当对抗演化完成时,验证码的欺骗能力足以在大部分场景下误导主流的深度学习模型输出错误结果,起到防御深度学习自动识别的目的。
判别模块由多个预处理子模块和多个深度学习模型构成,利用这些子模块的能力提高判别模块的识别能力,使判别模块能够模拟攻击者所具备的攻击能力。其中多个预处理子模块模拟攻击者可能采用多种滤波器作为可能的预处理手段,而其中的多个预处理子模块则为了应对攻击者可能采用多种子深度学习模型作为识别工具。当生成模块所生成的对抗文本验证码能够将覆盖到了上述两方面的攻击策略的判别模块所欺骗时,则对抗文本验证码的对抗能力、泛化能力及抗预处理能力也就得到了保证,也就满足了三个能力要求中的前两个。而在用户高可用性能力的保证上,本发明在生成模块中,设计了权重显著性计算子模块,利用权重显著性图在对抗演化过程中,从中间对抗验证码中,筛选出对结果影响较大的一批特征点并对这些特征点进行优化,以生成下一代中间对抗验证码。利用权重显著性图,可以过滤掉一批不需要修改的特征点,减少最终的验证码的修改幅度,保证对抗文本验证码的用户可用性。
本发明的系统框架图如图1所示,对抗演化框架包含两个主要模块:生成模块和判别模块,分别模拟网站防御者所拥有的对抗验证码生成模型和攻击者采用的识别模型。在现实场景中,攻击者可能采用任意一种深度学习模型进行识别,而防御者希望攻击者无论采用何种深度学习模型,其识别正确率都能够尽可能的降低,因此在框架设计中,判别模块需要足够强大。而生成模块根据判别模块的输出建立了对抗演化的过程。生成模块所生成的对抗验证码要降低判别模块的识别正确率,判别模块的输出则为生成模型提供了反馈,生成模型将反馈作为参数,迭代优化下一轮的对抗验证码,使判别模块在识别下一轮对抗验证码时输出的识别正确率更低。
如图2所示,为了提高对抗验证码针对多种深度学习识别的对抗能力,因此需要最大化判别模块的深度学习识别能力,判别模块的设计也就至关重要。考虑到实际场景中,攻击者可能采用预处理手段对对抗验证码的对抗能力进行削弱,这些预处理手段包括中值滤波、均值滤波、高斯滤波等滤波手段对收集到的验证码进行预处理,借助削弱对抗噪声减弱对抗验证码的对抗效果。因此判别模型中需要前置预处理模块模拟攻击者可能采用的预处理手段。当对抗验证码在训练过程中即使经由预处理,仍能误导判别模块的输出结果时,则攻击者的预处理手段也将被对抗验证码无效化。预处理模块虽然包含多种滤波手段,但考虑到攻击者在使用时,为了过多的滤波对识别产生不良影响往往仅采用其中任意一种,因此在判别模块的训练过程中,判别模块随机选用其中的一种。
攻击者在识别时可能采用不同的深度学习识别模型,因此判别模块在设计上包括多个判别子模块,每个子模块内含一种深度学习模型。当训练生成的对抗验证码能够欺骗所有的判别子模块时,成品对抗验证码会具备更优秀的泛化对抗能力。不论攻击者会采用何种深度学习模型进行识别时,对抗验证码都能够起到较好的降低识别正确率的效果。当子模块数量过多时,整个迭代对抗生成框架的训练和生成效率会受到影响,而当数量过少时,对抗验证码的泛化能力不能得到有效的提高,因此本方案中判别子模块数量为4个。
如图3所示,因为本发明适用于不同的原始验证码,因此在处理是需要将原始验证码进行归一化处理,将不同大小的原始验证码统一缩放至同一大小,方便后续处理。在处理完成后将生成完成的对抗验证码缩放至原大小。
参考对抗样本的思想,在原始样本中添加精心构造的对抗扰动能够改变深度学习模型的输出。但值得注意的是,简单的利用对抗样本并不能起到较好的满足对抗文本验证码需要具备的三个能力,因此生成模块在演化生成过程中,通过判别模块输出的前向导数,结合权重显著性图过滤掉一部分对置信度结果影响不明显的特征点,并将步长作为参数,调整生成下一轮的中间对抗验证码。结合权重显著性图,能够尽量遴选出对置信度结果影响较大的点,在较少的影响用户识别的前提下,提高验证码的对抗能力。
本发明还提供了一种基于对抗演化框架的抗深度学习文本验证码生成方法,在卷积神经网络的识别方案中,网络的预测结果为所有类别中置信度结果中的最大值所对应的类别,即cpredict=max(c1,c2,...,cK),因此对抗验证码需要显著降低卷积神经网络识别模型输出的ctrue,使得ctrue≠max(c1,c2,...,cK)。首先生成模块利用原始验证码Captchaorigin,生成中间对抗验证码由判别模块对进行预测并输出模块预测的ctrue值。在达到训练轮数的要求之前,判别模块会在每次输出结果后将结果反馈给生成模块,生成模块会根据反馈结果调整生成参数,使下一轮生成的对抗验证码陂判别模型预测输出的ctrue要更低,这个对抗优化过程会迭代直到达到要求。
而另一方面,为了通过输出结果评估对抗验证码的对抗效果,本发明使用带限制条件的信息熵度量神经网络对对抗验证码输出的置信度结果。对于对抗验证码神经网络输出的置信度Confidence=(c1,c2,...,ck),本发明希望某一个错误类别的置信度能够足够高,因此总的带限制条件的信息熵度量公式如下:
本发明希望深度学习模型能够以较高的置信度将对抗验证码分类至一个错误的类别,但并不关心具体是哪一个类别,并认为上述信息熵在满足最大置信度分类不是正确分类条件的情况下,信息熵越接近于0,对抗验证码的对抗效果越好。当字符集合仅有数字时,退出迭代的必要条件是信息熵小于0.55,当字符集合包含小写字母和数字时,信息熵小于0.70,字符集合包含大小写字母和数字时,信息熵小于0.90。
总体对抗演化算法伪代码如算法1所示。
本发明的具体步骤为:
步骤1:利用普通的文本验证码训练判别模块内的深度学习模型直至模型收敛;
步骤2:输入普通的文本验证码;
步骤3:经过生成模块的归一化子模块归一化处理,统一文本验证码图像大小并将统一后的文本验证码作为中间对抗文本验证码;
步骤4:判别模块对中间对抗文本验证码随机选用预处理子模块组中一个预处理子模块对中间对抗文本验证码进行预处理,并将预处理后的结果输出给深度学习模型组,由模型组中的每个深度学习模型给出判别结果,并共同组成最终的判别结果,作为最新的中间对抗文本验证码;
判别模块作为对抗演化框架的重要组成部分,其判别能力决定了成品验证码的对抗能力,因此本框架根据攻击者可能采用的手段,在判别模块中内置了预处理组和多个深度学习子模型,分别对应攻击者可能采用的滤波预处理和多深度学习模型识别,其中各深度学习模型首先需要经过充足的训练,使其具备对文本验证码的识别能力。
在判别模块每次判别的过程中,每个子神经网络会给出独立的置信度判断,设文本验证码正确结果为N位,字符集合大小为K,因此在分析过程中,我们将总共P个子神经网络的置信度输出分为N组,每个小组长度为K,在P个等位预测小组中取其中ctrue最大的一组,作为该位的置信度输出,将所有位的置信度输出做整合,得到最终的置信度输出。
总的判别模块输出算法如算法2所示。
步骤4的具体步骤为:
步骤4.1:判别模块对中间对抗文本验证码随机选用预处理子模块组中一个预处理子模块对中间对抗文本验证码进行滤波预处理,并将预处理后的结果输出给深度学习模型组;
步骤4.2:深度学习模型输出置信度向量;
步骤4.3:根据原始文本验证码的正确结果的字符数量N将每个判别结果分为N组,每个对应字符取模型组输出的对应组中正确字符置信度最大的一组,共同组成判别结果。
步骤5:判断判别结果是否达到带限制性条件的信息熵要求,如果未达到要求则继续步骤6;否则退出循环,将最新的中间对抗文本验证码作为最终的抗深度学习文本验证码输出;
其中,对抗演化框架退出对抗演化的条件是带限制条件的信息熵,其等式如等式(1)所示:
其中Confidence是判别模块输出的置信度结果,而Entropy(Confidence)则是置信度结果的信息熵,其中ci是置信度结果中的第i位,ctrue是正确结果对应的那一位,应为攻击者往往利用深度学习输出的置信度数组中最大位对应字符作为最终结果,所以在限制条件中,对抗文本验证码必须使判别模型输出的置信度结果的最大位对应结果不为正确结果。当文本验证码的字符集合仅有数字时,退出迭代的必要条件是信息熵小于0.55,当字符集合包含小写字母和数字时,信息熵小于0.70,字符集合包含大小写字母和数字时,信息熵小于0.90,满足信息熵条件时,结束对抗演化框架的训练。
步骤6:将判别结果输入至生成模块的权重显著性计算子模块中,根据权重显著性计算子模块计算出的权重显著性图,由生成模块的截断取整子模块为中间对抗文本验证码附加对抗扰动,更新中间对抗文本验证码,返回步骤4。
参考对抗样本的思想,计算出判别模块的在原始样本和真实标签后的导数后,向导数下降的反方向略微调整原始样本,即可大幅度改变判别模块的输出。
因此,生成模块会计算出判别模块的输出在ytrue的导数,并将其与原始样本以及初始步长作为参数,计算出下一轮的中间对抗验证码Captchanext。具体生成等式如等式(2)所示。
上式中Captcha代表判别模块输入的中间对抗验证码,Captchanext代表的是下一轮的中间对抗验证码,GModule代表了生成模块函数,而AModule代表了判别模块对应的函数,ε代表单次循环步长。为了平衡用户可用度和对抗效果,本实施例在计算时采用了判别模块输出的前向导数前向导数如等式(3)所示:
其中X表示中间对抗验证码,其中IJ分别对应中间对抗验证码图像矩阵的像素长度和像素宽度,xij代表验证码中的特征像素点,F(X)表示判别模块的输出结果。其中输出结果根据原始文本验证码对应的正确结果的字符数量分为n组(例如:原始文本验证码的正确结果为4个字符,则n=4),每一组长度位字符集大小k(例如:当正确结果的字符集仅包含数字时,k=10,当字符集仅包含小写字母时,k=26,每组结果按照1到k进行编号)。
类似判别模型训练时采用的梯度优化,但不同之处在于前向导数是直接对判别模块函数和输入样本求导,而非损失函数。文本验证码的正确结果一般固定为N位,其中一般4≤N≤8,而每一位结果通常包含K种可能性,这些可能性包括数字、小写字母和大写字母,因此通常10≤K≤65,因此在卷积神经网络的预测过程中,实际上是将共计N*K个输出神经元分为了N个小组,每个小组中的神经元节点分别预测结果集内每个字符的置信度,每个小组输出置信度最大的字符,由所有小组共同组成最终结果。为了提高对抗验证码的对抗能力,本文需要根据每个神经元组的输出,降低组内正确字符的置信度,同时提高其他字符的置信度。因此,各个小组之间相对独立,分析过程可以简化至单个小组。
本发明在根据前向导数设计显著性图时,考虑到人类用户的可用性与对抗验证码健壮性的平衡,在修改过程中,以权重下前向导数绝对值的均值为标准,本发明称之为权重显著性图(WeightSaliencyMap),筛选出对结果影响较大的像素点xij,单个像素点的权重显著性wij计算公式如等式(4)所示;
其中,wij代表了权重显著性图W的图像矩阵中每个特征点的权重显著性,ktrue代表验证码正确结果对应的编号,等式(3)所代表的含义在于求得每组中正确标签前向导数和其他所有非正确标签的权重和;
为了误导深度学习神经元组的输出结果,在一组神经元的预测结果中,本发明认为降低其中真实值所对应的神经元的预测结果和提高其他神经元的预测输出有着同等重要的价值,但对于图像中的单个特征像素点xij来说,在提高或降低其对应数值的时候,可能同时提高或降低非真实标签和真实标签分别对应的神经元预测值,因此本发明利用了带权重的显著性图,用以描述修改当前的特征像素点所带来的对抗效果提升程度。在一个小组中,总体的对抗目标是使神经网络输出的非正确标签置信度超过正确标签的置信度,从而使小组输出错误的结果,而不关心对抗样本具体会被分类至哪个错误类别,正确标签所对应神经元的前向导数在修改时对结果的影响显然更大,因此,本发明为正确标签所对应的神经元的前向导数分配的权重是小组中其他节点的权重则为在得到权重显著性后,将所有特征点的权重显著性的绝对值取均值,得到显著性均值E;
并将权重显著性图W和权重显著性图的绝对值均值E传递给生成模块中截断取整子模块。
由于权重显著性绝对值大于平均值的特征像素点在修改时能够对神经网络产生更好的误导效果,因此|wij|>E的特征像素点存在较大的修改价值,所以遴选出|wij|>E的特征像素点组成备选修改点,通过该方法选出的备选修改特征点数量适中,既不会因为数量太少像普通对抗样本生成算法一样在面对预处理时失效,也因为滤除了一部分对结果影响不大的特征点,所以不会产生全局的大幅度修改从而影响用户体验。
截断取整子模块根据权重显著性图的绝对值均值E遴选出需要修改的文本验证码特征像素点;
当特征像素点的权重显著性大于E时,将减少像素点所对应的RGB或ARGB数值,而当特征像素点的权重显著性小于-E时,将增加像素点所对应的RGB或ARGB数值,除上述两种情况之外,均不修改;
修改等式为:
其中,ζx代表在每次的对抗演化过程中在修改过程中,生成模块为中间对抗文本验证码添加的对抗扰动矩阵,代表对抗扰动矩阵中每一位的具体值,ε代表单次修改的步长,取正整数;如果修改后的RGB或ARGB数值超过下限,则取下限,RGB或ARGB数值超过上限时取上限。
在对抗扰动的生成过程中,为了尽量贴合模型函数的梯度走向,步长ε取值为最小值1。在每一轮的生成过程中,重新计算wij和ζX。值得注意的是,图像在程序中中表示时,通常采用RGB或ARGB方式,但不论是RGB还是ARGB,红绿蓝中每一色的取值范围都只能是0到255之间的整数,而一旦超过这个范围,计算机会自动执行取余操作,这与实际期望相违背。因此在附加对抗扰动时,当附加结果大于255时,需要截断至255,而当附加结果小于0时,需要截断至0。
总的生成模块算法如算法3所示。
传统的文本验证码生成方案主要覆盖基于分割的非深度学习识别,因此文本验证码生成方案缺乏能够抗深度学习识别的生成框架。虽然对抗样本能够在知晓生成模型内部参数的情况下,以小幅度的修改欺骗其生成的深度学习模型,但在文本验证码领域,攻击者和防御者其深度学习模型往往私有,攻击模型为防御者不可见,因此简单的利用对抗样本生成算法无法起到较好的抗深度学习效果,因此本发明针对该问题设计了一种基于对抗演化框架的抗深度学习文本验证码技术,该技术通过框架中生成模块和判别模块间的博弈,迭代增强文本验证码的对抗能力。本发明主要用于提高文本验证码抗深度学习识别的能力。
应当理解的是,本说明书未详细阐述的部分均属于现有技术;上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。
Claims (6)
1.一种基于对抗演化框架的抗深度学习文本验证码生成系统,其特征在于:包括生成模块、判别模块,分别模拟网站防御者所拥有的对抗验证码生成模型和攻击者采用的识别模型;
所述生成模块包括归一化子模块、权重显著性计算子模块、截断取整子模块、归一化还原子模块;所述归一化子模块,用于在初始输入过程中将不同大小的原始文本验证码统一大小,作为中间对抗验证码;所述权重显著性图计算子模块,用于在对抗演化过程中,计算中间对抗验证码的权重显著性图;所述截断取证子模块,用于在对抗演化过程中,利用权重显著性图的绝对值均值E对中间对抗验证码进行筛选和修改,其中权重显著性大于绝对值均值E的像素点按照RGB数值减少步长ε,小于-E的点增加步长ε,其余像素点不做修改,并对修改后的中间对抗验证码进行截断和取整,生成下一代中间对抗验证码;所述归一化还原子模块,用于在对抗文本验证码的输出过程中,按照原始验证码的大小对对应的对抗文本验证码进行大小的还原,作为中间对抗文本验证码;
所述判别模块包括预处理子模块和若干判别子模块,所述预处理子模块内含有若干滤波算法,所述判别子模块内均含有深度学习模型;所述预处理子模块,用于在判别过程中对输入的中间对抗文本验证码进行预处理,随机选用一个子滤波模块,然后将处理后的信息输入所述判别子模块,由深度学习模型组进行判别,由每个深度学习模型给出判别结果,然后根据原始文本验证码的正确结果的字符数量N将每个判别结果分为N组,每个对应字符取模型组输出的对应组中正确字符置信度最大的一组,共同组成判别结果。
2.一种基于对抗演化框架的抗深度学习文本验证码生成方法,其特征在于,包括以下步骤:
步骤1:利用普通的文本验证码训练判别模块内的深度学习模型直至模型收敛;
步骤2:输入普通的文本验证码;
步骤3:经过生成模块的归一化子模块归一化处理,统一文本验证码图像大小并将统一后的文本验证码作为中间对抗文本验证码;
步骤4:判别模块对中间对抗文本验证码随机选用预处理子模块组中一个预处理子模块对中间对抗文本验证码进行预处理,并将预处理后的结果输出给深度学习模型组,由模型组中的每个深度学习模型给出判别结果,并共同组成最终的判别结果,作为最新的中间对抗文本验证码;
步骤5:判断判别结果是否达到带限制性条件的信息熵要求,如果未达到要求则继续步骤6;否则退出循环,将最新的中间对抗文本验证码作为最终的抗深度学习文本验证码输出;
步骤6:将判别结果输入至生成模块的权重显著性计算子模块中,根据权重显著性计算子模块计算出的权重显著性图,由生成模块的截断取整子模块为中间对抗文本验证码附加对抗扰动,更新中间对抗文本验证码,返回步骤4。
3.根据权利要求2所述的基于对抗演化框架的抗深度学习文本验证码生成方法,其特征在于,步骤4的具体实现包括以下子步骤:
步骤4.1:判别模块对中间对抗文本验证码随机选用预处理子模块组中一个预处理子模块对中间对抗文本验证码进行滤波预处理,并将预处理后的结果输出给深度学习模型组;
步骤4.2:深度学习模型输出置信度向量;
步骤4.3:根据原始文本验证码的正确结果的字符数量N将每个判别结果分为N组,每个对应字符取模型组输出的对应组中正确字符置信度最大的一组,共同组成判别结果。
4.根据权利要求2所述的基于对抗演化框架的抗深度学习文本验证码生成方法,其特征在于:步骤5中,对抗演化框架退出对抗演化的条件是带限制条件的信息熵,其等式为:
其中Confidence是判别模块输出的置信度结果,而Entropy(Confidence)则是置信度结果的信息熵,其中ci是置信度结果中的第i位,ctrue是正确结果对应的那一位,应为攻击者往往利用深度学习输出的置信度数组中最大位对应字符作为最终结果,所以在限制条件中,对抗文本验证码必须使判别模型输出的置信度结果的最大位对应结果不为正确结果;当文本验证码的字符集合仅有数字时,退出迭代的必要条件是信息熵小于0.55,当字符集合包含小写字母和数字时,信息熵小于0.70,字符集合包含大小写字母和数字时,信息熵小于0.90,满足信息熵条件时,结束对抗演化框架的训练。
其中X表示中间对抗验证码,其中I、J分别对应中间对抗验证码图像矩阵的像素长度和像素宽度,xij代表验证码中的特征像素点,F(X)表示判别模块的输出结果;其中输出结果根据原始文本验证码对应的正确结果的字符数量分为n组,每一组长度位字符集大小K;
其中,wij代表了权重显著性图W的图像矩阵中每个特征点的权重显著性,ktrue代表验证码正确结果对应的编号,等式(3)所代表的含义在于求得每组中正确标签前向导数和其他所有非正确标签的权重和;
然后权重显著性计算模块根据权重显著性图得到权重显著性图的绝对值均值E;
并将权重显著性图W和权重显著性图的绝对值均值E传递给生成模块中截断取整子模块。
6.根据权利要求5所述的基于对抗演化框架的抗深度学习文本验证码生成方法,其特征在于:步骤6中,截断取整子模块根据权重显著性图的绝对值均值E遴选出需要修改的文本验证码特征像素点;
当特征像素点的权重显著性大于E时,将减少像素点所对应的RGB或ARGB数值,而当特征像素点的权重显著性小于-E时,将增加像素点所对应的RGB或ARGB数值,除上述两种情况之外,均不修改;
修改等式为:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010254384.5A CN111460426B (zh) | 2020-04-02 | 2020-04-02 | 基于对抗演化框架的抗深度学习文本验证码生成系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010254384.5A CN111460426B (zh) | 2020-04-02 | 2020-04-02 | 基于对抗演化框架的抗深度学习文本验证码生成系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111460426A true CN111460426A (zh) | 2020-07-28 |
CN111460426B CN111460426B (zh) | 2023-06-20 |
Family
ID=71678481
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010254384.5A Active CN111460426B (zh) | 2020-04-02 | 2020-04-02 | 基于对抗演化框架的抗深度学习文本验证码生成系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111460426B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112257053A (zh) * | 2020-11-17 | 2021-01-22 | 上海大学 | 一种基于通用对抗扰动的图像验证码生成方法及系统 |
CN112287323A (zh) * | 2020-10-27 | 2021-01-29 | 西安电子科技大学 | 基于生成对抗网络的语音验证码生成方法 |
CN112836764A (zh) * | 2021-03-02 | 2021-05-25 | 中山大学 | 一种面向目标分类系统的通用目标攻击方法及装置 |
CN113033747A (zh) * | 2021-05-26 | 2021-06-25 | 中国工程物理研究院计算机应用研究所 | 一种用于人机识别的图形识别码生成方法 |
CN113297572A (zh) * | 2021-06-03 | 2021-08-24 | 浙江工业大学 | 基于神经元激活模式的深度学习样本级对抗攻击防御方法及其装置 |
CN115001771A (zh) * | 2022-05-25 | 2022-09-02 | 武汉极意网络科技有限公司 | 基于自动更新的验证码防御方法、系统、设备及存储介质 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009050407A2 (fr) * | 2007-10-04 | 2009-04-23 | France Telecom | Procede de communication sur un reseau au moyen d'un serveur mettant en oeuvre un test |
CN103927467A (zh) * | 2014-04-25 | 2014-07-16 | 武汉大学 | 一种基于触屏行为的智能手机认证系统及方法 |
CN106650398A (zh) * | 2017-01-03 | 2017-05-10 | 深圳博十强志科技有限公司 | 移动平台的验证码识别系统及识别方法 |
CN107085730A (zh) * | 2017-03-24 | 2017-08-22 | 深圳爱拼信息科技有限公司 | 一种字符验证码识别的深度学习方法及装置 |
US20180247159A1 (en) * | 2017-02-27 | 2018-08-30 | Zecang Gu | Method of constructing a neural network model for super deep confrontation learning |
CN108647683A (zh) * | 2018-04-28 | 2018-10-12 | 浙江大学 | 一种基于频域加噪的字符对抗验证码生成方法和系统 |
CN108717550A (zh) * | 2018-04-28 | 2018-10-30 | 浙江大学 | 一种基于对抗学习的图像对抗验证码生成方法和系统 |
CN108763915A (zh) * | 2018-05-18 | 2018-11-06 | 百度在线网络技术(北京)有限公司 | 建立验证码生成模型以及生成验证码的方法、装置 |
US20190087730A1 (en) * | 2017-09-19 | 2019-03-21 | Preferred Networks, Inc. | Non-transitory computer-readable storage medium storing improved generative adversarial network implementation program, improved generative adversarial network implementation apparatus, and learned model generation method |
CN109933975A (zh) * | 2019-03-20 | 2019-06-25 | 山东浪潮云信息技术有限公司 | 一种基于深度学习的验证码识别方法及系统 |
CN110008680A (zh) * | 2019-04-03 | 2019-07-12 | 华南师范大学 | 基于对抗样本的验证码生成系统及方法 |
US20190244103A1 (en) * | 2018-02-07 | 2019-08-08 | Royal Bank Of Canada | Robust pruned neural networks via adversarial training |
CN110210204A (zh) * | 2019-05-30 | 2019-09-06 | 网易(杭州)网络有限公司 | 验证码生成方法及装置、存储介质和电子设备 |
CN110674938A (zh) * | 2019-08-21 | 2020-01-10 | 浙江工业大学 | 基于协同多任务训练的对抗攻击防御方法 |
US20200193285A1 (en) * | 2017-03-16 | 2020-06-18 | Nec Corporation | Neural network learning device, method, and program |
-
2020
- 2020-04-02 CN CN202010254384.5A patent/CN111460426B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009050407A2 (fr) * | 2007-10-04 | 2009-04-23 | France Telecom | Procede de communication sur un reseau au moyen d'un serveur mettant en oeuvre un test |
CN103927467A (zh) * | 2014-04-25 | 2014-07-16 | 武汉大学 | 一种基于触屏行为的智能手机认证系统及方法 |
CN106650398A (zh) * | 2017-01-03 | 2017-05-10 | 深圳博十强志科技有限公司 | 移动平台的验证码识别系统及识别方法 |
US20180247159A1 (en) * | 2017-02-27 | 2018-08-30 | Zecang Gu | Method of constructing a neural network model for super deep confrontation learning |
US20200193285A1 (en) * | 2017-03-16 | 2020-06-18 | Nec Corporation | Neural network learning device, method, and program |
CN107085730A (zh) * | 2017-03-24 | 2017-08-22 | 深圳爱拼信息科技有限公司 | 一种字符验证码识别的深度学习方法及装置 |
US20190087730A1 (en) * | 2017-09-19 | 2019-03-21 | Preferred Networks, Inc. | Non-transitory computer-readable storage medium storing improved generative adversarial network implementation program, improved generative adversarial network implementation apparatus, and learned model generation method |
US20190244103A1 (en) * | 2018-02-07 | 2019-08-08 | Royal Bank Of Canada | Robust pruned neural networks via adversarial training |
CN108717550A (zh) * | 2018-04-28 | 2018-10-30 | 浙江大学 | 一种基于对抗学习的图像对抗验证码生成方法和系统 |
CN108647683A (zh) * | 2018-04-28 | 2018-10-12 | 浙江大学 | 一种基于频域加噪的字符对抗验证码生成方法和系统 |
CN108763915A (zh) * | 2018-05-18 | 2018-11-06 | 百度在线网络技术(北京)有限公司 | 建立验证码生成模型以及生成验证码的方法、装置 |
CN109933975A (zh) * | 2019-03-20 | 2019-06-25 | 山东浪潮云信息技术有限公司 | 一种基于深度学习的验证码识别方法及系统 |
CN110008680A (zh) * | 2019-04-03 | 2019-07-12 | 华南师范大学 | 基于对抗样本的验证码生成系统及方法 |
CN110210204A (zh) * | 2019-05-30 | 2019-09-06 | 网易(杭州)网络有限公司 | 验证码生成方法及装置、存储介质和电子设备 |
CN110674938A (zh) * | 2019-08-21 | 2020-01-10 | 浙江工业大学 | 基于协同多任务训练的对抗攻击防御方法 |
Non-Patent Citations (10)
Title |
---|
GUIXIN YE: "Yet Another Text Captcha Solver: A Generative Adversarial Network Based Approach", Retrieved from the Internet <URL:https://dl.acm.org/doi/10.1145/3243734.3243754> * |
SUPHANNEE SIVAKORN: "I_am_Robot_Deep_Learning_to_Break_Semantic_Image_CAPTCHAs", Retrieved from the Internet <URL:https://ieeexplore.ieee.org/document/7467367/> * |
周正;文亚飞;鲍文平;: "基于深度学习的人工智能用于识别破解字符型验证码" * |
周正;文亚飞;鲍文平;: "基于深度学习的人工智能用于识别破解字符型验证码", 通信技术, no. 11, pages 188 - 192 * |
唐梦云: "深度学习在验证码破解和设计中的应用研究" * |
孙曦音: "基于GAN的对抗样本生成与安全应用研究" * |
张阳: "对抗样本技术在验证码中的安全性研究" * |
杜瑞颖: "一种基于相似度的高效网络流量识别方案" * |
王持恒;陈晶;苏涵;何琨;杜瑞颖;: "基于宿主权限的移动广告漏洞攻击技术", 软件学报, no. 05, pages 220 - 237 * |
田超雄: "文本类验证码识别方法研究" * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112287323A (zh) * | 2020-10-27 | 2021-01-29 | 西安电子科技大学 | 基于生成对抗网络的语音验证码生成方法 |
CN112287323B (zh) * | 2020-10-27 | 2022-10-21 | 西安电子科技大学 | 基于生成对抗网络的语音验证码生成方法 |
CN112257053A (zh) * | 2020-11-17 | 2021-01-22 | 上海大学 | 一种基于通用对抗扰动的图像验证码生成方法及系统 |
CN112257053B (zh) * | 2020-11-17 | 2024-03-15 | 上海大学 | 一种基于通用对抗扰动的图像验证码生成方法及系统 |
CN112836764A (zh) * | 2021-03-02 | 2021-05-25 | 中山大学 | 一种面向目标分类系统的通用目标攻击方法及装置 |
CN112836764B (zh) * | 2021-03-02 | 2023-07-28 | 中山大学 | 一种面向目标分类系统的通用目标攻击方法及装置 |
CN113033747A (zh) * | 2021-05-26 | 2021-06-25 | 中国工程物理研究院计算机应用研究所 | 一种用于人机识别的图形识别码生成方法 |
CN113033747B (zh) * | 2021-05-26 | 2021-07-27 | 中国工程物理研究院计算机应用研究所 | 一种用于人机识别的图形识别码生成方法 |
CN113297572A (zh) * | 2021-06-03 | 2021-08-24 | 浙江工业大学 | 基于神经元激活模式的深度学习样本级对抗攻击防御方法及其装置 |
CN113297572B (zh) * | 2021-06-03 | 2022-05-17 | 浙江工业大学 | 基于神经元激活模式的深度学习样本级对抗攻击防御方法及其装置 |
CN115001771A (zh) * | 2022-05-25 | 2022-09-02 | 武汉极意网络科技有限公司 | 基于自动更新的验证码防御方法、系统、设备及存储介质 |
CN115001771B (zh) * | 2022-05-25 | 2024-01-26 | 武汉极意网络科技有限公司 | 基于自动更新的验证码防御方法、系统、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111460426B (zh) | 2023-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111460426A (zh) | 基于对抗演化框架的抗深度学习文本验证码生成系统及方法 | |
Li et al. | Invisible backdoor attacks on deep neural networks via steganography and regularization | |
CN111310802B (zh) | 一种基于生成对抗网络的对抗攻击防御训练方法 | |
CN109948658B (zh) | 面向特征图注意力机制的对抗攻击防御方法及应用 | |
CN110008680B (zh) | 基于对抗样本的验证码生成系统及方法 | |
CN111753881B (zh) | 一种基于概念敏感性量化识别对抗攻击的防御方法 | |
CN108717550B (zh) | 一种基于对抗学习的图像对抗验证码生成方法和系统 | |
CN111475797A (zh) | 一种对抗图像生成方法、装置、设备以及可读存储介质 | |
Nesti et al. | Detecting adversarial examples by input transformations, defense perturbations, and voting | |
CN113283476A (zh) | 一种物联网网络入侵检测方法 | |
CN112688928A (zh) | 结合自编码器和wgan的网络攻击流量数据增强方法及系统 | |
CN115641471A (zh) | 一种基于生成对抗网络的对抗样本生成方法及系统 | |
CN112926661A (zh) | 一种增强图像分类鲁棒性的方法 | |
CN113627543A (zh) | 一种对抗攻击检测方法 | |
Shamsabadi et al. | Semantically adversarial learnable filters | |
Lee et al. | CoNN-IDS: Intrusion detection system based on collaborative neural networks and agile training | |
Ghafourian et al. | Toward face biometric de-identification using adversarial examples | |
Grierson et al. | Min-max training: Adversarially robust learning models for network intrusion detection systems | |
CN115081618A (zh) | 一种提升深度神经网络模型鲁棒性的方法及装置 | |
Kwon | Multi-model selective backdoor attack with different trigger positions | |
Luo et al. | Detecting adversarial examples by positive and negative representations | |
WO2021189364A1 (zh) | 一种对抗图像生成方法、装置、设备以及可读存储介质 | |
Naqvi et al. | Adversarial attacks on visual objects using the fast gradient sign method | |
Bisogni et al. | Multibiometric score-level fusion through optimization and training | |
CN115277065A (zh) | 一种物联网异常流量检测中的对抗攻击方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |