一种Web攻击检测模型构建方法、装置及电子设备与流程

文档序号:35146478发布日期:2023-08-18 04:04阅读:39来源:国知局
一种Web攻击检测模型构建方法、装置及电子设备与流程

本发明涉及网络攻击检测领域,尤其涉及一种web攻击检测模型构建方法、装置及电子设备。


背景技术:

1、随着软件行业的发展,传统应用架构逐渐被微服务架构替代。微服务之间可以通过api(application programming interface,应用程序编程接口)通信,合作完成复杂业务功能。一些微服务还会提供api给其他微服务、应用客户端、终端用户使用,使得软件开发更加便捷、灵活。但过多api对外公开,会增加暴露的被攻击面,使得相关应用系统面临更多的注入、劫持类安全问题,承担大量web攻击风险,造成敏感数据和用户个人隐私泄漏。因此,非常有必要提高微服务应用环境中针对微服务请求的攻击检测能力。由于多数微服务请求/web请求在通信时以http(hyper text transfer protocol,超文本传输协议)报文呈现,因此,可以通过分析http报文检测是否有产生web攻击的可能。

2、目前,常用web攻击检测方法主要基于规则匹配、传统机器学习实现。基于规则匹配的方案根据专家知识和经验提取已知攻击相应特征并设计规则去检测攻击,但此类方法无法检测未知攻击,且规则库需及时更新,检测效率较低。基于传统机器学习的方案通过人工设计http请求报文的自定义特征训练各种传统机器学习模型,并用训练后的模型分析攻击行为,一定程度上弥补了基于规则匹配类方法的缺陷,但特征提取主要依赖人工且特征工程繁杂,在分析http请求报文此类复杂数据时往往面临性能下降的问题。因此,现有技术中存在模型自定义特征设计复杂且对web攻击检测准确性较低的问题。


技术实现思路

1、本发明提供了一种web攻击检测模型构建方法、装置及电子设备,以至少解决相关技术中存在模型自定义特征设计复杂且对web攻击检测准确性较低的问题。

2、根据本发明实施例的第一方面,提供了一种web攻击检测模型构建方法,包括:获取web攻击数据集;对所述web攻击数据集进行预处理,得到词元序列;基于bert和多层感知机构建深度学习模型;使用所述词元序列对所述深度学习模型进行训练;根据训练后的深度学习模型构建web攻击检测模型。

3、可选地,所述对所述web攻击数据集进行预处理,得到词元序列,包括:获取web攻击数据集中的目标数据作为初始数据,对所述初始数据依次执行特殊编码解码、利用预设模板字符串替换无意义数据、将大写字符转换为小写字符以及单词级分词的步骤,得到词元序列。

4、可选地,所述获取web攻击数据集中的目标数据作为初始数据,对所述初始数据依次执行特殊编码解码、利用预设模板字符串替换无意义数据、将大写字符转换为小写字符以及单词级分词的步骤,得到词元序列,包括:获取web攻击数据集中get类请求报文中的请求行以及post类请求报文中的请求行与请求体作为初始数据;使用正则表达式匹配所述初始数据中的特殊编码,对所述特殊编码进行解码直至所述初始数据中使用正则表达式匹配不到特殊编码,得到解码后的数据;将所述解码后的数据中的无意义数据使用对应的预设模板字符串进行替换,得到替换后的数据,所述无意义数据为对模型训练无意义的数据;将所述替换后的数据中的大写字符转换为对应的小写字符,得到转换后的数据;通过特殊符号将所述转换后的数据划分为单词序列;采用wordpiece算法根据所述单词序列生成词元序列。

5、可选地,所述基于bert和多层感知机构建深度学习模型,包括:使用bert-small模型对词元序列进行特征提取得到对应的特征向量;将所述特征向量输入多层感知机,所述多层感知机由隐藏单元分别为1024、512以及256的三个隐藏层组成,每个隐藏层的输出经过relu函数激活,进行批量归一化以及随机失活处理;将所述多层感知机输出层两个输出单元的值通过softmax层转换为对应的概率。

6、可选地,所述bert模型为bert-small-uncased预训练模型,在所述使用所述词元序列对所述深度学习模型进行训练之前,所述web攻击检测模型构建方法还包括:获取bert-small-uncased预训练模型对应的词表;利用所述词表对词元序列进行数据转换得到深度学习模型的输入向量。

7、可选地,所述利用所述词表对词元序列进行数据转换得到深度学习模型的输入向量,包括:为词元序列添加开始标记以及分隔标记,得到带标记的词元序列;将小于预设序列长度的带标记的词元序列使用特殊标记进行填充或者将大于预设序列长度的带标记的词元序列进行截断,得到预设序列长度的带标记的词元序列;利用词表将所述预设序列长度的带标记的词元序列转换成词元索引序列;将所述词元索引序列输入bert-small-uncased的嵌入层生成词元嵌入向量、分段嵌入向量以及位置嵌入向量;根据所述词元嵌入向量、分段嵌入向量以及位置嵌入向量生成深度学习模型的输入向量。

8、根据本发明实施例的第二方面,还提供了一种web攻击检测方法,包括:获取待检测的web请求;对所述待检测的web请求进行预处理,得到所述待检测的web请求对应的词元序列;对所述待检测的web请求对应的词元序列进行数据转换得到待检测的web请求对应的输入向量;将所述待检测的web请求对应的输入向量输入本发明实施例第一方面任一项所述的web攻击检测模型构建方法构建得到的web攻击检测模型,得到所述待检测的web请求为正常请求的概率以及所述待检测的web请求为恶意请求的概率;当所述待检测的web请求为恶意请求的概率大于为正常请求的概率时,判定所述待检测的web请求为web攻击。

9、根据本发明实施例的第三方面,还提供了一种web攻击检测模型构建装置,包括:第一获取模块,用于获取web攻击数据集;第一预处理模块,用于对所述web攻击数据集进行预处理,得到词元序列;第一构建模块,用于基于bert和多层感知机构建深度学习模型;训练模块,用于使用所述词元序列对所述深度学习模型进行训练;第二构建模块,用于根据训练后的深度学习模型构建web攻击检测模型。

10、可选地,所述预处理模块包括:执行单元,用于获取web攻击数据集中的目标数据作为初始数据,对所述初始数据依次执行特殊编码解码、利用预设模板字符串替换无意义数据、将大写字符转换为小写字符以及单词级分词的步骤,得到词元序列。

11、可选地,所述执行单元包括:获取子模块,用于获取web攻击数据集中get类请求报文中的请求行以及post类请求报文中的请求行与请求体作为初始数据;第一得到子模块,用于使用正则表达式匹配所述初始数据中的特殊编码,对所述特殊编码进行解码直至所述初始数据中使用正则表达式匹配不到特殊编码,得到解码后的数据;第二得到子模块,用于将所述解码后的数据中的无意义数据使用对应的预设模板字符串进行替换,得到替换后的数据,所述无意义数据为对模型训练无意义的数据;第三得到子模块,用于将所述替换后的数据中的大写字符转换为对应的小写字符,得到转换后的数据;划分子模块,用于通过特殊符号将所述转换后的数据划分为单词序列;生成子模块,用于采用wordpiece算法根据所述单词序列生成词元序列。

12、可选地,所述第一构建模块包括:提取单元,用于使用bert-small模型对词元序列进行特征提取得到对应的特征向量;第一构建单元,用于将所述特征向量输入多层感知机,所述多层感知机由隐藏单元分别为1024、512以及256的三个隐藏层组成,每个隐藏层的输出经过relu函数激活,进行批量归一化以及随机失活处理;第二构建单元,用于将所述多层感知机输出层两个输出单元的值通过softmax层转换为对应的概率。

13、可选地,所述web攻击检测模型构建装置还包括:第二获取模块,用于获取bert-small-uncased预训练模型对应的词表;转换模块,用于利用所述词表对词元序列进行数据转换得到深度学习模型的输入向量。

14、可选地,所述转换模块包括:第一得到单元,用于为词元序列添加开始标记以及分隔标记,得到带标记的词元序列;第二得到单元,用于将小于预设序列长度的带标记的词元序列使用特殊标记进行填充或者将大于预设序列长度的带标记的词元序列进行截断,得到预设序列长度的带标记的词元序列;转换单元,用于利用词表将所述预设序列长度的带标记的词元序列转换成词元索引序列;第一生成单元,用于将所述词元索引序列输入bert-small-uncased的嵌入层生成词元嵌入向量、分段嵌入向量以及位置嵌入向量;第二生成单元,用于根据所述词元嵌入向量、分段嵌入向量以及位置嵌入向量生成深度学习模型的输入向量。

15、根据本发明实施例的第四方面,还提供了一种web攻击检测装置,包括:第三获取模块,用于获取待检测的web请求;第二预处理模块,用于对所述待检测的web请求进行预处理,得到所述待检测的web请求对应的词元序列;数据转换模块,用于对所述待检测的web请求对应的词元序列进行数据转换得到待检测的web请求对应的输入向量;得到模块,用于将所述待检测的web请求对应的输入向量输入本发明实施例第一方面任一项所述的web攻击检测模型构建方法构建得到的web攻击检测模型,得到所述待检测的web请求为正常请求的概率以及所述待检测的web请求为恶意请求的概率;判定模块,用于当所述待检测的web请求为恶意请求的概率大于为正常请求的概率时,判定所述待检测的web请求为web攻击。

16、根据本发明实施例的第五方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;其中,存储器,用于存储计算机程序;处理器,用于通过运行所述存储器上存储的所述计算机程序来执行上述任一实施例中的web攻击检测模型构建方法以及web攻击检测方法。

17、根据本发明实施例的第六方面,还提供了一种计算机可读的存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一实施例中的web攻击检测模型构建方法以及web攻击检测方法。

18、在本发明实施例中,将web攻击检测问题转化为文本分类问题,通过获取web攻击数据集;对web攻击数据集进行预处理,得到词元序列;基于bert和多层感知机构建深度学习模型;使用词元序列对深度学习模型进行训练;根据训练后的深度学习模型构建web攻击检测模型。由于bert模型能够自动学习web攻击数据集中数据的深度语义特征,不依赖专家知识且无需人工自定义特征,能够提取未知攻击特征,提高了特征提取的质量和效率。使用提取的深度语义特征训练多层感知机实现对web攻击检测即文本分类,提高了模型检测的准确性以及对未知攻击检测的稳定性,解决了相关技术中存在的模型自定义特征设计复杂且对web攻击检测准确性较低的问题。

19、在本发明实施例中,通过提取目标数据进行重构、对特殊编码进行解码、利用预设模板字符串替换无意义数据、将大写字符转换为小写字符以及进行单词级分词对数据预处理,达到了减少分析数据量,对目标数据去冗、去噪的目的,实现了提高模型检测效率和模型检测精度的效果。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1