首页 / 一种基于对抗学习的图像对抗验证码生成方法和系统

一种基于对抗学习的图像对抗验证码生成方法和系统有效专利 发明

技术领域

[0001] 本发明涉及机器学习模型安全和图像验证码安全领域,尤其涉及一种基于对抗学习的图像对抗验证码生成方法和系统。

相关背景技术

[0002] 验证码是一种人类很容易解决但当前程序很难解决的图灵测试。它被广泛部署在Web网页上,可以有效地阻止一些恶意行为,如批量注册僵尸帐号、黑产撞库等。
[0003] 验证码有很多种类型,其中一种常用的验证码是基于图像识别的验证码,简称图像验证码。图像验证码要求用户在一组图像中正确地选择所有符合特定语义的图像。相较于其他类型的验证码,图像验证码在安全性和可用性两方面有着更好的平衡:图像拥有非常丰富的信息,同一张图像在不同背景下可以有不同的含义,计算机很难自动破解,所以图像验证码的安全性很高;同时人类天生对图像信息敏感,可以很容易识别图像中的语义,因此图像验证码的可用性也很高。在实际中,很多网站已经部署了图像验证码,如12306火车购票网站就是采用图像验证码来阻止黄牛刷票。
[0004] 然而,近些年来随着机器学习算法尤其是深度学习算法的进步,计算机的图像识别能力突飞猛进,单纯的图像识别对机器而言已经不是难题。在这种情况下,图像验证码的安全性受到了很大的挑战。攻击者可以事先爬取验证码中的图像,然后人工标注这些图像,最后利用这些标注好的图像,通过深度学习算法训练出一个深度图像识别模型来破解图像验证码。同时由于现在无法通过程序自动产生特定语义的图片,图像验证码中使用的图像素材是通过人工在互联网上抓取图片。事实上,由于经济性的考量,图像验证码中使用的图片素材会在一段时间内重复使用,周期性替换。这个事实使得图像验证码更容易被基于深度学习的方法破解。虽然现在也有一些增强手段:如减小图像的分辨率、增加候选图像的数量、频繁更换图像素材等。但这些手段不仅只能略微提升图像验证码的安全性,反而会大幅破坏验证码的可用性或增大经济成本。因此现在迫切需要一种能够兼顾安全性、可用性和经济性的新型图像验证码策略。
[0005] 事实上,最近的研究发现,深度学习算法本身有致命的缺点。只需要在图像中添加少量特殊的噪音(甚至这些噪音人眼都无法察觉),深度图像识别模型都会将这张修改后的图片的分类错误。而这些特殊的噪音可以通过多种基于对抗学习的方法来产生。不仅如此,大量的研究显示,这一漏洞是深度学习算法的底层缺陷,虽然已经提出了很多的防御方法,但这些方法都只能缓解缺陷。
[0006] 现有的对抗学习方法是为了探索深度学习算法的漏洞,在产生对抗噪音时,假定的情况是攻击者最优,即攻击者知道目标模型的所有参数且被攻击者不会采用任何防御手段。在这种攻击者最优的设定下,目前基于对抗学习的噪音生成算法期望添加尽可能少的噪音来达到欺骗深度图像识别模型的效果。然而在验证码攻防的环境下,我们作为防御方,却无法提前了解验证码破解者使用的模型参数;甚至破解者在识别图像前会使用图像预处理手段对图像进行处理,去除噪音。这样在图像中添加噪音便不能达到欺骗破解者分类器的效果,现有基于对抗学习的噪音生成方法不能满足对抗验证码防御的需要。

具体实施方式

[0050] 下面结合附图和实施例对本发明作进一步详细描述,需要指出的是,以下所述实施例旨在便于对本发明的理解,而对其不起任何限定作用。
[0051] 如图1所示,基于对抗学习的图像对抗验证码生成系统工包括3个模块:攻击模块、生成模块和评估模块。攻击模块用于向生成模块和评估模块提供图像识别模型和攻击方式;生成模块的功能是根据用户请求产生图像对抗验证码;评估模块的功能是利用攻击模块提供的攻击手段模拟生产模块产生的对抗验证码,最后通过模拟破解的结果来评估对抗验证码的安全性。该系统的工作流程如下:
[0052] (1)攻击模块的设置:
[0053] 攻击模块具有图像识别模型库和攻击算法库,在生成图像对抗验证码时所使用的图像识别模型不同,生成的图像对验证码的对抗效果和迁移性也不同,攻击模块图像识别模型库中存储有当前最先进的图像识别模型,例如:GoogleNet神经网络、VGG神经网络、AlexNet神经网络或ResNet神经网络。
[0054] 现有对图像验证码的攻击方法一般包括3个环节:验证码分割、图像预处理和图像识别。
[0055] 由于图像验证码作为一个整体,其中包含多张图片,不能直接输入图像识别模型。因此,首先要分割图像验证码,得到多个只包含单张图片的区域;然后,为了得到更好的识别效果,需要对分割后的图片进行预处理(如图像的归一化和图像滤波);最后,将预处理后的图片输入图像识别模型,并根据图像识别模型的结果来选择相应的图片。
[0056] 攻击者的常用攻击方式和图像识别模型有很多,所以在生成图像对抗验证码前需要预先将攻击者的攻击方式和图像识别模型设定好。
[0057] (2)图像对抗验证码的生成:
[0058] 该部分使用攻击模块和生成模块共同完成图像对抗验证码的生成。由于验证码请求是实时的,这对验证码的生成速度有着很高的要求。但是在图像验证码中包含多张图片(一般8-12张),在所有的图片中添加对抗噪音会大大降低验证码的生成速度。因此,为了满足实时性的要求,本发明在产生对抗噪音前,会先确定在哪些图片中添加对抗噪音来加快生成速度。
[0059] 图像对抗验证码的生成流程如图3所示,包括以下步骤:
[0060] (2-1)预设图像对抗验证码的候选图片数量M、答案数量N、答案类别t和人眼可忍受系数K。
[0061] 人眼可忍受系数是向图像中添加噪音的最小等级,它代表在对抗图像生成时所需要的迭代次数。用户可以根据不同的需求进行设置,一般而言系数愈大,产生的对抗验证码效果越好,但同时也会更难识别。这个系数的大小可以由多次实验评估得到。
[0062] (2-2):基于预设信息选择图像素材。
[0063] 在素材库中,随机采样属于答案类别t的图片y1,y2,...,yN;再从素材库中随机采样不属于答案类别t的图片x1,x2,...,xM-N,将采样得到的M张图片作为图像验证码的候选图片。
[0064] (2-3)确定需要添加对抗噪音的图片。
[0065] 在所有的候选图片中,随机采样D张图像作为需要添加对抗噪音的图像,D小于等于M。由于验证码生产有实时性的要求,所以不建议对验证码中所有的图像添加对抗噪音。只需选择少量的图像添加对抗噪音就可以满足安全性的需求。
[0066] (2-4)确定产生对抗噪音的方式。
[0067] 在采样的到的D张图像中,包括答案图片和干扰图片两种类别,对于这两类不同的图像,将采用不同的方式添加噪音。
[0068] 如果是答案图片(说明图片的类别是t),我们希望这张图片被攻击者识别为干扰图片。因此采用untarget方式来产生对抗噪音。令原图为x,添加了对抗噪音后的图片为x′,我们的目标是使添加噪音后的图片x′被深度识别模型识别的类别不是t,即f(x′)≠t。
[0069] 如果是干扰图片(说明图片的类别不是t),我们希望这张图片被攻击者识别为答案图片。因此采用target方式来产生对抗噪音。令原图为x,添加了对抗噪音后的图片为x′,我们的目标是使添加噪音后的图片x′被深度识别模型识别的类别为t,即f(x′)=t。
[0070] (2-5):基于对抗学习产生对抗噪音。
[0071] 一个基于对抗学习的噪音生成算法需要有4个输入:第一个是原图像,第二个是目标类别,第三个是图像识别模型,第四个是人眼可忍受噪音系数。原图像、目标类别和人眼可忍受噪音系数通过人工预设,而图像识别模型由攻击模型提供。
[0072] 基于对抗学习的噪音生成一般都是迭代过程,每个迭代过程都在逐步增加图像中添加的噪音量。而现有的方法都是希望添加人眼不可见的噪音,迭代的次数很少。但在对抗验证码的生成过程中,为了满足安全性的需求,我们引入了人眼可忍受噪音量系数K,该系数代表在产生对抗噪音过程中,最小的迭代次数。人眼可忍受噪音量系数K的值可以通过实际的观察来设置。这样,就可以在人眼可忍受的范围内,尽可能多的添加对抗噪音,以此获得图像对抗验证码的高安全性和高可用性。
[0073] (2-6):生成验证码题目,将所以候选图片整合到一起。
[0074] 其中验证码题目的设置是基于答案类别t,例如可设置为“在下列图像中,选择所有和t有关的图像”;最后将上述所有图片整合到一个图像验证码中,完成图像对抗验证码的生产。
[0075] (3)图像对抗验证码的评估:
[0076] 该部分需要使用攻击模块、生成模块、评估模块三个部分共同完成。评估模块的功能是利用攻击模块提供的攻击手段模拟生产模块产生的对抗验证码,最后通过模拟破解的结果来评估对抗验证码的安全性。在评估过程中,可以使用不同的图像处理方式和图像识别模型组合成不同的验证码破解方式,通过这种方式可以全面的了解验证码的安全性。
[0077] 图像对抗验证码的评估流程如图4所示,包括以下步骤:
[0078] (3-1)利用攻击模块提供的攻击方式破解生成模块产生的N个图像对抗验证码,并输出破解结果;
[0079] 一般而言N的选值为1000,这个数量的验证码测试既能充足的反映验证码的安全性,又能在相对较少的时间内完成测试。
[0080] (3-2)如果破解结果不达标,则可以适当调整生成图像对抗验证码的策略,如改变人眼可忍受噪音量系数、更换目标图像识别模型等,通过多次评估调整,可以获得更适应环境的生成策略。
[0081] 以上所述的实施例对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的具体实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。

当前第1页 第1页 第2页 第3页
相关技术
学习图像相关技术
对抗学习相关技术
纪守领发明人的其他相关专利技术