报文流量检测方法、系统、装置及计算机可读存储介质与流程

文档序号:27382769发布日期:2021-11-15 20:33阅读:92来源:国知局
报文流量检测方法、系统、装置及计算机可读存储介质与流程

1.本发明涉及云安全领域,特别涉及一种报文流量检测方法、系统、装置及计算机可读存储介质。


背景技术:

2.随着生活的信息化,人们生活中越来越离不开互联网,互联网在带给人们便利的同时,也为不法分子提供了犯罪途径。网络攻击者可以利用网络特征,定制恶意请求报文进行网络攻击。
3.为了有效防止网络攻击,网络安全防护引擎需要对每条请求报文流量进行检测,但每天的正常请求报文较多,异常请求报文较少,如果对每条都进行检测的话,就会大大损耗防护引擎的检测性能。
4.目前常用的手段就是在检测之前添加规则过滤掉一些正常请求报文,但规则只能过滤特定报文,无法对一些语义相近相似的报文进行识别过滤。
5.为此,需要一种防护性能更好的报文流量检测方法。


技术实现要素:

6.有鉴于此,本发明的目的在于提供一种报文流量检测方法、系统、装置及计算机可读存储介质,提高防护性能。其具体方案如下:
7.一种报文流量检测方法,包括:
8.获取待检测请求报文;
9.对所述待检测请求报文进行解析,获取所述待检测请求报文的维度信息;
10.利用预设的特征提取模型,从所述维度信息中提取所述待检测请求报文的特征信息;
11.利用预设的检测识别模型分析所述特征信息,判断所述待检测请求报文是否属于正常报文;
12.其中,所述特征提取模型为利用历史待检测请求报文的维度信息进行训练得到的,所述检测识别模型为利用历史待检测请求报文的特征信息进行训练得到的。
13.可选的,所述利用预设的特征提取模型,从所述维度信息中提取所述待检测请求报文的特征信息的过程,包括:
14.利用基于tfidf算法或word2vec算法建立的特征提取模型,从所述维度信息中提取所述待检测请求报文的特征信息。
15.可选的,所述利用预设的检测识别模型分析所述特征信息,判断所述待检测请求报文是否属于正常报文的过程,包括:
16.利用基于二分类算法建立的检测识别模型分析所述特征信息,判断所述待检测请求报文是否属于正常报文。
17.可选的,所述对所述待检测请求报文进行解析,获取所述待检测请求报文的维度
信息的过程,包括:
18.对所述待检测请求报文进行解析,获取所述待检测请求报文的请求报文头、请求url和请求报文体。
19.本发明还公开了一种报文流量检测系统,包括:
20.报文获取模块,用于获取待检测请求报文;
21.报文解析模块,用于对所述待检测请求报文进行解析,获取所述待检测请求报文的维度信息;
22.特征提取模块,用于利用预设的特征提取模型,从所述维度信息中提取所述待检测请求报文的特征信息;
23.识别检测模块,用于利用预设的检测识别模型分析所述特征信息,判断所述待检测请求报文是否属于正常报文;
24.其中,所述特征提取模型为利用历史待检测请求报文的维度信息进行训练得到的,所述检测识别模型为利用历史待检测请求报文的特征信息进行训练得到的。
25.可选的,所述特征提取模块,具体用于利用基于tfidf算法或word2vec算法建立的特征提取模型,从所述维度信息中提取所述待检测请求报文的特征信息。
26.可选的,所述识别检测模块,具体用于利用基于二分类算法建立的检测识别模型分析所述特征信息,判断所述待检测请求报文是否属于正常报文。
27.可选的,所述报文解析模块,具体用于对所述待检测请求报文进行解析,获取所述待检测请求报文的请求报文头、请求url和请求报文体。
28.本发明还公开了一种报文流量检测装置,包括:
29.存储器,用于存储计算机程序;
30.处理器,用于执行所述计算机程序以实现如前述的报文流量检测方法。
31.本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前述的报文流量检测方法。
32.本发明中,报文流量检测方法,包括:获取待检测请求报文;对待检测请求报文进行解析,获取待检测请求报文的维度信息;利用预设的特征提取模型,从维度信息中提取待检测请求报文的特征信息;利用预设的检测识别模型分析特征信息,判断待检测请求报文是否属于正常报文;其中,特征提取模型为利用历史待检测请求报文的维度信息进行训练得到的,检测识别模型为利用历史待检测请求报文的特征信息进行训练得到的。
33.本发明通过对请求报文线性进行解析,得到能够反映请求报文特征的位图信息,为后续特征提取过滤了无用数据加快了提取速度,再利用机器学习的特征提取模型和检测识别模型分别对请求报文的特征信息进行提取与分析,能够准确快速的判断出待检测请求报文是否为正常报文还是异常报文,提高了检测速度和精准度,提高了过滤性能和防护性能。
附图说明
34.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据
chinese shanghai","chinese macao","tokyo japan chinese"。
55.其特征向量则为['beijing','chinese','japan','macao','shanghai','tokyo']。
[0056]
tf矩阵则为:
[0057]
[[1 2 0 0 0 0]
[0058]
[0 2 0 0 1 0]
[0059]
[0 1 0 1 0 0]
[0060]
[0 1 1 0 0 1]]
[0061]
tfidf矩阵则为:
[0062][0063]
可以理解的是,在针对请求报文计算词频逆文档频率矩阵的过程中由于请求报文中均是英文,因此,可以对英文中的字母进行提取,并进行十二档的排列组合计算词频。
[0064]
s132:利用所述特征提取模型中的word2vec算法对所述词频逆文档频率矩阵进行归一化处理,从所述维度信息中提取所述待检测请求报文的特征信息。
[0065]
具体的,word2vec包括一系列用来产生词向量的模型。这些模型为浅而双层的神经网络,用来训练以重新建构语言学之词文本。网络以词表现,并且需猜测相邻位置的输入词,在word2vec中词袋模型假设下,词的顺序是不重要的。训练完成之后,word2vec模型可用来映射每个词到一个向量,可用来表示词对词之间的关系,该向量为神经网络之隐藏层。得到每个词的向量之后,可以将一句话中所有词的向量进行加和平均后作为该句话的向量表示。word2vec包括cbow和skip

gram两种模型。
[0066]
具体的,通过word2vec算法对所述词频逆文档频率矩阵进行归一化处理,能够对词频逆文档频率矩阵进行降维,从而筛选出能够有效反映待检测请求报文特征的特征信息。
[0067]
s14:利用预设的检测识别模型分析特征信息,判断待检测请求报文是否属于正常报文。
[0068]
具体的,通过利用历史待检测请求报文的特征信息对初始检测识别模型进行训练,将其中得到的识别错误的黑样本重新加入到下一次训练的训练集中继续训练,这样通过重复训练,能够确保最终训练出的检测识别模型能够准确识别出绝大多数的待检测请求报文,可以将准确率提高到98%以上。
[0069]
具体的,可以利用基于二分类算法建立的检测识别模型分析特征信息,判断待检测请求报文是否属于正常报文。通过将各维度的特征信息数据进行整合,输入到检测识别模型中,得到待检测请求报文的概率值结果(p,q),其中,p为正常倾向值,q为异常倾向值,p+q=1,且p、q均为大于等于0小于等于1的数值;添加阈值过滤,若p大于等于预设的筛选阈值,则该待检测请求报文属于正常报文数据,否则该待检测请求报文属于异常报文数据。
[0070]
其中,二分类算法可以具体选择支持向量机算法、xgboost算法和lightgbm算法
等,可以对检测识别模型构建5层交叉识别验证,或者根据实际应用需求增加验证层数以提高准确率,或减少验证层数提高验证速度。
[0071]
可见,本发明实施例通过对请求报文线性进行解析,得到能够反映请求报文特征的位图信息,为后续特征提取过滤了无用数据加快了提取速度,再利用机器学习的特征提取模型和检测识别模型分别对请求报文的特征信息进行提取与分析,能够准确快速的判断出待检测请求报文是否为正常报文还是异常报文,提高了检测速度和精准度,提高了过滤性能和防护性能。
[0072]
进一步的,本发明实施例还公开了一种针对http协议的待检测请求报文的报文流量检测方法的具体应用场景,包括:
[0073]
具体的,http协议结构和报文结构分别参见图2和图3所示,通常情况下,攻击一般出现在uri(uniformresource identifier,统一资源标识符)、请求头的value字段和请求主体部分,针对不同的报文类型采取不同的特征提取方法,例如,在对get报文提取特征值时,从uri、请求头提取特征值,在对post报文提取特征值时,从uri、请求头、请求主体字符串中提取特征值。其中,在请求报文中开始行即请求行。
[0074]
其中,对请求报文中uri部分的处理方式如下:
[0075]
例如,http://www.example.com/path/file.type?param=value;
[0076]
其中,http://www.example.com/不需要处理,需要将path、file、file.type、value作为四类不同维度的数据提取。
[0077]
其中,对请求报文中请求首部字段的请求头的处理方式如下:
[0078]
例如:header1:value1;
[0079]
header2:value2;
[0080]
需要将header1_value1、header2_value2、value1、value2作为四类不同维度的数据提取。
[0081]
其中,对post报文中请求主体提取过程如下:
[0082]
具体的,post报文根据请求头中的content

type分类解析请求主体,例如,图3所示,content

type:application/x

www

form

urlencoded,则提取请求主题中key=value中的每个value字符串作为特征提取;又如content

type:application/json时,则提取json报文中的{“key”:”value”}中的value字符串作为特征提取。
[0083]
相应的,本发明实施例还公开了一种报文流量检测系统,参见图4所示,该系统包括:
[0084]
报文获取模块11,用于获取待检测请求报文;
[0085]
报文解析模块12,用于对待检测请求报文进行解析,获取待检测请求报文的维度信息;
[0086]
特征提取模块13,用于利用预设的特征提取模型,从维度信息中提取待检测请求报文的特征信息;
[0087]
识别检测模块14,用于利用预设的检测识别模型分析特征信息,判断待检测请求报文是否属于正常报文;
[0088]
其中,特征提取模型为利用历史待检测请求报文的维度信息进行训练得到的,检测识别模型为利用历史待检测请求报文的特征信息进行训练得到的。
[0089]
可见,本发明实施例通过对请求报文线性进行解析,得到能够反映请求报文特征的位图信息,为后续特征提取过滤了无用数据加快了提取速度,再利用机器学习的特征提取模型和检测识别模型分别对请求报文的特征信息进行提取与分析,能够准确快速的判断出待检测请求报文是否为正常报文还是异常报文,提高了检测速度和精准度,提高了过滤性能和防护性能。
[0090]
具体的,上述特征提取模块13,具体用于利用基于tfidf算法或word2vec算法建立的特征提取模型,从维度信息中提取待检测请求报文的特征信息。
[0091]
具体的,上述识别检测模块14,具体用于利用基于二分类算法建立的检测识别模型分析特征信息,判断待检测请求报文是否属于正常报文。
[0092]
具体的,上述报文解析模块12,具体用于对待检测请求报文进行解析,获取待检测请求报文的请求报文头、请求url和请求报文体。
[0093]
此外,本发明实施例还公开了一种报文流量检测装置,包括:
[0094]
存储器,用于存储计算机程序;
[0095]
处理器,用于执行计算机程序以实现如前述的报文流量检测方法。
[0096]
另外,本发明实施例还公开了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如前述的报文流量检测方法。
[0097]
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0098]
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0099]
以上对本发明所提供的技术内容进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1