当前位置: 首页 > 专利查询>中南大学专利>正文

一种基于多级联合网络的Web攻击检测方法及系统技术方案

技术编号:29843138 阅读:23 留言:0更新日期:2021-08-27 14:34
本发明专利技术提出了一种基于多级联合网络的Web攻击检测方法及系统,属于Web攻击检测领域,提取若干条http攻击样本的payload特征词;对payload特征词和原始http请求数据分别进行数据预处理;再对预处理后的payload特征词进行分词处理和排序处理,构建异常http攻击载荷词汇表;将异常http攻击载荷词汇表与预处理后的原始http请求数据输入至Word2Vec模型中进行训练得到词向量;计算位置向量,将位置向量与词向量进行拼接得到输入向量;将输入向量输入至由注意力机制模型和卷积神经网络模型构成的多级联合网络模型中,输出检测结果,可提升Web攻击的分类精度。

【技术实现步骤摘要】
一种基于多级联合网络的Web攻击检测方法及系统
本专利技术涉及Web攻击检测领域,特别是涉及一种基于由注意力机制和卷积神经网络构成的多级联合网络的Web攻击检测方法及系统。
技术介绍
目前,Web服务已经应用于我们网络生活的方方面面,大多数企业向公众提供开放的Web服务,因此很容易发生基于Web服务的网络攻击。恶意http请求是进行网络犯罪的主要手段之一,会在未经允许的情况下攻击不知情的用户,对用户造成经济损失和个人信息泄露,危及用户安全。因此,高效准确地检测识别出Web攻击流量中的恶意http请求是应对网络攻击的重要任务之一。深度学习方法是一种Web攻击检测的主流方法,虽然深度学习方法用于Web攻击检测任务中已经有了很大进展,但是由于其数据的不规律性和实际中文本字段的多变性以及极为庞大的数据量的情况下,在实际的Web服务使用中还存在以下三个问题:(1)采用单个字符或者数字字母与符号分开的词作为词汇表,而单个字符作为词汇表的缺点在于编码出来的序列长度较长,而且采用字符编码方式,无法包含语义信息,在进行向量化时也会因为词表太短而产生泛化精度不够的情况;而采取训练数据中数字字母与符号分开的词作为词汇表时,由于http请求文本的不规律性,词汇表通常过于庞大,而且对于文本中词的覆盖程度也不够高,因此模型预测的精度也不会特别高。(2)传统的http请求数据的处理只涉及到url解码与规则替换的结合,但是对于面对实际应用环境下各种http的攻击请求数据来说,由于数据具有长度长短不一、语境复杂、各字段序列不明确、不同网站的噪声干扰多且杂等特点,仅通过url解码与规则替换的处理数据在编码后依然无法准确的取得序列的最好长度,也容易造成预测结果精度不高的问题。(3)在以往的Web攻击检测任务中,对于正常http请求与异常http请求的二分类任务,往往只使用了单一的深度学习模型,而单一的深度学习模型往往将文本中提取出的每一个特征视为同等重要,但事实上对于http请求文本来说,由于其文本长度不一,词构成不规律,其中存在着大量不平衡的数据特征,这无疑大大制约了模型预测的精度;其次大多数工作只关注了对正常http请求与异常http请求的二分类任务,没有考虑异常http请求的多分类任务,对于实际问题,Web攻击的具体种类也应当能够识别,如果使用单一模型进行多分类会导致分类精度低的问题。综上,目前的Web攻击检测方法普遍存在Web攻击分类精度低的问题。因此,目前亟需一种高精度的Web攻击检测方法。
技术实现思路
本专利技术的目的是提供一种基于多级联合网络的Web攻击检测方法及系统,利用基于注意力机制和卷积神经网络的多级联合网络模型对Web攻击进行检测以及多分类识别,可有效提升模型的分类精度,不仅可准确识别出当前http请求是正常http请求还是异常http请求,还可针对异常http请求进行更加细致的分类,确定Web攻击的具体类型。为实现上述目的,本专利技术提供了如下方案:一种基于多级联合网络的Web攻击检测方法,包括:提取若干条http攻击样本,得到所述http攻击样本的payload特征词;对所述payload特征词和原始http请求数据分别进行数据预处理,得到预处理后的payload特征词和预处理后的原始http请求数据;对所述预处理后的payload特征词进行分词处理和排序处理,构建异常http攻击载荷词汇表;将所述异常http攻击载荷词汇表与所述预处理后的原始http请求数据输入至Word2Vec模型中进行词向量训练,得到词向量;计算位置向量,并将所述位置向量与所述词向量进行拼接,得到输入向量;采用由注意力机制模型和卷积神经网络模型构成的多级联合网络模型,将所述输入向量输入至所述多级联合网络模型中,输出检测结果。一种基于多级联合网络的Web攻击检测系统,包括:特征词获取模块,用于提取若干条http攻击样本,得到所述http攻击样本的payload特征词;数据预处理模块,用于对所述payload特征词和原始http请求数据分别进行数据预处理,得到预处理后的payload特征词和预处理后的原始http请求数据;词汇表构建模块,用于对所述预处理后的payload特征词进行分词处理和排序处理,构建异常http攻击载荷词汇表;词向量获取模块,用于将所述异常http攻击载荷词汇表与所述预处理后的原始http请求数据输入至Word2Vec模型中进行词向量训练,得到词向量;位置向量计算和输入向量获取模块,用于计算位置向量,并将所述位置向量与所述词向量进行拼接,得到输入向量;多级联合网络模型检测模块,用于采用由注意力机制模型和卷积神经网络模型构成的多级联合网络模型,将所述输入向量输入至所述多级联合网络模型中,输出检测结果。根据本专利技术提供的具体实施例,本专利技术公开了以下技术效果:本专利技术提出了一种基于多级联合网络的Web攻击检测方法,首先提取若干条http攻击样本,得到http攻击样本的payload特征词;然后对payload特征词和原始http请求数据分别进行数据预处理,数据预处理使得在庞大的数据量的情况下,有效去除了多余的噪声信息,从而提高了模型的分类精度;再对预处理后的payload特征词进行分词处理和排序处理,构建异常http攻击载荷词汇表,通过这些词汇进行编码可以突出正常http请求与异常http请求的特征,从而大大提高模型的精度;再将异常http攻击载荷词汇表与预处理后的原始http请求数据输入至Word2Vec模型中进行词向量训练,得到词向量;然后计算位置向量,并将位置向量与词向量进行拼接,得到输入向量;最后采用由注意力机制模型和卷积神经网络模型构成的多级联合网络模型,将输入向量输入至多级联合网络模型中,输出检测结果。利用多级联合网络模型可以在识别出正常http请求和异常http请求之后,继续对Web攻击的类型进行细化分类。相比单一模型直接进行多分类的方法,基于注意力机制和卷积神经网络的多级联合网络模型可有效提升模型的分类精度。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例1提供的基于多级联合网络的Web攻击检测方法的流程图;图2为本专利技术实施例1提供的基于多级联合网络的Web攻击检测方法的原理图;图3为本专利技术实施例1提供的数据预处理的流程图;图4为本专利技术实施例1提供的注意力机制模型的多头注意力机制的流程图;图5为本专利技术实施例1提供的注意力机制模型的计算流程图;图6为本专利技术实施例1提供的卷积神经网络模型进行分类的流程图;图7为本专利技术实施例1提供的多级联合网络模型进行预测的流程图;图8为本专利技术实施例2本文档来自技高网
...

【技术保护点】
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...

【专利技术属性】
技术研发人员:李芳芳刘志毛星亮
申请(专利权)人:中南大学
类型:发明
国别省市:湖南;43

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

1