注入攻击检测模型构建方法和装置制造方法及图纸

技术编号:26041134 阅读:24 留言:0更新日期:2020-10-23 21:20
根据本发明专利技术的实施例提供一种注入攻击检测模型构建方法和装置,以及一种注入攻击检测方法和装置,包括:收集多个样本;对样本进行转码、分词,与攻击词汇表比对生成统一长度的数据集,并提取词向量;利用词向量对神经网络模型进行训练;当评价指标超过阈值时,获得攻击检测模型。根据本发明专利技术实施例的注入攻击检测模型构建方法和装置能够实现自动化的训练、学习和检测,并且执行速度和效率高,根据本发明专利技术实施例的注入攻击检测方法和装置检测效率、准确率都较高。

【技术实现步骤摘要】
注入攻击检测模型构建方法和装置
本专利技术涉及网络安全
,特别是涉及一种注入攻击的检测模型构建方法和装置,以及一种注入攻击检测方法和装置。
技术介绍
随着互联网技术的急速发展,越来越多的个人敏感信息被终端设备所调用,网络安全的重要性也愈发的引起了人们的重视,网络注入攻击,例如XSS、SQL等,一直以来都是网页应用安全风险的重要来源。现有技术中对于网络注入攻击的主流检测方法为白盒测试和黑盒测试,其中,白盒测试的有效性依靠净化规则的完备性,净化规则太过宽泛会造成漏报,太过严格又会误报,难以把握,而黑盒测试的检测效率较低。使用神经网络深度学习的方法来构建攻击检测模型以实现注入攻击的检测是一种较为理想的方法,但是现有技术中针对注入攻击的检测模型构建方法存在执行速度和效率低、检测准确率不理想等问题。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的批量数据处理方法和装置。根据本专利技术实施例的一个方面,提供一种注入攻击的检测模型构建方法,包括:收集多个样本,包括多个正常样本和多个攻击样本;对每个所述样本进行转码和分词后与攻击词汇表进行比对,生成统一长度数据集,并提取词向量,其中所述攻击词汇表包括所有所述攻击样本中出现频率高于阈值的多个词汇;利用所述词向量对神经网络模型进行训练,其中,所述神经网络模型包括:至少一个卷积层,提升所述词向量的数据维度;至少一个门控循环单元,提取所述词向量中基于时序的特征向量;平化层,降低所述词向量的数据维度;全连接层,接收所述平化层的数据并分类判断;输出层,输出对每个所述样本的检测结果和所述神经网络模型的评价指标;当所述神经网络模型的评价指标高于阈值时,停止训练并获得攻击检测模型。可选地,所述方法还包括:将所述多个样本随机划分为第一子集和第二子集,以及对所述攻击检测模型进行测试,其中,所述第一子集中的所述样本用于训练所述神经网络模型并获得所述攻击检测模型;所述第二子集中的所述样本用于测试所述攻击检测模型。可选地,所述转码包括:截取有效载荷;对所述有效载荷进行词汇替换,其中,将中文字符替换为第一字符;将数字替换为第二字符将超链接替换为第三字符。可选地,所述转码还包括:将统一资源定位符(URL)替换为统一格式,并剔除无意义字符。可选地,所述对每个所述样本进行转码和分词后与攻击词汇表进行比对,生成统一长度数据集包括:预先设定所述数据集的长度;将所述样本分词后与所述攻击词汇表进行比对,将每个比对不成功的词汇替换为一个第四字符;增加或删除所述第四字符,使所述样本的数据集符合所述预先设定的所述数据集的长度。可选地,所述神经网络模型还包括:至少一个随机失活层,降低所述神经网络模型中各节点的依赖性,优选地所述随机失活层设置在所述平化层的输入端。可选地,所述至少一个门控循环单元包括:第一门控循环单元、第二门控循环单元和第三门控循环单元,其中所述第一门控循环单元、第二门控循环单元和第三门控循环单元分别拥有不同的单元数,用于输出不同维度的特征向量。可选地,所述当所述神经网络模型的评价指标高于阈值时,停止训练并获得注入攻击检测模型包括:定义损失函数;当所述损失函数接近阈值时,中止训练并判断所述精确率和所述召回率是否高于阈值,当所述评价指标低于阈值时,调整所述损失函数,继续训练并重复所述判断,直到所述评价指标高于阈值,获得所述攻击检测模型。根据本专利技术实施例的另一方面,提供一种注入攻击的检测模型构建装置,包括:收集模块:收集多个样本,包括多个正常样本和多个攻击样本;向量提取模块:对每个所述样本进行转码和分词后与攻击词汇表进行比对,并生成统一长度数据集,提取每个所述样本的词向量,其中所述攻击词汇表包括所有所述攻击样本中出现频率高于阈值的多个词汇;训练模块:利用所述词向量对神经网络模型进行训练,其中,所述神经网络模型包括:至少一个卷积层,提升所述词向量的数据维度;至少一个门控循环单元,提取所述词向量中基于时序的特征向量;平化层,降低所述词向量的数据维度;全连接层,接收所述平化层的数据并分类判断;输出层,输出对每个所述样本的检测结果和所述神经网络模型的评价指标;输出模块:当所述神经网络模型的评价指标高于阈值时,停止训练并输出攻击检测模型。可选地,所述收集模块将所述多个样本随机划分为第一子集和第二子集,所述装置还包括:测试模块:对所述攻击检测模型进行测试,其中,所述第一子集中的所述样本用于训练所述神经网络模型并获得所述攻击检测模型;所述第二子集中的所述样本用于测试所述攻击检测模型。可选地,所述向量提取模块包括第一转码单元和/或第二转码单元,其中所述第一转码单元用于截取有效载荷并对所述有效载荷进行词汇替换,其中,将中文字符替换为第一字符;将数字替换为第二字符;将超链接替换为第三字符;所述第二转码单元用于将统一资源定位符(URL)替换为统一格式,并剔除无意义字符。可选地,所述对每个所述样本进行转码和分词后与攻击词汇表进行比对,生成统一长度数据集包括:预先设定所述数据集的长度;将所述样本分词后与所述攻击词汇表进行比对,将每个比对不成功的词汇替换为一个第四字符;增加或删除所述第四字符,使所述样本的数据集符合所述预先设定的所述数据集的长度。可选地,所述神经网络模型还包括:至少一个随机失活层,降低所述神经网络模型中各节点的依赖性,优选地,所述随机失活层设置在所述平化层的输入端。可选地,所述至少一个门控循环单元包括:第一门控循环单元、第二门控循环单元和第三门控循环单元,其中所述第一门控循环单元、第二门控循环单元和第三门控循环单元分别拥有不同的单元数,用于输出不同维度的特征向量。可选地,所述当所述神经网络模型的评价指标高于阈值时,停止训练并获得注入攻击检测模型包括:定义损失函数;当所述损失函数接近阈值时,中止训练并判断所述评价指标是否高于阈值,当所述准确率和/或所述召回率低于阈值时,调整所述损失函数,继续训练并重复所述判断,直到所述评价指标高于阈值,获得所述攻击检测模型。根据本专利技术实施例的再一方面,提供一种注入攻击的检测方法,包括:获取如上任一所述的攻击检测模型构建方法构建的攻击检测模型;使用所述攻击检测模型检测注入攻击。根据本专利技术实施例的再一方面,提供一种注入攻击的检测装置,包括:获取模块,获取如上任一所述的攻击检测模型构建方法构建的攻击检测模型;检测模块,使用所述攻击检测模型检测注入攻击。根据本专利技术实施例的再一方面,提供一种计算设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据如上任一所述的注入攻击检测模型构建方法或者注入攻击检测方法。根据本专利技术实施例的再一方面,提供一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据如上任一所述的注入攻击检测模型构建方法或者注入攻击检测方法。根据本专利技术实施例的注入攻击检测模型构建本文档来自技高网...

【技术保护点】
1.一种注入攻击的检测模型构建方法,包括:/n收集多个样本,包括多个正常样本和多个攻击样本;/n对每个所述样本进行转码和分词后与攻击词汇表进行比对,生成统一长度数据集,并提取词向量,其中所述攻击词汇表包括所有所述攻击样本中出现频率高于阈值的多个词汇;/n利用多个所述词向量对神经网络模型进行训练,其中,所述神经网络模型包括:/n至少一个卷积层,提升所述词向量的数据维度;/n至少一个门控循环单元,提取所述词向量中基于时序的特征向量;/n平化层,降低所述特征向量的数据维度;/n全连接层,接收所述平化层的数据并分类判断;/n输出层,输出对每个所述样本的检测结果和所述神经网络模型的评价指标;/n当所述神经网络模型的评价指标高于阈值时,停止训练并获得攻击检测模型。/n

【技术特征摘要】
1.一种注入攻击的检测模型构建方法,包括:
收集多个样本,包括多个正常样本和多个攻击样本;
对每个所述样本进行转码和分词后与攻击词汇表进行比对,生成统一长度数据集,并提取词向量,其中所述攻击词汇表包括所有所述攻击样本中出现频率高于阈值的多个词汇;
利用多个所述词向量对神经网络模型进行训练,其中,所述神经网络模型包括:
至少一个卷积层,提升所述词向量的数据维度;
至少一个门控循环单元,提取所述词向量中基于时序的特征向量;
平化层,降低所述特征向量的数据维度;
全连接层,接收所述平化层的数据并分类判断;
输出层,输出对每个所述样本的检测结果和所述神经网络模型的评价指标;
当所述神经网络模型的评价指标高于阈值时,停止训练并获得攻击检测模型。


2.根据权利要求1或2所述的方法,还包括:
将所述多个样本随机划分为第一子集和第二子集,以及
对所述攻击检测模型进行测试,其中,
所述第一子集中的所述样本用于训练所述神经网络模型并获得所述攻击检测模型;所述第二子集中的所述样本用于测试所述攻击检测模型。


3.根据权利要求1或2所述的方法,其中,所述转码包括:
截取有效载荷并对所述有效载荷进行词汇替换和/或将统一资源定位符(URL)替换为统一格式,并剔除无意义字符,其中,对所述有效载荷进行词汇替换包括:
将中文字符替换为第一字符;
将数字替换为第二字符;
将超链接替换为第三字符。


4.根据权利要求1或2所述的方法,其中,所述对每个所述样本进行转码和分词后与攻击词汇表进行比对,生成统一长度数据集包括:
预先设定所述数据集的长度;
将所述样本分词后与所述攻击词汇表进行比对,将每个比对不成功的词汇替换为一个第四字符;
增加或删除所述第四字符,使所述样本的数据集符合所述预先设定的所述数据集的长度。


5.根据权利要求1或2所述的方法,其中,所述神经网络模型还包括:
至少一个随机失活层,降低所述神经网络模型中各节点的依赖性;
优选地,所述随机失活层设置在所述平化层的输入端。


6.根据权利要求1或2所述的方法,其中,所述至少一个门控循环单元包括:
第一门控循环单元、第二门控循环单元和第三门控循环单元,其中,
所述第一门控循环单元、第二门控循环单元和第三门控循环单元分别拥有不同的单元数,用于输出不同维度的所述特征向量。


7.根据权利要求1或2所述的方法,其中,所述当所述神经网络模型的评价指标高于阈值时,停止训练并获得攻击检测模型包括:
定义损失函数;
当所述损失函数接近阈值时,中止训练并判断所述评价指标是否高于阈值,
当所述评价指标低于阈值时,调整所述损失函数,继续训练并重复所述判断,直到所述评价指标高于阈值,获得所述攻击检测模型。


8.一种注入攻击的检测模型构建装置,包括:
收集模块,用于收集多个样本,包括多个正常样本和多个攻击样本;
向量提取模块,用于对每个所述样本进行转码和分词后与攻击词汇表进行比对,并生成统一长度数据集,提取每个所述样本的词向量,其中所述攻击词汇表包括所有所述攻击样本中出现频率高于阈值的多个词汇;
训练模块,用于利用所述词向量对神经网络模型进行训练,其中,所述神经网络模型包括:至少一个卷积层,提升所述词向量的数据维度;至少一个门控循环单...

【专利技术属性】
技术研发人员:张诚吕博良程佩哲周京
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1