基于溯源图社群发现的APT行为检测

邵开平1，武斌2 *

（1. 北京邮电大学网络空间安全学院；
2. 北京邮电大学网络空间安全学院灾备与数据安全中心）

2.02.02.02.02.02.02.02.02.02.02.02.02.02.02.02.02.02.02.02.02.02.02.02.02.02.02.02.02.02.02.02.01*|*期刊*|*A. K. Sood and R. J. Enbody, chr(34)Targeted Cyberattacks: A Superset of Advanced Persistent Threats,chr(34)[J] in IEEE Security & Privacy, vol. 11, no. 1, pp. 54-61, Jan.-Feb. 2013.<CR>2*|*论文集*|*AM Juuso, A Takanen, K Kittilä, Proactive cyber defense: Understanding and testing for advanced persistent threats (APTs)[A], in: European Conference on Information Warfare and Security[C], ECCWS, 2013.<CR>3*|*期刊*|*Ghafir, Ibrahim & Prenosil, Vaclav. Prenosil, Advanced persistent threat attack detection : an overview[J], Int. J. Advancem. Comput. Netw. Secur. –IJCNS 4 (4) (2014) 50–54 .<CR>4*|*期刊*|*Singh, S., Sharma, P.K., Moon, S.Y. et al. A comprehensive study on APT attacks and countermeasures for future networks and communications: challenges and solutions.[J]Supercomput 75, 4543–4574 (2019).<CR>5*|*期刊*|*Zhenyuan Li, Qi Alfred Chen, Runqing Yang, Yan Chen, Wei Ruan,Threat detection and investigation with system-level provenance graphs: A survey[J],Computers & Security,Volume 106,2021,102282.<CR>6*|*论文集*|*X. Han, T. Pasquier, A. Bates, J. Mickens and M. Seltzer, chr(34)UNICORN: Runtime provenance-based detector for advanced persistent threatschr(34)[A], NDSS[C], 2020.<CR>7*|*期刊*|*S. M. Milajerdi, R. Gjomemo, B. Eshete, R. Sekar,V. Venkatakrishnan, HOLMES: Real-Time APT Detection through Correlation of Suspicious Information Flows[J], in: 2019 IEEE Symposium on Security and Privacy (SP), 2019, pp. 1137–1152.<CR>8*|*期刊*|*Satvat K, Gjomemo R, Venkatakrishnan V N. EXTRACTOR: extracting attack behavior from threat reports[J].2021 IEEE European Symposium on Security and Privacy (EuroS&P). IEEE, 2021: 598-615.<CR>9*|*期刊*|*Aaron Zimba, Hongsong Chen, Zhaoshun Wang, and Mumbi Chishimba. 2020. Modeling and detection of the multi-stages of Advanced Persistent Threats attacks based on semi-supervised learning and complex networks characteristics.[J] Future Generation. Computer. System. 106, (May 2020), 501–517.<CR>10*|*期刊*|*Blondel, Vincent D., et al. chr(34)Fast unfolding of communities in large networks.chr(34)[J] Journal of statistical mechanics: theory and experiment 2008.10 (2008): P10008.<CR>11*|*期刊*|*Fortunato, Santo. (2010) 基于溯源图社群发现的APT行为检测|APT attacks detection based on provenance graph community discovery|*|1|邵开平|Shao Kaiping|北京邮电大学网络空间安全学院|School of Cyberspace Security, Beijing University of Posts and Telecommunications|邵开平（1999年），男，主要研究基于网络流量的攻击行为检测、APT检测|北京市海淀区西土城路10号北京邮电大学学10楼329|100876|skp9982@163.com|18510174015|18510174015<CR>|2|武斌|Wu Bin|北京邮电大学网络空间安全学院灾备与数据安全中心|Disaster Preparedness and Data Security Center, School of Cyberspace Security, Beijing University of Posts and Telecommunications||||binwu@bupt.edu.cn||2.0邵开平Shao Kaiping;Wu Bin邵开平;武斌邵开平（1999年），男，主要研究基于网络流量的攻击行为检测、APT检测;skp9982@163.com;binwu@bupt.edu.cn北京市海淀区西土城路10号北京邮电大学学10楼329;18510174015;18510174015;100876;北京邮电大学网络空间安全学院;北京邮电大学网络空间安全学院灾备与数据安全中心School of Cyberspace Security, Beijing University of Posts and Telecommunications；Disaster Preparedness and Data Security Center, School of Cyberspace Security, Beijing University of Posts and Telecommunications2.0 2.02.02.0

摘要：高级持续威胁(Advanced Persistent Threats,APT)是一种手段高超、潜伏时间长、危害性大的复杂攻击行为，因此及时发现其异常行为并进行阻断十分重要。本文对APT攻击不同阶段的节点的社群行为进行研究，基于在社交网络等领域有着出色表现的社群发现算法Louvain算法进行改进使其适用于APT攻击溯源图的社群发现，之后基于对APT攻击行为特点提取特征，并利用半监督KNN算法与SNN算法处理未标注数据，最后使用RIPPER算法实现节点APT异常行为检测。实验结果表明，本文提出的算法在溯源图社群划分效果与攻击行为检测准确度相较之前相关领域的研究有所提高。

关键词：数据安全与计算机安全；APT攻击检测；社群发现

中图分类号：TP399

APT attacks detection based on provenance graph community discovery

Shao Kaiping1, Wu Bin2

(1. School of Cyberspace Security, Beijing University of Posts and Telecommunications;
2. Disaster Preparedness and Data Security Center, School of Cyberspace Security, Beijing University of Posts and Telecommunications)

Abstract: Advanced Persistent Threats (APT) is a kind of complex attack behavior with sophisticated means, long latency and great harm. Therefore, it is very important to detect and block the abnormal behavior in time. In this paper, we studied the community behavior of nodes in different stages of APT attacks. Based on the community discovery algorithm with excellent performance in social networks and other fields, Louvain algorithm is improved to make it suitable for the community discovery of APT-attack provenance graph Then, based on the characteristics of APT attack behavior, features are extracted and unmarked data is processed by semi-supervised KNN algorithm and shared nearest neighbors algorithm. Finally, RIPPER algorithm is used to detect node APT abnormal behavior. The experimental results show that the algorithm proposed in this paper has improved the efficiency of community detection and the accuracy of attack behavior detection compared with previous studies in related fields.

Key words: Data security and computer security;Advanced Persistent Threats Detection;Community Detection.

引言

APT攻击是企业和政府部门信息化系统的严重威胁，由高度组织化的黑客组织发动，动机强烈，攻击手段高超，持续时间长[1]。攻击者会绕过防御，模仿正常行为，使用0-day漏洞攻击，较难被传统入侵检测方法识别[2]。APT攻击遵循一整套演化形式，从侦查开始，经过初次渗透、建立立足点、持久化攻击、蛰伏、后续渗透、控制节点、C&C通信到信息窃取或系统瘫痪。ATT&CK模型总结了每个阶段常用的攻击目的和技术，提出了较为完备的模型[3]。以下为APT生命周期模型示意图：

图1 APT生命周期示意图

Fig.1 APT life cycle model diagram

由于溯源图非常适合攻击行为追踪，很多研究者基于主机侧、网络侧溯源图[4,5]，通过溯源图进行APT攻击因果分析，提出了不同的算法，例如通过提取节点关联信息得到图摘要，分析正常、异常图摘要差异识别APT攻击的溯源图[6]。还有研究者通过分析溯源图节点行为，利用规则匹配[7]、图神经网络[8]等方法，进行异常节点、异常图状态的判定。另外还有研究对溯源图进行聚类[9]得到社群并划分正常异常节点。

基于以上研究，本文发现现有基于溯源图的APT检测方法存在以下局限性：1）基于图摘要或深度学习算法需要包含完整APT攻击流程的溯源图，不能保证实时检测。2）基于图摘要的研究仅仅遍历邻居节点提取节点状态信息，忽略了APT攻击不同阶段中节点行为特征的变化。3）溯源图聚类研究未考虑APT攻击形成的溯源图的特点。4）待检测数据中只有部分确定的APT攻击数据和大量未知数据，导致监督学习和专家知识规则匹配算法表现不佳。

为了解决上述问题，本文提出一种改进Louvain算法的APT溯源图社群发现算法，并基于溯源图社群划分提取节点的社群行为特征，之后通过半监督学习KNN算法结合规则学习算法实现溯源图异常节点分类。本文贡献如下：

基于对APT不同阶段溯源图节点的表现形式研究，基于Louvain算法[10]设计并实现了一种针对APT攻击溯源图的社群发现算法。

基于半监督KNN算法，实现了未标注APT攻击数据标注。

基于RIPPER算法，融合标注与未标注数据实现异常节点检测规则生成。

溯源图社群行为研究与社群划分

本文基于对APT攻击不同阶段中溯源图节点的社群行为的研究，提出针对APT攻击溯源图社群的发现算法。并基于APT溯源图社群发现结果，使用流处理的方式，将检测数据划分为不同时间窗口，提取节点行为特征。最后使用半监督K-近邻(k-nearest-neighbor,KNN)算法处理未标注数据，并使用RIPPER算法提取检测规则，发现时间窗口内异常节点行为。模型的检测流程如下（修改：丰富了流程示意图内容更好地体现算法过程）：

图2 提出算法流程示意图

Fig.2 The proposed algorithm flow diagram.

溯源图是一种由实体与事件构成的有向图。在网络数据构成的溯源图中，实体代表网络中的节点，事件代表节点之间通过不同的网络协议进行的访问行为，边的权重根据不同事件进行定义。下图为DNS事件数据形成的溯源图（修改：优化了图片内容）：

图3 DNS事件构成的溯源图

Fig.3 A provenance graph of DNS events.

APT不同生命周期阶段节点社群行为研究

网络节点的社群性质指网络中节点可划分为多个群体，群体内节点连接紧密且与群体外节点连接稀疏[11]。对于由节点之间的网络通信行为形成的溯源图网络，其节点也存在社群性特点[12]。由于APT攻击与节点的正常行为通常具有较大差别，可能导致节点在某个事件周期内出现明显的社群行为改变，因此对溯源图节点社群行为进行分析，发现社群结构对发现节点异常很有价值。

APT攻击在不同生命周期阶段由于其攻击目的不同，其攻击行为有不同表现形式，形成不同具有显著特征的社群结构。下表总结了APT攻击不同生命周期阶段在溯源图上可能表现出的图结构：

表1 APT不同生命周期阶段溯源图节点社群结构

Tab.1 APT provenance graph node community structure in different life cycle stages.

节点社群结构	社群结构特点	生命周期阶段
单一节点向多个节点发起通信行为。通常为攻击者主动发起攻击。溯源图中表现为节点出度远大于入度且存在对多个邻居出度大于入度。	侦查/探索/信息收集 初始入侵/横向移动 认证凭证获取 命令与控制 实施影响
多个节点向单一节点发起通信行为。通常为攻击者接收受害者数据或者多个攻击者同时攻击一个节点。溯源图中表现为节点出度远大于入度且存在对多个邻居出度大于入度。	命令与控制 信息收集 数据外泄 实施影响
一个节点成为了多个节点之间的桥接节点，多见于APT攻击中的信息传播。溯源图中表现为节点与多个邻居之间边权重占据节点边权重的大部分。	横向移动 信息收集 认证凭证窃取 命令与控制 数据外泄

对于溯源图中节点而言，一些节点在正常状态下会呈现上述特点，一些节点在被APT攻击影响后会突然出现上述特点。对于前者如果被APT攻击者利用其社群行为改变不大，对于后者其社群性质会出现较大变化。因此在社群发现过程中，需要结合上述特点进行社群发现，从而能够更为合理发现节点的正常社群行为，之后通过提取特征发现节点社群行为的变化。

基于Louvain算法的改进APT溯源图社群发现算法

基于APT不同阶段溯源图节点行为的研究，本文采用并改进了Louvain算法及其节点移动阶段：

参考Nicosia等人方法[13]引入社群隶属度到模块度计算中，将节点合并到模块度提升大且节点隶属度高的社群。

对Louvain算法遍历所有节点并将之与相邻社群尝试合并的阶段（节点移动阶段）进行优化[14]，提高算法性能。

参考Leiden算法[15]引入基于模块度提升的随机社群合并，防止陷入局部最优，并基于对APT不同生命周期阶段节点行为在溯源图上表现的研究，引入类似Leiden算法的改善阶段，在大社群内按照表现形式合并节点。

首先本文定义节点对社群隶属度计算，根据节点i的邻居节点与目标社群c的重合程度，计算节点i对社群c的隶属度，计算表示节点的邻居节点集合Ni与社群c中节点的重合程度的参数C：

(1)

对于有向图而言，可以根据节点i与其邻居节点之间边的方向不同，将节点i的邻居节点集合Ni划分为出邻居、入邻居两个集合：，之后分别计算二者与社群c中节点重合程度。最后引入参数表示对出邻居、入邻居对隶属度影响的偏向性，p为限制隶属度取值的缩放系数。使用二维logistic函数计算节点i与社群c的隶属度，之后通过归一化将节点与每个社群的隶属度框定在0到1之间：

(2)

Louvain算法是一种基于模块度的社群发现算法，模块度反映了图的社群性质定义为图中同一模块中两节点存在一条边的概率与随机图的差，对于有向图定义为：

(3)

其中为判断两节点是否属于同一个社群如果为同一个社群则为1否则为0。在算法的迭代过程中，采用模块度增益作为社群合并的依据，这项指标反映了将节点移动到新的社群导致的社群模块度上升程度，对于将节点i移动到社群C，在有向图中可以用如下公式计算：

(4)

其中表示社群C内部所有节点入/出边的总权重，表示节点i与社群C连接入/出边的总权重，表示节点i的总入/出度数。分别从出入度两种角度计算模块度增益之后加和得到总模块度增益，将、、拆分成出度入度两部分计算，并引入节点i对于社群C的隶属度，作为节点i移动到社群C的总模块度提升：

(5)

在模块度增益计算后，引入权抽样代替贪心选择，防止社群合并陷入局部最优。引入随机性的好处在于扩大了搜索空间，并仍能保证节点合并入模块度增益较大的社群，抽样概率根据各个社群的模块度增益计算，使用改进的log-softmax函数计算：

(6)

在完成了初步节点移动后，在每个社群内进行调整阶段，即在社群内部再次进行合并。首先通过遍历节点所有邻居社群，通过γ-密集度判断节点是否与社群c紧密连接，该值的物理意义为节点社群中其余节点相连的边数与最大可能的边数，其计算公式如下：

(7)

其中E(v,C-v)表示节点与社群内除去节点v其余节点的连接边数。如果节点v与该社群C紧密连接则仍通过γ-密集度过滤得到与社群C紧密连接的子社群集合c，计算公式如下：

(8)

之后根据三种APT溯源图中较为常见攻击行为图结构，在每个社群内，考察节点是否存在如下三种特征，如果存在这三种特征之一，则提出下合并规则：

节点出度若远大于入度，则节点符合图结构1，将节点与其所有出度大于入度的邻居节点聚合为一个社群。

节点入度若远大于出度，则节点符合图结构2，将节点与其所有入度大于出度的邻居节点聚合为一个社群。

若节点存在若干邻居节点其度和远大于其他节点，则节点符合图结构3，复制该节点与其邻居节点合并为社群。对于该社群而言，使用前两条规则，继续进行合并。

否则，采取以模块度增益作为标准进行合并，并通过隶属度解决可能的社群重叠问题。最终算法如下（修改：算法图勘误）：

图4 APT溯源图社群发现算法改善阶段

Fig.4 APT provenance graph community detection algorithm-refine phase.

溯源图节点社群行为特征提取与检测规则生成

发现APT溯源图的社群行为后，本文围绕节点的社群行为特点，以及在时间窗口期内的通信行为表现，进行节点的特征提取。之后围绕提取得到的规则，采用半监督学习算法进行未标注数据的标签生成，最后采用RIPPER算法生成节点APT攻击行为检测规则的生成。

节点社群行为特征提取

特征一考虑节点在不同社群中的联系程度，由于APT攻击行为可能导致节点出现跨社群的大量连接（对应社群结构1、2），从节点出度与入度两个角度评价，本文采用可以反映节点跨社群性的参与系数，从出入边两个角度进行计算，计算公式如下：

(9)

(10)

特征二考虑节点在溯源图中的重要程度，使用复杂网络中节点强度指标衡量一个节点在图中与其他节点、社群连接的紧密程度。本文根据社群划分结果，分别从社群内连接强度与社群外连接强度两个角度评估。考虑到APT攻击的出现可能导致节点大量收集、发出信息导致该指标上升（对应社群结构1、2）。计算方式如下：

(11)

特征三考虑节点与社群内外信息流动方向。由于APT攻击可能导致节点将社群内信息流出或将社群外信息流入（对应社群结构3），因此计算通过节点从社群外流入和从社群中流出的信息流：

(12)

(13)

其中表示节点与社群外节点入度，表示节点与社群内节点出度，表示节点与社群内节点入度，表示节点的社群外节点出度。

特征四考虑节点在一个时间窗口内的出度、入度变化，该衡量节点是否突然产生大量异常信息交互（社群结构1、2、3均可能产生此特征）。以出度变化为例，首先社群内外分别统计节点在一个时间窗口内的出度，形成一个数对，之后计算该数对与上一个时间窗口的切比雪夫距离，入度计算同理。

融合半监督学习与规则学习的APT节点异常行为检测

在真实的APT攻击场景中，大量节点未被认定，很多节点行为数据属于未知状态。因此，APT检测模型需要有效利用这些数据判定APT攻击行为。本文使用半监督KNN算法利用已标注攻击数据对未标注类型节点的通信行为数据进行标注，该算法的实现简单有效、鲁棒性较好。除了采用半监督KNN算法，本文还采用了SNN算法（Shared Nearest Neighbors，共享最近邻算法），评估节点与恶意节点的连接关系，与半监督KNN算法一同进行加权投票，作为未标注节点行为的依据。

最后本文需找到方法判定受到APT攻击影响的节点，鉴于APT攻击检测要实时并适应流处理，为此采用RIPPER算法提取异常节点检测规则，后以流处理方式实现节点特征提取与异常节点检测。

模型效果验证

首先通过模块度评估提出的社群发现算法在APT攻击溯源图数据上的效果，并于Lovain算法与Leiden算法这两种效果较好的社群发现算法进行对比。之后为了验证提出模型在APT攻击检测方面的效果，在这个部分使用较为权威的APT攻击模拟数据集LANL数据集进行实验验证。并设计消融实验，证明模型各个部分的有效性。

实验数据集介绍

实验采用洛斯阿拉莫斯实验室[16]收集了共计58天的内部计算机系统数据与模拟攻击数据，数据压缩后大约攻击12GB。整个数据集共包括5个类型的数据：认证数据，系统进程数据，主机DNS事件数据，主机网络流量事件数据以及攻击行为数据。本实验中主要关注节点的网络行为，研究中只使用DNS、网络流量以及攻击行为数据，并进行匿名化处理。其数量如下表所示：

表2 数据集事件数量分布

Tab.2 Event number distribution of the LANL dataset.

事件类型	事件数量	涉及主机数量
红队事件（攻击行为）	749	305
DNS事件	40821591	15296
网络流量事件	129977412	12027

DNS事件数据为域名解析事件，展现了源主机通过DNS协议解析到目标主机的行为，其数据包含的特征与示例如下表所示：

表3 DNS事件数据特征

Tab.3 DNS event data characteristics.

时间戳	源主机	目的主机
31	C161	C2109
35	C5642	C528
38	C3380	C22841

网络流量事件数据为系统内主机之间依靠不同协议的通信行为，其数据包含的特征与示例如下表所示：

表4 网络流量事件数据特征

Tab.4 Network flow data characteristics

时间戳	持续时间	源主机	目的主机	源端口	目的端口	协议	数据包数	比特数
1	9	C3090	C3420	N10471	N46	6	3	144
1	9	C5358	C3371	N2600	N46	6	3	144
2	0	C4316	C5030	N10199	443	6	2	93

攻击事件数据为若干特定的攻击行为记录，可以被用作研究的背景知识，即明确系统中的恶意节点。其包含的数据特征如下表所示：

表5 攻击行为事件数据特征

Tab.4 RedTeam data characteristics

时间戳	源主机	目的主机
151648	C17693	C728
151993	C17693	C1173
153792	C17693	C294

由于在溯源图中进行社群发现以及提取特征涉及图中有向边的权重，本文定义DNS事件边权重为主机进行DNS解析到目标地址事件发生次数，网络流量事件边权重定义为主机间的流量事件的数据流强度，定义为单位时间内发送的总比特数，即为事件数据包总比特数与事件持续时长的比。

实验条件介绍与评价指标

本文实验在一台Windows主机上完成，主要配置如下表所示：

表6 实验环境配置

Tab.6 Experimental environment configuration.

实验环境	配置信息
操作系统	Windows11
内存	32GB
CPU	AMD R7 5800X
编程语言	Python3.9

本文实验使用常见的机器学习模型评价指标对提出的模型效果进行评价，即精确率（Precision）、召回率（Recall）与F1-score。分别反应模型误报、漏报以及综合情况。对于模型分类结果而言一共可能有如下四种情况：真阳性（TP）、假阳性（FP）、真阴性（TN）、假阴性（FN），上述三种指标计算公式如下：

(14)

(15)

(16)

实验内容

首先验证提出的社群划分算法在该数据集上的效果，以模块度作为社群发现效果评判依据，分别在DNS、流量以及混合事件数据上分别运行提出算法、Lorain算法、Leiden算法效果，得到模块度数据，得到如下柱状图：

图5 DNS、流量与混合事件数据溯源图运行三种不同社群发现算法后的模块度

Fig.5 The modularity of DNS, Flow and mixed event data provenance graphs after running three different community discovery algorithms.

可以看出无论在DNS、流量还是在混合事件形成的溯源图，本文提出的算法社群发现效果体现在模块度数值上都要更好。说明本文提出的算法更适APT攻击溯源类数据，能够较为准确地发现溯源图中的社群。

在进行模型验证前，首先将所有实验数据按照时间戳将每24小时划分为一个时间窗口，在攻击开始前、攻击过程中、攻击结束后共计12个时间窗口内数据进行了实验（修改：使用的数据较上一个版本更丰富）。之后基于确定的攻击行为数据，选择其中相关节点，分别在两个数据集上将节点数据标注为恶意，其对应时间戳内行为也为恶意。

基于上述三部分数据，分别使用攻击发生前的正常数据对DNS溯源图与网络流量溯源图进行溯源图社群划分，运行半监督KNN算法对未标注数据进行标注，最后使用RIPPER算法实现检测规则生成与数据分类。并按照0.75:0.25划分训练集与测试集，对模型进行测试。最后与使用相同数据模型的数据进行比较，结果如下（修改：在更广阔的数据上进行了实验，更新了实验数据）：

表7 DNS事件数据检测结果

Tab.7 DNS event data detection result

实验模型	精确率	召回率	F1值
本文模型	92.9%	92.7%	0.928
Unicorn[6]	90.6%	85.9%	0.882
H. Bian’s[17]	83.1%	81.2%	0.821

表8 网络流量事件数据检测结果

Tab.8 Flow event data detection result

实验模型	精确率	召回率	F1值
本文模型	93.6%	90.8%	0.922
Unicorn[6]	85.0%	87.6%	0.863
H. Bian’s[17]	81.4%	80.1%	0.807

由于一些模型对DNS与网络流量事件数据进行了混合，因此本文也进行了尝试将DNS事件数据与网络流量事件数据进行了混合，之后运行算法，得出的结果如下：

表9 混合事件数据检测结果

Tab.9 Mixed event data detection results

实验模型	精确率	召回率	F1值
本文模型	96.5%	96.8%	0.966
Zimba’s[9]	90.5%	90.5%	0.904
Hasan Cam’s[18]	94.2%	94.3%	0.942

结合上述结果可以看出，不论在DNS事件数据集、网络流量事件数据集还是二者混合数据集上，本文提出的模型的精确率，召回率与综合评判模型效果的F1值上均取得了更好的检测效果，说明本文提出的模型很好地平衡了检出率与误报率。

由于模型主要由社群发现、半监督KNN未标注数据标注与基于RIPPER算法的异常节点行为检测。三个部分组成，因此需要设计消融实验证明模型每个部分的的有效性。

首先对于社群发现算法而言，将提出的社群发现算法替换成较为通用的两种社群发现算法，在DNS与网络流量混合数据集下运行模型对比性能，结果如下：

表10 使用其他社群发现算法模型结果

Tab.10 Model results using other communities discover algorithmic.

实验模型	精确率	召回率	F1值
本文模型	96.5%	96.8%	0.966
基于Louvain算法进行社群发现	90.1%	92.3%	0.912
基于Leiden算法进行社群发现	92.4%	93.6%	0.930

在使用较为通用的社群发现算法后，模型效果下降，说明通用的社群发现算法对APT溯源图中包含的社群行为信息发现能力不如本文提出的APT溯源图社群发现算法。本文提出的APT溯源图社群发现算法更适用于APT溯源图场景。

最后不使用半监督KNN算法，只使用标注数据进行模型训练，实验结果如下：

表11 移除半监督KNN算法后模型结果

Tab.11 Model results after removing the semi-supervised KNN algorithm.

实验模型	精确率	召回率	F1值
本文模型	96.5%	96.8%	0.966
移除半监督学习	91.1%	90.2%	0.906

从结果可以看出，只使用标注数据的模型结果有所下降，因此可以得出在未标注的节点数据中存在一些APT活动相关的信息，检测模型需要有效利用这方面的信息，才能更好地发现APT攻击行为。

综合上述结果，可以证明对APT溯源图中的社群行为进行追踪能够取得较好的检测结果以及在未标注的数据中存在APT攻击行为相关信息能够帮助发现APT攻击相关行为，而本文针对这些信息设计模型，取得了良好的检测效果。

结论

本文以APT攻击行为检测为目标，使用溯源图作为检测载体。基于对APT不同阶段行为的研究，进行适应APT溯源图的社群发现算法设计，并采用半监督学习方法对未标注的系统事件数据，采用RIPPER算法进行检测取得了较好的效果。未来可以考虑扩展对APT不同阶段行为的研究，丰富扩展适应APT溯源图的社群发现算法。

[参考文献] (References)

[1] A. K. Sood and R. J. Enbody, "Targeted Cyberattacks: A Superset of Advanced Persistent Threats,"[J] in IEEE Security & Privacy, vol. 11, no. 1, pp. 54-61, Jan.-Feb. 2013.
[2] AM Juuso, A Takanen, K Kittilä, Proactive cyber defense: Understanding and testing for advanced persistent threats (APTs)[A], in: European Conference on Information Warfare and Security[C], ECCWS, 2013.
[3] Ghafir, Ibrahim & Prenosil, Vaclav. Prenosil, Advanced persistent threat attack detection : an overview[J], Int. J. Advancem. Comput. Netw. Secur. -IJCNS 4 (4) (2014) 50-54 .
[4] Singh, S., Sharma, P.K., Moon, S.Y. et al. A comprehensive study on APT attacks and countermeasures for future networks and communications: challenges and solutions.[J]Supercomput 75, 4543-4574 (2019).
[5] Zhenyuan Li, Qi Alfred Chen, Runqing Yang, Yan Chen, Wei Ruan,Threat detection and investigation with system-level provenance graphs: A survey[J],Computers & Security,Volume 106,2021,102282.
[6] X. Han, T. Pasquier, A. Bates, J. Mickens and M. Seltzer, "UNICORN: Runtime provenance-based detector for advanced persistent threats"[A], NDSS[C], 2020.
[7] S. M. Milajerdi, R. Gjomemo, B. Eshete, R. Sekar,V. Venkatakrishnan, HOLMES: Real-Time APT Detection through Correlation of Suspicious Information Flows[J], in: 2019 IEEE Symposium on Security and Privacy (SP), 2019, pp. 1137-1152.
[8] Satvat K, Gjomemo R, Venkatakrishnan V N. EXTRACTOR: extracting attack behavior from threat reports[J].2021 IEEE European Symposium on Security and Privacy (EuroS&P). IEEE, 2021: 598-615.
[9] Aaron Zimba, Hongsong Chen, Zhaoshun Wang, and Mumbi Chishimba. 2020. Modeling and detection of the multi-stages of Advanced Persistent Threats attacks based on semi-supervised learning and complex networks characteristics.[J] Future Generation. Computer. System. 106, (May 2020), 501-517.
[10] Blondel, Vincent D., et al. "Fast unfolding of communities in large networks."[J] Journal of statistical mechanics: theory and experiment 2008.10 (2008): P10008.
[11] Fortunato, Santo. (2010) "Community detection in graphs."[J] Physics reports 486 (3): 75-174.
[12] A. A. Nanavati et al., "Analyzing the Structure and Evolution of Massive Telecom Graphs,"[J] in IEEE Transactions on Knowledge and Data Engineering, vol. 20, no. 5, pp. 703-718, May 2008.
[13] Nicosia, Vincenzo, Giuseppe Mangioni, Vincenza Carchiolo and Michele Malgeri. "Extending the definition of modularity to directed graphs with overlapping communities."[J] Journal of Statistical Mechanics: Theory and Experiment 2009 (2008): P03024.
[14] Naoto Ozaki, Hiroshi Tezuka, Mary Inaba, "A Simple Acceleration Method for the Louvain Algorithm,"[J] International Journal of Computer and Electrical Engineering vol. 8, no. 3, pp. 207-218, 2016.
[15] Traag, V.A., Waltman, L. & van Eck, N.J. From Louvain to Leiden: guaranteeing well-connected communities[J]. Sci Rep 9, 5233 (2019).
[16] Kent, A.D. (2016) Cyber Security Data Sources for Dynamic Network Research[A]. In: Adams, N. and Heard, N., Eds., Security Science and Technology: Dynamic Networks and Cyber-Security[C], Vol. 1, World Scientific Publishing, Singapore, 37-65.
[17] H. Bian, T. Bai, M. A. Salahuddin, N. Limam, A. A. Daya and R. Boutaba, "Uncovering Lateral Movement Using Authentication Logs,"[J] in IEEE Transactions on Network and Service Management, vol. 18, no. 1, pp. 1049-1063, March 2021.
[18] Hasan C, "Model-Guided Infection Prediction and Active Defense Using Context-Specific Cybersecurity Observations,"[A] MILCOM 2019 - 2019 IEEE Military Communications Conference (MILCOM)[C], Norfolk, VA, USA, 2019, pp. 1-6.

作者简介：邵开平（1999年），男，主要研究基于网络流量的攻击行为检测、APT检测. E-mail: skp9982@163.com