【技术实现步骤摘要】
一种基于多级联合网络的Web攻击检测方法及系统
本专利技术涉及Web攻击检测领域,特别是涉及一种基于由注意力机制和卷积神经网络构成的多级联合网络的Web攻击检测方法及系统。
技术介绍
目前,Web服务已经应用于我们网络生活的方方面面,大多数企业向公众提供开放的Web服务,因此很容易发生基于Web服务的网络攻击。恶意http请求是进行网络犯罪的主要手段之一,会在未经允许的情况下攻击不知情的用户,对用户造成经济损失和个人信息泄露,危及用户安全。因此,高效准确地检测识别出Web攻击流量中的恶意http请求是应对网络攻击的重要任务之一。深度学习方法是一种Web攻击检测的主流方法,虽然深度学习方法用于Web攻击检测任务中已经有了很大进展,但是由于其数据的不规律性和实际中文本字段的多变性以及极为庞大的数据量的情况下,在实际的Web服务使用中还存在以下三个问题:(1)采用单个字符或者数字字母与符号分开的词作为词汇表,而单个字符作为词汇表的缺点在于编码出来的序列长度较长,而且采用字符编码方式,无法包含语义信息,在进行向量化时也会因为词表太短而产生泛化精度不够的情况;而采取训练数据中数字字母与符号分开的词作为词汇表时,由于http请求文本的不规律性,词汇表通常过于庞大,而且对于文本中词的覆盖程度也不够高,因此模型预测的精度也不会特别高。(2)传统的http请求数据的处理只涉及到url解码与规则替换的结合,但是对于面对实际应用环境下各种http的攻击请求数据来说,由于数据具有长度长短不一、语境复杂、各字段序列不明 ...
【技术保护点】
1.一种基于多级联合网络的Web攻击检测方法,其特征在于,包括:/n提取若干条http攻击样本,得到所述http攻击样本的payload特征词;/n对所述payload特征词和原始http请求数据分别进行数据预处理,得到预处理后的payload特征词和预处理后的原始http请求数据;/n对所述预处理后的payload特征词进行分词处理和排序处理,构建异常http攻击载荷词汇表;/n将所述异常http攻击载荷词汇表与所述预处理后的原始http请求数据输入至Word2Vec模型中进行词向量训练,得到词向量;/n计算位置向量,并将所述位置向量与所述词向量进行拼接,得到输入向量;/n采用由注意力机制模型和卷积神经网络模型构成的多级联合网络模型,将所述输入向量输入至所述多级联合网络模型中,输出检测结果。/n
【技术特征摘要】
1.一种基于多级联合网络的Web攻击检测方法,其特征在于,包括:
提取若干条http攻击样本,得到所述http攻击样本的payload特征词;
对所述payload特征词和原始http请求数据分别进行数据预处理,得到预处理后的payload特征词和预处理后的原始http请求数据;
对所述预处理后的payload特征词进行分词处理和排序处理,构建异常http攻击载荷词汇表;
将所述异常http攻击载荷词汇表与所述预处理后的原始http请求数据输入至Word2Vec模型中进行词向量训练,得到词向量;
计算位置向量,并将所述位置向量与所述词向量进行拼接,得到输入向量;
采用由注意力机制模型和卷积神经网络模型构成的多级联合网络模型,将所述输入向量输入至所述多级联合网络模型中,输出检测结果。
2.根据权利要求1所述的基于多级联合网络的Web攻击检测方法,其特征在于,所述提取若干条http攻击样本,得到所述http攻击样本的payload特征词,具体包括:
从不同的http网站中收集若干条不同的所述http攻击样本,并确定每一所述http攻击样本的所述payload特征词。
3.根据权利要求1所述的基于多级联合网络的Web攻击检测方法,其特征在于,所述对所述payload特征词和原始http请求数据分别进行数据预处理,得到预处理后的payload特征词和预处理后的原始http请求数据,具体包括:
采用python中的urllib库的unquote函数分别对所述payload特征词和所述原始http请求数据的request字段以及body字段进行url解码;
根据http请求文本的共同特征,采用正则表达式对所述payload特征词和所述原始http请求数据中的每一字段进行去噪处理;
将每一所述字段的字段名的值按照字母数字与符号分离的方式进行分离,并将分离后的所述字母数字和所述符号分别放入到一个集合中进行去重,将去重后的所述字母数字和所述符号组合形成一个新的所述字段名的值;
对所述payload特征词和所述原始http请求数据中各个所述字段的所述字段名进行格式规范化处理,使各个所述字段名的顺序统一;
针对缺少所述字段名的值的所述字段,将所述字段的所述字段名的值设置为UNK,得到所述预处理后的payload特征词和所述预处理后的原始http请求数据。
4.根据权利要求1所述的基于多级联合网络的Web攻击检测方法,其特征在于,所述对所述预处理后的payload特征词进行分词处理和排序处理,构建异常http攻击载荷词汇表,具体包括:
采用数字字母分离的方式,对所述预处理后的payload特征词进行分词处理,得到分词处理后的词汇;
采用统计词频方法对所述分词处理后的词汇进行排序,并从左到右依次提取排序队列中预设数量的词汇,利用提取的所述词汇构建所述异常http攻击载荷词汇表。
5.根据权利要求4所述的基于多级联合网络的Web攻击检测方法,其特征在于,所述采用统计词频方法对所述分词处理后的词汇进行排序,具体包括:
利用公式计算每一所述词汇的词频:
;
其中,tfj,z表示第j个词汇在http请求文本z中的词频,nj,z表示第j个词汇在http请求文本z中的出现次数,Σnj,z表示在http请求文本z中所有词汇出现次数之和;
根据每一所述词汇的所述词频,按照所述词频从大到小的顺序对所有所述词汇进行排序。
6.根据权利要求1所述的基于多级联合网络的Web攻击检测方法,其特征在于,所述将所述异常http攻击载荷词汇表与所述预处理后的原始http请求数据输入至Word2Vec模型中进行词向量训练,得到词向量,具体包括:
将所述异常htt...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。