软件学报  2022, Vol. 33 Issue (2): 683-698   PDF    
一种基于图模型的网络攻击溯源方法
黄克振1,2 , 连一峰1 , 冯登国1 , 张海霞1 , 吴迪3 , 马向亮4     
1. 中国科学院 软件研究所 可信计算与信息保障实验室, 北京 100190;
2. 中国科学院大学, 北京 100049;
3. 中国网络安全审查技术与认证中心, 北京 100020;
4. 清华大学 集成电路学院, 北京 100084
摘要: 随着信息技术的飞速发展, 网络攻击事件频发, 造成了日益严重的经济损失或社会影响. 为了减少损失或预防未来潜在的攻击, 需要对网络攻击事件进行溯源以实现对攻击者的挖掘追责. 当前的溯源过程主要依赖于人工完成, 效率低下. 面对日益增加的海量溯源数据和日趋全面的溯源建模分析维度, 亟需半自动化或自动化的网络攻击者挖掘方法. 提出一种基于图模型的网络攻击溯源方法, 建立网络攻击事件溯源本体模型, 融合网络攻击事件中提取的线索数据和威胁情报数据, 形成网络攻击事件溯源关系图; 引入图嵌入算法自动学习嵌有关联线索特征的网络攻击事件特征向量, 进而利用历史网络攻击事件特征向量训练SVM(support vector machine)分类器, 并基于SVM分类器完成网络攻击者的挖掘溯源; 最后, 通过实验验证了该方法的可行性和有效性.
关键词: 网络攻击事件    网络攻击者    溯源    网络攻击事件溯源    关系图    图嵌入    
Method of Cyber Attack Attribution Based on Graph Model
HUANG Ke-Zhen1,2 , LIAN Yi-Feng1 , FENG Deng-Guo1 , ZHANG Hai-Xia1 , WU Di3 , MA Xiang-Liang4     
1. Trusted Computing and Information Assurance Laboratory, Institute of Software, Chinese Academy of Sciences, Beijing 100190, China;
2. University of Chinese Academy of Sciences, Beijing 100049, China;
3. China Cybersecurity Review Technology and Certification Center, Beijing 100020, China;
4. School of Integrated Circuits, Tsinghua University, Beijing 100084, China
Abstract: With the rapid development of technologies such as computers and smart devices, cyber attack incidents happen frequently, which cause increasingly serious economic losses or reputation losses. In order to reduce losses and prevent future potential attacks, it is necessary to trace the source of cyber attack incidents to achieve accountability for the attackers. The attribution of cyber attackers is mainly a manual process by forensic analyst. Faced with increasing analysis data and analysis dimensions, semi-automated or automated cyber attackers mining analysis methods are urgently needed. This study proposes a graph model-based attacker mining analysis method for cyber attack incidents. This method first establishes an ontology model for cyber attack incident attribution, and then fuses clue data extracted from cyber attack incidents with various threat intelligence data to construct a cyber attack incidents attribution relationship graph. The graph embedding algorithm automatically learns the representation vector of cyber attack incidents, which embedded clue characteristics of cyber attack incidents, from the attribution relationship graph of cyber attack incidents. And then a classifier is trained with the historical cyber attack incidents representation vector, which classifies the cyber attack incident to one cyber attacker. Finally, the feasibility and effectiveness of the method are verified by experiments.
Key words: cyber attack incident    cyber attacker    attribution    cyber attack incident attribution    relation graph    graph embedding    

APT (advanced persistent threat)攻击多由具有国家背景的攻击组织发起, 通过向目标计算机系统投放特种木马, 以窃取国家机密信息、重要企业的商业信息、破坏基础设施等. 据不完全统计, 2019年上半年与2018年上半年相比, 国内外公布的APT攻击事件数量增长近5成[1], 导致越来越多的经济损失或名誉损失[2]. 为了减少网络攻击带来的损失和阻止未来潜在的攻击行为, 需要进行网络攻击溯源, 以追究攻击者或攻击组织的罪责[3].

Wheeler等人[4]将网络攻击溯源定义为“确定攻击者(或攻击者使用设备)的身份或位置的过程”. 根据溯源深度和粒度, 网络攻击溯源可分为攻击主机溯源、控制主机溯源、攻击者溯源、攻击组织溯源这4个级别[5]. 为了实现网络攻击溯源, 研究人员已从追踪回溯技术[6]、蜜罐技术[7]、数字取证技术[8]、网络取证技术[9]、恶意代码分析技术[10]、基于情报的溯源技术[11]等多方面开展了诸多研究. Allan等人[12]针对已有研究工作的性能、可靠性、扩展性、关联性、攻击身份识别、攻击意图挖掘等指标进行综合评价, 得出基于情报的溯源技术和恶意代码分析技术的效果要明显优于网络取证技术、数字取证技术、蜜罐技术和追踪回溯技术. 为了实现已知攻击者或攻击组织的溯源, 典型的方法是通过融合威胁情报和网络攻击事件线索数据, 具体分为多源异构数据融合和攻击者挖掘两部分.

● 在多源异构数据融合方面, 基于本体的数据融合是一种典型的方法. 当前网络安全领域的本体多以支持网络安全威胁情报共享为主. Saad等人[13]提出了一套适合网络取证调查的本体模型. Qamar等人[14]提出了一套支持威胁情报分析和共享的本体模型, 该模型可以从攻击者画像的角度支持网络攻击溯源分析. 但是, 上述模型对网络威胁情报信息、攻击者与攻击目标间存在的地缘政治关系等信息的融合力度不够. 针对现有方法的局限性, 本文基于本体融合的方法, 提出一套较全面的网络攻击事件溯源本体;

● 在攻击者挖掘方面, 由于网络中的僵尸主机、匿名代理服务器、洋葱路由、注册隐私制度等隐藏了攻击者的真实身份, 增加了网络攻击事件溯源难度[15], 需要进一步增加溯源的分析维度[3](如攻击者与攻击目标间的国家关系、攻击目标的行业特征等等); 同时, IoT (Internet of Things)、智能设备等技术的发展也为攻击者提供了更多的攻击对象和利用跳板, 增加了网络攻击事件溯源过程中需要挖掘分析的数据[3]. 分析维度和数据量的增加, 进一步加大了网络攻击者挖掘分析的工作量, 亟需自动化辅助的分析方法[16], 以提高分析效率. 但是, 已有的研究工作存在分析特征或推理规则依赖专家经验[3, 17]的问题. 针对该局限性, 本文提出通过挖掘网络攻击事件与攻击者使用的攻击工具、攻击方法、攻击模式、基础设施等特征间存在的隐含关系进行攻击溯源的思路.

综上所述, 本文提出一种基于图模型的网络攻击溯源方法.

● 首先构建网络攻击事件溯源本体模型, 融合事件中挖掘的线索数据与各种威胁情报数据形成溯源关系图;

● 然后引入图嵌入算法, 从溯源关系图中学习网络攻击事件的关联特征向量;

● 利用历史网络攻击事件的关联特征向量训练SVM分类器, 进而使用SVM分类器完成网络攻击者的挖掘分析.

本文的主要贡献有:

(1) 建立了面向网络攻击事件的溯源本体模型, 为线索数据和威胁情报数据的融合提供了基础框架;

(2) 引入图嵌入算法, 建立用于描述网络攻击事件隐含关系的关联特征向量, 克服分析特征和推理规则依赖专家经验的局限性;

(3) 利用机器学习算法自主学习生成攻击事件特征向量的分类判定模型, 实现自动化辅助的攻击溯源.

1 基于图模型的网络攻击溯源框架

网络攻击溯源需要安全专家首先收集攻击活动中遗留的线索数据, 与已知攻击者、历史攻击事件和各种地缘政治等相关数据进行关联分析, 挖掘多维数据间的关系, 从而判断可能的攻击者或攻击组织. 图数据结构适用于描述多维数据间的关系, 故本文将网络攻击者挖掘分析相关的多维数据融合形成网络攻击事件溯源关系图.

基于图的分析能够挖掘高价值的分析结果(如潜在的关系等), 但是已有的方法大多存在高计算资源和空间资源浪费的局限性[18], 而图嵌入算法能够在保留图信息的前提下将图转化为低维空间特征向量, 进而利用低维空间特征向量进行高效的图挖掘分析.

当前, 图嵌入算法主要分为基于因式分解的方法、基于随机游走的方法和基于深度学习的方法这三大类. 其中, 根据南加州大学的Goyal等人在参考文献[20]的分析结果: 在节点分类方面, 由于基于随机游走的node2vec[19]方法能够较好地挖掘图节点间的同质性(即节点间存在边)和结构对等性(即节点间存在共同的连接节点), 故其与基于因式分解的方法和基于深度学习的方法相比具有明显的优势. 而网络攻击事件的溯源问题可以转化为网络攻击事件面向攻击者的分类问题: 同一攻击者发起的不同的网络攻击事件在攻击方法、攻击工具、攻击动机、攻击目标等方面具有相似性, 如果将网络攻击事件及其相关的攻击方法、攻击工具、攻击动机、攻击目标等转化为图模型, 那么表示某网络攻击事件的节点与表示攻击者在此网络攻击事件中使用的攻击方法、攻击工具、攻击动机、攻击目标等的节点间就具有同质性(即表示网络攻击事件的节点与表示攻击方法、攻击工具等的节点间存在边), 而同一攻击者发起的不同的网络攻击事件就存在结构对等性(即表示不同网络攻击事件的节点间存在共同的连接节点, 这些共同的连接节点表示不同攻击事件中使用的相同攻击方法、攻击工具、攻击动机等). 故本文引入基于随机游走的图嵌入算法学习网络攻击事件的关联特征向量, 进而将网络攻击事件面向攻击者进行分类, 辅助完成攻击事件的溯源分析.

图 1所示, 网络攻击溯源包含源数据获取、网络攻击事件溯源关系图生成和攻击者挖掘这3个阶段.

图 1 基于图模型的网络攻击事件溯源框架

1) 在源数据获取阶段, 主要完成网络安全威胁情报和网络攻击事件线索数据两类数据的获取: 网络安全威胁情报数据主要是指从Twitter等社交网站、FireEye等威胁情报源采集攻击者相关威胁情报(如已知攻击者、攻击者动机、攻击工具、基础设施、攻击方法和攻击模式等)和历史网络攻击事件相关的威胁情报(如历史攻击事件涉及的攻击目标、攻击者、攻击目标与攻击者所属区域间的地缘政治关系、恶意IP地址、恶意域名、恶意邮件地址、攻击工具、攻击工具利用的脆弱性、攻击方法等); 网络攻击事件线索数据主要是指从网络攻击目标的流量日志、告警日志、主机日志等数据源中利用恶意代码分析、数字取证和网络取证调查等手段分析提取的攻击者使用的攻击工具指纹、攻击IP、攻击域名等线索数据;

2) 在网络攻击事件溯源关系图生成阶段, 首先对网络威胁情报和网络攻击事件线索数据进行数据清洗和标准化处理; 然后利用基于词向量的本体映射方法与基于词典的本体映射方法相结合完成本体映射; 最后利用字符串的编辑距离和字符串相似性对标准化后的数据进行实体对齐, 实现多源异构数据融合, 形成网络攻击事件溯源关系图;

3) 在攻击者挖掘阶段, 引入基于随机游走的图嵌入算法, 在网络攻击事件溯源关系图上随机游走, 生成网络攻击事件溯源实体序列(见定义11), 基于该实体序列生成网络攻击事件的关联特征向量, 利用历史网络攻击事件的特征向量训练SVM分类器, 并使用SVM分类器实现对已知攻击者/组织的自动挖掘.

下文分别对网络攻击事件溯源本体模型、基于图嵌入的网络攻击事件自动特征提取算法和基于SVM分类器的攻击者判定算法进行详细阐述.

2 网络攻击事件溯源本体模型 2.1 定义

定义1(网络攻击事件溯源局部本体(LocalOntology)). 网络攻击事件溯源分析过程中涉及网络安全威胁情报、网络攻击事件、地缘政治等领域, LocalOntology是这些特定领域的概念及概念间关系的形式化表示. 即LocalOntology=〈C, R〉, 其中, C表示概念, R表示概念间的关系.

定义2(网络攻击事件溯源本体(CyberAttributionOntology)). 描述网络攻击事件溯源相关的概念以及概念间关系的形式化表示, 即CyberAttributionOntology=〈Classes, Relations〉, 其中, Classes表示概念, Relations表示概念间的关系.

定义3(网络攻击事件溯源实体(CyberAttributionEntity)). 这是指网络攻击事件溯源本体中概念的实例, 如实体APT29是概念Attacker的实例; 同理, 使用LocalOntologyEntity表示网络攻击事件溯源局部本体的实体.

定义4(网络攻击事件溯源实体间关系(CyberAttributionRelations)). 这是指网络攻击事件溯源本体中概念间关系, 即CyberAttributionRelationsRelations. 同理, 使用CyberAttributionRelations表示网络攻击事件溯源局部本体的实体间关系.

定义5(网络攻击事件溯源元数据(MetaData)). 这是指用于攻击溯源的网络安全威胁情报和事件线索数据的最小数据单元, 使用六元组MetaData=〈entity1, r, entity2, ontologyType, c1, c2〉表示, 其中, entity1, entity2LocalOntologyEntity, r=(c1, c2)∈LocalOntologyRelations, OntologyTypeLocalOntology, c1, c2C.

定义6(网络攻击事件溯源关系图(G)). 使用无向图描述网络攻击事件溯源实体及实体间的关系, 即G=(V, E), 其中, VCyberAttributionEntity的集合, ECyberAttributionRelations的集合.

定义7(网络攻击事件溯源本体映射(OntologyMap)). 如图 2所示, 描述网络攻击事件溯源局部本体LocalOntology向网络攻击事件溯源本体CyberAttributionOntology映射的方法, 即OntologyMap: LocalOntologyCyberAttributionOntology. 具体来说, 假设存在c1, c2C, (c1, c2)∈R, class1, class2Classes, (class1, class2)∈ Relations, SimilarSemantic(c1, class1)=True, SimilarSemantic(c2, class2)=True, 则c1class1, c2class2, (c1, c2)∈(class1, class2), 其中, SimilarSemantic(c,class)={True, if c, class False, else,概念间的语义是否相似根据词向量和词典的方法判断.

图 2 网络攻击事件溯源本体映射和网络攻击事件溯源实体对齐

定义8(网络攻击事件溯源实体对齐(EntityAlignment)). 如图 2所示, 描述网络攻击事件溯源元数据MetaData中的实体向网络攻击事件溯源关系图G中的实体转化的过程.

具体来说, 如果vV, SimilarSemantic(v, MetaData.entityi)=True, 则MetaData.entityi=v, 其中, i=1, 2.

2.2 本体模型

本文提出的网络攻击事件溯源本体模型如图 3所示, 图中节点标签表示概念, 边的标签表示概念间的关系(见定义2). 网络攻击事件溯源本体以网络攻击事件(cyber incident)为主要分析对象. 网络攻击事件是指在某个时间点或时间段(time), 有特定动机(motivation)的网络攻击者(attacker), 在某些政治事件(GeoIncident)的刺激下, 为达成某种目的(goal), 利用一系列攻击工具(tools)、攻击方法(means)、基础设施(IOC)攻陷攻击目标(target)的信息资产(asset), 并产生一定后果(consequences)的安全事件, 其中, Tools针对Asset存在的漏洞或弱点(exploit target); AttackerGeoIncidentTargetToolsMeans中均可提取与地缘政治相关的本体(GeoOntology)辅助网络攻击事件溯源.

图 3 网络攻击事件溯源本体模型

网络攻击事件溯源本体使用二元组表示: CyberAttributionOntology=〈Classes, Relations〉表示, 其中,

Classes表示网络攻击事件溯源本体中的概念, Classes∈{Cyber Incident, Time, Motivation, Attacker, GeoIncident, Goal, IOC, Means, Tools, Target, Asset, Exploit Target, Consequences, Area, TimeZone, Coordinates, Language};

Relations表示网络攻击事件溯源本体中各个概念之间的关系, Relations∈{HappensTime, RelatesGeoIncident, HasAttacker, HasGoal, FindTools, FindIoc, FindMeans, HasTarget, RelatesAsset, GausesConsequences, RelateExT, …, CompromisesAsset}.

由于网络攻击事件溯源本体根据网络攻击事件的事前、事中、事后的关键关联因素进行构建, 故其对网络攻击事件事前的触发因素中暗含的攻击者与攻击目标间的地缘政治、事中攻击者使用的网络安全威胁情报、事后攻击目标发现的网络安全威胁情报等线索具有较好的融合力度.

3 网络攻击事件溯源算法 3.1 基于图嵌入的网络攻击事件自动特征提取算法(GECEFA)

定义9(1阶关联实体集(CyberAttributionEntityv1)). 与网络攻击事件溯源实体v存在直接关联的网络攻击事件溯源实体的集合, 即:

(u, v)∈E, uCyberAttributionEntityv1图 4(b)所示, Malware1CyberAttributionEntity1CyberIncident1,即有: Malware1是Cyber Incident1的1阶关联实体, 表示Malware1是Cyber Incident1的直接关联特征.

图 4 网络攻击事件溯源实体特征向量生成流程

定义10(k阶关联实体集(CyberAttributionEntitykv)). 与网络攻击事件溯源实体v存在间接关联的网络攻击事件溯源实体的集合, 即: CyberAttributionEntityk1vCyberAttributionEntityk1u,

(CyberAttributionEntityk1uCyberAttributionEntityk1v)CyberAttributionEntitykv,

其中, 1 < kN, 如图 4所示, IP1CyberAttributionEntity2Cyber Incident1,IP1为Cyber Incident1的2阶关联实体, 表示IP1是Cyber Incident1的间接关联特征.

定义11(网络攻击事件溯源实体序列(AttributionEntityListv)). 表示以v为起点, 在网络攻击事件溯源关系图中随机游走产生的实体集合. 具体来说, 如果G中存在长度为l的路径walk=〈v0e0v1e1el-1vl〉, 则:

v0v1...vlAttributionEntityListv0,

其中, 对于所有的i < l, 均有ei=(vi, vi+1)∈E. 如图 4中以Cyber Incident1为起点的长度为5的一组网络攻击事件溯源实体序列为〈Cyber Incident1, Target1, Asset1, Malware1, Attacker1〉, 该实体序列包含了Cyber Incident1的1阶关联实体(Target1, Malware1)和2阶关联实体(Asset1, Attacker1)

定义12(网络攻击事件溯源实体的特征向量(Vectorv)). 嵌入网络攻击事件溯源实体v的一阶关联实体集(CyberAttributionEntity1v)或k阶关联实体集(CyberAttributionEntitykv)信息的数学向量, 即Vectorv=[x1x2x3xd], 其中, xiR, 0 < id≤|V|, 而网络攻击溯源实体的特征向量提取过程即是寻找函数f: vVectorv的过程.

当前, 网络攻击事件在分析过程中, 需要依赖专家经验从线索数据中挖掘价值较高的直接特征和潜在特征, 以备后续的溯源过程; 而网络攻击事件v发生时, 与网络攻击事件相关的直接特征和潜在特征会以一定的概率同时存在(Pr(AttributionListv|v)), 那么可将网络攻击事件v的特征提取过程和网络攻击事件v向量化过程同时进行, 即转化为maxfvVlogPr(AttributionListv|f(v)).即: 以f(v)表示网络攻击事件v的特征向量时, 其相关的特征能以极大的概率共存)的优化问题.

根据文献[19], 可将上述优化问题简化为maxfuV[log(vVexp(f(u)f(v)))+θAttributionListuf(θ)f(u)],进而利用随机梯度下降求解f.

基于上述分析, 本文设计了如算法1所示的基于图嵌入的网络攻击事件自动特征提取算法(GECEFA): 首先, 融合多源异构数据(如图 4(a)所示)形成网络攻击事件溯源关系图(如图 4(b)所示); 然后, 在溯源关系图上随机游走产生网络攻击事件溯源实体序列(如图 4(c)所示), 进而基于溯源实体序列, 利用随机梯度下降算法求解上述优化问题中的函数f; 最后, 利用f计算网络攻击事件溯源实体的特征向量(如图 4(d)所示).

算法1的第2行将源数据获取阶段收集的源数据信息incidentInfo经过数据预处理, 转化为标准的MetaData形式; 第3-8行将元数据集中的数据经过本体映射和实体对齐融合入已有的网络攻击事件溯源关系图g中; 第9-15行在图g中随机游走, 形成网络攻击事件溯源实体序列集attributionEntityLists; 第16行利用随机梯度下降算法求解网络攻击事件溯源实体的特征向量提取函数f; 第17-21行将图g中各个网络攻击事件溯源实体的特征向量存入字典变量nodesVectors中, 并作为返回值返回. 该算法的时间复杂度为O(|V|d), 其中, |V|表示网络攻击事件溯源关系图g中节点的个数, d表示输出特征向量的维度dim.

算法1. 基于图嵌入的网络攻击事件自动特征抽取算法(GECEFA).

输入: 历史网络攻击事件溯源关系图g; 网络攻击事件incident; 源数据信息incidentInfo; 特征向量的维度dim; 每个实体的网络攻击事件溯源实体序列数量attributionEntityListNum; 网络攻击事件溯源实体序列长度attributionEntityListLen; 窗口大小winSize;

输出: 网络攻击事件溯源关系图g; 网络攻击事件溯源实体的特征向量incidentVec.

1 gecefa(g, incident, incidentInfo, dim, attributionEntityListNum, attributionEntityListLen, winSize):

2 metaList=preProcess(incidentInfo) /*数据预处理*/

3 for meta in metaList: /*对每个元数据进行融合*/

4      class1, class2=OntologyMap(meta.ontologyType, meta.c1, meta.c2, CyberAttributionOntology)

5      entity1=EntityAlignment(entity1, g)

6      entity2=EntityAlignment(entity2, g)

7      g. add_edge(g.add_node(entity1), g.add_node(entity2), (class1, class2))

8 end for

9 attributionEntityLists=[]

10 for iter=1 to attributionEntityListNum:

11      for u in g.V:

12      attributionEntityList=RandomWalk(g, u, attributionEntityListLen) /*随机游走产生溯源实体序列*/

13          attributionEntityLists.append(attributionEntityList)

14     end for

15 end for

16 f=StochasticGradientDescent(attributionEntityLists, dim, winSize)

17 nodesVectors={}

18 for v in g.V:

19      nodesVectors[v.value]=f(v)

20 end for

21 return g, nodesVectors

3.2 基于SVM分类器的网络攻击者判定算法(SVM-CADA)

网络攻击事件攻击者的挖掘过程可进一步转化为k分类问题, 即对网络攻击事件Cyber Incident, 寻找函数δ: δ(f(Cyber Incident))→y, y∈(Attacker1, Attacker2, …, Attackerk), Attackeri(其中, 1≤ik)表示已知攻击者. SVM分类的基本思想是: 构造一个决策超平面将数据点分开, 使数据点与平面距离最远. SVM通过引入结构风险最小化原则、核函数思想, 可将非线性的问题转化为高维线性可分的问题, 使得SVM在处理有限样本、非线性高维模式中有广泛的应用. 单一的SVM分类器解决的是二分类问题, 基于一对多的原则可构建k个SVM分类器解决k分类问题. 本文设计了如算法2所示的基于SVM分类器的网络攻击者判定算法, 利用GECEFA获取欲溯源网络攻击事件及历史网络攻击事件的特征向量, 然后使用历史攻击事件的特征向量学习SVM分类器, 以挖掘网络攻击事件与网络攻击者间的分类关系δ, 最后使用学习完成的分类器自动判定欲溯源网络攻击事件的攻击者.

算法2的第2行调用算法1(GECEFA算法), 将网络攻击事件incident及已提取的攻击事件源数据(incidentInfo)融入已有的网络攻击事件溯源关系图g中, 并提取网络攻击事件溯源实体的特征向量, 存入字典nodesVectors; 第3-13行从图g中搜寻网络攻击者列表attackerList, 及每个攻击者发起的历史网络攻击事件列表historyIncidentList; 第14-16行从网络攻击事件溯源实体的特征向量字段nodesVectors中提取历史网络攻击事件的特征向量, 存入变量historyIncidentVectorList中; 第17-19行训练SVM分类器模型, 以挖掘网络攻击事件间存在的潜在特征, 并将学习结果用于挖掘网络攻击事件incident的攻击者attacker. 该算法的时间复杂度为O(|V|2), 其中, |V|表示网络攻击事件溯源关系图g中节点的个数.

算法2. 基于SVM分类器的网络攻击者判定算法(SVM-CADA).

输入: 已有网络攻击事件溯源关系图g; 网络攻击事件incident; 网络攻击事件源数据incidentInfo; 输出特征向量的维度dim; 每个节点的路径数量attributionEntityListNum; 路径长度attributionEntityListLen; 窗口大小winSize;

输出: 攻击者或攻击组织attacker.

1 svm-cada(g, incident, incidentInfo, dim, attributionEntityListNum, attributionEntityListLen, winSize):

2 g, nodesVectors=gecefa(g, incident, incidentInfo)

3 for v in g.V:

4      if v.type==“Cyber Incident”:

5          CyberAttributionEntityv1=getNeighborhoodNodes(v)

6          for u in CyberAttributionEntity1v:

7              if u.type==“Attacker”:

8                  historyIncidentList.append(v.value)

9                  attackerList.append(u.value)

10              end if

11          end for

12      end if

13 end for

14 for inc in historyIncidentList:

15 historyIncidentVectorList.append(nodesVectors[inc])

16 end for

17 svmModel=svmModelTrain(historyIncidentVectorList, attackerList)

18 attacker= svmModel.predict(nodesVectors[incident.name])

19 return attacker

4 攻击溯源实验验证 4.1 实验场景设计

为了验证基于图模型的网络攻击溯源方法的可行性和有效性, 本文设计了典型实验场景, 从MITRE、FireEye和Twitter等数据源利用主体爬虫采集网络攻击者(attacker)、攻击方法(means)、攻击工具(tools)、历史网络攻击事件(cyber incident)、地缘政治事件(GeoIncident)数据. 利用如图 5所示的实验拓扑环境, 其中,

图 5 攻击溯源实验网络拓扑图

Area1、Area2和Area3表示3个不同的地理区域: Area1区域有攻击者Attacker1、Attacker2; Area2区域有攻击目标Target1; Area3区域有攻击目标Target2;

IP1和IP2是不属于3个区域的C2(command and control)服务器. 如表 1所示, 模拟典型的两类攻击者, 其中, Attacker1代表擅长基于钓鱼邮件和零日漏洞发起攻击的APT28, Attacker2代表擅长基于钓鱼邮件和历史漏洞发起攻击的Lazarus.

表 1 攻击溯源实验模拟攻击者

4.2 网络攻击事件特征向量提取实验

Attacker1和Attacker2分别针对攻击目标Target1和Target2发起攻击, 对应的网络攻击事件分别命名为Cyber Incident1和Cyber Incident2, 攻击数据流如图 6(a)图 6(b)所示.

图 6 Cyber Incident1和Cyber Incident2数据流

具体来说, Attacker1利用IP1 C2服务器发送钓鱼邮件, Target1打开钓鱼邮件附件触发基于Microsoft Word零日漏洞(CVE-2017-2063)实现的恶意代码Seduploader执行, Seduploader从IP1服务器中下载后门工具X-Agent, 进而X-Agent将Target1中的敏感信息发送至IP1的邮箱中; Attacker2利用IP2 C2服务器发送钓鱼邮件, Target2打开钓鱼邮件附件触发基于Adobe Pdf漏洞(CVE-2010-2883)实现的恶意代码Asruex, Asruex从IP2服务器中下载勒索病毒WannaCry并执行.

根据网络攻击事件(Cyber Incident 1和Cyber Incident 2)中分析提取的目标探测方法(Spearphishing Attachment)、攻击目标(Target1和Target2)、攻击工具(Seduploader、Asruex、X-Agent和WannaCry)、攻击目的(Steal Sensitive Information和Ransom)、利用漏洞信息(CVE-2017-2063和CVE-2010-2883)等攻击线索信息, 结合表 1Attacker1及Attacker2的攻击者威胁情报, 按照网络攻击事件溯源本体进行本体映射和实体对齐, 形成如图 7所示的溯源关系图.

图 7 攻击溯源实验关系图

为了验证本文算法的特征提取能力, 我们首先将网络攻击事件与网络攻击者间的直接关联关系删除(如图 7中“--”虚线所示), 尝试利用基于图嵌入的网络攻击事件自动特征提取算法生成网络攻击事件及攻击者的各个溯源实体特征向量(如表 2所示, 其中, GECEFA算法核心输入参数依据文献[19]设定为dim=20, attributionEntityListNum=10, attributionEntityListLen=80, winSize=10), 验证其是否能够发现攻击事件与攻击者间的隐含关联关系.

表 2 Cyber Incident1溯源实体特征向量示例

计算攻击事件特征向量与攻击者间的皮尔森相关系数(Cov表示协方差, σ表示标准差):

ρX,Y=Cov(X,Y)σXσY (1)

计算攻击事件特征向量与攻击者间的距离相关系数(dCov表示距离协方差, dVar表示距离方差):

dCor(X,Y)=dCov(X,Y)dVar(X)dVar(Y) (2)

利用公式(1)和公式(2)分别测试攻击事件特征向量与攻击者的不同画像维度相关性(见表 3), 可以看出: Cyber Incident1与Attacker1的攻击动机、攻击目标区域、攻击工具、利用漏洞的皮尔森相关系数分别为0.996、0.963、0.962、0.984, 均高于Cyber Incident1与Attacker2的皮尔森相关系数0.762、0.582、0.585、0.672; Cyber Incident1与Attacker1的攻击动机、攻击目标区域、攻击工具、利用漏洞的距离相关系数分别为0.989、0.925、0.926、0.966, 均高于Cyber Incident1与Attacker2的距离相关系数的0.497、0.299、0.304、0.391. 同理, Cyber Incident2与Attacker2的攻击动机、攻击目标区域、攻击工具、利用漏洞的相关系数也均高于Cyber Incident2与Attacker1的各项相关系数.

表 3 网络攻击事件特征向量与攻击者的相关系数实验结果

由上述实验结果可以得出, 基于图嵌入的网络攻击事件自动特征提取算法能够挖掘网络攻击事件与网络攻击者在攻击动机、攻击目标区域、攻击工具、利用漏洞等特征间的关联关系.

为了验证网络攻击事件溯源本体模型对地缘政治的融合能力, 首先假设Area1和Area2间存在地缘政治冲突; 然后利用网络攻击事件溯源本体模型进行数据融合, 在Area1和Area2间出现地缘政治冲突关系(如图 7中“...”点线虚线所示); 最后, 与上述实验类似, 利用基于图嵌入的网络攻击事件自动特征提取算法生成网络攻击事件及攻击者的各个溯源实体特征向量, 并利用式(1)和式(2)计算网络攻击事件与目标区域的相关性(见表 4). 由表 3表 4可以看出: 在融合了地缘政治冲突关系后, Cyber Incident1与Area2的皮尔森相关系数0.985高于未考虑地缘政治冲突关系的皮尔森相关系数0.963, 而Cyber Incident1与Area3的皮尔森相关系数0.435低于未考虑地缘政治冲突关系的皮尔森相关系数0.540; 距离相关系数类似, 也出现了相应的增加和减少. 因Cyber Incident2的攻击者也属于Area1区域, 故其与Area2的相关度出现小幅度增加. 由此可以得出, 本文提出的网络攻击事件溯源本体模型在融合地缘政治关系和提取地缘政治隐含关系方面具有一定的优势.

表 4 网络攻击事件特征向量与目标区域的相关系数实验结果

4.3 APT攻击事件溯源分析实验

为了进一步验证本文方法的有效性和准确性, 我们首先采集2019年上半年针对我国发起攻击较多的APT32(海莲花)、APT37(Group123)和污水(MuddyWater)这3个攻击组织[1]的威胁情报数据和历史攻击事件(见表 5); 然后基于采集的数据集进行扩展, 将各个攻击者常用的攻击方法(means)、攻击工具(tools)、拥有基础设施(IOC)等按照杀伤链各个阶段进行分类; 从分类结果中按杀伤链各个阶段随机抽取攻击方法、攻击工具和基础设施构建模拟攻击杀伤链, 与已有的攻击目标、攻击动机等因素随机结合, 生成与已有攻击事件相同比例的模拟攻击事件, 由此得到的真实历史攻击事件和模拟攻击事件分布情况见表 5.

表 5 网络攻击数据集

针对上述数据集, 本文首先利用网络攻击事件溯源本体模型进行数据融合, 形成网络攻击溯源关系图(如图 8所示), 并存储于Neo4j图形数据库, 利用基于图嵌入的网络攻击事件自动特征提取算法(GECEFA, 算法1), 在图 8所示的网络攻击溯源关系图中随机游走生成如表 6所示的网络安全实体序列, 进而生成各个历史事件的特征向量(表 7给出了其中APT37对应的特征向量示例, 其中, GECEFA算法核心输入参数依据文献[19]设定为dim=128, attributionEntityListNum=10, attributionEntityListLen=80, winSize=10).

图 8 网络攻击溯源关系图示例

表 6 网络安全实体序列示例

表 7 APT37历史攻击事件特征向量示例

然后基于交叉验证法[21], 分别使用支持向量机(support vector machines, SVM)、k近邻(k-nearest neighbor, KNN)、决策树(decision tree)这3种分类器进行攻击者的判定, 并依据准确率[22]、精确率[22]、召回率[23]F1分数[24]及ROC曲线[25]等指标评价模型. 挖掘结果如表 8图 9所示, 其中, SVM分类器的准确率达到了0.952, ROC曲线中AUC(area under curve)值达到0.995, 优于文献[17]中提出的方法.

表 8 攻击者挖掘分析结果

图 9 SVM、KNN、Decision Tree的ROC曲线

由此可以看出: 本文提出的算法可自动提取网络攻击事件的关联特征, 充分利用了攻击事件的多维度关联信息, 通过SVM分类器实现针对网络攻击者的判定, 从而达到攻击溯源的目的.

5 结语

本文针对当前网络攻击溯源工作过度依赖人工分析的局限性, 提出了一种基于图模型的网络攻击溯源方法: 建立网络攻击事件溯源本体模型, 融合攻击事件线索数据与威胁情报, 形成网络攻击事件溯源关系图; 利用基于随机游走的图嵌入算法, 从溯源关系图中自动提取网络攻击事件的关联特征, 形成网络攻击事件特征向量; 引入机器学习分类器, 通过对网络攻击者的挖掘分析, 判断攻击事件与攻击者之间的归属关系, 从而实现网络攻击溯源. 本文根据实际的APT攻击组织数据, 构造了测试数据和实验环境, 对本文提出的本体模型、特征提取算法和攻击者判定算法的可行性及有效性进行了验证.

后续研究工作包括: 进一步细化网络攻击链各个阶段的特点、网络攻击组织随着时间和技术积累攻击手段的演进过程等因素; 并基于攻击链各个阶段的依赖性和时间性的考虑, 可在图模型的基础上引入LSTM等能够提取依赖性因素和时间性因素的模型, 以进一步优化模型.

参考文献
[1]
Security T. Global advanced persistent threat research report for the first half of 2019. 2020 (in Chinese). https://s.tencent.com/ research/report/762.html
[2]
Cyber Security Observatory. Top 5 cybersecurity facts, figures and statistics for 2017. 2020. https://www.cybersecobservatory.com/2017/06/15/top-5-cybersecurity-facts-figures-statistics-2017/
[3]
Karafili E, Wang L, Lupu EC. An argumentation-based approach to assist in the investigation and attribution of cyber-attacks. arXiv Preprint arXiv: 1904.13173, 2019.
[4]
Wheeler DA, Larsen GN. Techniques for cyber attack attribution. Technical Report, Institute for Defense Analyses, 2003. https://apps.dtic.mil/sti/pdfs/ADA468859.pdf
[5]
Cohen D, Narayanaswamy K. Attack attribution in non-cooperative networks. In: Proc. of the 5th Annual IEEE SMC Information Assurance Workshop. IEEE, 2004. 436-437.
[6]
Kuznetsov V, Sandström H, Simkin A. An evaluation of different ip traceback approaches. In: Proc. of the Int'l Conf. on Information and Communications Security. Berlin, Heidelberg: Springer, 2002. 37-48.
[7]
Dacier M, Pham VH, Thonnard O. The WOMBAT attack attribution method: Some results. In: Proc. of the Int'l Conf. on Information Systems Security. Berlin, Heidelberg: Springer, 2009. 19-37.
[8]
Ahmed I, Obermeier S, Naedele M, et al. Scada systems: Challenges for forensic investigators. Computer, 2012, 45(12): 44-51. [doi:10.1109/MC.2012.325]
[9]
Mahmood AN, Leckie C, Hu J, et al. Network traffic analysis and SCADA security. In: Handbook of Information and Communication Security. Berlin, Heidelberg: Springer, 2010. 383-405.
[10]
Falliere N, Murchu LO, Chien E. W32.stuxnet dossier. White Paper, Symantec Corp. Security Response, 2011, 5(6): 29. https://www.cs.unh.edu/~it666/reading_list/ZeroDay/w32_stuxnet_dossier.pdf
[11]
Carr J. Inside Cyber Warfare: Mapping the Cyber Underworld. O'Reilly Media, Inc., 2011.
[12]
Cook A, Nicholson A, Janicke H, et al. Attribution of cyber attacks on industrial control systems. Industrial Networks and Intelligent Systems, 2016, 3(7): 1-15. https://eudl.eu/doi/10.4108/eai.21-4-2016.151158
[13]
Saad S, Traore I. Ontology-based intelligent network-forensics investigation. In: Proc. of the SEDE. 2010. 313-319.
[14]
Qamar S, Anwar Z, Rahman MA, et al. Data-driven analytics for cyber-threat intelligence and information sharing. Computers & Security, 2017, 67: 35-58. https://www.sciencedirect.com/science/article/pii/S0167404817300287
[15]
Boebert WE. A survey of challenges in attribution. In: Proc. of the Workshop on Deterring CyberAttacks. 2010. 41-54.
[16]
Liu CG, Fang BX, Liu BX, et al. A hierarchical model of targeted cyber attacks attribution. Journal of Cyber Security, 2019, 4(4): 1-18(in Chinese with English abstract). https://www.cnki.com.cn/Article/CJFDTOTAL-XAXB201904001.htm
[17]
Noor U, Anwar Z, Amjad T, et al. A machine learning-based FinTech cyber threat attribution framework using high-level indicators of compromise. Future Generation Computer Systems, 2019, 96: 227-242. [doi:10.1016/j.future.2019.02.013]
[18]
Cai H, Zheng VW, Chang KCC. A comprehensive survey of graph embedding: Problems, techniques, and applications. IEEE Trans. on Knowledge and Data Engineering, 2018, 30(9): 1616-1637. [doi:10.1109/TKDE.2018.2807452]
[19]
Grover A, Leskovec J. node2vec: Scalable feature learning for networks. In: Proc. of the 22nd ACM SIGKDD Int'l Conf. on Knowledge Discovery and Data Mining. ACM, 2016. 855-864.
[20]
Goyal P, Ferrara E. Graph embedding techniques, applications, and performance: A survey. Knowledge-based Systems, 2018, 151: 78-94. [doi:10.1016/j.knosys.2018.03.022]
[21]
Wikipedia. Cross-validation (statistics). 2020. https://en.wikipedia.org/wiki/Cross-validation_(statistics)
[22]
Wikipedia. Accuracy and precision. 2020. https://en.wikipedia.org/wiki/Accuracy_and_precision
[23]
Wikipedia. Precision and recall. 2020. https://en.wikipedia.org/wiki/Precision_and_recall
[24]
Wikipedia. F1 score. 2020. https://en.wikipedia.org/wiki/F1_score
[25]
Wikipedia. Receiver operating characteristic. 2020. https://en.wikipedia.org/wiki/Receiver_operating_characteristic
[1]
腾讯安全. 全球高级持续性威胁(APT)2019年上半年研究报告. 2020. https://s.tencent.com/research/report/762.html
[16]
刘潮歌, 方滨兴, 刘宝旭, 等. 定向网络攻击追踪溯源层次化模型研究. 信息安全学报, 2019, 4(4): 1-18. https://www.cnki.com.cn/Article/CJFDTOTAL-XAXB201904001.htm
一种基于图模型的网络攻击溯源方法
黄克振 , 连一峰 , 冯登国 , 张海霞 , 吴迪 , 马向亮