一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种异常流量检测方法、装置、电子设备及存储介质与流程

2022-03-02 00:26:23 来源:中国专利 TAG:


1.本技术涉及网络安全技术领域,具体而言,涉及一种异常流量检测方法、装置、电子设备及存储介质。


背景技术:

2.攻击者可能会使用与web流量相关的应用层协议进行通信,从而通过与现有流量混合来避免检测或者网络过滤。对远程系统的命令以及这些命令的结果,将嵌入到客户端和服务器之间的协议流量中。承载web流量的http协议在实际环境中非常多,http数据包有许多可以隐藏数据的字段和标头。攻击者可能会滥用http协议与受害者网络内受其控制的系统进行通信,同时模仿正常的预期流量。
3.现有的http恶意流量的检测方法,需要对指定编码的数据进行解码,且使用n-gram分词方法进行特征提取时,得到的特征向量长度过长,会导致计算时间过慢,且检测结果准确性较低。


技术实现要素:

4.本技术实施例的目的在于提供一种异常流量检测方法、装置、电子设备及存储介质,不需要解码或解密,保留原始的流量特征,通过提取恶意流量特征建立特征库的方法,能够较准确的检测出异常流量,解决了现有方法检测较为耗时且检测结果准确性较低的问题。
5.本技术实施例提供了一种异常流量检测方法,该方法包括:
6.提取待检测流量的第一特征向量;
7.依次计算所述第一特征向量与预设的恶意流量的特征向量库中的第二特征向量之间的相似度,以得到相似度集合;
8.根据所述相似度集合判断所述待检测流量是否为异常流量。
9.在上述实现过程中,直接提取原始待检测流量的特征向量,通过计算与预设的恶意流量的特征向量库中的特征向量之间的相似度来识别待检测流量,特征向量简单且长度较短,因此计算速度快,通过提取恶意流量特征建立特征库的方法,能够较准确的检测出异常流量,解决了现有方法检测较为耗时且检测结果准确性较低的问题。
10.进一步地,在所述依次计算所述第一特征向量与预设的特征向量库中的第二特征向量之间的相似度的步骤之前,所述方法还包括:
11.提取恶意流量的第二特征向量,以构建特征向量库。
12.在上述实现过程中,利用恶意流量建立特征向量库,包含了大量加密、压缩和编码的特征信息,因此具有较高的识别率。
13.进一步地,所述提取异常流量的第二特征向量,以构建特征向量库,包括:
14.提取所述恶意流量的地址信息、首部字段特征和主体特征,以构成第二特征向量,所述地址信息包括源地址、目标地址、源端口、目标端口、相对url长度、相对url处理值、查
询参数的个数、参数值明文个数、参数值编码个数、参数值加密个数、参数值压缩个数和参数值长度总和。
15.在上述实现过程中,提取恶意流量的地址信息、首部字段特征和主体特征构成第二特征向量,作为异常流量的识别基础。
16.进一步地,所述提取所述恶意流量的首部字段特征,包括:
17.获取首部字段,所述首部字段包括user-agent、cookie、set-cookie、content-type、x-session、host、from和content-disposition;
18.基于所述首部字段,判断是否存在key=value格式,若无则记为0,若有则记为1;
19.获取值的长度,若存在key=value格式,则值的长度即为value的长度,若不存在,则为所述首部字段的长度;
20.判断值是否经过编码、加密或压缩处理或是明文,若是明文则记为0,编码记为1,加密记为2,压缩记为3。
21.在上述实现过程,对恶意流量的首部字段特征进行提取,包含了大量的加密、压缩和编码的特征,覆盖广泛。
22.进一步地,所述提取所述恶意流量的主体特征,包括:
23.判断是否存在key=value格式,若无则记为0,若有则记为1;
24.判断主体内容是否经过编码、加密、压缩处理或是明文,若是明文则记为0,编码记为1,加密记为2,压缩记为3。
25.在上述实现过程中,提取恶意流量的主体特征,包含了大量的加密、压缩和编码的特征,覆盖广泛。
26.进一步地,所述根据所述相似度集合判断所述待检测流量是否为异常流量,包括:
27.获取所述相似度集合中的最大值;
28.将所述最大值与预设阈值进行比较;
29.若所述最大值大于所述预设阈值,则所述待检测流量为异常流量。
30.在上述实现过程中,通过计算相似度的大小对待检测流量进行检测,计算简单且效率较高。
31.进一步地,所述方法还包括:
32.若所述待检测流量的判断结果为异常流量且判定结果有效,则将所述待检测流量的第一特征向量加入所述特征向量库。
33.在上述实现过程中,将检测结果为异常的异常流量加入到特征向量库中,实现对特征向量库的更新,从而提高检测率。
34.本技术实施例还提供一种异常流量检测装置,所述装置包括:
35.提取模块,用于提取待检测流量的第一特征向量;
36.计算模块,用于依次计算所述第一特征向量与预设的特征向量库中的第二特征向量之间的相似度,以得到相似度集合;
37.判断模块,用于根据所述相似度集合判断所述待检测流量是否为异常流量。
38.在上述实现过程中,直接提取原始待检测流量的特征向量,通过计算与预设的恶意流量的特征向量库中的特征向量之间的相似度来识别待检测流量,特征向量简单且长度较短,因此计算速度快,通过提取恶意流量特征建立特征库的方法,能够较准确的检测出异
常流量,解决了现有方法检测较为耗时且检测结果准确性较低的问题。
39.本技术实施例还提供一种电子设备,所述电子设备包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行上述中任一项所述的异常流量检测方法。
40.本技术实施例还提供一种可读存储介质,所述可读存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行上述中任一项所述的异常流量检测方法。
附图说明
41.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
42.图1为本技术实施例提供的一种异常流量检测方法的流程图;
43.图2为本技术实施例提供的异常流量检测的具体流程图;
44.图3为本技术实施例提供的判断待检测流量是否为异常流量的流程图;
45.图4为本技术实施例提供的异常流量检测装置的结构框图;
46.图5为本技术实施例提供的另一种异常流量检测装置的结构框图。
47.图标:
48.100-提取模块;200-计算模块;300-判断模块;301-最大值获取模块;302-比较模块;303-判定模块;400-特征向量库构建模块;500-特征向量库更新模块。
具体实施方式
49.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
50.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本技术的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
51.请参看图1,图1为本技术实施例提供的一种异常流量检测方法的流程图。该方法可以应用于apt组织利用http协议进行c2通信的异常流量检测。具体包括以下步骤:
52.步骤s100:提取待检测流量的第一特征向量;
53.步骤s200:依次计算所述第一特征向量与预设的恶意流量的特征向量库中的第二特征向量之间的相似度,以得到相似度集合;
54.步骤s300:根据所述相似度集合判断所述待检测流量是否为异常流量。
55.直接提取原始待检测流量的特征向量,通过计算与预设的恶意流量的特征向量库中的特征向量之间的相似度来识别待检测流量,特征向量简单且长度较短,因此计算速度快,通过提取恶意流量特征建立特征库的方法,能够较准确的检测出异常流量,解决了现有方法检测较为耗时且检测结果准确性较低的问题。
56.如图2所示,为异常流量检测的具体流程图。其中,在对http流量进行检测之前,需要先建立恶意流量的特征向量库,即提取恶意流量的第二特征向量,以构建特征向量库。
57.针对攻击者会采用已知的加密算法、压缩算法或者编码算法来隐藏命令和控制流量,而不是依赖通信协议http提供的任何固有保护。本步骤中提取的特征包含了大量的加密、压缩和编码的特征信息,从而可识别攻击者利用已知的加密算法、压缩算法或者编码算法的形式发送的异常流量,这种具有针对性的识别方法具有较高的识别率。具体包括以下步骤:
58.提取恶意流量的地址信息、首部字段特征和主体特征,以构成第二特征向量。
59.其中,地址信息即ip/url特征,包括源地址、目标地址、源端口、目标端口、相对url长度、相对url处理值、查询参数的个数、参数值明文个数、参数值编码个数、参数值加密个数、参数值压缩个数和参数值长度总和。
60.相对url处理值指的是相对url是否经过编码、加密或压缩处理,还是明文,若是明文则记为0,编码记为1,加密记为2,压缩记为3。
61.需要说明的是,上述的相对url是指http请求报文中的uri中第一个分隔符

/’与

?’之间的字符串;查询参数是指http请求报文中uri的

?’后面的字符串。
62.提取首部字段特征,选取以下8个首部字段提取特征:user-agent、cookie、set-cookie、content-type、x-session、host、from和content-disposition。
63.再基于首部字段,判断是否存在key=value格式,若无则记为0,若有则记为1;
64.获取值的长度,若存在key=value格式,则值的长度即为value的长度,若不存在,则为所述首部字段的长度;
65.例如,以首部字段cookie为例:其表现形式可能为cookie:getlasterror=12031。既存在key=value格式,此时值的长度即为12031的长度为5;如果此时表现形式为cookie:getlasterror,即不存在key=value格式,此时值的长度为getlasterror的长度,即为12。
66.判断值是否经过编码、加密或压缩处理或是明文,若是明文则记为0,编码记为1,加密记为2,压缩记为3。
67.提取恶意流量的主体特征,具体地:
68.判断是否存在key=value格式,若无则记为0,若有则记为1;
69.判断主体内容是否经过编码、加密、压缩处理或是明文,若是明文则记为0,编码记为1,加密记为2,压缩记为3。
70.将恶意流量的地址信息、首部字段特征和主体特征构成第二特征向量,作为异常流量的识别依据,并且包含了大量的加密、压缩和编码的特征信息,从而可提高异常流量的识别率。
71.对于待检测流量的第一特征向量的提取过程与第二特征向量的提取过程相同,在此不再赘述。
72.步骤s200具体包括:
73.将第一特征向量依次和特征向量库中的第二特征向量计算相似度,得到相似度集合。
74.对于相似度的具体计算,示例地,可以采用欧几里得距离、夹角余弦相似度、马氏距离等中的一种或者多种,在此不做任何限定。
75.取出相似度集合中的最大值,和预设阈值进行比较,如果大于该阈值,则认为该流量为异常http流量。如果小于该阈值,则认为该流量为正常流量。
76.通过计算和比较相似度的大小对待检测流量进行检测和识别,计算简单且效率较高。
77.如图3所示,为判断待检测流量是否为异常流量的流程图,步骤s300具体可以包括:
78.步骤s301:获取所述相似度集合中的最大值;
79.步骤s302:将所述最大值与预设阈值进行比较;
80.步骤s303:若所述最大值大于所述预设阈值,则所述待检测流量为异常流量。
81.取出相似度集合中的最大值,和预设阈值进行比较,如果大于该阈值,则认为该待检测流量为异常http流量,如果小于该阈值,则认为该流量为正常流量。
82.示例地,该方法可以应用于apt组织利用http协议进行c2通信的异常流量检测,具体地:
83.apt组织可以利用http协议数据包的url部分、首部字段部分和主体部分存放使用编码算法、加密算法或者压缩算法处理后的数据,从而进行隐秘消息传输。如果在某些场景下出现编码数据、密文或者压缩数据则需要引起管理人员的注意,比如apt组织commie,利用http协议传递主机信息以及命令的执行结果。如get请求,相对url部分采用rc4加密。查询参数存在key=value格式,以及参数值是经过rc4加密的主机信息。首部字段x-session存在key=value格式,value是经过rc4加密后的值。因此本方法提取的特征包含了大量的加密、压缩和编码的特征,可准确识别针对攻击者会采用已知的加密算法、压缩算法或者编码算法来隐藏命令和控制流量的异常流量行为,且具有较高的识别率,并且特征向量简单而短,因此计算速度快。
84.此外,该方法还包括:
85.若所述待检测流量的判断结果为异常流量且判定结果有效,则将所述待检测流量的第一特征向量加入所述特征向量库。
86.对检测出的异常http流量,进行再次判断,若确定该流量为恶意http流量,则将其加入特征向量库,否则,将其舍弃。
87.将检测到的异常流量(待检测流量)的第一特征向量加入特征向量库,实现对特征向量库的更新,使得特征向量库中对异常流量的种类的覆盖面更加广泛,从而增加对异常流量识别的正确率。
88.该方法可实现在网络中对apt组织利用http协议进行c2通信的异常流量进行检测,通过构建异常http流量特征向量库,针对攻击者会采用已知的加密算法、压缩算法或者编码算法来隐藏命令和控制流量,而不是依赖通信协议http提供的任何固有保护的特性,建立的特征向量库中包含了大量加密、压缩和编码的特征信息,从而实现对异常流量的有效识别。
89.本技术实施例还提供一种异常流量检测装置,如图4所示,为异常流量检测装置的结构框图,所述装置包括:
90.提取模块100,用于提取待检测流量的第一特征向量;
91.计算模块200,用于依次计算所述第一特征向量与预设的特征向量库中的第二特征向量之间的相似度,以得到相似度集合;
92.判断模块300,用于根据所述相似度集合判断所述待检测流量是否为异常流量。
93.如图5所示,为另一种异常流量检测装置的结构框图,其中,判断模块300包括:
94.最大值获取模块301,用于获取所述相似度集合中的最大值;
95.比较模块302,用于将所述最大值与预设阈值进行比较;
96.判定模块303,用于若所述最大值大于所述预设阈值,则所述待检测流量为异常流量。
97.该装置还包括特征向量库构建模块400,用于提取恶意流量的第二特征向量,以构建特征向量库,具体地,提取所述恶意流量的地址信息、首部字段特征和主体特征,以构成第二特征向量,所述地址信息包括源地址、目标地址、源端口、目标端口、相对url长度、相对url处理值、查询参数的个数、参数值明文个数、参数值编码个数、参数值加密个数、参数值压缩个数和参数值长度总和。
98.具体地,提取所述恶意流量的首部字段特征,包括:
99.获取首部字段,所述首部字段包括user-agent、cookie、set-cookie、content-type、x-session、host、from和content-disposition;
100.基于所述首部字段,判断是否存在key=value格式,若无则记为0,若有则记为1;
101.获取值的长度,若存在key=value格式,则值的长度即为value的长度,若不存在,则为所述首部字段的长度;
102.判断值是否经过编码、加密或压缩处理或是明文,若是明文则记为0,编码记为1,加密记为2,压缩记为3。
103.提取所述恶意流量的主体特征,包括:
104.判断是否存在key=value格式,若无则记为0,若有则记为1;
105.判断主体内容是否经过编码、加密、压缩处理或是明文,若是明文则记为0,编码记为1,加密记为2,压缩记为3。
106.该装置还包括特征向量库更新模块500,用于若所述待检测流量的判断结果为异常流量且判定结果有效,则将所述待检测流量的第一特征向量加入所述特征向量库。
107.本技术实施例还提供一种电子设备,所述电子设备包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行上述的异常流量检测方法。
108.本技术实施例还提供一种可读存储介质,所述可读存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行上述的异常流量检测方法。
109.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本技术的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
110.另外,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
111.所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
112.以上所述仅为本技术的实施例而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
113.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应所述以权利要求的保护范围为准。
114.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献