《娜璋带你读论文》系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢。由于作者的英文水平和学术能力不高,需要不断提升,所以还请大家批评指正,非常欢迎大家给我留言评论,学术路上期待与您前行,加油。
前一篇文章分享了生成对抗网络GAN的基础知识,包括什么是GAN、常用算法(CGAN、DCGAN、infoGAN、WGAN)、发展历程、预备知识,并通过Keras搭建最简答的手写数字图片生成案例。这篇文章将详细介绍北航老师发表在RAID 2020上的论文《Cyber Threat Intelligence Modeling Based on Heterogeneous Graph Convolutional Network》,基于异构图卷积网络的网络威胁情报建模。希望这篇文章对您有所帮助,这些大佬是真的值得我们去学习,献上小弟的膝盖~fighting!
原文作者: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
同时,本文参考了“安全学术圈”公众号文章,推荐大家关注该公众号,非常棒。
注意,本文代码采用GPU+Pycharm实现,如果你的电脑是CPU实现,将相关GPU操作注释即可。这里仅做简单的对比实验,不进行参数优化、实验原因分析及详细的效果提升,后面文章会介绍优化、参数选择、实验评估等。
前文赏析:
网络威胁情报(CTI,Cyber Threat Intelligence)已在业界被广泛用于抵御流行的网络攻击,CTI通常被看作将威胁参与者形式化的妥协指标(IOC)。然而当前的网络威胁情报(CTI)存在三个主要局限性:
本文提出了基于异构信息网络(HIN, Heterogeneous Information Network)的网络威胁情报框架——HINTI,旨在建模异构IOCs之间的相互依赖关系,以量化其相关性,对CTI进行建模和分析。
本文的主要贡献如下:
实验结果表明,本文提出的IOC提取方法优于现有方法,HINTI可以建模和量化异构IOCs之间的潜在关系,为不断变化的威胁环境提供了新的线索。
IOC(Indicator of Compromise)是MANDIANT在长期的数字取证实践中定义的可以反映主机或网络行为的技术指示器。
Introduction是论文的开头,是极为重要的部分,介绍了为什么要做这份工作,建议大家仔细阅读,尤其是写英文论文的读者。因此,作者将该部分进行了详细总结。
当今社会,我们正在目睹复杂的网络威胁攻击(如0-day攻击、高级持续威胁攻击 APT)的快速增长。这些攻击可以轻易绕过传统防御,如防火墙和入侵检测系统(IDS),破坏关键基础设施,并造成灾难。为了应对这些新出现的威胁,安全专家提出了 网络威胁情报(CTI)
,并包含 IOCs指标
。
与著名的安全数据库(如CVE
、ExploitDB
)不同,当系统遇到可疑威胁时,CTI可以帮助组织主动发布更全面和更有价值的威胁警告(例如,恶意IP、恶意DNS、恶意软件和攻击模式等)。
近年来,CTI越来越多地被安全人员和行业用来分析威胁环境。原始的CTI提取和分析需要对攻击事件描述进行大量的手动检查,耗时耗力。最近提出了从非结构化安全文本中提取CTI的自动化方法,如 CleanMX
、PhishTank
、IOC Finder
和 Gartner peer insight
,并且都遵循OpenIOC标准,并利用正则表达式提取特定类型的IOC(如恶意IP、恶意软件、文件哈希等)。
然而,这种提取方法面临着三个主要的限制。
为了应对这些限制(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种关系,包括攻击者、漏洞、恶意文件、攻击类型、设备和平台。
本研究的主要目标是通过建模异构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是如何一步一步工作(四个步骤)。
(ii) 然后将标记的训练样本输入我们提出的神经网络,如图6所示,以训练提出的IOC提取模型。
(iii) HINTI利用句法依赖性解析器(e.g.,主-谓-宾,定语从句等)提取IOC之间的关联关系,每个关系都表示为三元组( I O C i IOC_i IOCi、关系、 I O C j IOC_j IOCj)。在此实例中,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节)。
威胁智能的异构信息网络(HINTI)被定义为有向图 G=(V, E, T)
,其中v表示对象,e表示链接,r表示关系类型。具有对象类型映射函数ϕ:V→M和链路类型映射函数Ψ:E→R。本文重点研究了6种常见类型,连接不同对象的链接代表了不同的语义关系。
接着采用模式描述元关系的网络架构,图4展示了网络模式(知识图谱中本体概念)和一个网络实例。比如“软件设备属于系统平台”为模式图,“Office2012属于Windows系统软件”为实例。
最后定义元路径,指网络模式S=(N, R)的路径序列,其定义了符合关系。表1显示了HINTI中所考虑的元路径。例如,“攻击者(A)利用相同的漏洞(V)”的关系可以通过长度为2的元路径表示:
称为 A V A T ( P 4 ) AVA^T(P_4) AVAT(P4) 来描述,这意味着两个攻击者利用相同的漏洞。同样, A V D P D T V T A T ( P 17 ) AVDPD^TV^TA^T(P_{17}) AVDPDTVTAT(P17) 描绘了IOC之间的密切关系,即“两个利用同一漏洞的攻击者入侵同一类型的设备,并最终摧毁同一类型的平台”。
HINTI作为一个网络威胁智能提取和计算框架,能够有效地从威胁描述中提取IOC,并描述异构IOC之间的关系,以揭开新的威胁见解。如图5所示,HINTI由四个主要部件组成,包括:
收集与安全相关的数据并提取即IOC
使用Xpath提取安全数据(博客、安全论坛、新闻、公告),利用基于多粒度注意力机制的IOC识别方法收集信息。
将IOC之间的相互依存关系建模为异构信息网络
该网络可以自然地描述异构IOC之间的相互依赖关系。比如图4显示的模型,它可以捕获攻击者、漏洞、恶意文件、攻击类型、平台和设备之间的交互式关系。
使用基于权重学习的相似性度量将节点嵌入到低维向量空间中
元映射是构造HIN中IOC语义关系的有效工具。本文设计了17种元路径(见表1)来描述IOC之间的相互依赖关系,利用这些元路径,提出了一种基于权重学习的相似计算方法来将节点嵌入到这些关系,作为威胁智能计算的前提。
基于图卷积网络和知识挖掘来计算威胁情报
通过图卷积网络(GCN)来量化和测量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部分提出。
CTI建模是探索异构IOC之间复杂关系的一个重要步骤。本文通过引入HIN,以探索不同类型的IOC之间的交互关系。为了模拟IOCs之间复杂的依赖关系,我们在6种类型的IOC之间定义了以下9种关系:
基于上述9种关系,HINTI利用句法依赖解析器(the syntactic dependency parser)从威胁描述中自动提取IOC之间的9种关系,每种关系用三元组(IOCi,relation,IOCj)表示。同时进一步定义表1所示的17种元路径,以调查攻击者、漏洞、恶意文件、攻击类型、设备、平台之间的相互依赖关系。通过检查17种类型的元路径,HINTI能够传达更丰富的事件上下文,并揭示异构IOC的深层信息。
本节说明了威胁智能计算的概念并设计了一个基于异构图卷积网络的一般威胁智能计算框架,它通过分析基于元路径的语义相似性来量化和衡量IOCs之间的相关性。在此,我们首先提供了一个基于异构图卷积网络的威胁智能计算的正式定义:
威胁智能计算的目的是对IOC之间的语义关系进行建模,并基于元路径度量其相似度,可用于高级安全知识发现,如威胁对象分类、威胁类型匹配、威胁进化分析等。直观地说,由最重要的元路径连接的对象往往具有更相似的。
在本文中,我们提出了一种基于权重学习的威胁智能相似度测量方法,它利用自注意力机制来提高任意两个IOC之间的相似度测量方法的性能。此方法的形式化定义如下,定一组对称元路径集合 P = [ P m ] m = 1 M ′ P=[P_m]_{m=1}^{M'} P=[Pm]m=1M′ ,任意两个IOC(hi和hj)之间的相似度S(hi,hj)定义为:
利用交叉熵损失来优化提出的威胁情报框架的性能:
使用这个框架,安全组织能够挖掘隐藏在iOC之间相互依赖的关系中的更丰富的安全知识。
本文开发了威胁数据收集器,自动收集网络威胁数据,包括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是本文方法与其他命名实体识别方法的性能对比,本文方法的效果更好。
本文提出的基于异构图卷积网络的威胁智能计算框架可以用来挖掘异构IOC背后新的安全知识。在本节中,我们使用三个真实世界的应用程序来评估它的有效性和适用性:
不同类型IOC的排名如表5所示,具有不同元路径的攻击偏好实验结果如图8所示。具体而言,本文首先利用提出的威胁智能计算框架将每个攻击者嵌入到一个低维向量空间中,然后对嵌入式向量执行DBSCAN算法,将具有相同偏好的攻击者聚集到相应组中。
图8显示了不同类型元路径下的前3个聚类结果,其中元路径 AVDPDTVTAT(P17) 在紧凑和分离良好的集群中性能最好,这表明它比其他元路径在描述攻击偏好方面具有更丰富的语义关系。
为了验证攻击偏好建模的有效性,我们确定了5297个不同的攻击者(每个唯一的IP地址被视为一个攻击者)。在标记样本和清洗数据后,进一步评估不同元路径在模型上的性能。在攻击建模场景中,我们只关注起始节点和结束节点都是攻击者元路径的情况,实验结果详见表6。显然,不同的元路径在描述网络入侵者的攻击偏好方面表现出不同的能力。使用P17的性能要优于其他元路径,这表明P17在描述网络罪犯攻击偏好时具有更高价值的信息,因为P17包含P1、P4、P5和P12∼P15的语义信息。
最后是漏洞相似性分析,基于不同元路径的漏洞相似性分析如图9所示。其中漏洞i可以简化为二维空间(xi、yi),每个集群表示特定类型的漏洞,聚类的准确率如表7所示。
讨论
本文的工作探索了威胁智能计算的一个新方向,旨在发现不同威胁向量之间关系的新知识。我们提出了一个网络威胁情报框架HINTI,通过利用异构图卷积网络来建模和量化不同类型IOC之间的依赖关系。我们开发了一个多粒度注意力机制来学习不同特征的重要性,并使用HIN来建模IOC之间的依赖关系。此外,本文提出了威胁智能计算的概念,并设计了一个基于图卷积网络的通用智能计算框架。
实验结果表明,基于多粒度注意力机制的IOC提取方法优于现有的先进方法,提出的威胁智能计算框架可以有效挖掘隐藏在IOC之间相互依赖关系中的安全知识,使关键的威胁智能应用,如威胁分析和排序、攻击偏好建模和脆弱性相似性分析。
在未来,我们计划开发一个基于HINTI的预测和推理模型,并探索预防性的应对措施,以保护网络基础设施免受未来的威胁。我们还计划增加更多类型的IOC和关系,以描述一个更全面的威胁环境。此外,我们将利用元路径和元图来表征IOC及其交互作用,以进一步提高嵌入性能,并在模型的准确性和计算复杂度之间取得平衡,还将研究基于HINTI的安全知识预测的可行性,以推断漏洞和设备之间潜在的潜在关系。
我的整体感受如下,写得不好的地方还请海涵。
这篇文章就写到这里,希望对您有所帮助。同时,也欢迎大家讨论,继续加油!且行且珍惜。
摘要
前言
动机
模型实现
(By:Eastmount 2021-04-30 周五夜于武汉 http://blog.csdn.net/eastmount/ )
CSDN还是非常爱我的,上首页了,哈哈。当然,我也很爱CSDN,在这里写文早已渗透到了血液,我还和涛哥约定要在这里再写二十年,五十年,一辈子。
感谢所有人的祝福,第一次向19万人发私信,博友们的祝福和鼓励真的很感动,是真感动这或许就是分享的魅力,知识的甘甜吧。无以为报,只希望未来分享更好的文章,帮助更多初学者。握不住的沙子,就随手扬了它,接下来沉下心去,继续享受奋斗的过程。短暂停更技术博客只为更好的遇见,愿我这只笨鸟归来仍是少年。且行且珍惜,爱你们喔,小珞太乖了,晚安娜~