一种漏洞攻击检测方法、装置、设备及存储介质与流程

未命名 08-15 阅读:85 评论:0


1.本技术涉及网络安全技术领域,特别涉及一种漏洞攻击检测方法、装置、设备及存储介质。


背景技术:

2.漏洞是软件设计或者实现过程中存在的可能被攻击者利用的安全缺陷或错误。当前主流的漏洞包括内存破坏型漏洞、注入型漏洞、文件型漏洞等;其中,内存破坏型漏洞包括缓冲区溢出、内存越界、释放后重用、格式化字符串等;注入型漏洞包括sql(structured query language,结构化查询语言)注入漏洞、跨站脚本xss(cross site scripting,跨站脚本攻击)漏洞、命令注入等;文件型漏洞指存在于office、adobe等办公软件以及多媒体处理软件并在处理输入文件时引发具有安全风险错误的漏洞。
3.目前,针对漏洞攻击检测方法的研究还比较初步,主要集中于web(world wide web,全球广域网)漏洞攻击和恶意代码的检测,如sql注入攻击的检测、xss漏洞攻击的检测、shellcode的检测等。当前主流的漏洞攻击的检测方法是基于特征码的检测方法,其中,特征码是漏洞攻击流或漏洞攻击文件中一段独有的特征序列,具体是通过将漏洞攻击流中的特征码与特征库中的特征码进行匹配来检测漏洞攻击。然而,当前根据关键字或是一些规则来进行漏洞攻击检测虽然能检测出已知漏洞攻击,但对未知漏洞攻击却无能为力;另外,针对注入型漏洞虽然可以采用关键字搜索的方法进行攻击检测,但对内存破坏型漏洞攻击却难以奏效;对于内存破坏型漏洞攻击,由于样本少、质量差,故难以采用人工智能的方法来提升漏洞攻击检测的性能。
4.综上,如何对未知漏洞攻击进行检测是本领域目前还有待进一步解决的问题。


技术实现要素:

5.有鉴于此,本技术的目的在于提供一种漏洞攻击检测方法、装置、设备及存储介质,能够在没有漏洞攻击的特征码的情况下,对未知漏洞攻击进行检测,并适用于多种类型的漏洞攻击检测。其具体方案如下:
6.第一方面,本技术公开了一种漏洞攻击检测方法,包括:
7.对漏洞利用样本中的漏洞利用组件的属性及分布特征进行提取,得到漏洞利用模式;
8.对待测流量中的漏洞利用组件进行识别与定位,得到待测流量漏洞利用组件及所述待测流量漏洞利用组件的分布特征;
9.利用所述待测流量漏洞利用组件的分布特征及所述漏洞利用模式的特征并基于深度匹配模型对所述待测流量中的漏洞利用组件进行漏洞攻击检测。
10.可选的,所述对漏洞利用样本中的漏洞利用组件的属性及分布特征进行提取,得到漏洞利用模式,包括:
11.利用无监督学习对漏洞利用样本的特征向量进行聚类,以得到漏洞利用模式。
12.可选的,所述利用无监督学习对漏洞利用样本的特征向量进行聚类,以得到漏洞利用模式,包括:
13.提取漏洞利用样本中的所有漏洞利用组件,并获取所述漏洞利用组件的属性及分布特征以得到漏洞利用样本的特征向量;
14.利用编码-解码模型将所述特征向量投影到隐空间,得到所述漏洞利用样本的隐空间向量;
15.基于聚类算法将所述隐空间向量划分为预设数量个区域,并将同一所述区域内的所述隐空间向量作为同一种漏洞利用模式,得到包括所述属性的多个不同的漏洞利用模式。
16.可选的,所述对待测流量中的漏洞利用组件进行识别与定位,得到待测流量漏洞利用组件及所述待测流量漏洞利用组件的分布特征,包括:
17.基于集成模型对待测流量中的漏洞利用组件进行识别与定位,得到待测流量漏洞利用组件及所述待测流量漏洞利用组件的分布特征。
18.可选的,所述基于集成模型对待测流量中的漏洞利用组件进行识别与定位,得到待测流量漏洞利用组件及所述待测流量漏洞利用组件的分布特征,包括:
19.基于包括专家知识、卷积神经网络及小波变换的集成模型对待测流量中的漏洞利用组件进行识别与定位,得到待测流量漏洞利用组件及所述待测流量漏洞利用组件的分布特征。
20.可选的,所述利用所述待测流量漏洞利用组件的分布特征及所述漏洞利用模式的特征并基于深度匹配模型对所述待测流量中的漏洞利用组件进行漏洞攻击检测,包括:
21.利用特征袋模型对所述待测流量漏洞利用组件和所述漏洞利用模式进行直方图向量表示,得到相应的待测流量直方图向量和模式直方图向量;
22.利用基于dssm建立的多通道深度匹配模型对所述待测流量直方图向量和所述模式直方图向量进行相似度计算,以对所述待测流量中的漏洞利用组件的漏洞攻击进行检测。
23.可选的,所述利用基于dssm建立的多通道深度匹配模型对所述待测流量直方图向量和所述模式直方图向量进行相似度计算,以对所述待测流量中的漏洞利用组件的漏洞攻击进行检测,包括:
24.利用预先创建的流量漏洞利用组件子模型将所述待测流量直方图向量映射到语义特征为坐标维度的向量空间,得到所述待测流量漏洞利用组件的特征向量;
25.利用预先创建的漏洞利用模式子模型将所述模式直方图向量映射到语义特征为坐标维度的向量空间,得到所述漏洞利用模式的特征向量;
26.利用基于dssm建立的多通道深度匹配模型计算所述待测流量漏洞利用组件的特征向量与所述漏洞利用模式的特征向量之间的相似度,以得到所述待测流量中的漏洞利用组件的漏洞攻击检测结果;其中,所述流量漏洞利用组件子模型为预先为待测流量中的漏洞利用组件创建的结构相同但参数不同的神经网络模型,所述漏洞利用模式子模型为预先为漏洞利用模式创建的结构相同但参数不同的神经网络模型。
27.第二方面,本技术公开了一种漏洞攻击检测装置,包括:
28.信息提取模块,用于对漏洞利用样本中的漏洞利用组件的属性及分布特征进行提
取,得到漏洞利用模式;
29.识别与定位模块,用于对待测流量中的漏洞利用组件进行识别与定位,得到待测流量漏洞利用组件及所述待测流量漏洞利用组件的分布特征;
30.漏洞攻击检测模块,用于利用所述待测流量漏洞利用组件的分布特征及所述漏洞利用模式的特征并基于深度匹配模型对所述待测流量中的漏洞利用组件进行漏洞攻击检测。
31.第三方面,本技术公开了一种电子设备,包括处理器和存储器;其中,所述处理器执行所述存储器中保存的计算机程序时实现前述的漏洞攻击检测方法。
32.第四方面,本技术公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述的漏洞攻击检测方法。
33.可见,本技术先对漏洞利用样本中的漏洞利用组件的属性及分布特征进行提取得到漏洞利用模式,然后对待测流量中的漏洞利用组件进行识别与定位,得到待测流量漏洞利用组件及所述待测流量漏洞利用组件的分布特征,再利用所述待测流量漏洞利用组件的分布特征及所述漏洞利用模式的特征并基于深度匹配模型对所述待测流量中的漏洞利用组件进行漏洞攻击检测。本技术提出了漏洞利用模式的概念,通过漏洞利用模式能够进行漏洞攻击检测,由于不需要漏洞攻击的特征码,因此能够对未知漏洞攻击进行检测,并且适用于多种类型的漏洞攻击检测。
附图说明
34.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
35.图1为本技术公开的一种漏洞攻击检测方法流程图;
36.图2为本技术公开的一种基于深度匹配模型的漏洞利用模式检测过程示意图;
37.图3为本技术公开的一种具体的漏洞攻击检测方法流程图;
38.图4为本技术公开的一种基于集成模型的漏洞利用组件识别与定位示意图;
39.图5为本技术公开的一种具体的聚类模型训练过程示意图;
40.图6为本技术公开的一种漏洞攻击检测方法流程图;
41.图7为本技术公开的一种漏洞利用模式直方图向量表示示意图;
42.图8为本技术公开的一种漏洞攻击检测装置结构示意图;
43.图9为本技术公开的一种电子设备结构图。
具体实施方式
44.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
45.本技术实施例公开了一种漏洞攻击检测方法,参见图1所示,该方法包括:
46.步骤s11:对漏洞利用样本中的漏洞利用组件的属性及分布特征进行提取,得到漏洞利用模式。
47.本实施例中,先对漏洞利用样本中的漏洞利用组件的属性及分布特征,如漏洞利用组件的名称、个数、长度、相对位置、类型、含义等信息进行提取,从而得到上述漏洞利用组件的漏洞利用模式,也即,对漏洞利用样本中的漏洞利用模式进行提取。
48.需要指出的是,本技术提出了漏洞利用模式的概念,在对漏洞利用模式进行解释之前,先对漏洞攻击检测技术领域中的漏洞利用和漏洞利用组件进行介绍,其中,漏洞利用是漏洞攻击的核心,是以精心构造的数据作为目标程序的输入,从而触发目标程序的漏洞,并借助目标程序的特定功能,获取目标程序控制权的过程;漏洞利用组件是实现某种漏洞利用功能(如泄露内存地址、劫持栈指针、控制流跳转到指定位置、关闭栈保护、空指令填充等)的代码片段或漏洞利用需要用到的一些数据(如漏洞触发数据、url(uniform resource locator,统一资源定位器)、命令字段、地址字段、跳转地址、shellcode等),并由若干个漏洞利用原语串联起来,通过漏洞利用组件的装配可以构成漏洞利用样本;而本技术中提出的漏洞利用模式指的是漏洞利用的方式,是对漏洞利用过程的描述,在数据域上表现为漏洞利用组件的属性及分布特征,与漏洞利用组件的类型、长度、数量、相互间位置、逻辑关系及组织方式紧密相关,常用的漏洞利用模式有注入型漏洞的命令串联模式、溢出型漏洞对应不同环境的ret2shellcode、ret2system、ret2libc等。并且,不同类型的漏洞有不同的漏洞利用模式,同一种漏洞类型也可能有多种漏洞利用模式;从状态变化的角度来讲,漏洞利用模式为引导程序从漏洞触发状态迁移至漏洞成功利用状态的关键中间状态序列;而从漏洞攻击流量的角度来讲,漏洞利用模式则表现为漏洞利用组件的属性和分布特征,并且这些漏洞利用组件是可以被替换的。
49.具体的,所述对漏洞利用样本中的漏洞利用组件的属性及分布特征进行提取,得到漏洞利用模式,可以包括:利用无监督学习对漏洞利用样本的特征向量进行聚类,以得到漏洞利用模式。本实施例中,可以利用无监督学习对漏洞利用样本的特征向量进行聚类,进而得到漏洞利用组件的漏洞利用模式。
50.步骤s12:对待测流量中的漏洞利用组件进行识别与定位,得到待测流量漏洞利用组件及所述待测流量漏洞利用组件的分布特征。
51.需要指出的是,由于不同类型的漏洞在漏洞利用模式上各不相同,但在局部漏洞利用组件上呈现出一定的相似性,因此可以对nop链、不同内存区域分布的rop(return-oriented programming,返回导向编程)链、不同功能的shellcode等漏洞利用组件进行识别定位,然后根据漏洞利用组件的种类、分布等特征来匹配不同的漏洞利用模式。本实施例中,对漏洞利用样本中的漏洞利用组件的属性及分布特征进行提取,得到漏洞利用模式之后,可以进一步的对待测流量中的漏洞利用组件进行识别与定位,从而得到待测流量漏洞利用组件及对应的分布特征。
52.在一种具体的实施方式中,可以基于集成模型对待测流量中的漏洞利用组件进行识别与定位,进而得到待测流量漏洞利用组件及所述待测流量漏洞利用组件的分布特征。其中,所述集成模型中可以包括但不限于专家知识、卷积神经网络及小波变换的集成模型等多种网络模型。
53.步骤s13:利用所述待测流量漏洞利用组件的分布特征及所述漏洞利用模式的特
征并基于深度匹配模型对所述待测流量中的漏洞利用组件进行漏洞攻击检测。
54.本实施例中,在对待测流量中的漏洞利用组件进行识别与定位,得到待测流量漏洞利用组件及所述待测流量漏洞利用组件的分布特征之后,可以进一步的利用预先创建的深度匹配模型将上述待测流量漏洞利用组件的分布特征与上述漏洞利用模式的特征进行对比分析,从而对上述待测流量中的漏洞利用组件进行漏洞攻击检测。
55.在一种具体的实施方式中,所述利用所述待测流量漏洞利用组件的分布特征及所述漏洞利用模式的特征并基于深度匹配模型对所述待测流量中的漏洞利用组件进行漏洞攻击检测,具体可以包括:利用特征袋模型对所述待测流量漏洞利用组件和所述漏洞利用模式进行直方图向量表示,得到相应的待测流量直方图向量和模式直方图向量;利用基于dssm建立的多通道深度匹配模型对所述待测流量直方图向量和所述模式直方图向量进行相似度计算,以对所述待测流量中的漏洞利用组件的漏洞攻击进行检测。本实施例中,参见图2所示,对待测流量中的漏洞利用组件进行识别与定位,得到待测流量漏洞利用组件及对应的分布特征之后,可以利用特征袋(bof,bag-of-feature)模型的抽象方法将待测流量漏洞利用组件和漏洞利用模式转化为直方图向量,即采用特征袋模型对不同漏洞利用模式和待测流量漏洞利用组件进行表征,进而得到相应的待测流量直方图向量和模式直方图向量。需要指出的是,直方图向量的每一个维度表示一种漏洞利用组件出现的频率,漏洞利用组件的分布特征包括但不限于组件的类别、大小、数量、位置等信息;进一步的,考虑到基于距离测度或其他相似性测度的匹配算法严重受制于向量特征空间,对于未知的漏洞攻击往往匹配较差,本技术采用基于深度结构语义模型(dssm,deep structured semantic model)的深度匹配模型来识别被测待测流量中的漏洞利用模式,从而挖掘其潜在的深层语义特征,因此具有较高的匹配精度。具体的,可以利用基于dssm建立的多通道深度匹配模型计算上述待测流量直方图向量和上述模式直方图向量之间的相似度,最终得到高置信度的漏洞攻击检测结果。
56.可见,本技术实施例先对漏洞利用样本中的漏洞利用组件的属性及分布特征进行提取得到漏洞利用模式,然后对待测流量中的漏洞利用组件进行识别与定位,得到待测流量漏洞利用组件及所述待测流量漏洞利用组件的分布特征,再利用所述待测流量漏洞利用组件的分布特征及所述漏洞利用模式的特征并基于深度匹配模型对所述待测流量中的漏洞利用组件进行漏洞攻击检测。本技术实施例提出了漏洞利用模式的概念,通过漏洞利用模式能够进行漏洞攻击检测,由于不需要漏洞攻击的特征码,因此能够对未知漏洞攻击进行检测,并且适用于多种类型的漏洞攻击检测,如注入型漏洞攻击检测、内存破坏型漏洞攻击检测等。
57.本技术实施例公开了一种具体的漏洞攻击检测方法,参见图3所示,该方法包括:
58.步骤s21:提取漏洞利用样本中的所有漏洞利用组件,并获取所述漏洞利用组件的属性及分布特征以得到漏洞利用样本的特征向量。
59.本实施例中,可以通过对栈溢出、堆溢出、格式化字符串、命令注入、文件类等不同类型的漏洞利用样本进行详细分析,并结合实际漏洞利用构造的思路,对漏洞利用样本中的所有漏洞利用组件进行提取,然后获取上述漏洞利用组件的属性信息,并将上述漏洞利用样本中的所有所述漏洞利用组件串联起来,然后抽象成与漏洞利用攻击实现相关联的多步功能性组件表征形式,得到所述漏洞利用组件的分布特征,进而得到所述漏洞利用样本
的特征向量。其中,所述特征向量包括但不限于漏洞利用组件的数量、类型、相对位置等向量。具体的,漏洞利用样本特征向量表示参见表1所示:
60.表1
[0061][0062]
步骤s22:利用编码-解码模型将所述特征向量投影到隐空间,得到所述漏洞利用样本的隐空间向量。
[0063]
本实施例中,获取到所述漏洞利用样本的特征向量之后,可以进一步的利用编码-解码模型,如自编码器模型,将上述漏洞利用样本的特征向量投影到隐空间,得到所述漏洞利用样本的隐空间向量。
[0064]
步骤s23:基于聚类算法将所述隐空间向量划分为预设数量个区域,并将同一所述区域内的所述隐空间向量作为同一种漏洞利用模式,得到包括所述属性的多个不同的漏洞利用模式。
[0065]
本实施例中,将所述特征向量投影到隐空间得到所述漏洞利用样本的隐空间向量之后,可以基于聚类算法将上述隐空间向量划分为预设数量个区域,并将同一所述区域内的所述隐空间向量作为同一种漏洞利用模式,进而得到包括上述属性的多个不同的漏洞利用模式。在一种具体的实施方式中,参见图4所示,先获取漏洞利用样本库中的所有漏洞利用样本,然后对上述漏洞利用样本中的漏洞利用组件进行特征提取的预处理操作,得到漏洞利用组件的分布特征向量,然后将各个分布特征向量输入至自编码器模型中,其中,所述自编码器模型包括输入层、隐空间和输出层,通过自编码器模型中的隐空间层可以将上述漏洞利用样本的分布特征向量投影到隐空间,得到相应的隐空间向量,接着对隐空间向量进行空间表示得到漏洞利用模式的判决界面,最后利用聚类算法对判决界面中的隐空间向量进行划分,并将同一区域内的样本作为同一种漏洞利用模式,进而得到多个不同的漏洞利用模式,可以理解的是,得到的不同漏洞利用模式的数量即为聚类算法的类别数量。
[0066]
步骤s24:基于包括专家知识、卷积神经网络及小波变换的集成模型对待测流量中的漏洞利用组件进行识别与定位,得到待测流量漏洞利用组件及所述待测流量漏洞利用组件的分布特征。
[0067]
本实施例中,将同一所述区域内的所述隐空间向量作为同一种漏洞利用模式,得到包括所述属性的多个不同的漏洞利用模式之后,可以基于集成模型对待测流量中的漏洞利用组件进行识别与定位,具体的,可以基于包括专家知识、卷积神经网络及小波变换的集成模型对待测流量中的漏洞利用组件进行识别与定位,从而得到待测流量漏洞利用组件及对应的分布特征。
[0068]
具体的,参见图5所示,采用包括专家知识、卷积神经网络及小波变换的集成模型实现对待测流量中的漏洞利用组件识别与定位时,先对待测流量分别进行数据流分析、灰度图像化以及阈值分析,然后对应输入至基于专家知识的攻击组件识别与定位模块、基于region-cnn的纹理特征的攻击组件识别与定位模块和基于小波变换频域特征分析的攻击组件识别与定位模块,再将各个模块识别出的漏洞利用组件进行集成分析,得到相应的漏洞利用组件识别结果,进而得到漏洞利用组件的特征向量,如组件的数量、名称、相对位置
等。
[0069]
针对基于专家知识的漏洞利用组件识别与定位,需要指出的是,由于简单的漏洞利用在攻击语句上具有很高的辨识性,因此对于攻击语句较明显、使用代码重用地址等辨识度较高的漏洞利用样本,可以直接利用专家知识对待测流量中的漏洞利用组件进行匹配定位。如win2003 sp1英文版系统中,实现关闭dep(data execution prevention,数据执行保护)功能的virtualprotect()函数内存地址0x7c83e413、winxp sp3英文版中开辟可执行内存功能的heapcreate()函数内存地址0x6f901286、linux x64系统中的通用rop(包含对各个寄存器的pop操作汇编代码)位置、_libc_csu_init函数内存地址0x040061a等。
[0070]
针对基于卷积神经网络的漏洞利用组件识别与定位,需要指出的是,由于漏洞利用组件在图像表征上呈现出局部波动、有迹可循的纹理特性,尤其在同种执行环境下,rop gadget的地址区域近似或在语义上存在一定趋同性的rop链可能在内存地址上类似,因此具备相似的纹理特征,故可根据纹理特征来识别不同的漏洞利用模式。而对于较复杂的漏洞,可根据特定漏洞利用组件在数据域值存在特殊波动规律的特性,将输入的整个漏洞利用样本映射为灰度图像,并利用卷积神经网络(cnn,convolutional neural network)对局部纹理敏感的特性,实现对待测流量中漏洞利用组件的识别与定位。
[0071]
针对基于小波变换的漏洞利用组件识别与定位,需要指出的是,由于代码重用段取值来自于固定区域的内存地址段,因而在其数值上存在相似的值域,如连续出现的rop链在数值上呈现出特殊的波动模式,并在进行傅里叶变换后,在频域上呈现出不同于背景频域的短时高频脉冲信号的形式,而这种频域的信号形式反映了不同漏洞利用组件的特性;另外,由于基于可变窗的频域转化的小波变换能够有效发现短片段的rop链,并返回其出现的位置,因此根据这一特性,可以预先对漏洞利用样本库进行频域分析采样,并建立不同漏洞利用组件的频域特性签名。这样一来,在实际应用中,只需对待检测待测流量小波分析结果中的频域特性与频域特性签名进行对比,便可实现识别与定位潜在的漏洞利用组件。
[0072]
步骤s25:利用特征袋模型对所述待测流量漏洞利用组件和所述漏洞利用模式进行直方图向量表示,得到相应的待测流量直方图向量和模式直方图向量。
[0073]
本实施例中,对待测流量中的漏洞利用组件进行识别与定位,得到待测流量漏洞利用组件及所述待测流量漏洞利用组件的分布特征之后,可以利用特征袋模型将上述待测流量漏洞利用组件和所述漏洞利用模式转换为直方图向量,得到相应的待测流量直方图向量和模式直方图向量。具体的,参见图6所示,在利用特征袋模型对不同的漏洞利用模式进行表征时,可以先在漏洞利用样本库中随机的采集一些漏洞利用样本作为训练样本,然后将训练样本中的漏洞利用组件以组件向量的形式进行表示,接着利用聚类算法将上述组件向量划分为k类,其中,k为一个大于2的整数,可由经验确定,划分出的每一类可表示为一种漏洞利用组件,进而得到训练后的聚类模型,该聚类模型可以将任意漏洞利用样本中的组件划分到k类中,最后,参见图7所示,将漏洞利用模式库中所有样本的漏洞利用组件的组件向量输入到训练后的聚类模型中,统计漏洞利用模式中每一种组件出现的频率得到直方图向量。可以理解的是,直方图向量中的每一个维度表示一种漏洞利用组件出现的频率。在实际的应用过程中,可以直接将上述待测流量漏洞利用组件的组件向量输入到上述训练后的聚类模型中,并统计出每一种所述待测流量漏洞利用组件出现的频率,得到相应的待测流量直方图向量。
[0074]
步骤s26:利用预先创建的流量漏洞利用组件子模型将所述待测流量直方图向量映射到语义特征为坐标维度的向量空间,得到所述待测流量漏洞利用组件的特征向量;其中,所述流量漏洞利用组件子模型为预先为待测流量中的漏洞利用组件创建的结构相同但参数不同的神经网络模型。
[0075]
本实施例中,预先为待测流量中的流量漏洞利用组件建立了结构相同但参数不同的子模型,即所述流量漏洞利用组件子模型,该子模型能够提取出待测流量中漏洞利用组件的深层语义。具体的,在得到所述待测流量直方图向量和所述模式直方图向量之后,可以利用所述流量漏洞利用子模型将上述待测流量直方图向量映射到语义特征为坐标维度的向量空间,从而得到所述待测流量漏洞利用组件的特征向量。
[0076]
步骤s27:利用预先创建的漏洞利用模式子模型将所述模式直方图向量映射到语义特征为坐标维度的向量空间,得到所述漏洞利用模式的特征向量;所述漏洞利用模式子模型为预先为漏洞利用模式创建的结构相同但参数不同的神经网络模型。
[0077]
本实施例中,预先为每一种漏洞利用模式构建结构相同但参数不同的神经网络模型,从而得到n个漏洞利用模式子模型,其中,n为漏洞利用模式的数量,该漏洞利用模式子模型能够对上述漏洞利用模式的深层语义进行提取。具体的,利用所述漏洞利用模式子模型将上述模式直方图向量映射到语义特征为坐标维度的向量空间,从而得到上述漏洞利用模式的特征向量。
[0078]
步骤s28:利用基于dssm建立的多通道深度匹配模型计算所述待测流量漏洞利用组件的特征向量与所述漏洞利用模式的特征向量之间的相似度,以得到所述待测流量中的漏洞利用组件的漏洞攻击检测结果。
[0079]
本实施例中,利用基于dssm建立的多通道深度匹配模型可以计算上述待测流量漏洞利用组件的特征向量与上述漏洞利用模式的特征向量之间的相似度,进而得到高置信度的检测结果。
[0080]
可见,本技术实施例提出了漏洞利用模式的概念,采用漏洞利用组件的属性和分布特征来描述漏洞利用模式,并对漏洞利用模式进行向量化表示,同时采用无监督学习,以及通过聚类算法实现对漏洞利用样本中漏洞利用模式的提取,得到不同漏洞利用模式的最佳判决界面,并且采用包括专家知识、卷积神经网络及小波变换的集成模型对待测流量中的漏洞利用组件进行识别与定位,从而实现了对漏洞攻击的检测,由于不需要漏洞攻击的特征码,因此能够对多种类型的未知漏洞攻击进行检测。
[0081]
相应的,本技术实施例还公开了一种漏洞攻击检测装置,参见图8所示,该装置包括:
[0082]
信息提取模块11,用于对漏洞利用样本中的漏洞利用组件的属性及分布特征进行提取,得到漏洞利用模式;
[0083]
识别与定位模块12,用于对待测流量中的漏洞利用组件进行识别与定位,得到待测流量漏洞利用组件及所述待测流量漏洞利用组件的分布特征;
[0084]
漏洞攻击检测模块13,用于利用所述待测流量漏洞利用组件的分布特征及所述漏洞利用模式的特征并基于深度匹配模型对所述待测流量中的漏洞利用组件进行漏洞攻击检测。
[0085]
其中,关于上述各个模块的具体工作流程可以参考前述实施例中公开的相应内
容,在此不再进行赘述。
[0086]
可见,本技术实施例中,先对漏洞利用样本中的漏洞利用组件的属性及分布特征进行提取得到漏洞利用模式,然后对待测流量中的漏洞利用组件进行识别与定位,得到待测流量漏洞利用组件及所述待测流量漏洞利用组件的分布特征,再利用所述待测流量漏洞利用组件的分布特征及所述漏洞利用模式的特征并基于深度匹配模型对所述待测流量中的漏洞利用组件进行漏洞攻击检测。本技术实施例提出了漏洞利用模式的概念,通过漏洞利用模式能够进行漏洞攻击检测,由于不需要漏洞攻击的特征码,因此能够对未知漏洞攻击进行检测,并且适用于多种类型的漏洞攻击检测。
[0087]
在一些具体实施例中,所述信息提取模块11,具体可以包括:
[0088]
特征向量聚类单元,用于利用无监督学习对漏洞利用样本的特征向量进行聚类,以得到漏洞利用模式。
[0089]
在一些具体实施例中,所述特征向量聚类单元,具体可以包括:
[0090]
信息提取单元,用于提取漏洞利用样本中的所有漏洞利用组件,并获取所述漏洞利用组件的属性及分布特征以得到漏洞利用样本的特征向量;
[0091]
向量投影单元,用于利用编码-解码模型将所述特征向量投影到隐空间,得到所述漏洞利用样本的隐空间向量;
[0092]
隐空间向量划分单元,用于基于聚类算法将所述隐空间向量划分为预设数量个区域,并将同一所述区域内的所述隐空间向量作为同一种漏洞利用模式,得到包括所述属性的多个不同的漏洞利用模式。
[0093]
在一些具体实施例中,所述识别与定位模块12,具体可以包括:
[0094]
第一识别与定位单元,用于基于集成模型对待测流量中的漏洞利用组件进行识别与定位,得到待测流量漏洞利用组件及所述待测流量漏洞利用组件的分布特征。
[0095]
在一些具体实施例中,所述第一识别与定位单元,具体可以包括:
[0096]
第二识别与定位单元,用于基于包括专家知识、卷积神经网络及小波变换的集成模型对待测流量中的漏洞利用组件进行识别与定位,得到待测流量漏洞利用组件及所述待测流量漏洞利用组件的分布特征。
[0097]
在一些具体实施例中,所述漏洞攻击检测模块13,具体可以包括:
[0098]
直方图向量表示单元,用于利用特征袋模型对所述待测流量漏洞利用组件和所述漏洞利用模式进行直方图向量表示,得到相应的待测流量直方图向量和模式直方图向量;
[0099]
第一相似度计算单元,用于利用基于dssm建立的多通道深度匹配模型对所述待测流量直方图向量和所述模式直方图向量进行相似度计算,以对所述待测流量中的漏洞利用组件的漏洞攻击进行检测。
[0100]
在一些具体实施例中,所述第一相似度计算单元,具体可以包括:
[0101]
第一向量映射单元,用于利用预先创建的流量漏洞利用组件子模型将所述待测流量直方图向量映射到语义特征为坐标维度的向量空间,得到所述待测流量漏洞利用组件的特征向量;
[0102]
第二向量映射单元,用于利用预先创建的漏洞利用模式子模型将所述模式直方图向量映射到语义特征为坐标维度的向量空间,得到所述漏洞利用模式的特征向量;
[0103]
第二相似度计算单元,用于利用基于dssm建立的多通道深度匹配模型计算所述待
测流量漏洞利用组件的特征向量与所述漏洞利用模式的特征向量之间的相似度,以得到所述待测流量中的漏洞利用组件的漏洞攻击检测结果;其中,所述流量漏洞利用组件子模型为预先为待测流量中的漏洞利用组件创建的结构相同但参数不同的神经网络模型,所述漏洞利用模式子模型为为所述漏洞利用模式创建的结构相同但参数不同的神经网络模型。
[0104]
进一步的,本技术实施例还公开了一种电子设备,图9是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本技术的使用范围的任何限制。
[0105]
图9为本技术实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的漏洞攻击检测方法中的相关步骤。另外,本实施例中的电子设备20具体可以为电子计算机。
[0106]
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本技术技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
[0107]
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222等,存储方式可以是短暂存储或者永久存储。
[0108]
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,其可以是windows server、netware、unix、linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的漏洞攻击检测方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
[0109]
进一步的,本技术还公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的漏洞攻击检测方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
[0110]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0111]
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0112]
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术
领域内所公知的任意其它形式的存储介质中。
[0113]
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0114]
以上对本技术所提供的一种漏洞攻击检测方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。

技术特征:
1.一种漏洞攻击检测方法,其特征在于,包括:对漏洞利用样本中的漏洞利用组件的属性及分布特征进行提取,得到漏洞利用模式;对待测流量中的漏洞利用组件进行识别与定位,得到待测流量漏洞利用组件及所述待测流量漏洞利用组件的分布特征;利用所述待测流量漏洞利用组件的分布特征及所述漏洞利用模式的特征并基于深度匹配模型对所述待测流量中的漏洞利用组件进行漏洞攻击检测。2.根据权利要求1所述的漏洞攻击检测方法,其特征在于,所述对漏洞利用样本中的漏洞利用组件的属性及分布特征进行提取,得到漏洞利用模式,包括:利用无监督学习对漏洞利用样本的特征向量进行聚类,以得到漏洞利用模式。3.根据权利要求2所述的漏洞攻击检测方法,其特征在于,所述利用无监督学习对漏洞利用样本的特征向量进行聚类,以得到漏洞利用模式,包括:提取漏洞利用样本中的所有漏洞利用组件,并获取所述漏洞利用组件的属性及分布特征以得到漏洞利用样本的特征向量;利用编码-解码模型将所述特征向量投影到隐空间,得到所述漏洞利用样本的隐空间向量;基于聚类算法将所述隐空间向量划分为预设数量个区域,并将同一所述区域内的所述隐空间向量作为同一种漏洞利用模式,得到包括所述属性的多个不同的漏洞利用模式。4.根据权利要求1所述的漏洞攻击检测方法,其特征在于,所述对待测流量中的漏洞利用组件进行识别与定位,得到待测流量漏洞利用组件及所述待测流量漏洞利用组件的分布特征,包括:基于集成模型对待测流量中的漏洞利用组件进行识别与定位,得到待测流量漏洞利用组件及所述待测流量漏洞利用组件的分布特征。5.根据权利要求4所述的漏洞攻击检测方法,其特征在于,所述基于集成模型对待测流量中的漏洞利用组件进行识别与定位,得到待测流量漏洞利用组件及所述待测流量漏洞利用组件的分布特征,包括:基于包括专家知识、卷积神经网络及小波变换的集成模型对待测流量中的漏洞利用组件进行识别与定位,得到待测流量漏洞利用组件及所述待测流量漏洞利用组件的分布特征。6.根据权利要求1至5任一项所述的漏洞攻击检测方法,其特征在于,所述利用所述待测流量漏洞利用组件的分布特征及所述漏洞利用模式的特征并基于深度匹配模型对所述待测流量中的漏洞利用组件进行漏洞攻击检测,包括:利用特征袋模型对所述待测流量漏洞利用组件和所述漏洞利用模式进行直方图向量表示,得到相应的待测流量直方图向量和模式直方图向量;利用基于dssm建立的多通道深度匹配模型对所述待测流量直方图向量和所述模式直方图向量进行相似度计算,以对所述待测流量中的漏洞利用组件的漏洞攻击进行检测。7.根据权利要求6所述的漏洞攻击检测方法,其特征在于,所述利用基于dssm建立的多通道深度匹配模型对所述待测流量直方图向量和所述模式直方图向量进行相似度计算,以对所述待测流量中的漏洞利用组件的漏洞攻击进行检测,包括:利用预先创建的流量漏洞利用组件子模型将所述待测流量直方图向量映射到语义特
征为坐标维度的向量空间,得到所述待测流量漏洞利用组件的特征向量;利用预先创建的漏洞利用模式子模型将所述模式直方图向量映射到语义特征为坐标维度的向量空间,得到所述漏洞利用模式的特征向量;利用基于dssm建立的多通道深度匹配模型计算所述待测流量漏洞利用组件的特征向量与所述漏洞利用模式的特征向量之间的相似度,以得到所述待测流量中的漏洞利用组件的漏洞攻击检测结果;其中,所述流量漏洞利用组件子模型为预先为待测流量中的漏洞利用组件创建的结构相同但参数不同的神经网络模型,所述漏洞利用模式子模型为预先为漏洞利用模式创建的结构相同但参数不同的神经网络模型。8.一种漏洞攻击检测装置,其特征在于,包括:信息提取模块,用于对漏洞利用样本中的漏洞利用组件的属性及分布特征进行提取,得到漏洞利用模式;识别与定位模块,用于对待测流量中的漏洞利用组件进行识别与定位,得到待测流量漏洞利用组件及所述待测流量漏洞利用组件的分布特征;漏洞攻击检测模块,用于利用所述待测流量漏洞利用组件的分布特征及所述漏洞利用模式的特征并基于深度匹配模型对所述待测流量中的漏洞利用组件进行漏洞攻击检测。9.一种电子设备,其特征在于,包括处理器和存储器;其中,所述处理器执行所述存储器中保存的计算机程序时实现如权利要求1至7任一项所述的漏洞攻击检测方法。10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的漏洞攻击检测方法。

技术总结
本申请公开了一种漏洞攻击检测方法、装置、设备及存储介质,涉及网络安全技术领域,包括:对漏洞利用样本中的漏洞利用组件的属性及分布特征进行提取,得到漏洞利用模式;对待测流量中的漏洞利用组件进行识别与定位,得到待测流量漏洞利用组件及所述待测流量漏洞利用组件的分布特征;利用所述待测流量漏洞利用组件的分布特征及所述漏洞利用模式的特征并基于深度匹配模型对所述待测流量中的漏洞利用组件进行漏洞攻击检测。本申请提出了漏洞利用模式的概念,通过漏洞利用模式能够进行漏洞攻击检测,由于不需要漏洞攻击的特征码,因此可以对未知漏洞攻击进行检测,并且适用于多种类型的漏洞攻击检测。型的漏洞攻击检测。型的漏洞攻击检测。


技术研发人员:王剑 黄恺杰 孙文阅 陈炯峄 杨安语 刘星彤 李瑞林 冯超
受保护的技术使用者:中移(杭州)信息技术有限公司
技术研发日:2023.07.03
技术公布日:2023/8/13
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐