带你读 AI 论文丨 RAID2020 Cyber Threat Intelligence Modeling GCN
摘要:本文提出了基于异构信息网络(HIN, Heterogeneous Information Network)的网络威胁情报框架——HINTI,旨在建模异构 IOCs 之间的相互依赖关系,以量化其相关性,对 CTI 进行建模和分析。
本文分享自华为云社区《[论文阅读] (07) RAID2020 Cyber Threat Intelligence Modeling GCN》,作者:eastmount。
原文作者:Jun Zhao, Qiben Yan, Xudong Liu, Bo Li, Guangsheng Zuo
原文标题:Cyber Threat Intelligence Modeling Based on Heterogeneous Graph Convolutional Network
原文链接:https://www.usenix.org/system/files/raid20-zhao.pdf
发表会议:RAID 2020 / CCF B
1、摘要
网络威胁情报(CTI,Cyber Threat Intelligence)已在业界被广泛用于抵御流行的网络攻击,CTI 通常被看作将威胁参与者形式化的妥协指标(IOC)。然而当前的网络威胁情报(CTI)存在三个主要局限性:
IOC 提取的准确性低
孤立的 IOC 几乎无法描述威胁事件的全面情况
异构 IOC 之间的相互依存关系尚未得到开发,无法利用它们来挖掘深层次安全知识
本文提出了基于异构信息网络(HIN, Heterogeneous Information Network)的网络威胁情报框架——HINTI,旨在建模异构 IOCs 之间的相互依赖关系,以量化其相关性,对 CTI 进行建模和分析。
本文的主要贡献如下:
提出了基于多粒度注意力机制( multi-granular attention)的 IOC 识别方法,可以从非结构化威胁描述中自动提取网络威胁对象,并提高准确性
构建一个异构信息网络(HIN)来建模 IOCs 之间的依赖关系
提出一个基于图卷积网络(Graph Convolutional Networks)的威胁情报计算框架来发现知识
实现了网络威胁情报(CTI)原型系统
实验结果表明,本文提出的 IOC 提取方法优于现有方法,HINTI 可以建模和量化异构 IOCs 之间的潜在关系,为不断变化的威胁环境提供了新的线索。
IOC(Indicator of Compromise)是 MANDIANT 在长期的数字取证实践中定义的可以反映主机或网络行为的技术指示器。
2、前言
Introduction 是论文的开头,是极为重要的部分,介绍了为什么要做这份工作,建议大家仔细阅读,尤其是写英文论文的读者。因此,作者将该部分进行了详细总结。
当今社会,我们正在目睹复杂的网络威胁攻击(如 0-day 攻击、高级持续威胁攻击 APT)的快速增长。这些攻击可以轻易绕过传统防御,如防火墙和入侵检测系统(IDS),破坏关键基础设施,并造成灾难。为了应对这些新出现的威胁,安全专家提出了 网络威胁情报(CTI),并包含 IOCs 指标。
与著名的安全数据库(如 CVE、ExploitDB)不同,当系统遇到可疑威胁时,CTI 可以帮助组织主动发布更全面和更有价值的威胁警告(例如,恶意 IP、恶意 DNS、恶意软件和攻击模式等)。
http://cve.mitre.org/
https://www.exploit-db.com/
近年来,CTI 越来越多地被安全人员和行业用来分析威胁环境。原始的 CTI 提取和分析需要对攻击事件描述进行大量的手动检查,耗时耗力。最近提出了从非结构化安全文本中提取 CTI 的自动化方法,如 CleanMX、PhishTank、IOC Finder 和 Gartner peer insight ,并且都遵循 OpenIOC 标准,并利用正则表达式提取特定类型的 IOC(如恶意 IP、恶意软件、文件哈希等)。
然而,这种提取方法面临着三个主要的限制。
首先,IOC 提取的精度低,不可避免地导致关键威胁对象遗漏。
其次,孤立的 IOC 没有全面描述威胁事件的概况,这使得 CTI 用户无法对即将到来的威胁获得完整的了解。
最后,缺乏一个有效的计算框架来有效地衡量异构 IOCs 之间的交互关系。
为了应对这些限制(To combat these limitations):本文提出了一种基于异构信息网络的威胁情报框架 HINTI,来对 CTI 进行建模和分析。值得注意的是,HINTI 提出了一种基于多粒度注意力机制的 IOC 识别方法,以提高 IOC 提取的准确性。
然后,HINTI 利用 HIN 来建模异构 IOC 之间的依赖关系,这可以描述一个更全面的威胁事件。此外,本文提出了一个新的 CTI 计算框架来量化 IOC 之间相互依赖的关系,这有助于发现新的安全信息(security insights)。
综上,本文的主要贡献总结如下:
基于多粒度注意力机制的 IOC 识别(Multi-granular Attention based IOC Recognition)
可以从多源威胁文本中自动提取网络威胁对象,学习不同尺度的特征,提高准确率和召回率,共从非结构化的威胁描述中提取 397730 个 IOCs。
异构威胁智能建模(Heterogeneous Threat Intelligence Modeling)
使用异构信息网络来建模不同类型的 IOC,引入各种元路径捕获异构 IOC 之间的相互依赖关系,描述更全面的网络威胁事件概况。
威胁智能计算框架(Threat Intelligence Computing Framework)
提出网络威胁智能计算的概念,设计一个通用的计算框架。该框架利用基于权重学习的节点相似度来量化异构 IOCs 之间的依赖关系,然后利用基于注意力机制的异构图卷积网络来嵌入 IOCs 及交互关系。
威胁情报原型系统(Threat Intelligence Prototype System)
实现了一个 CTI 原型系统,确定 6 类攻击对象之间的 1262258 种关系,包括攻击者、漏洞、恶意文件、攻击类型、设备和平台。
3、背景
3.1 动机
本研究的主要目标是通过建模异构 IOCs 之间的依赖关系来解决现有 CTI 分析框架的局限性。举一个有趣的安全示例:
Last week, Lotus exploited CVE-2017-0143 vulnerability to affect a larger number of Vista SP2 and Win7 SP devices in Iran. CVE-2017-0143 is a remote code execution vulnerability including a malicious file SMB.bat.
大多数现有的 CTI 框架可以提取特定的 IOC,但却忽略了它们之间的关系,如图 1 所示。很明显,这些 IOC 无法全面了解威胁形势,更不用说量化它们的互动关系以进行深入的安全调查。
与现有的 CTI 框架不同,HINTI 旨在实现一个 CTI 计算框架,它不仅可以有效提取 IOC,而且还可以建模和量化它们之间的关系。
在这里,我们使用该示例来说明 HINTI 是如何一步一步工作(四个步骤)。
(i) 首先,通过 B-I-O 序列标注方法对安全相关帖子进行标注,用于构建 IOC 提取模型。其中,B-X 表示 X 类型的元素位于片段的开头,I-X 表示 X 类型的元素位于中间片段,O 表示其他类型的非基本元素。在研究中,我们从 5000 个威胁描述文本中标注了 3 万个这样的训练样本,这些文本是用来构建我们 IOC 提取模型的原始材料。
(ii) 然后将标记的训练样本输入我们提出的神经网络,如图 6 所示,以训练提出的 IOC 提取模型。
(iii) HINTI 利用句法依赖性解析器(e.g.,主-谓-宾,定语从句等)提取 IOC 之间的关联关系,每个关系都表示为三元组(IOC_iIOCi、关系、IOC_jIOCj)。在此实例中,HINTI 提取三元组关系如下:– (Lotus, exploit, CVE-2017-0143)– (CVE-2017-0143, affect, VistaSP2)
注意,提取的关系三元组可以增量地合并到一个 HIN 中,以模拟 IOCs 之间的交互作用,从而描述一个更全面的威胁环境。图 3 以图形表示显示了从示例中提取 IOC 描述之间的交互关系,g 该图表示攻击者利用 CVE-2017-0143 漏洞入侵 VistaSP2 和 Win7SP1 设备。CVE-2017-0143 是一个涉及恶意文件“SMB.bat”的远程代码执行漏洞。与图 1 相比,很明显,HINTI 可以描绘一个比以往方法更直观、更全面的威胁环境。在本文中,我们主要考虑 6 种不同类型的 IOC 之间的 9 个关系(R1∼R9)(详见第 4.2 节)。
(iv) 最后,HINTI 集成了基于异构图卷积网络的 CTI 计算框架(见第 4.3 节),以有效量化 IOC 之间的关系并进行知识发现。
特别是,本文提出的 CTI 计算框架描述了 IOC 及其在低维嵌入空间(low-dimensional embedding space)中的关系,在此基础上,CTI 用户可以使用任何分类(如 SVM、朴素贝叶斯)或聚类算法(K-Means、DBSCAN)来获得新的威胁见解,例如预测哪些攻击者可能入侵其系统,以及在没有专家知识的情况下识别哪些漏洞属于同一类别。
3.2 前期工作
Definition 1 Heterogeneous Information Network of Threat Intelligence (HINTI)
Definition 2 Network Schema
Definition 3 Meta-path
威胁智能的异构信息网络(HINTI)被定义为有向图 G=(V, E, T),其中 v 表示对象,e 表示链接,r 表示关系类型。具有对象类型映射函数ϕ:V→M 和链路类型映射函数Ψ:E→R。本文重点研究了 6 种常见类型,连接不同对象的链接代表了不同的语义关系。
attacker (A)
vulnerability (V)
device (D)
platform (P)
malicious file (F)
attack type (T)
接着采用模式描述元关系的网络架构,图 4 展示了网络模式(知识图谱中本体概念)和一个网络实例。比如“软件设备属于系统平台”为模式图,“Office2012 属于 Windows 系统软件”为实例。
最后定义元路径,指网络模式 S=(N, R)的路径序列,其定义了符合关系。表 1 显示了 HINTI 中所考虑的元路径。例如,“攻击者(A)利用相同的漏洞(V)”的关系可以通过长度为 2 的元路径表示:
称为 AVA^T(P_4)AVAT(P4) 来描述,这意味着两个攻击者利用相同的漏洞。同样, AVDPD^TV^TA^T(P_{17})AVDPDTVTAT(P17) 描绘了 IOC 之间的密切关系,即“两个利用同一漏洞的攻击者入侵同一类型的设备,并最终摧毁同一类型的平台”。
4、HINTI 总体架构
HINTI 作为一个网络威胁智能提取和计算框架,能够有效地从威胁描述中提取 IOC,并描述异构 IOC 之间的关系,以揭开新的威胁见解。如图 5 所示,HINTI 由四个主要部件组成,包括:
收集与安全相关的数据并提取即 IOC
使用 Xpath 提取安全数据(博客、安全论坛、新闻、公告),利用基于多粒度注意力机制的 IOC 识别方法收集信息。
将 IOC 之间的相互依存关系建模为异构信息网络
该网络可以自然地描述异构 IOC 之间的相互依赖关系。比如图 4 显示的模型,它可以捕获攻击者、漏洞、恶意文件、攻击类型、平台和设备之间的交互式关系。
使用基于权重学习的相似性度量将节点嵌入到低维向量空间中
元映射是构造 HIN 中 IOC 语义关系的有效工具。本文设计了 17 种元路径(见表 1)来描述 IOC 之间的相互依赖关系,利用这些元路径,提出了一种基于权重学习的相似计算方法来将节点嵌入到这些关系,作为威胁智能计算的前提。
基于图卷积网络和知识挖掘来计算威胁情报
通过图卷积网络(GCN)来量化和测量 IOC 之间的相关性,本文提出的威胁情报计算框架可以在更全面的威胁环境中揭示更丰富的安全知识
5、方法论
5.1 基于多粒度注意力的 IOC 提取
近年来,BiLSTM+CRF 在命名实体识别领域取得良好的性能,但不能直接应用于 IOC 提取,因为威胁文本通常包含大量不同尺寸和规则结构的对象。因此,本文提出一种基于多粒度注意机制的 IOC 提取方法,它可以提取具有不同粒度的威胁对象。
此外,它引入了具有不同粒度的新词嵌入功能,以捕获具有不同大小的 IOC 的特征,其模型如图 6 所示,利用自注意力机制来学习功能的重要性,以提高 IOC 提取的准确性。
由图可知,它将句子分割成了 char(字符级)、1-gram、2-gram、3-gram,从而从多粒度注意力机制训练数据。LSTM 计算公式如下:
接下来是多粒度注意力机制及 LSTM+CRF 的计算过程。同时,本文设计了一个客观的目标函数来最大化概率 p(Y|X),以实现针对不同 IOC 的最高标签得分。通过求解目标函数,我们为 n-gram 分量分配正确的标签,根据这些标签,我们可以识别不同长度的 IOC。我们基于多粒度注意力机制的 IOC 提取方法能够识别不同类型的 IOC,其评估方法在第 5 部分提出。
5.2 网络威胁情报建模
CTI 建模是探索异构 IOC 之间复杂关系的一个重要步骤。本文通过引入 HIN,以探索不同类型的 IOC 之间的交互关系。为了模拟 IOCs 之间复杂的依赖关系,我们在 6 种类型的 IOC 之间定义了以下 9 种关系:
R1:attacker-exploit-vulnerability
攻击者利用漏洞
R2:attacker-invade-device
攻击者入侵设备
R3:attacker-cooperate-attacker
攻击者之间合作
R4:vulnerability-affect-device
漏洞影响设备
R5:vulnerability-belong-attack type
脆弱性属于攻击类型
R6:vulnerability-include-file
漏洞包括恶意文件
R7:file-target-device
恶意文件针对设备
R8:vulnerability-evolve-vulnerability
脆弱性演化脆弱性
R9:device-belong-platform
设备属于平台
基于上述 9 种关系,HINTI 利用句法依赖解析器(the syntactic dependency parser)从威胁描述中自动提取 IOC 之间的 9 种关系,每种关系用三元组(IOCi,relation,IOCj)表示。同时进一步定义表 1 所示的 17 种元路径,以调查攻击者、漏洞、恶意文件、攻击类型、设备、平台之间的相互依赖关系。通过检查 17 种类型的元路径,HINTI 能够传达更丰富的事件上下文,并揭示异构 IOC 的深层信息。
5.3 威胁情报计算
本节说明了威胁智能计算的概念并设计了一个基于异构图卷积网络的一般威胁智能计算框架,它通过分析基于元路径的语义相似性来量化和衡量 IOCs 之间的相关性。在此,我们首先提供了一个基于异构图卷积网络的威胁智能计算的正式定义:
给定威胁情报图 G =(V,E)和元路径集 M = {P1,P2,…,Pi}
i)基于元路径 Pi 计算 IOC 之间的相似度,以生成相应的邻接矩阵 Ai
ii)通过将 IOC 的属性信息嵌入到向量空间中,构造节点 Xi 的特征矩阵
iii)进行图卷积 GCN(Ai,Xi),通过遵循元路径 Pi 量化 IOC 之间的相互依赖关系,将其嵌入到低维空间中
威胁智能计算的目的是对 IOC 之间的语义关系进行建模,并基于元路径度量其相似度,可用于高级安全知识发现,如威胁对象分类、威胁类型匹配、威胁进化分析等。直观地说,由最重要的元路径连接的对象往往具有更相似的。
在本文中,我们提出了一种基于权重学习的威胁智能相似度测量方法,它利用自注意力机制来提高任意两个 IOC 之间的相似度测量方法的性能。此方法的形式化定义如下,定一组对称元路径集合 P=[P_m]_{m=1}^{M'}P=[Pm]m=1M′ ,任意两个 IOC(hi 和 hj)之间的相似度 S(hi,hj)定义为:
利用交叉熵损失来优化提出的威胁情报框架的性能:
使用这个框架,安全组织能够挖掘隐藏在 iOC 之间相互依赖的关系中的更丰富的安全知识。
6、数据集及实验结果
本文开发了威胁数据收集器,自动收集网络威胁数据,包括 73 个国际安全博客(例如,fireeye,cloudflare),黑客论坛帖子(例如,Blackhat,Hack5),安全公告(例如,Microsoft,Cisco),CVE 详细说明和 ExploitDB。已经收集了超过 245,786 个描述威胁事件的与安全相关的数据。为了训练和评估我们提出的 IOC 提取方法,利用 B-I-O 序列标记方法对 5,000 个文本中的 30,000 个样本进行了标注(60%训练集,20%验证集,20%测试集)。
最终模型最佳执行的超参数如表 2 所示,学习率对比了 0.001,0.005,0.01,0.05,0.1,0.5。
本文提取的 13 种主要的 IOC 性能如表 3 所示。总的来说,我们的 IOC 提取方法在精确率、召回率、平均 F1 字都表现出了优异的性能。然而,我们观察到在识别软件和恶意软件时的性能下降,这是因为大多数软件和恶意软件是由随机字符串命名,如 md5。
为了验证多粒度嵌入特征的有效性,我们评估了具有不同粒度(字符级、1-gram、2-gram、3-gram 和多粒度特征)的提取性能。实验结果如图 7 所示,从图中可以观察到提出的多粒度嵌入特征优于其他特征,因为它利用注意机制同时学习多粒度的 IOC 特征的不同模式。
表 4 是本文方法与其他命名实体识别方法的性能对比,本文方法的效果更好。
(1) 与 Standford NER 和 NLTK NER 方法相比,它们一般使用新闻语料库训练,本文使用自定义收集的安全语料训练模型。
(2) 与基于规则的提取方法(如 iACE 和 Stucco)不同,本文提出的基于深度学习的方法提供了一个性能更好的端到端系统来表示各种 IOC。
(3) 与基于 RNN 的方法(如 BiLSTM 和 BiLSTMCRF)相比,本文的方法引入了多粒度嵌入尺寸(字符级、1-gram、2-gram 和 3-gram),以同时学习不同大小和类型的 IOC 特征,可以识别更复杂和不规则的 IOC。
(4) 本文的方法利用注意机制来学习不同尺度特征的权重,以有效地描述不同类型的特征,进一步提高了 IOC 识别的准确性。
7、威胁智能计算技术的应用
本文提出的基于异构图卷积网络的威胁智能计算框架可以用来挖掘异构 IOC 背后新的安全知识。在本节中,我们使用三个真实世界的应用程序来评估它的有效性和适用性:
CTI 威胁分析和排名
攻击偏好建模
漏洞相似性分析
不同类型 IOC 的排名如表 5 所示,具有不同元路径的攻击偏好实验结果如图 8 所示。具体而言,本文首先利用提出的威胁智能计算框架将每个攻击者嵌入到一个低维向量空间中,然后对嵌入式向量执行 DBSCAN 算法,将具有相同偏好的攻击者聚集到相应组中。
图 8 显示了不同类型元路径下的前 3 个聚类结果,其中元路径 AVDPDTVTAT(P17) 在紧凑和分离良好的集群中性能最好,这表明它比其他元路径在描述攻击偏好方面具有更丰富的语义关系。
为了验证攻击偏好建模的有效性,我们确定了 5297 个不同的攻击者(每个唯一的 IP 地址被视为一个攻击者)。在标记样本和清洗数据后,进一步评估不同元路径在模型上的性能。在攻击建模场景中,我们只关注起始节点和结束节点都是攻击者元路径的情况,实验结果详见表 6。显然,不同的元路径在描述网络入侵者的攻击偏好方面表现出不同的能力。使用 P17 的性能要优于其他元路径,这表明 P17 在描述网络罪犯攻击偏好时具有更高价值的信息,因为 P17 包含 P1、P4、P5 和 P12∼P15 的语义信息。
最后是漏洞相似性分析,基于不同元路径的漏洞相似性分析如图 9 所示。其中漏洞 i 可以简化为二维空间(xi、yi),每个集群表示特定类型的漏洞,聚类的准确率如表 7 所示。
讨论
Data Availability
Model Extensibility
High-level Semantic Relations
Security Knowledge Reasoning.
8、结论
本文的工作探索了威胁智能计算的一个新方向,旨在发现不同威胁向量之间关系的新知识。我们提出了一个网络威胁情报框架 HINTI,通过利用异构图卷积网络来建模和量化不同类型 IOC 之间的依赖关系。我们开发了一个多粒度注意力机制来学习不同特征的重要性,并使用 HIN 来建模 IOC 之间的依赖关系。此外,本文提出了威胁智能计算的概念,并设计了一个基于图卷积网络的通用智能计算框架。
实验结果表明,基于多粒度注意力机制的 IOC 提取方法优于现有的先进方法,提出的威胁智能计算框架可以有效挖掘隐藏在 IOC 之间相互依赖关系中的安全知识,使关键的威胁智能应用,如威胁分析和排序、攻击偏好建模和脆弱性相似性分析。
在未来,我们计划开发一个基于 HINTI 的预测和推理模型,并探索预防性的应对措施,以保护网络基础设施免受未来的威胁。我们还计划增加更多类型的 IOC 和关系,以描述一个更全面的威胁环境。此外,我们将利用元路径和元图来表征 IOC 及其交互作用,以进一步提高嵌入性能,并在模型的准确性和计算复杂度之间取得平衡,还将研究基于 HINTI 的安全知识预测的可行性,以推断漏洞和设备之间潜在的潜在关系。
版权声明: 本文为 InfoQ 作者【华为云开发者社区】的原创文章。
原文链接:【http://xie.infoq.cn/article/5cd9730ca1451d5b8e9a3e030】。文章转载请联系作者。
评论