本发明属于网络安全,具体涉及构建了一种基于重叠社区发现的apt攻击行为识别方法。
背景技术:
1、apt攻击(advanced persistent threat,高级持续性威胁)是指某些组织对特定对象展开的持续有效的攻击活动。这种攻击活动具有极强的隐蔽性和针对性,通常会运用受感染的各种介质、供应链和社会工程学等多种手段实施先进的、持久的且有效的威胁和攻击。
2、由于apt攻击的潜伏时间长、难以被已有的安全防御系统所检测,甚至在攻击后也难以被溯源,因此它被视为一种高度危险的网络安全威胁。apt攻击已成为各类网络所面临的主要安全威胁,因此,各种apt检测方法层出不穷。目前很流行的做法是收集主机日志并构建起源图以反应系统中各实体之间的交互,日志通过<主体,操作,客体>三元组构建起源图,以普通图的数据结构类型只能考虑邻近点的行为而无法考虑距离较远的点的关联性。
3、社区检测也常被用于攻击行为的聚合以及分类,依赖于节点对邻居节点的影响,通过模块度优化的方法聚合形成社区。但是此类无监督方法容易造成正常行为与攻击行为的关联耦合,聚合形成的社区容易聚合大量良性行为,且会造成依赖爆炸的问题,造成攻击社区攻击行为不明显,增加误报。
技术实现思路
1、本发明的目的在于解决现有技术的问题,并提出一种基于重叠社区发现的apt攻击行为识别方法,利用采集到的日志构建起源图,对起源图进行压缩后进行重叠社区检测来进行攻击社区的划分与攻击行为的识别。
2、为了达到上述目的,本发明提供的技术方案为:
3、一种基于重叠社区发现的apt攻击行为识别方法,包括:
4、收集日志数据并构建起源图,对起源图进行压缩;
5、通过特征初始化、特征学习和种子节点检测得到种子节点集;
6、为起源图中的每条边和每个节点计算权重,并将起源图重构为加权异构图;
7、基于种子节点集和加权异构图进行重叠社区的检测得到每个种子节点的自然社区,基于自然社区分割起源图为多个子图;
8、对子图进行表征,得到子图特征,利用良性的子图特征训练分类器,将待检测的子图的子图特征输入训练好的分类器,若分类器针对待检测的子图的子图特征与良性的子图特征的输出存在偏移,则待检测的子图的子图特征是恶意的,即待检测的子图中存在恶意行为,否则,待检测的子图的子图特征是良性的,待检测的子图中不存在恶意行为。
9、进一步的,所述对起源图进行压缩,包括:
10、所述起源图由多个三元组构成,所述三元组(subject,operator,object)表示一个事件,其中subject表示发起操作的主体节点,object表示被操作的客体节点,operator表示操作行为,即边;
11、根据预设的规则,对无关的边进行删除;
12、当一个主体节点多次访问同一个客体节点进行重复操作时,则将代表所述操作的边进行合并,同时将操作的类型和次数作为边的权重储存;
13、当一个主体节点对一个路径下的客体节点进行多次读写时,则将所述一个路径下的客体节点合并为一个抽象节点。
14、进一步的,所述通过特征初始化、特征学习和种子节点检测得到种子节点集,包括:
15、所述特征初始化包括:
16、根据起源图的节点的类型和边的类型,所述节点的类型包括进程、文件、注册表和套接字,为每个节点创建初始特征矩阵;
17、所述特征学习包括:
18、构建图神经网络,所述图神经网络用公式表示如下:
19、;
20、其中,表示第层的节点特征矩阵,<mi>t</mi><mi>∈</mi><mi>[1,t]</mi>,表示gnn层的总层数,表示图神经网络, g为起源图的拓扑结构,为初始的待训练参数矩阵,为第层的待训练参数矩阵,为初始特征矩阵,为第层的节点特征矩阵;
21、将第层的节点特征矩阵输入到分类器中,根据以下公式进行节点类型分类:
22、;
23、其中,为节点类型的概率分布,为分类器第层的参数矩阵,为最终的节点特征矩阵;
24、使用梯度下降法训练图神经网络,将每个节点的初始特征矩阵输入训练好的图神经网络得到最终特征矩阵;
25、所述种子节点检测包括:
26、根据每个节点的最终特征矩阵使用离群值挖掘算法检测起源图中所有类型为进程的节点的离群值,将离群值大于预设阈值的节点作为种子节点,得到种子节点集。
27、进一步的,所述为起源图中的每条边和每个节点计算权重,并将起源图重构为加权异构图,包括:
28、根据每个节点的初始特征矩阵计算起源图中的每个节点的权重,得到节点权重集;
29、根据预设规则计算起源图中的每条边的权重,得到边权重集;
30、根据节点权重集和边权重集为起源图中的每个节点和每条边增加权重属性,构成加权异构图。
31、进一步的,所述基于种子节点集和加权异构图进行重叠社区的检测得到每个种子节点的自然社区,包括:
32、在种子节点集中随机选取一个种子节点;
33、检测选取的种子节点的自然社区,并将选取的种子节点从种子节点集中删除;
34、重复选取、检测和删除种子节点,直到种子节点集为空。
35、进一步的,所述检测选取的种子节点的自然社区,包括:
36、将选取的种子节点作为一个社区,令社区的内部适应度和外部适应度为0,提取社区的邻居节点集;
37、在邻居节点集中选择任意一个邻居节点加入到社区中,并计算社区当前的内部适应度和外部适应度;
38、基于社区当前的内部适应度和外部适应度计算社区的社区质量,若社区质量的值增加,则将邻居节点保留在社区中,并将邻居节点从邻居节点集中移除,否则,将邻居节点从社区中删除,并将邻居节点从邻居节点集中移除;
39、当邻居节点集不为空时,重复选择一个邻居节点并对当前邻居节点进行操作,以及计算社区质量,当邻居节点集为空时,得到扩展后的社区和扩展后的社区的最终社区质量;
40、当最终社区质量与社区质量相等时,结束算法,当最终社区质量与社区质量不相等时,提取扩展后的社区的邻居节点集,并重复在邻居节点集中选择邻居节点,对当前邻居节点进行操作并扩展社区,直到当最终社区质量与社区质量相等或扩展后的社区的邻居节点集为空时,结束算法;
41、结束算法后得到选取的种子节点的自然社区。
42、进一步的,所述社区当前的内部适应度和外部适应度的计算公式为:
43、内部适应度公式为:
44、;
45、其中,表示加入邻居节点 j前社区 c的内部适应度,表示加入邻居节点 j以后社区 c的内部适应度,表示邻居节点 j在社区 c内的适应度,计算公式如下:
46、;
47、其中, i表示社区 c内部的节点,表示连接节点 i与邻居节点 j之间的边的权重,表示邻居节点 j的权重;
48、外部适应度公式为:
49、;
50、其中,表示加入邻居节点 j前社区 c的外部适应度, 表示加入邻居节点 j以后社区 c的外部适应度,表示邻居节点 j在社区 c内的适应度,表示邻居节点 j不在社区 c内的适应度,计算公式如下:
51、;
52、其中, u表示社区 c外部的节点,表示连接节点 u与邻居节点 j之间的边的权重,表示节点 u的权重。
53、进一步的,所述社区质量的计算公式为:
54、;
55、其中,为社区质量,表示加入邻居节点 j以后社区 c的内部适应度,表示加入邻居节点 j以后社区 c的外部适应度,为正实值参数。
56、本发明与现有技术相比,其显著优点为:1、针对lfm(local fitnessmaximization,局部适应度最大化)中节点的随机选择,用异常检测的方式选择节点,降低了社区的随机性。2、改进社区聚合的方式,增强了社区聚合的特性,得到更加明显的社区。3、利用重叠社区的方法,保证了apt行为构成的起源图中针对部分节点可能存在多种社区属性的情况,增加模型的鲁棒性和适配性。
1.一种基于重叠社区发现的apt攻击行为识别方法,其特征在于,所述基于重叠社区发现的apt攻击行为识别方法,包括:
2.根据权利要求1所述的基于重叠社区发现的apt攻击行为识别方法,其特征在于,所述对起源图进行压缩,包括:
3.根据权利要求1所述的基于重叠社区发现的apt攻击行为识别方法,其特征在于,所述通过特征初始化、特征学习和种子节点检测得到种子节点集,包括:
4.根据权利要求3所述的基于重叠社区发现的apt攻击行为识别方法,其特征在于,所述为起源图中的每条边和每个节点计算权重,并将起源图重构为加权异构图,包括:
5.根据权利要求1所述的基于重叠社区发现的apt攻击行为识别方法,其特征在于,所述基于种子节点集和加权异构图进行重叠社区的检测得到每个种子节点的自然社区,包括:
6.根据权利要求5所述的基于重叠社区发现的apt攻击行为识别方法,其特征在于,所述检测选取的种子节点的自然社区,包括:
7.根据权利要求6所述的基于重叠社区发现的apt攻击行为识别方法,其特征在于,所述社区当前的内部适应度和外部适应度的计算公式为:
8.根据权利要求6所述的基于重叠社区发现的apt攻击行为识别方法,其特征在于,所述社区质量的计算公式为: