System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及网络技术与安全领域领域,特别涉及一种辅助生成waf规则与降低误报率的方法。
技术介绍
1、waf作为安全保障体系的第一道防线,为用户提供应对web攻击、入侵、漏洞利用、挂马、篡改、后门、爬虫、域名劫持等网站及web业务安全防护问题的相应措施。waf需要根据漏洞通报及时更新拦截规则。
2、而在实际waf维护过程由于运维人员存在经验较少、正常请求常用词判断难度大、配置不合理等问题,使得waf规则误报率高、漏报率高,影响企业互联网正常使用。
3、但是基于ai技术,我们利用bi-gru能够长期记忆的特点,以收集到的恶意报文、正常报文数据集作为规则生成的数据库。让ai代替人工的经验积累,消除了部分运维人员与研发人员之间的技术壁垒,减少了拦截规则中可能出现的正常的、易模糊的词汇。
4、本专利针对waf规则生成问题,提出一种基于bi-gru attention+bert的方法,由ai辅助生成waf规则,以降低误报率、漏报率。
5、在实际的waf运维过程中,我们时常会遭遇以下的问题:
6、(1)恶意报文中特征词不明显、恶意特征词与正常词粘连;
7、(2)与正常文本重合部分多、只能通过经验判断是否造成误报;
8、(3)经验较少,过滤恶意报文中的正常部分困难。
9、针对以上运维人员存在的经验较少、配置不合理,致使waf规则误报率高、漏报率高等问题。本专利提出的方法能够依据现有恶意报文及正常报文数据库,直接生成waf规则,辅助运维人员构建漏洞
10、配置waf规则时,最常用的方法是基于正则表达式匹配,匹配内容的审计却是耗费时间精力最多的工作。首先,匹配内容需要保证不影响正常生产、尽可能低的误报率、尽可能高的拦截率、以及能应对变种绕过。然而这些waf指标往往相互牵制,例如我们需要提取的payload部分包含了“exec”这样的字段,实际生产过程中“exec”时常会出现在java的函数调用堆栈中。而现有涉及waf规则的方案较少,并没有合适的、轻量化的方法来避免此类情况造成的误报问题,因此我们基于bi-gru、attention layer、bert构建方案,解决运维痛点问题。
技术实现思路
1、本专利技术的目的在于提供一种辅助生成waf规则与降低误报率的方法,以解决上述
技术介绍
中提出的问题。
2、为实现上述目的,本专利技术提供如下技术方案:一种辅助生成waf规则与降低误报率的方法,包括以下步骤:
3、s1,输入请求包的原始文本,对文件进行预处理,使用脚本将其分解为多个部分,得到了多个数据集;
4、s2,通过bi-gru先使用bert预训练的卷积网络对输入的请求包进行特征映射;
5、s3,随后基于attention layer,将某个请求与已经记录的正常请求和恶意请求结合起来,分析他们的特征矩阵,并进行特征强化,强化各自特征之间的差异,再提取出恶意代码部分,过滤出正常代码部分,得到误报率、漏报率低的waf规则。
6、优选的,在步骤s1中,使用脚本将其分解为url+protocol、header、body三部分,以至得到了aheader、aurl和abody三个数据集。
7、优选的,在步骤s2中,bi-gru attention工作的简要流程如下:
8、s21,使用bert将数据处理成bigru需要的序列向量形式;
9、s22,计算bigru层输出的词向量;
10、s23,计算每个cijt应分配的概率权重。
11、优选的,在步骤s21中,基于恶意请求文本中变种多样性,以句子为单位进行文本向量操作,把aheader、aurl和abody三个数据集的文本拆分为n个单词,即a,={s0,s1,s2...},再将s0,s1,s2输入到bert中。
12、优选的,在步骤s22中,bigru模型由向前gru和反向gru两部分组成,使用向量cijt表示在第i时刻输入的第j个句子的第t个单词,并计算hiit=bigru(cijt),t∈[1,n],通过bigru层提取特征,可以更加充分地学习上下文之间的关系,进行bert语义编码。
13、优选的,在步骤s23中,可进一步提取文本特征,突出文本的关键信息,在header中,user-agent、sec系列的关键字出现恶意代码的可能性相较于authorized、command等关键字对恶意代码的可能性小,并且重要程度也小。
14、优选的,在步骤s23中,为了突出不同关键字的重要度,bigru-attention模型中引入了attention机制层,attention机制层的输入为上一层中经过bigru神经网络层激活处理的输出向量hijt,attention机制层的权重系数具体通过以下几个公式进行计算:
15、uijt=tanh(wwhijt+bw)
16、
17、
18、其中:hijt为一层bigru神经网络层的输出向量,ww表示权重系数,bw表示偏置系数,uw表示随机初始化的注意力矩阵,attention机制矩阵由attention机制分配的不同概率权重与各个隐层状态的乘积的累加和,使用softmax函数做归一化操作。
19、优选的,在步骤s3中,对aheader、aurl和abody数据集,先使用对应的header、body、url恶意报文数据集分别进行第一次bi-gru attention+bert得到第一轮结果rprotential;
20、并且rprotential可以理解为潜在的恶意数据,基于在bi-gru attention+bert的计算过程中,输入中所有与恶意数据,可能存在关系的部分都会被提取到rprotential中,因此rprotential是从恶意文本中提取出来的恶意代码集。
21、优选的,在步骤s3中,对第一轮结果的rprotential再使用一次正常报文的bi-gruattention+bert,此轮计算,过滤掉了正常报文中时常会出现的单词或句子,得到最终的、包含正常报文较少的、恶意数据rlatest。
22、优选的,在步骤s3中,此时所产生的结果rlatest则作为waf拦截的参考值,并且该结果提取了最大差异且过滤了某些误报率较高的正常报文部分,可以有效地帮助waf维护人员构建对应的waf拦截规则,并且减少规则的误报率,避免经验不充分条件下的规则错误配置。
23、本专利技术的技术效果和优点:
24、(1)本专利技术基于bi-gru attention+bert辅助生成waf规则与降低误报率的方法,可以在云端及本地部署waf规则时,实现规则快速生成,缩短配置周期,大大加快了本文档来自技高网...
【技术保护点】
1.一种辅助生成WAF规则与降低误报率的方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种辅助生成WAF规则与降低误报率的方法,其特征在于,在步骤S1中,使用脚本将其分解为url+protocol、header、body三部分,以至得到了Aheader、Aurl和Abody三个数据集。
3.根据权利要求2所述的一种辅助生成WAF规则与降低误报率的方法,其特征在于,在步骤S2中,Bi-Gru Attention工作的简要流程如下:
4.根据权利要求3所述的一种辅助生成WAF规则与降低误报率的方法,其特征在于,在步骤S21中,基于恶意请求文本中变种多样性,以句子为单位进行文本向量操作,把Aheader、Aurl和Abody三个数据集的文本拆分为n个单词,即A,={S0,S1,S2...},再将S0,S1,S2输入到Bert中。
5.根据权利要求3所述的一种辅助生成WAF规则与降低误报率的方法,其特征在于,在步骤S22中,BiGRU模型由向前GRU和反向GRU两部分组成,使用向量cijt表示在第i时刻输入的第j个句子的第t个单
6.根据权利要求3所述的一种辅助生成WAF规则与降低误报率的方法,其特征在于,在步骤S23中,可进一步提取文本特征,突出文本的关键信息,在header中,User-agent、sec系列的关键字出现恶意代码的可能性相较于Authorized、Command等关键字对恶意代码的可能性小,并且重要程度也小。
7.根据权利要求6所述的一种辅助生成WAF规则与降低误报率的方法,其特征在于,在步骤S23中,为了突出不同关键字的重要度,BiGRU-Attention模型中引入了attention机制层,Attention机制层的输入为上一层中经过BiGRU神经网络层激活处理的输出向量hijt,attention机制层的权重系数具体通过以下几个公式进行计算:
8.根据权利要求2所述的一种辅助生成WAF规则与降低误报率的方法,其特征在于,在步骤S3中,对Aheader、Aurl和Abody数据集,先使用对应的header、body、url恶意报文数据集分别进行第一次Bi-Gru Attention+BERT得到第一轮结果Rprotential;
9.根据权利要求8所述的一种辅助生成WAF规则与降低误报率的方法,其特征在于,在步骤S3中,对第一轮结果的Rprotential再使用一次正常报文的Bi-Gru Attention+BERT,此轮计算,过滤掉了正常报文中时常会出现的单词或句子,得到最终的、包含正常报文较少的、恶意数据Rlatest。
10.根据权利要求9所述的一种辅助生成WAF规则与降低误报率的方法,其特征在于,在步骤S3中,此时所产生的结果Rlatest则作为WAF拦截的参考值,并且该结果提取了最大差异且过滤了某些误报率较高的正常报文部分,可以有效地帮助WAF维护人员构建对应的WAF拦截规则,并且减少规则的误报率,避免经验不充分条件下的规则错误配置。
...【技术特征摘要】
1.一种辅助生成waf规则与降低误报率的方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种辅助生成waf规则与降低误报率的方法,其特征在于,在步骤s1中,使用脚本将其分解为url+protocol、header、body三部分,以至得到了aheader、aurl和abody三个数据集。
3.根据权利要求2所述的一种辅助生成waf规则与降低误报率的方法,其特征在于,在步骤s2中,bi-gru attention工作的简要流程如下:
4.根据权利要求3所述的一种辅助生成waf规则与降低误报率的方法,其特征在于,在步骤s21中,基于恶意请求文本中变种多样性,以句子为单位进行文本向量操作,把aheader、aurl和abody三个数据集的文本拆分为n个单词,即a,={s0,s1,s2...},再将s0,s1,s2输入到bert中。
5.根据权利要求3所述的一种辅助生成waf规则与降低误报率的方法,其特征在于,在步骤s22中,bigru模型由向前gru和反向gru两部分组成,使用向量cijt表示在第i时刻输入的第j个句子的第t个单词,并计算hiit=bigru(cijt),t∈[1,n],通过bigru层提取特征,学习上下文之间的关系,进行bert语义编码。
6.根据权利要求3所述的一种辅助生成waf规则与降低误报率的方法,其特征在于,在步骤s23中,可进一步提取文本特征,突出文本的关键信息,在header中,user-agent、sec系列的关键字出现恶意代码的可能性相较于authorized...
【专利技术属性】
技术研发人员:吴嘉炫,董润,张羽,李可惟,上官淑婷,王鑫渊,张开翔,
申请(专利权)人:天翼云科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。