一种基于强化学习优化XSS检测模型防御对抗攻击的方法与流程

文档序号:23798143发布日期:2021-02-02 11:22阅读:737来源:国知局
一种基于强化学习优化xss检测模型防御对抗攻击的方法
技术领域
[0001]
本发明提出了一种基于强化学习优化xss检测模型防御对抗攻击的方法,其主要用于提升基于人工智能的检测模型防御对抗攻击的能力。该方法的主要思想在于构建基于强化学习的xss对抗攻击模型和检测-对抗交替训练模型。本技术主要涉及网络空间安全领域以及人工智能领域。其首先采集基于强化学习的xss对抗攻击模型挖掘检测模型的对抗样本,然后将每一轮新挖掘的对抗样本标记为恶意样本,最后对检测模型进行重新训练,从而提高检测模型防御对抗攻击的能力。


背景技术:

[0002]
web应用是目前网络上被使用最为频繁的应用,网民们享受着web服务带来的便利与娱乐。但随着互联网普及率不断提高以及web应用服务的不断丰富,逐步涌现出各种网络安全问题,层出不穷的web攻击事件对人们的日常工作和生活造成严重的影响。
[0003]
跨站脚本攻击(xss)作为web攻击中最常见的类型之一,常常被用作信息窃取和身份假冒。跨站脚本漏洞的本质是浏览器漏洞,其将恶意的script代码注入到用户所浏览的页面中。当用户使用浏览器阅读包含xss代码的网页时,恶意代码就会在浏览器端执行,将个人信息,登录凭证等私密信息传递给攻击者布置好的接收端(xss服务器)。因此,跨站脚本攻击能够直接威胁到用户隐私安全和服务器安全,导致信息泄露、命令执行等严重危害。
[0004]
为了避免xss攻击所引发的严重后果,各种xss防御技术被提出。最为常见的是基于关键字的正则匹配技术,其将script标签和代码执行函数等可能触发xss漏洞的字符串设置为关键字,如果按一定的规则进行正则匹配。但是这种技术存在很大的缺陷,很容易被攻击者绕过,且误报率相对较高。因此,基于机器学习的xss检测技术被提出,其使用指定的机器学习算法,训练大量的xss样本,最后将得到的模型用到漏洞的识别中去。
[0005]
但是,随着攻击检测技术的不断提升,涌现出对检测模型实施对抗攻击的技术。攻击者企图通过生成具有混淆特征且保留攻击性的对抗样本对检测模型进行对抗攻击,误导模型将恶意攻击类型分类到良性类型,从而逃逸检测模型的攻击检测。然而,当前缺乏针对xss攻击检测模型防御对抗攻击的研究。设计一种能够有效提高检测模型防御对抗攻击能力的方法具有极其重要的意义。
[0006]
生成式对抗网络(generative adversarial networks,gan)是当前最新的研究技术,其可以通过在熊猫的图片上添加肉眼不可察觉的扰动,扰动后肉眼观看仍然明显是熊猫,然而googlenet分类模型以99.3%的置信度判别该扰动后的图片为长臂猿。单像素对抗攻击(one pixel attack),在只能修改一个像素点的极端限制场景下,通过基于差分进化生成单像素对抗扰动,从而改变深度神经网络的分类输出结果。其性质可以被用于xss攻击检测。


技术实现要素:

[0007]
为了提高xss检测模型自身的安全性,本发明提出了一种基于强化学习优化xss检
测模型防御对抗攻击的方法。该方法能够不断优化xss检测模型,提升其检测的准确率以及性能。其基本思想在于利用强化学习的自主强化能力,挖掘出有效的xss攻击样本。然后将强化学习所挖掘的样本投入检测-对抗交替训练模型中进行模型优化。
[0008]
首先,利用基于强化学习的对抗攻击模型挖掘检测模型的对抗样本,模型所挖掘的样本都具备实际攻击效果,能够为后续的模型优化提供帮助;其次,基于检测-对抗交替训练模型不断交替训练检测模型与对抗模型,将每一轮新挖掘的对抗样本标记为恶意样本之后,对检测模型进行重新训练。
[0009]
本发明设计的两种模型能够互相协作,具有极强的调节能力。基于强化学习的对抗攻击模型能够挖掘高质量的学习样本,而检测-对抗交替模型能够衔接上一个模型所得到的样本,使用奖励机制来不断提升自身模型的能力。
[0010]
基于强化学习的对抗攻击模型,该模型将xss逃逸对抗攻击问题转换成逃逸策略的选择问题,并根据环境状态选择最优的逃逸策略。模型基于编码混淆、敏感词替换、位置形态变换、添加特殊字符四类xss攻击逃逸技术,并通过逃逸策略变换攻击向量并使用该样本对抗攻击检测工具或模型,从而挖掘保留攻击性的逃逸对抗样本。四种xss攻击逃逸技术的描述如下。
[0011]
(1)编码混淆,由于浏览器处理部分特殊标签的内容之前会进行相应的解码,因此攻击者借助该特性对攻击向量进行编码混淆,隐藏攻击向量在传输过程中原有的攻击特征信息。比如对特殊标签或属性进行html,unicode,utf-7等编码。
[0012]
(2)敏感词替换,许多标签和关键字都被各种xss检测软件打入黑名单,因此想获得更好的攻击样本,就需要对敏感词进行替换。本发明设计了事件敏感词替换,alert弹窗敏感词替换,空白符替换,括号替换以及通用时间的标签替换。
[0013]
(3)位置形态变化,正则匹配及检测模型往往具有顺序性,且通常是从左到右读取字符串。因此可以在script标签允许的规则内进行属性位置调换或属性状态改变,以达到躲避检测的目的。那么发明设计了属性表达式与事件表达式位置变换,关键字大小写形态变换,alert等弹框字符串形态变化。
[0014]
(4)添加特殊字符,向构造的xss代码中添加一些不影响代码执行的字符,以达到扰乱检测器的作用。本发明设计了事件之前添加赋值表达式,事件与触发代码之间添加空白符,标间内添加任意字母或数字,函数名之间添加任意计算表达式,函数名与括号之间添加注释,攻击向量前后添加任意字符。
[0015]
检测-对抗交替训练模型,该模型不断交替训练检测模型与对抗模型,将每一轮新挖掘的对抗样本标记为恶意样本之后,对检测模型进行重新训练,不断压缩对抗样本空间,提高检测模型防御对抗攻击的能力。
附图说明
[0016]
图 1 是本发明的基于强化学习的对抗攻击模型系统流程图。
[0017]
图 2 是本发明的检测-对抗交替训练模型系统流程图。
具体实施方式
[0018]
现结合附图和具体实施方式对本发明进一步说明。本发明一种基于强化学习优化
xss检测模型防御对抗攻击的方法是由基于强化学习的对抗攻击模型系统流程图,检测-对抗交替训练模型构成。图1是本发明的基于强化学习的对抗攻击模型系统流程图,图2是本发明的检测-对抗交替训练模型系统流程图。
[0019]
基于强化学习的对抗攻击模型:首先,将训练样本数据和测试样本数据输入到黑白盒检测环境,根据检测模型的输出作为状态信息传递给基于ddqn的智能体;其次,智能体根据状态选择相应的逃逸技术,根据选择动作对样本进行变换后,再次传递给检测环境进行检测,获取检测的结果状态并反馈对应的奖励值。对抗模型基于环境状态选择动作空间内的逃逸动作,对恶意样本进行变换后再次输入到黑盒或白盒xss检测工具进行检测,根据是否逃逸的结果反馈奖励,如果逃逸成功或者超出最多尝试次数则结束,否则继续尝试寻找最优的逃逸策略。
[0020]
在具体实施的模型框架中,一共包含四个功能模块:数据预处理模块、对抗环境模块、智能体模块和样本操纵模块。数据预处理模块通过调用对抗环境的接口对初试恶意样本库进行筛选,获取被检测工具或模型检测拦截的样本,样本去重后根据不同检测模型或工具保存为相应的对抗数据集。对抗环境模块,封装黑盒检测工具的检测过程为黑盒检测工具接口,根据输入测试样本反馈拦截或逃逸成功的结果;封装白盒检测模型的检测过程为白盒检测模型接口,根据测试样本反馈检测为xss样本的置信度。智能体模块,通过特征提取将检测样本向量化,通过构造ddqn模型评估最优逃逸变换策略,然后根据当前状态智能选择对应的逃逸空间。样本操纵模块,根据xss逃逸技术定义逃逸动作空间,根据逃逸动作选择器选择的动作策略对样本进行逃逸变换操纵。
[0021]
检测-对抗交替训练模型:首先通过数据预处理模块筛选出检测模型拦截的恶意样本,基于对抗攻击模型对拦截的恶意样本进行逃逸变换,挖掘成功逃逸检测的对抗样本,将其标记为恶意样本后,对检测模型进行重新训练。通过交替训练检测模型与对抗攻击模型,不断压缩对抗样本空间,从而检测模型防御对抗攻击的能力。
当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 留言:0条
  • 还没有人留言评论。精彩留言会获得点赞!
1