CN117176436A - 一种网络攻击检测方法、装置、电子设备及存储介质 - Google Patents
一种网络攻击检测方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117176436A CN117176436A CN202311160706.XA CN202311160706A CN117176436A CN 117176436 A CN117176436 A CN 117176436A CN 202311160706 A CN202311160706 A CN 202311160706A CN 117176436 A CN117176436 A CN 117176436A
- Authority
- CN
- China
- Prior art keywords
- graph
- node
- original
- tracing
- traceability
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 85
- 238000000034 method Methods 0.000 claims abstract description 91
- 238000005259 measurement Methods 0.000 claims abstract description 46
- 238000013528 artificial neural network Methods 0.000 claims abstract description 22
- 238000012549 training Methods 0.000 claims abstract description 18
- 238000012545 processing Methods 0.000 claims abstract description 13
- 230000008569 process Effects 0.000 claims description 48
- 239000011159 matrix material Substances 0.000 claims description 44
- 239000013598 vector Substances 0.000 claims description 38
- 230000006870 function Effects 0.000 claims description 31
- 238000010586 diagram Methods 0.000 claims description 28
- 230000000875 corresponding effect Effects 0.000 claims description 21
- 238000012986 modification Methods 0.000 claims description 18
- 230000004048 modification Effects 0.000 claims description 18
- 238000013508 migration Methods 0.000 claims description 16
- 230000005012 migration Effects 0.000 claims description 16
- 238000004891 communication Methods 0.000 claims description 14
- 230000000873 masking effect Effects 0.000 claims description 4
- 238000011144 upstream manufacturing Methods 0.000 claims description 4
- 230000002596 correlated effect Effects 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 description 18
- 238000012217 deletion Methods 0.000 description 10
- 230000037430 deletion Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 9
- 238000010606 normalization Methods 0.000 description 9
- 238000011176 pooling Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 7
- 230000002829 reductive effect Effects 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 6
- 230000002776 aggregation Effects 0.000 description 5
- 238000004220 aggregation Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000036961 partial effect Effects 0.000 description 3
- 238000005295 random walk Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000003211 malignant effect Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 239000012633 leachable Substances 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000547 structure data Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种网络攻击检测方法、装置、电子设备及存储介质,方法包括:获取日志文件,根据日志文件构建得原始溯源图;基于原始溯源图中各节点的连接边确定对应各节点的度信息值;基于度信息值,对原始溯源图进行修改处理,获得第一溯源图;对第一溯源图进行掩膜操作,获得第二溯源图;对第二溯源图进行深度优先遍历,获得完整性衡量指标;基于原始溯源图和第二溯源图,结合完整性衡量指标,获得互信息量;以原始溯源图和第二溯源图分别作为正负样本,并以互信息量作为目标函数进行神经网络训练,获得网络攻击检测模型;利用网络攻击检测模型进行网络攻击检测。本发明实施例能够高效实现网络攻击检测,可广泛应用于数据处理技术领域。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种网络攻击检测方法、装置、电子设备及存储介质。
背景技术
高级持续性威胁(APT,advanced persistent threat)是以敌对方的高水平专业知识和丰富资源为基础,以多种攻击方式为手段,以破坏关键信息基础设施和阻碍重要任务实施为目的,以特定组织为攻击对象的隐蔽网络攻击。当前,APT是高安全等级网络的最主要威胁之一,其极强的针对性、伪装性和阶段性使传统检测技术无法有效识别,因此新型攻击检测技术成为APT攻击防御领域的研究热点。
近年来,越来越多的研究工作使用溯源图来记录系统的行为,并利用溯源图进行APT攻击检测。APT攻击越来越趋向隐蔽和迷惑,某些情况下APT攻击者为了隐藏攻击痕迹,会擦除掉系统的日志文件,导致日志文件构成的溯源图出现部分缺失或错误,改变了原有的图结构,因此,现有的基于溯源图的APT攻击检测非常困难。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明提出一种网络攻击检测方法、装置、电子设备及存储介质,能够高效进行网络攻击检测。
一方面,本发明实施例提供了一种网络攻击检测方法,包括:
获取日志文件,根据日志文件构建得原始溯源图;进而基于原始溯源图中各节点的连接边确定对应各节点的度信息值;
基于度信息值,对原始溯源图进行修改处理,获得第一溯源图;
对第一溯源图进行掩膜操作,获得第二溯源图;
对第二溯源图进行深度优先遍历,获得完整性衡量指标;完整性衡量指标通过第二溯源图的连通分量确定;
基于原始溯源图和第二溯源图,结合完整性衡量指标,获得互信息量;
以原始溯源图和第二溯源图分别作为正负样本,并以互信息量作为目标函数对预设置的神经网络进行训练,获得网络攻击检测模型;进而利用网络攻击检测模型对待检测系统进行网络攻击检测。
可选地,日志文件包括系统运行过程中的调用关系以及每个进程的进程类型和各进程之间的连接关系,根据日志文件构建得原始溯源图,包括:
根据系统运行过程中的调用关系构建得到原始溯源图;并以原始溯源图中各节点对应进程的进程类型和连接关系作为对应各节点的节点属性。
可选地,基于原始溯源图中各节点的连接边确定对应各节点的度信息值,包括:
获取原始溯源图中连接边的类型的第一数量;连接边包括连接入边和连接出边,连接入边和连接出边的类型数量均为第一数量;
基于原始溯源图中各节点的不同类型的连接边的数量,整理得到对应各节点的特征向量;其中,特征向量的元素数量为第一数量的两倍;在特征向量的最前面的第一数量的元素中,取各个类型的连接入边的数量作为元素的值;在特征向量的最后面的第一数量的元素中,取各个类型的连接出边的数量作为元素的值;
根据各节点的特征向量,获得对应各节点的度信息值;度信息值与节点的连接边的数量正相关。
可选地,基于度信息值,对原始溯源图进行修改处理,获得第一溯源图,包括:
在原始溯源图中进行节点游走,以节点游走的终点作为目标节点;
其中,节点游走的偏好设置基于节点游走的游走方向上的上游节点和下游节点的节点类型确定;
获取目标节点的度信息值,当目标节点的度信息值大于预设度阈值,在原始溯源图的目标节点处进行修改处理,获得第一溯源图;
其中,修改处理包括删除目标节点与目标节点的邻居节点相邻的至少一条连接边、为目标节点和与目标节点不相邻的随机节点添加一条连接边以及删除目标节点中的至少一项操作。
可选地,对第一溯源图进行掩膜操作,获得第二溯源图,包括:
基于预设掩膜核,随机生成二值掩膜矩阵;
对第一溯源图与二值掩膜矩阵进行掩膜运算,获得第二溯源图。
可选地,对第二溯源图进行深度优先遍历,获得完整性衡量指标,包括:
获取第二溯源图的随机节点作为第一节点;
以第一节点作为起点,遍历查找邻居节点,并标记遍历过程的所有节点,直至所有访问路径的节点均被标记,根据被标记的节点的数量确定连通分量;
以随机一个未被标记的节点作为第一节点,然后返回以第一节点作为起点这一步骤,直至第二溯源图的所有节点均被标记,以确定的所有连通分量中被标记的节点的数量最多的连通分量作为完整性衡量指标。
可选地,基于原始溯源图和第二溯源图,结合完整性衡量指标,获得互信息量,包括:
获取原始溯源图和第二溯源图的参考数据,进而结合完整性衡量指标和预设的权重值,获得互信息量;
其中,参考数据包括节点数目、节点属性矩阵、邻接矩阵、特征向量、整体特征以及局部区域和整体图结构的互信息大小;权重值包括第一权重值、第二权重值和第三权重值;互信息量的表达式为:
式中,表示互信息量;N表示原始溯源图的节点数目;M表示第二溯源图的节点数目;α表示第一权重值;X表示原始溯源图的节点属性矩阵;A表示原始溯源图的邻接矩阵;表示期望:/>表示原始溯源图的节点i的特征向量;/>表示原始溯源图的整体特征;表示原始溯源图的节点i的局部区域和整体图结构的互信息大小;β表示第二权重值;X′表示第二溯源图的节点属性矩阵;A′表示第二溯源图的邻接矩阵;/>表示第二溯源图的节点j的特征向量;/>表示第二溯源图的整体特征;/>表示第二溯源图的节点j的局部区域和整体图结构的互信息大小;λ表示第三权重值;R(G)表示完整性衡量指标。
另一方面,本发明实施例提供了一种网络攻击检测装置,包括:
第一模块,用于获取日志文件,根据日志文件构建得原始溯源图;进而基于原始溯源图中各节点的连接边确定对应各节点的度信息值;
第二模块,用于基于度信息值,对原始溯源图进行修改处理,获得第一溯源图;
第三模块,用于对第一溯源图进行掩膜操作,获得第二溯源图;
第四模块,用于对第二溯源图进行深度优先遍历,获得完整性衡量指标;完整性衡量指标通过第二溯源图的连通分量确定;
第五模块,用于基于原始溯源图和第二溯源图,结合完整性衡量指标,获得互信息量;
第六模块,用于以原始溯源图和第二溯源图分别作为正负样本,并以互信息量作为目标函数对预设置的神经网络进行训练,获得网络攻击检测模型;进而利用网络攻击检测模型对待检测系统进行网络攻击检测。
另一方面,本发明实施例提供了一种电子设备,包括:处理器以及存储器;存储器用于存储程序;处理器执行程序实现上述网络攻击检测方法。
另一方面,本发明实施例提供了一种计算机存储介质,其中存储有处理器可执行的程序,处理器可执行的程序在由处理器执行时用于实现上述网络攻击检测方法。
本发明实施例首先获取日志文件,根据日志文件构建得原始溯源图;进而基于原始溯源图中各节点的连接边确定对应各节点的度信息值;基于度信息值,对原始溯源图进行修改处理,获得第一溯源图;对第一溯源图进行掩膜操作,获得第二溯源图;对第二溯源图进行深度优先遍历,获得完整性衡量指标;完整性衡量指标通过第二溯源图的连通分量确定;基于原始溯源图和第二溯源图,结合完整性衡量指标,获得互信息量;以原始溯源图和第二溯源图分别作为正负样本,并以互信息量作为目标函数对预设置的神经网络进行训练,获得网络攻击检测模型;进而利用网络攻击检测模型对待检测系统进行网络攻击检测。本发明实施例通过对原始溯源图进行修改处理和掩膜操作,实现模拟网络攻击,进而构建正负样本辅助网络训练;同时利用溯源图的连通分量作为图结构的完整性衡量指标,利用第二溯源图和原始溯源图这一特征的不同作为判断标准辅助网络训练;本发明实施例能够提高特征提取和网络训练的准确性和鲁棒性,进而高效实现网络攻击检测。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1是本发明实施例提供的进行网络攻击检测的一种实施环境示意图;
图2是本发明实施例提供的一种网络攻击检测方法的流程示意图;
图3为本发明实施例提供的节点游走的示意图;
图4为本发明实施例提供的掩膜操作的示意图;
图5为本发明实施例提供的基于连通分量的完整性度量的示意图;
图6为本发明实施例提供的网络攻击检测的改进流程示意图;
图7为本发明实施例提供的网络攻击检测方法的流程原理示意图;
图8为本发明实施例提供的一种网络攻击检测装置的结构示意图;
图9为本发明实施例提供的一种电子设备的结构示意图;
图10为本发明实施例提供的适于用来实现本发明实施例的电子设备的计算机系统结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
需要说明的是,虽然在系统示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于系统中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一/S100”、“第二/S200”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
可以理解的是,本发明实施例提供的网络攻击检测方法,是能够应用于任意一种具备数据处理计算能力计算机设备,而这一计算机设备可以是各类终端或是服务器。当实施例中的计算机设备是服务器时,该服务器是独立的物理服务器,或者,是多个物理服务器构成的服务器集群或者分布式系统,或者,是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。可选地,该终端是智能手机、平板电脑、笔记本电脑以及台式计算机等,但也并不局限于此。
如图1所示,是发明实施例提供的一种实施环境示意图。参照图1,该实施环境包括至少一个终端102和服务器101。终端102和服务器101之间可以通过无线或者有线的方式进行网络连接,完成数据传输交换。
服务器101可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
另外,服务器101还可以是区块链网络中的一个节点服务器。其中,区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。
终端102可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端102以及服务器101可以通过有线或无线通信方式进行直接或间接地连接,本发明实施例在此不做限制。
示例性地基于图1所示的实施环境,本发明实施例提供了一种网络攻击检测方法,下面以该网络攻击检测方法应用于服务器101中为例子进行说明,可以理解的是,该网络攻击检测方法也可以应用于终端102中。
参照图2,图2为本发明实施例提供的应用于服务器的网络攻击检测方法的流程图,该网络攻击检测方法的执行主体可以是前述的任意一种计算机设备。参照图2,该方法包括以下步骤:
S100、获取日志文件,根据日志文件构建得原始溯源图;进而基于原始溯源图中各节点的连接边确定对应各节点的度信息值;
需要说明的是,日志文件包括系统运行过程中的调用关系以及每个进程的进程类型和各进程之间的连接关系;一些实施例中,根据日志文件构建得原始溯源图,可以包括:根据系统运行过程中的调用关系构建得到原始溯源图;并以原始溯源图中各节点对应进程的进程类型和连接关系作为对应各节点的节点属性。
其中,一些实施例中,基于原始溯源图中各节点的连接边确定对应各节点的度信息值,可以包括:获取原始溯源图中连接边的类型的第一数量;连接边包括连接入边和连接出边,连接入边和连接出边的类型数量均为第一数量;基于原始溯源图中各节点的不同类型的连接边的数量,整理得到对应各节点的特征向量;其中,特征向量的元素数量为第一数量的两倍;在特征向量的最前面的第一数量的元素中,取各个类型的连接入边的数量作为元素的值;在特征向量的最后面的第一数量的元素中,取各个类型的连接出边的数量作为元素的值;根据各节点的特征向量,获得对应各节点的度信息值;度信息值与节点的连接边的数量正相关。
一些具体实施例中,通过系统日志文件得到溯源图,将进程的类型和进程间的连接关系作为节点属性,以节点v举例,先计算不同边的类型的数量为Ne,将不同的边类型分别映射成整数从0到Ne-1,节点的特征向量可以表示为:
式中,前Ne个元素fi代表v节点连接入边类型i的数量,后Ne个代表v节点连接出边类型i的数量。
其中,一些具体实施例中,运行过程中某一主体可能对客体进行重复操作,为了减少调用数目对结果的影响,还可以对特征向量进行归一化操作:
其中k为设定的归一化系数,fi是类型i入边或出边的数量。通过归一化,缩小了两端数目的差异,降低了调用次数对检测的影响。
一般来说,图中某一节点连接的节点数越多,该节点的重要性就要高,因此,可以用“度”(即度信息值)来描述节点的重要程度,往往越重要的节点,对检测结果的影响越大。
S200、基于度信息值,对原始溯源图进行修改处理,获得第一溯源图;
需要说明的是,一些实施例中,步骤S200可以包括:在原始溯源图中进行节点游走,以节点游走的终点作为目标节点;其中,节点游走的偏好设置基于节点游走的游走方向上的上游节点和下游节点的节点类型确定;获取目标节点的度信息值,当目标节点的度信息值大于预设度阈值,在原始溯源图的目标节点处进行修改处理,获得第一溯源图;其中,修改处理包括删除目标节点与目标节点的邻居节点相邻的至少一条连接边、为目标节点和与目标节点不相邻的随机节点添加一条连接边以及删除目标节点中的至少一项操作。
一些具体实施例中,处理的原始图为G=(A,X),A为节点间的邻接矩阵A∈RN×N,其中Aij表示节点vi和vj间的连接关系,X=[x1,x2,...,xN]∈RN×N表示节点特征矩阵,xi表示节点vi的特征向量,D=[d1,d2,...,dN]表示节点的度矩阵。首先,指定要进行修改的节点数目N,并用度作为判断节点重要性的依据,给出处理节点的度阈值由于攻击者对日志文件的修改是不确定的,可以通过节点游走的方式进行节点选择,如图3所示,游走的过程为:
对于图G中的节点vi,假设其邻居节点集合为Nvi,设置游走长度为S中,在一次节点选择过程中,若vi为上游节点,那么对于下游节点vj∈Nvi,设置一个采样权重wj,如果vj和vi是同类型节点,则为vj设置一个系数λj,控制游走中选择节点的偏好。最后将权重映射到[0,1]的范围内,则有:
在随机游走时,将根据最终计算的概率来决定下一个样本的选择,将这一操作重复S次,通过随机游走,随机选择出要处理的节点,提高了选择节点的可靠性。对不同类型节点设置不同的采样权重,可以人为控制出不同节点类型的偏好,并且降低游走的复杂性。例如,操作系统日常工作和外部应用在溯源图中表现的节点往往是不同的,通过设置权重可以使最终采样点以较大概率停留在外部应用的调用关系中。
假设最终游走的最后到达节点P,比较节点P的度dp与阈值的大小,如果/>说明节点P为重要节点,在P处随机执行以下一项或多项操作:
S1:删除该节点与邻居节点相连的一条或多条边;
S2:为该节点和与其不相连的随即节点添加一条边;
S3:删除该节点。
进行节点的修改后,得到添加扰动后的图G′,并根据图G′生成节点的邻接矩阵A′和特征矩阵X′。即:
G′=G+ζ
D={ζ;||ζi,1||2≤Δ}
ζ表示添加的噪声,D表示噪声的约束域,ζi,1表示ζ的第i行。
S300、对第一溯源图进行掩膜操作,获得第二溯源图;
需要说明的是,一些实施例中,步骤S300可以包括:基于预设掩膜核,随机生成二值掩膜矩阵;对第一溯源图与二值掩膜矩阵进行掩膜运算,获得第二溯源图。
一些具体实施例中,掩膜(mask)技术实现了原始图和掩膜图的按位与运算,使用掩膜技术可以对图像上某些区域做屏蔽,使其不参加处理参数的计算,APT攻击者对系统日志文件做出修改时,会直接影响溯源图的节点属性发生变化,具体来说,会导致图中节点属性矩阵发生变化。因此,可以利用掩膜对图中节点属性进行修改,随机隐藏掉某些节点的属性,模拟攻击者对日志文件的改变。
首先创建掩膜核O,随机生成二值掩膜矩阵O={O1,O2,...ON},其中Oi,i∈{1,2,...,N}代表节点vi特征的掩膜值,Oi中每一元素的值只能是0或1,代表该为向量的掩膜值,由于大部分节点是干净的,在生成掩膜矩阵时保证矩阵是非稀疏的。通过前述步骤,得到了修改节点后的溯源图数据(第一溯源图),如图4所示,将其与二值掩膜矩阵进行掩膜运算,将图G的节点属性矩阵X′与掩膜矩阵O重叠区域进行按位与运算,得到属性加噪后的节点属性矩阵即η=X′&O,&表示按位与运算。
将溯源图中的特征进行掩膜操作后,可以隐藏掉某些节点的部分属性,人为使输入数据缺失某些特征,模拟了APT攻击者对日志文件的修改,利用这些数据进行网络模型的训练,可以大幅度提高检测器对这类“逃脱手段”的检测成功率。
S400、对第二溯源图进行深度优先遍历,获得完整性衡量指标;
需要说明的是,完整性衡量指标通过第二溯源图的连通分量确定;一些实施例中,步骤S400可以包括:获取第二溯源图的随机节点作为第一节点;以第一节点作为起点,遍历查找邻居节点,并标记遍历过程的所有节点,直至所有访问路径的节点均被标记,根据被标记的节点的数量确定连通分量;以随机一个未被标记的节点作为第一节点,然后返回以第一节点作为起点这一步骤,直至第二溯源图的所有节点均被标记,以确定的所有连通分量中被标记的节点的数量最多的连通分量作为完整性衡量指标。
一些具体实施例中,溯源图完整性度量的实现如下:攻击者进行APT攻击时修改或删除日志文件,造成溯源图的缺失,主要有节点缺失和边缺失两种。这两种缺失往往会造成图结构的完整性发生改变,会改变图的整体属性,导致未被改变的完整溯源图和部分缺失的溯源图产生差异。目前的技术尚未对这些差异制定统一的衡量标准,本发明实施例采用最大连通分量(Largest Connected Component,LCC)作为衡量图结构鲁棒性的标准,它通过测量最大连接部分所包含的节点的比例,反映出图结构的完整性。
如图5所示,对于一个给定的溯源图G,对其进行深度优先遍历,从某一节点q出发,将节点q标记,查找q的所有邻居节点,如果有未被标记的节点,前进至该节点并将该节点标记,如果邻居节点均被标记,回退至上一节点,观察有无未被标记节点,继续前进,重复此次过程,直到能访问的节点全部被标记,将这一遍历访问到的全部节点构成连通分量Φ1={v1,v2,...vk}。接着,寻找未被标记的节点,从该节点出发,按照前面的方法遍历,直到全部的节点均被标记,最终得到全部的连通分量Φ1,Φ2,...,Φm,构成连通分量集Φ:Φ={Φ1:[v1,1,v1,2,...,v1,n],Φ2:[v2,1,v2,2,...,v2,n],...,Φm:[vm,1,vm,2,...,vm,n]}
Φi为第i个连通分量集,vi,j表示在连通分量φi中的节点。
接下来比较连通分量中包含节点的大小,挑选出最大节点数的连通分量Φk,并对Φk进行归一化操作,作为该溯源图的完整性衡量指标R(G):
N为溯源图中的节点数目,为连通分量Φk中包含的节点数目
由于日志文件可能被修改,溯源图中包含的信息可能不完整,且无法完整反映出溯源图有无被改变,这些因素同样会造成APT攻击检测的成功率下降。因此,本发明采用最大连通分量(LCC)作为图的完整性衡量标准,通过深度遍历得到完整性衡量指标R(G),利用图数据修改后和未修改的完整性指标差异,作为APT攻击检测的输入参数,从而提高APT攻击检测的鲁棒性。
S500、基于原始溯源图和第二溯源图,结合完整性衡量指标,获得互信息量;
需要说明的是,一些实施例中,步骤S500可以包括:获取原始溯源图和第二溯源图的参考数据,进而结合完整性衡量指标和预设的权重值,获得互信息量;其中,参考数据包括节点数目、节点属性矩阵、邻接矩阵、特征向量、整体特征以及局部区域和整体图结构的互信息大小;权重值包括第一权重值、第二权重值和第三权重值;互信息量的表达式为:
式中,表示互信息量;N表示原始溯源图的节点数目;M表示第二溯源图的节点数目;α表示第一权重值;X表示原始溯源图的节点属性矩阵;A表示原始溯源图的邻接矩阵;表示期望;/>表示原始溯源图的节点i的特征向量;/>表示原始溯源图的整体特征;表示原始溯源图的节点i的局部区域和整体图结构的互信息大小;β表示第二权重值;X′表示原始溯源图的节点属性矩阵;A′表示第二溯源图的邻接矩阵;/>表示第二溯源图的节点j的特征向量;/>表示第二溯源图的整体特征;/>表示第二溯源图的节点j的局部区域和整体图结构的互信息大小;λ表示第三权重值;R(G)表示完整性衡量指标。
一些具体实施例中,经过前述步骤,本发明通过原始的溯源图G=(A,X)和修改后的图G′=(A′,X′)(即第二溯源图)以及图完整性指标R(G)对APT攻击进行综合判别,引入局部-全局互信息量(即互信息量),目标函数为:
其中,α、β、λ分别代表三种参考指标的权重值,通过设置不同的权重值,综合考虑原始溯源图特征、修改节点后的溯源图特征和输入图结构的完整性等信息;N和M分别表示原始溯源图的节点数目和溯源图修改后的节点数目,X和X′表示表示原始溯源图和溯源图修改后的特征矩阵,和/>表示节点的特征向量,/>和/>表示图的整体特征,是全部节点特征的平均值,计算方法为:
表示图结构中的局部区域和整体图结构的互信息大小,与大多数的神经网络方法相比,局部互信息不依赖于随机游走目标,能够最大限度地扩大图增强表示和目前提取到的图信息之间的互信息,按照以下计算方法:
其中,W是一个可学习的评分权重参数,σ激活函数Sigmoid,转为非线性逻辑回归,将分数反映局部互信息量的大小。
S600、以原始溯源图和第二溯源图分别作为正负样本,并以互信息量作为目标函数对预设置的神经网络进行训练,获得网络攻击检测模型;进而利用网络攻击检测模型对待检测系统进行网络攻击检测;
一些具体实施例中,首先进行神经网络的搭建,神经网络采用图神经网络GNN(图卷积神经网络),分为输入层、隐藏层、输出层,输入层为64维,进行数据的输入,隐藏层由全连接层、卷积层、池化层等框架构成,通过对图的节点进行卷积聚合,得到聚合特征向量其中/>代表聚合后的节点信息。将相连的节点信息更新到当前节点中,完成对节点特征的更新,得到新的节点特征。池化层在卷积后,发明中采取平均池化的方式,即将一定的节点特征按照求和取平均值的方法输出到下一层中,池化结果为作为新一层的卷积层输入,循环上述操作更新节点。输出层为8维,利用超平面将不同的输出分为良性场景和攻击场景。
通过将原始图数据作为正样本,处理后的图数据作为负样本,利用删除节点后的图G作为神经网络的增强数据,利用局部互信息作为目标函数,最大限度地增强和表示图数据的特征,并将图结构的完整性作为衡量指标,作为一个判断标准,提高网络对节点缺失和属性修改的鲁棒性,从而提高所提取特征向量对日志文件信息缺失和信息错误问题的容错性。
为详细解释本发明技术方案的原理,下面结合一些具体实施例对本发明的整体流程进行说明,容易理解的是,下述为对本发明技术原理的解释,不能看做对本发明的限制。
首先需要说明的是,溯源图是根据系统中系统调用日志生成的有向图结构数据,它可用于描述系统的行为,其节点对应于所有系统级别的实体,其边则对应于实体之间的操作。溯源图中的节点分为两类。一类节点为主体,包括系统中存在的进程等;另一类节点为客体,指系统中的文件、套接字等。溯源图的有向边表示一个事件,比如进程A读入了文件B,进程C创建了进程D等,可用四元组<主体,客体,时间戳,操作>来描述,而边的方向则表明了系统中数据的流动方向。鲁棒性是衡量检测技术在遭到人为干扰或称为攻击目标仍能维持运行的能力。目前主流的APT检测技术在响应速度和检测成功率上均取得了显著的成就,可以有效应对常规的APT攻击,但是,这些技术面临攻击者有目的的攻击和扰动时,检测的准确率会大大降低,使得攻击者成功逃脱掉模型的检测,从而对被攻击方(如国家、政府、企业)造成严重的影响。因此,本发明旨在提升现有检测技术的鲁棒性,提高检测技术在面对攻击者有意设计逃脱时检测的准确率,降低被攻击方的损失。
早期的检测方法往往依赖于专家经验去寻找溯源图中可能存在的攻击路径。目前,最有前景的检测方法则使用机器学习特别是深度学习对溯源图进行处理和分析,从而检测出APT攻击,其检测框架包括以下4个主要步骤:
1)利用专业工具获取系统日志文件,提取信息构成原始溯源图。
2)使用节点压缩和边压缩对溯源图进行压缩,以降低后续操作的计算复杂度。
3)利用图神经网络将前一步所形成的溯源图序列转化为特征向量序列,这一过程涉及到对节点属性(也称节点特征)的汇聚操作。
4)使用机器学习分类器对特征向量序列进行分类,检测是否存在APT攻击。
然而,现实情况是系统日志文件可能有信息缺失或存在“噪声”(即信息错误)的问题,原因在于攻击者在获得系统权限后删除日志或修改日志文件以降低被发现的几率。在这种情况下,由于APT攻击检测模型设计中采用消息传播机制,图结构中存在恶意节点时,通过消息传播会破坏整个图的表现,上述APT检测框架所使用的溯源图提供的信息不够完整或准确,进而导致检测性能下降,现有的APT攻击检测技术缺乏面对这种情况的解决措施。为解决或缓解这一问题,本发明提出基于溯源图增强的鲁棒APT攻击检测方法,实现网络攻击检测,在溯源图中引入“属性加噪”和节点“随机清除”,用来模拟攻击者对系统日志文件进行修改,利用正负样本提高检测器性能。同时,为了更好的提高APT攻击检测的鲁棒性,我们引入基于图的最大连通分量作为图结构的衡量指标,通过局部-全局互信息量最大化更好的反映出图的特征,有效提高了模型的鲁棒性。
如图6所示,提高检测器性能的基本思路是:
1)通过系统日志文件得到溯源图,利用一定的规则进行节点“随机清除”,改变图的连接关系,模拟攻击者对日志文件中事件的修改。
2)设置掩膜矩阵,通过掩膜运算对节点进行“属性加噪”,随机隐藏掉某些节点的属性,改变溯源图中的节点属性。
3)计算图结构的完整性,将图最大连通分量作为衡量指标,利用修改图数据后的最大连通分量的不同作为额外的检测判断标准。
4)将原始溯源图数据作为正样本,将改变后的图数据作为负样本,加上图的最大连通分量这一衡量指标,引入局部-全局互信息量,进行正负样本训练,提高检测器面对人为干扰时的准确率。
具体的,APT检测网络的成功往往建立在大量的干净数据和很深的网络模型基础上,但是在现实场景中,由于APT攻击者为降低被发现的风险会选择删除日志或修改日志文件,造成日志文件的缺失或错误,日志中的数据往往不会特别理想,我们将修改造成的日志文件错误定义为“节点噪声”,将删除日志文件造成的日志文件缺失定义为“节点清除”。因此,我们在将溯源图转化为特征向量的过程中,人为的添加一些噪声或随机清除某些节点,模拟APT攻击者对日志文件的改变,提高所提取特征向量对日志文件信息缺失和信息错误问题的容错性。如图7所示,具体步骤如下:
首先进行数据的预处理,与常规方法类似,由于系统的日志文件记录了系统的运行过程,包括文件、套接字、存在的进程、线程、调用关系等信息。根据日志文件中不同实体、客体间的调用关系,生成溯源图G,图中的节点类型包括进程、线程、文件等,连接边有读入、写入、打开、删除、关闭、监听等类型,将进程的类型和进程间的连接关系作为节点属性,将节点的度等信息赋予节点的初始特征。以节点v举例,先计算不同边的类型的数量为Ne,将不同的边类型分别映射成整数从0到Ne-1,节点的特征向量可以表示为:
式中,前Ne个元素fi代表v节点连接入边类型i的数量,后Ne个代表v节点连接出边类型i的数量。运行过程中某一主体可能对客体进行重复操作,为了减少调用数目对结果的影响,对特征向量进行归一化操作:
其中k为设定的归一化系数,fi是类型i入边或出边的数量。通过归一化,缩小了两端数目的差异,降低了调用次数对检测的影响。
接下来进行神经网络的搭建,神经网络采用图神经网络GNN,分为输入层、隐藏层、输出层,输入层为64维,进行数据的输入,隐藏层由全连接层、卷积层、池化层等框架构成,通过对图的节点进行卷积聚合,得到聚合特征向量其中/>代表聚合后的节点信息。将相连的节点信息更新到当前节点中,完成对节点特征的更新,得到新的节点特征。池化层在卷积后,发明中采取平均池化的方式,即将一定的节点特征按照求和取平均值的方法输出到下一层中,池化结果为/>作为新一层的卷积层输入,循环上述操作更新节点。输出层为8维,利用超平面将不同的输出分为良性场景和攻击场景。
对于一定数量的APT攻击数据集,与常规的APT攻击检测方法训练检测器不同,我们将一定数量的溯源图进行修改,达到模拟攻击者修改日志文件的目的。对于溯源图G=(A,X),我们随机挑选出一定的节点,进行删除节点、修改连接边等操作,得到修改节点后的溯源图G′=(A′,X′),因为攻击者不会大面积修改系统日志文件,在这里我们设置一个最大噪声,即
G′=G+ζ
D={ζ;||ζi,1||2≤Δ}
ζ表示添加的噪声,D表示噪声的约束域,ζi,1表示ζ的第i行。
接着,对处理的溯源图继续进行掩膜操作,随机生成二值掩膜矩阵O={O1,O2,...ON},其中Oi代表节点vi特征的掩膜值,我们在图G的节点属性X′矩阵与掩膜矩阵O重叠区域进行按位与运算,得到属性加噪后的节点属性矩阵即:
η=X&O
下面,进行图结构完整性的衡量,对于给定的溯源图输入,为了表示方便,统一用G表示。通过深度优先遍历,找出图结构中全部的连通分量:
Φ={Φ1:[v1,1,v1,2,...,v1,n],Φ2:[v2,1,v2,2,...,v2,n],...,φm:[vm,1,vm,2,...,vm,n]}
Φi为第i个连通分量集,vi,j表示在连通分量Φi中的节点;
比较全部连通分量的大小,找出图结构中最大的连通分量Φk,按照下式:
对Φk进行归一化操作,作为该溯源图的完整性衡量指标R(G)。
通过处理,将原始的溯源图数据集(包含攻击场景和良性场景)构造为良性未修改溯源图集、恶性未修改溯源图集、良性修改溯源图集、恶性修改溯源图集以及对应的衡量指标R(G)。为了更好的提高检测系统的鲁棒性,同时最大限度地扩大图增强表示和提取到的图信息之间的互信息,我们将未修改的溯源图集作为正样本,修改后的溯源图集作为负样本,进行数据增强,构造目标函数:
N和M分别表示原始溯源图的节点数目和溯源图修改后的节点数目,X和X′表示表示原始溯源图和溯源图修改后的特征矩阵,和/>依次表示两个溯源图中节点的特征向量,/>和/>依次表示两个溯源图的整体特征,通过对一些溯源图进行修改,模拟攻击者对日志文件进行修改,进行训练数据增强。利用溯源图信息和修改后的信息,并将图结构的完整性作为衡量指标,综合训练,提高网络对节点缺失和属性修改的鲁棒性。
以上实施过程均为模型的训练阶段,在模型检测阶段,将系统目志文件构造出溯源图,赋予节点和边初始特征,输入到图卷积神经网络中,根据输出结果偏离超平面的距离,判断是否为APT攻击。
通过上述一系列操作对溯源图进行修改,并加入图结构完整性的衡量指标,可以有效提升APT检测模型的鲁棒性,可以有效应对APT攻击者对日志文件进行修改的情况。
本发明技术方案的创新技术点包括:
1)正负样本增强:我们用原始溯源图作为正样本,对溯源图节点“属性加噪”和节点“随机清除”,作为负样本,模拟攻击者对日志文件的修改。我们创新性改变原始样本,通过神经网络对数据进行增强,有效提升检测技术的鲁棒性。
2)图结构的指标:为了进一步提高检测器的性能和鲁棒性,我们除了对图数据中的节点和边的特征作为属性外,还利用图的最大连接分量作为图结构的完整性,利用修改后和原始图这一特征的不同作为判断标准。
3)利用局部互信息进行正负样本训练:我们采用基于局部互信息量进行正负样本训练,利用局部的信息和全局信息关系作为目标函数,避免了对路径的过度依赖,最大限度地扩大图增强表示和目前提取到的图信息之间的互信息,提高了特征提取和网络训练的准确性和鲁棒性。
本发明实施例与现有的相关技术进行对比,包括如下区别点:
1)本发明实施例的技术采用局部-全局互信息量的方法对图数据进行提取,解决了特征提取对路径依赖的问题,无需像现有技术依赖路径注意力机制对邻居节点集合进行特征聚合。
2)本发明实施例的技术主要为了解决APT攻击者对日志文件修改导致检测率低下的问题,通过对溯源图的节点进行修改,模拟攻击者的行为,并提出了最大连通分量作为图完整性的衡量指标,通过正负样本训练和多角度特征输入等强化学习的方法增强了检测模型的鲁棒性。
综上所述,基于目前有关APT攻击检测技术遭到恶意攻击时的脆弱性,本发明实施例通过溯源图增强方法,提出了一种鲁棒的APT检测技术,提高了日志文件被修改时检测的成功率。由于攻击者可能对系统日志文件进行修改处理,改变了原有溯源图的结构,本发明实施例通过对图结构的改变,如增加、删除边结构,删除节点等方式构造负样本,以及对特征矩阵进行“掩膜”处理,进行数据增强,能够有效应对溯源图部分缺失的情况。利用图的最大连通分量作为衡量图结构完整性的指标,攻击者对溯源图进行修改时,会对图结构的完整性造成影响,从而改变图的最大连接分量,将这一变化作为神经网络的判断依据之一,提高了模型检测APT攻击的鲁棒性。不同于其他的图数据处理方法,本发明实施例将正样本、负样本和图的完整性等作为综合指标,创建了以互信息量为主体的目标函数,最大限度地反映出整体图表示和提取到的局部图的互信息,避免了对路径的过度依赖,提高了APT攻击检测模型的鲁棒性。
另一方面,如图8所示,本发明实施例提供了一种网络攻击检测装置800,包括:第一模块810,用于获取日志文件,根据日志文件构建得原始溯源图;进而基于原始溯源图中各节点的连接边确定对应各节点的度信息值;第二模块820,用于基于度信息值,对原始溯源图进行修改处理,获得第一溯源图;第三模块830,用于对第一溯源图进行掩膜操作,获得第二溯源图;第四模块840,用于对第二溯源图进行深度优先遍历,获得完整性衡量指标;完整性衡量指标通过第二溯源图的连通分量确定;第五模块850,用于基于原始溯源图和第二溯源图,结合完整性衡量指标,获得互信息量;第六模块860,用于以原始溯源图和第二溯源图分别作为正负样本,并以互信息量作为目标函数对预设置的神经网络进行训练,获得网络攻击检测模型;进而利用网络攻击检测模型对待检测系统进行网络攻击检测。
本发明方法实施例的内容均适用于本装置实施例,本装置实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法达到的有益效果也相同。
另一方面,如图9所示,本发明实施例还提供了一种电子设备900,该电子设备包括至少一个处理器910,还包括至少一个存储器920,用于存储至少一个程序;以一个处理器910及一个存储器920为例。
处理器910和存储器920可以通过总线或者其他方式连接。
存储器920作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器920可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件或其他非暂态固态存储器件。在一些实施方式中,存储器920可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
以上所描述的电子设备实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
具体地,图10示意性地示出了用于实现本发明实施例的电子设备的计算机系统结构框图。
需要说明的是,图10示出的电子设备的计算机系统1000仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图10所示,计算机系统1000包括中央处理器1001(Central Processing Unit,CPU),其可以根据存储在只读存储器1002(Read-Only Memory,ROM)中的程序或者从存储部分1008加载到随机访问存储器1003(Random Access Memory,RAM)中的程序而执行各种适当的动作和处理。在随机访问存储器1003中,还存储有系统操作所需的各种程序和数据。中央处理器1001、在只读存储器1002以及随机访问存储器1003通过总线1004彼此相连。输入/输出接口1005(Input/Output接口,即I/O接口)也连接至总线1004。
以下部件连接至输入/输出接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如局域网卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至输入/输出接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
特别地,根据本发明的实施例,各个方法流程图中所描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被中央处理器1001执行时,执行本发明的系统中限定的各种功能。
需要说明的是,本发明实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
本发明方法实施例的内容均适用于本系统实施例,本系统实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法达到的有益效果也相同。
本发明实施例的另一方面还提供了一种计算机可读存储介质,存储介质存储有程序,程序被处理器执行实现前面的方法。
本发明方法实施例的内容均适用于本计算机可读存储介质实施例,本计算机可读存储介质实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法达到的有益效果也相同。
本发明实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前面的方法。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块,但是这种划分并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本发明实施方式的方法。
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行装置、装置或设备(如基于计算机的装置、包括处理器的装置或其他可以从指令执行装置、装置或设备取指令并执行指令的装置)使用,或结合这些指令执行装置、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行装置、装置或设备或结合这些指令执行装置、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行装置执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本发明权利要求所限定的范围内。
Claims (10)
1.一种网络攻击检测方法,其特征在于,包括:
获取日志文件,根据所述日志文件构建得原始溯源图;进而基于所述原始溯源图中各节点的连接边确定对应各所述节点的度信息值;
基于所述度信息值,对所述原始溯源图进行修改处理,获得第一溯源图;
对所述第一溯源图进行掩膜操作,获得第二溯源图;
对所述第二溯源图进行深度优先遍历,获得完整性衡量指标;所述完整性衡量指标通过所述第二溯源图的连通分量确定;
基于所述原始溯源图和所述第二溯源图,结合所述完整性衡量指标,获得互信息量;
以所述原始溯源图和所述第二溯源图分别作为正负样本,并以所述互信息量作为目标函数对预设置的神经网络进行训练,获得网络攻击检测模型;进而利用所述网络攻击检测模型对待检测系统进行网络攻击检测。
2.根据权利要求1所述的网络攻击检测方法,其特征在于,所述日志文件包括系统运行过程中的调用关系以及每个进程的进程类型和各所述进程之间的连接关系,所述根据所述日志文件构建得原始溯源图,包括:
根据系统运行过程中的所述调用关系构建得到原始溯源图;并以所述原始溯源图中各节点对应进程的所述进程类型和所述连接关系作为对应各节点的节点属性。
3.根据权利要求1所述的网络攻击检测方法,其特征在于,所述基于所述原始溯源图中各节点的连接边确定对应各所述节点的度信息值,包括:
获取所述原始溯源图中所述连接边的类型的第一数量;所述连接边包括连接入边和连接出边,所述连接入边和所述连接出边的类型数量均为第一数量;
基于所述原始溯源图中各节点的不同类型的连接边的数量,整理得到对应各所述节点的特征向量;其中,所述特征向量的元素数量为第一数量的两倍;在所述特征向量的最前面的第一数量的元素中,取各个类型的所述连接入边的数量作为所述元素的值;在所述特征向量的最后面的第一数量的元素中,取各个类型的所述连接出边的数量作为所述元素的值;
根据各所述节点的所述特征向量,获得对应各所述节点的度信息值;所述度信息值与所述节点的所述连接边的数量正相关。
4.根据权利要求1所述的网络攻击检测方法,其特征在于,所述基于所述度信息值,对所述原始溯源图进行修改处理,获得第一溯源图,包括:
在所述原始溯源图中进行节点游走,以所述节点游走的终点作为目标节点;
其中,所述节点游走的偏好设置基于所述节点游走的游走方向上的上游节点和下游节点的节点类型确定;
获取所述目标节点的所述度信息值,当所述目标节点的所述度信息值大于预设度阈值,在所述原始溯源图的所述目标节点处进行修改处理,获得第一溯源图;
其中,所述修改处理包括删除所述目标节点与所述目标节点的邻居节点相邻的至少一条所述连接边、为所述目标节点和与所述目标节点不相邻的随机节点添加一条所述连接边以及删除所述目标节点中的至少一项操作。
5.根据权利要求1所述的网络攻击检测方法,其特征在于,所述对所述第一溯源图进行掩膜操作,获得第二溯源图,包括:
基于预设掩膜核,随机生成二值掩膜矩阵;
对所述第一溯源图与所述二值掩膜矩阵进行掩膜运算,获得第二溯源图。
6.根据权利要求1所述的网络攻击检测方法,其特征在于,所述对所述第二溯源图进行深度优先遍历,获得完整性衡量指标,包括:
获取所述第二溯源图的随机节点作为第一节点;
以所述第一节点作为起点,遍历查找邻居节点,并标记遍历过程的所有节点,直至所有访问路径的节点均被标记,根据被标记的节点的数量确定连通分量;
以随机一个未被标记的节点作为所述第一节点,然后返回所述以所述第一节点作为起点这一步骤,直至所述第二溯源图的所有节点均被标记,以确定的所有所述连通分量中被标记的节点的数量最多的所述连通分量作为完整性衡量指标。
7.根据权利要求1所述的网络攻击检测方法,其特征在于,所述基于所述原始溯源图和所述第二溯源图,结合所述完整性衡量指标,获得互信息量,包括:
获取所述原始溯源图和所述第二溯源图的参考数据,进而结合所述完整性衡量指标和预设的权重值,获得互信息量;
其中,所述参考数据包括节点数目、节点属性矩阵、邻接矩阵、特征向量、整体特征以及局部区域和整体图结构的互信息大小;所述权重值包括第一权重值、第二权重值和第三权重值;所述互信息量的表达式为:
式中,表示互信息量;N表示原始溯源图的节点数目;M表示第二溯源图的节点数目; α表示第一权重值;X表示原始溯源图的节点属性矩阵;A表示原始溯源图的邻接矩阵;/>表示期望;/>表示原始溯源图的节点i的特征向量;/>表示原始溯源图的整体特征;/>表示原始溯源图的节点i的局部区域和整体图结构的互信息大小;β表示第二权重值;X′表示第二溯源图的节点属性矩阵;A′表示第二溯源图的邻接矩阵;/>表示第二溯源图的节点j的特征向量;/>表示第二溯源图的整体特征;/>表示第二溯源图的节点j的局部区域和整体图结构的互信息大小;λ表示第三权重值;R(G)表示完整性衡量指标。
8.一种网络攻击检测装置,其特征在于,包括:
第一模块,用于获取日志文件,根据所述日志文件构建得原始溯源图;进而基于所述原始溯源图中各节点的连接边确定对应各所述节点的度信息值;
第二模块,用于基于所述度信息值,对所述原始溯源图进行修改处理,获得第一溯源图;
第三模块,用于对所述第一溯源图进行掩膜操作,获得第二溯源图;
第四模块,用于对所述第二溯源图进行深度优先遍历,获得完整性衡量指标;所述完整性衡量指标通过所述第二溯源图的连通分量确定;
第五模块,用于基于所述原始溯源图和所述第二溯源图,结合所述完整性衡量指标,获得互信息量;
第六模块,用于以所述原始溯源图和所述第二溯源图分别作为正负样本,并以所述互信息量作为目标函数对预设置的神经网络进行训练,获得网络攻击检测模型;进而利用所述网络攻击检测模型对待检测系统进行网络攻击检测。
9.一种电子设备,其特征在于,包括处理器以及存储器;
所述存储器用于存储程序;
所述处理器执行所述程序实现如权利要求1至7中任一项所述的方法。
10.一种计算机存储介质,其中存储有处理器可执行的程序,其特征在于,所述处理器可执行的程序在由所述处理器执行时用于实现如权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311160706.XA CN117176436A (zh) | 2023-09-08 | 2023-09-08 | 一种网络攻击检测方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311160706.XA CN117176436A (zh) | 2023-09-08 | 2023-09-08 | 一种网络攻击检测方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117176436A true CN117176436A (zh) | 2023-12-05 |
Family
ID=88933378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311160706.XA Pending CN117176436A (zh) | 2023-09-08 | 2023-09-08 | 一种网络攻击检测方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117176436A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117560228A (zh) * | 2024-01-10 | 2024-02-13 | 西安电子科技大学杭州研究院 | 基于标签和图对齐的流式溯源图实时攻击检测方法及系统 |
-
2023
- 2023-09-08 CN CN202311160706.XA patent/CN117176436A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117560228A (zh) * | 2024-01-10 | 2024-02-13 | 西安电子科技大学杭州研究院 | 基于标签和图对齐的流式溯源图实时攻击检测方法及系统 |
CN117560228B (zh) * | 2024-01-10 | 2024-03-19 | 西安电子科技大学杭州研究院 | 基于标签和图对齐的流式溯源图实时攻击检测方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230022943A1 (en) | Method and system for defending against adversarial sample in image classification, and data processing terminal | |
WO2019128529A1 (zh) | Url攻击检测方法、装置以及电子设备 | |
Ting et al. | Compression analytics for classification and anomaly detection within network communication | |
CN117176436A (zh) | 一种网络攻击检测方法、装置、电子设备及存储介质 | |
Zhu et al. | Binarizedattack: Structural poisoning attacks to graph-based anomaly detection | |
CN112468487B (zh) | 实现模型训练的方法、装置、实现节点检测的方法及装置 | |
CN109740106A (zh) | 基于图卷积神经网络的大规模网络介数逼近方法、存储装置及存储介质 | |
CN115907029B (zh) | 面向联邦学习投毒攻击的防御方法及系统 | |
CN111709022B (zh) | 基于ap聚类与因果关系的混合报警关联方法 | |
CN113222930A (zh) | 基于图像分析的恶意流量检测方法、终端设备及存储介质 | |
CN114726823B (zh) | 一种基于生成对抗网络的域名生成方法、装置和设备 | |
Saurabh et al. | Nfdlm: A lightweight network flow based deep learning model for ddos attack detection in iot domains | |
Ebrahimi et al. | Binary black-box attacks against static malware detectors with reinforcement learning in discrete action spaces | |
Guo et al. | GLD‐Net: Deep Learning to Detect DDoS Attack via Topological and Traffic Feature Fusion | |
CN111612641A (zh) | 一种社交网络中有影响力用户的识别方法 | |
Ao | Using machine learning models to detect different intrusion on NSL-KDD | |
CN110889493A (zh) | 针对关系网络添加扰动的方法及装置 | |
CN114708479A (zh) | 一种基于图结构和特征的自适应防御方法 | |
CN112215300A (zh) | 一种基于网络结构增强的图卷积模型防御方法、装置和系统 | |
CN116916317A (zh) | 一种基于大白鲨和随机森林的入侵检测方法 | |
Yuan et al. | Mitigating Severe Robustness Degradation on Graphs | |
Gong et al. | AGRAMPLIFIER: Defending Federated Learning Against Poisoning Attacks Through Local Update Amplification | |
CN115941281A (zh) | 一种基于双向时间卷积神经网络与多头自注意力机制的异常网络流量检测方法 | |
CN114638342A (zh) | 基于深度无监督自动编码器的图异常检测方法 | |
CN112749759A (zh) | 一种深度神经网络图对抗样本的预处理方法、系统及应用 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |