【技术实现步骤摘要】
构建识别模型及攻击识别方法、装置、设备及存储介质
本申请涉及网络
,尤其涉及一种构建识别模型及攻击识别方法、装置、设备及存储介质。
技术介绍
网页(Web)应用防火墙(简称WAF)作为目前市场上热门的安全产品,可以有效阻拦场景的结构化查询语言注入攻击(简称SQLI,英文全称StructuredQueryLanguageInjection;结构化查询语言,简称SQL,英文全称StructuredQueryLanguage),达到保护Web应用的目的。目前,市场上大部分的WAF是基于规则匹配进行防护的,也有部分采用人工智能(AI)+规则相结合的方式进行防护。随着Web服务变得越来越复杂,相应的攻击方式也变得复杂起来,为了应对这一情况,WAF需要变得更加智能化。AI赋能WAF已经成为目前WAF产品迭代的一个大趋势,越来越多的机器学习和深度学习模型被应用进WAF中,并且已经展现出了较好的效果。WAF中使用AI识别SQLI的方法,也在随着时间的推移和技术的更新不断变化,每种方法都会在生产环境中出现或大或小的问题, ...
【技术保护点】
1.一种构建识别模型的方法,其特征在于,包括:/n获取结构化查询语言注入攻击的训练样本集合;/n根据结构化查询语言的词库,对所述训练样本集合中每条样本进行分词处理,获得所述每条样本各自的分词后样本,并转换得到每条所述分词后样本各自的表示向量;/n获取每条所述分词后样本各自对应的第一词嵌入向量;/n获取所述词库中每个词条各自对应的第二词嵌入向量;/n基于所述每条样本各自的所述表示向量和所述第一词嵌入向量,以及所述词库中每个词条各自的第二词嵌入向量,对预设的神经网络模型进行训练,得到所述结构化查询语言注入攻击的识别模型。/n
【技术特征摘要】
1.一种构建识别模型的方法,其特征在于,包括:
获取结构化查询语言注入攻击的训练样本集合;
根据结构化查询语言的词库,对所述训练样本集合中每条样本进行分词处理,获得所述每条样本各自的分词后样本,并转换得到每条所述分词后样本各自的表示向量;
获取每条所述分词后样本各自对应的第一词嵌入向量;
获取所述词库中每个词条各自对应的第二词嵌入向量;
基于所述每条样本各自的所述表示向量和所述第一词嵌入向量,以及所述词库中每个词条各自的第二词嵌入向量,对预设的神经网络模型进行训练,得到所述结构化查询语言注入攻击的识别模型。
2.根据权利要求1所述的构建识别模型的方法,其特征在于,所述获取结构化查询语言注入攻击的训练样本集合,包括:
获取结构化查询语言注入攻击的原始训练样本集合;
对所述原始训练样本集合进行预处理,以得到所述训练样本集合;
其中,所述预处理包括:
去除所述原始训练样本集合的干扰数据;和/或
将所述原始训练样本集合中结构化查询语言的编码数据,解码为结构化查询语言的原始数据。
3.根据权利要求2所述的构建识别模型的方法,其特征在于,所述干扰数据包括以下至少一者:注释语句、特殊符号、重复样本、存在歧义的数据、单字符样本和单数字样本。
4.根据权利要求1所述的构建识别模型的方法,其特征在于,所述结构化查询语言的词库的构建过程包括:
提取词库构建样本集合中每条样本包含的单词、字符以及数字;
对提取到的所述单词、所述字符以及所述数字进行筛选处理后,得到所述词库包含的词条,并获取每个所述词条对应的索引值;
生成包含每个所述词条以及每个所述词条对应的索引值的所述词库。
5.根据权利要求4所述的构建识别模型的方法,其特征在于,所述获取每个所述词条对应的索引值,包括:
统计每个所述词条在所述样本中的出现频次;
按照所述出现频次从高到低的顺序,对每个所述词条进行排序,获得排序结果;
将所述词条在所述排序结果中的排名,作为所述词条的所述索引值。
6.根据权利要求4所述的构建识别模型的方法,其特征在于,所述根据结构化查询语言的词库,对所述训练样本集合中每条样本进行分词处理,获得所述每条样本各自的分词后样本,并转换得到每条所述分词后样本各自的表示向量,包括:
分别对每条所述样本进行以下处理:
根据所述结构化查询语言的词库,对所述样本进行分词处理,获得所述样本包含的各分词;
从所述词库中获取每个所述分词各自对应的索引值;
按照每个所述分词在所述样本中的出现次序,对每个所述分词对应的索引值进行排序;
将排序后得到的索引值序列,作为所述样本对应的表示向量。
7.根据权利要求1所述的构建识别模型的方法,其特征在于,所述第一词嵌入向量中包括基于频率的词嵌入向量;
所述基于频率的词嵌入向量包括计数向量,基于单个分词统计到的频率向量,以及基于n元语法统计到的频率向量中的至少一种。
8.根据权利要求7所述的构建识别模型的方法,其特征在于,获取所述分词后样本对应的第一词嵌入向量,包括:
统计所述词库中的每个词条各自在所述分词后样本中出现的次数,根据统计到的次数,得到所述分词后样本的计数向量;
其中,所述计数向量的一行对应一条所述分词后样本,所述计数向量的一列对应所述词库中的一个词条,所述计数向量中的一个第j列元素的取值表示目标样本中出现目标词条的次数,所述目标样本为所述元素所在行对应的所述分词后样本,所述目标词条为所述词库中的第j个词条;
和/或
对所述词库中的每个词条进行以下处理:统计所述词条在所述分词后样本中出现的次数,根据统计到的次数以及所述分词后样本的总词数,获得所述词条对应的词频;获得所述训练样本集合中包含所述词条的目标样本数;根据所述目标样本数以及所述训练样本集合的样本总数,获得所述词条的逆文本频率指数;根据所述词条的词频和所述词条的逆文本频率指数,获得所述词条对应的元素值;
根据所述词库中每个所述词条对应的元素值,得到所述分词后样本的所述基于单个分词统计到的频率向量;
和/或
采用n元语法对所述词库重构为重构词库,以及采用n元语法对所述分词后样本的各分词进行重组,获得重构样本,对所述重构词库中的每个重构词条进行以下处理:统计所述重构词条在所述重构样本中出现的次数,根据统计到的次数以及所述重构样本的总词数,获得所述重构词条对应的词频;获得所述训练样本集合中包含所述重构词条的重构样本数;根据所述重构样本数以及所述训练样本集合的重构样本总数,获得所述重构词条的逆文本频率指数;根据所述重构词条的词频和所述重构词条的逆文本频率指数,获得所述重构词条对应的元素值;
根据所述重构词库中每个所述重构词条对应的元素值,得到所述重构样本的所述基于n元语法统计到的频率向量,作为所...
【专利技术属性】
技术研发人员:毕乐斌,
申请(专利权)人:北京金山云网络技术有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。