论文笔记 使用GCN建模关系数据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了论文笔记 使用GCN建模关系数据相关的知识,希望对你有一定的参考价值。
参考技术A 本文主要复述论文["Modeling Relational Data with Graph Convolutional Networks"] 的主要内容,以便自我回顾,也希望可以给大噶带来帮助~
感谢小姐妹带我读论文~
本论文介绍的是关系图卷积网络模型(R-GCN),并在两个已知的知识库上实现关系预测与实体分类。R-GCN是在GCN的基础上优化得到的神经网络模型,原来的GCN处理的是具有拓扑结构的数据集之间的单关系,R-GCN则可以处理知识库中的多关系数据特征。与仅解码器的基准对比,改模型在FB15K-237上有29.8%的改进。
论文中考虑两个基本的SRL任务:关系预测(丢失三元组的恢复)和实体分类(为实体分配类型或分类属性)。 在这两种情况下,通过图结构编译器可以获得丢失的信息。比如,知道Mikhail Baryshnikov是在Vaganova学院接受教育的,这意味着Mikhail Baryshnikov应该有标签person,其三元组 (Mikhail Baryshnikov, lived in, Russia)属于知识图。
图卷积神经网络应用在具有拓扑结构的图数据集上,其与CNN的计算方式类似,滤波器参数在图中的所有位置或者说所有局部位置都可共享,目标是学习图 G=(V, E) 上的特征映射。
定义卷积网络中的第 层,其向前传播的非线性激活方程可表示为
其中 H(0)=X,H(L)=Z 。 X∈(N×D) 是节点特征向量的输入矩阵,N为节点数,D为特征维数。 Z∈(N×F) 为输出矩阵, 为图结构的邻接矩阵,描述每个节点的度数。 是非线性激活函数,比如 ReLu 。 是当前层的权重矩阵。
上式的传播规则有两个限制:一是节点本身的信息量未被计入,二是A本身未被正则化,直接进行矩阵运算会改变特征向量的域。 Kipf & Welling (ICLR 2017)提出了矩阵的对称归一化,对第一个问题引入节点自环,即此时的 ;对第二个问题引入节点度的对角化矩阵,由 可以实现节点特征的归一化。实际上,借鉴对拉普拉斯矩阵的标准化公式 可以更好的描述邻接矩阵的动态特性,其中 。
此处引入拉普拉斯矩阵进行归一化的行为我不是很理解,关于谱论的知识我也没有补,想要深入探讨的旁友可以参阅其他资料,此处发一个GCN传播规则的解释的链接,大嘎可以参考参考---- GCN的空间域理解
那么带入之后我们就可以得到下列的前向传播公式: 其中 , 是 的节点度矩阵。
再应用Weisfeiler-Lehman算法到这个GCN模型上,可以得到下式中以向量形式表示的传播规则。 是边 <vi,vj> 的归一化常数,也就是经该算法得到的对邻接矩阵进行对称归一化的变体。 则是对当前节点i得到的邻居节点j的特征向量,并经过 hash(·) 进行特征更新。
GCNs可以有效获取局部图特征,在图分类、基于图的半监督学习模型中得到改进。作者对于R-GCNs定义了下述的传播准则:
多关系模型中的参数数量和关系数量增长很快,在计算过程中很容易导致稀疏关系矩阵的过度拟合。论文中引入了两种正则化权重矩阵的方式:基函数分解和块对角分解。
奇函数分解 可以看做是不同关系类型之间有效权重共享的一种形式,对于每个 定义形式为(3)式,其 作为基础变换,仅系数 依赖于 。
整个模型采用堆叠层,即上一级的输出作为下一级的输入。作者在初始化时仅考虑了无特征向量方法,选择图节点的独热编码作为第一层的节点向量输入,对于块表示,通过线性变换将one-hot编码映射为密集表示。
带你读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、恶意软件和攻击模式等)。
近年来,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^MP=[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的安全知识预测的可行性,以推断漏洞和设备之间潜在的潜在关系。
以上是关于论文笔记 使用GCN建模关系数据的主要内容,如果未能解决你的问题,请参考以下文章
SEMI-SUPERVISED CLASSIFICATION WITH GRAPH CONVOLUTIONAL NETWORKS 论文/GCN学习笔记
带你读AI论文丨RAID2020 Cyber Threat Intelligence Modeling GCN
论文笔记:Graph WaveNet for Deep Spatial-Temporal Graph Modeling
论文笔记:Graph WaveNet for Deep Spatial-Temporal Graph Modeling