原文作者:Liu Yuan; Yude Bai; Zhenchang Xing; Sen Chen; Xiaohong Li; Zhidong Deng
原文标题:Predicting Entity Relations across Different Security Databases by Using Graph Attention Network
原文链接:https://ieeexplore.ieee.org/abstract/document/9529668
原文来源:2021 IEEE 45th Annual Computers, Software, and Applications Conference (COMPSAC)
笔记作者:[email protected]
文章小编:[email protected]
CVE、CWE、CAPEC等安全数据库中记录了各种漏洞、弱点以及攻击方式,这些概念都可以被视为安全实体。安全实体之间有许多种可能的关系类型,了解它们之间的关系对于分析这三个数据库是很有利的。现有的一种基于翻译的知识图谱表示学习方法对于实体预测中的每个三元组进行独立的处理,可能会忽略三元组周围其他实体的重要语义信息。为解决这一问题,作者提出一个文本增强的图注意力网络模型(Text-enhanced GAT),突出了周围邻居实体的知识重要性,能够从安全数据知识图谱中获得更多的结构和文本信息。
知识图谱构建:首先根据三个安全数据库的知识构建知识图谱
结构嵌入:对于知识图谱中实体和关系的结构信息,采用TransE来训练并生成结构特征向量,避免了随机初始化导致忽略结构信息而带来的影响,特征向量维数为100维。
文本描述嵌入:文本描述信息首先使用Word2Vec将每个单词转化为词向量,将每个句子的词向量连接起来后输入两层的CNN网络,生成文本特征向量,向量维数为100维。与结构特征向量拼接,形成200维的特征向量。
图注意力层:在知识图谱中,同一实体可能有多个角色。如CAPEC-10是CAPEC-100的Child,CAPEC-10同时也是CAPEC-13的Peer。因此实体可以从它的2跳邻居实体(2-hop neighbors)中获得额外的知识。
使用BeautifulSoup抓取并解析CVE、CWE和CAPEC数据库网页,构建的知识图谱包含5416个实体(4003 CVE, 891 CWE, 522 CAPEC)和10502个三元组,按0.85: 0.05: 0.1的比例划分训练集、验证集和测试集。
实验的目的是在缺失一个元素的三元组中提供一个预测候选元素列表,使用[email protected], [email protected], [email protected], [email protected],平均排名(Mean Rank, MR)和平均倒数排名(Mean Reciprocal Rank, MRR)来评价预测结果。
在测试集中,通过随机移除每个三元组的主体或客体来模拟一个缺失的事实,生成预测实体的任务,下表显示了对比的结果:
从结果可以看出,文本增强的GAT模型相比基线方法能够更快地正确预测出正确的实体,并且命中率也更高,说明模型不仅可以表示实体的文本描述,也可以从2跳邻居实体中获得知识。
对于每种关系类型的预测结果如下表所示:
不同的关系类型预测结果其实各不相同,其中有几点原因:1)每种关系类型的数据规模不同,ChildOf, ParentOf, AttackOf, TargetOf有足够多的数据用于训练,而PeerOf则相对较少;2)由于CVE-to-CWE的多对一关系,仅凭一个CWE很难找到正确的CVE实体,因此在BelongOf关系上主体和客体的预测结果有所差异;3)对于CanPrecede和CanFollow两种类型,虽然它们的数据规模最小,但由于文本描述和相关结构都比较稳定,因此预测结果也比较良好。
作者分别设计了移除CNN层、移除TransE和移除图注意力层3个模型(M-1, M-2, M-3)进行消融研究,下表显示了实验结果:
3种模型中,移除了注意力层的M-3模型对于预测结果影响降幅最大,其次是TransE。因此可以说明图注意力层部分极大地影响了预测性能,通过将2跳邻居节点的信息嵌入到当前实体中,可以获得更多的知识,并且通过TransE的正确初始化也提供了安全知识图谱的关键结构知识。
安全学术圈招募队友-ing, 有兴趣加入学术圈的请联系secdr#qq.com