简介为了对抗网络攻击,软件安全数据库记录了软件弱点、漏洞和攻击之间的关系,以提供适当的防御策略。数据库不断更新,攻击者可以利用时间延迟实现恶意攻击。因此,预测缺失的实体关系和丰富软件安全知识至关重要。然而,现有方法大多只考虑知识图谱中三元组的特征,无法表达实体之间的高阶结构关系。一些方法也只利用知识图的结构,而忽略了编码丰富语义信息的大量描述性文本。因此,提出了一种基于文本和图相结合的表示学习模型,可用于预测软件安全实体之间的关系。一、引言当今世界面临着动态网络环境的挑战和网络攻击的风险[1]。为了对抗这些攻击,组织应用软件安全数据库来收集和共享基于漏洞、弱点和攻击模式的软件安全防御信息。这些信息可以有效地帮助组织指导决策。软件安全数据库记录了软件弱点、漏洞和攻击模式实体之间的关系。不幸的是,软件安全数据库存在时间延迟,并且缺乏安全实体之间未观察到的关系。攻击者可以利用这个缺点来成功地达到他们的攻击目的。因此,利用知识建模技术预测软件安全中的缺失信息具有重要意义[2]。近年来,研究人员提出了许多知识图谱嵌入方法来对安全数据库中安全实体之间的关系进行建模。这些方法有两个明显的缺点:首先,每个安全实体都包含详细的描述性文本,例如其描述或名称。然而,大多数现有方法只关注句子的关键字,而不是安全实体中的整个句子。其次,大多数当前的知识表示模型都使用一阶信息,即三元组中实体之间的直接连接。由于它们独立处理每个安全三元组,因此不足以比较不同安全实体之间的语义相似性,从而无法识别软件安全知识图中实体之间的潜在关系。基于图形表示的软件安全实体关系预测模型可以解决这些限制。首先,将来自不同数据库的异构软件安全实体组合成知识图谱可以集成软件安全知识。其次,设计了一种表示学习方法,将安全实体的结构和文本信息嵌入到一个连续的向量空间中。第三,利用基于图注意力网络的高阶方法来捕获安全实体之间的潜在关系。2.软件安全预测利用软件安全数据库对基于数据库的软件安全信息预测具有越来越重要的意义。Deepweak[3]构建了常见软件缺陷的知识图谱,并提出了一种知识边图嵌入方法,将CWE的结构和文本知识嵌入到向量表示中。肖等。[4]提出了一种基于CNN模型的知识图嵌入方法,将安全概念和实例的知识嵌入其中。元等。[5]设计了一个文本增强的GAT模型来表示安全知识图中的结构知识和文本知识。MalKG[6]是第一个恶意软件威胁情报知识图生成框架,旨在从许多恶意软件威胁报告和CVE数据集中提取信息。王等。[7]提出了一种基于CAPEC和CWE的网络攻击知识图谱构建方法,以满足6G网络的需求。这些方法有效地捕获了知识图谱的结构或文本信息,但忽略了利用实体的高阶连通性。3.知识图谱表示学习知识图谱表示学习可以将大规模的知识图谱投影到连续的低维向量空间中。有很多方法可以对知识图中的实体和三元关系进行建模。TransE[8]、TransH[9]和TransR[10]是基于翻译的方法,可以实现知识图中的链接预测任务。其中,TransE是基础知识图谱嵌入模型。它将这种关系解释为低维向量空间上头尾实体之间的平移操作。然而,上述基于翻译的模型关注的是实体之间的结构信息,而不是实体描述中编码的丰富信息。有几种方法可以利用文本信息来帮助知识图表示学习。Socher等人。[11]表示新的神经张量网络,将每个实体表示为其词向量的平均值。[12]利用维基百科文章将实体命名为实体描述,并为该实体生成特定于网络的加权词向量。谢等。[13]探索了连续的词袋和深度卷积神经模型来编码实体描述的语义。然而,这些模型利用一阶连通性从知识图谱中学习三元组。由于该方法没有考虑实体邻居的影响,因此无法捕捉到每个实体的多跳邻居之间的潜在关系。4.知识图谱框架本节描述了知识图谱的模型架构。如图1所示,该模型由四部分组成。各部分描述如下:(1)知识图谱构建:这部分从软件安全数据库中提取实体和关系。这些实体和关系构成了软件安全知识图谱的三元组。(2)一阶连接表示:一阶连接是指两个实体之间的直接连接。这部分通过TransH和预训练模型融合安全实体的结构信息和文本信息,得到一阶嵌入。(3)High-orderconnectionrepresentation:这部分对高阶信息进行建模。它可以改进基于实体多跳邻居的一阶嵌入。利用多个传播层对高阶连接进行编码,以收集从多跳邻居传播的深度信息。(4)模型训练:介绍模型的学习和优化细节,将损失函数应用于预测任务。图1模型框架知识图谱示例如图2所示。其中,CWE-330是这个三重实体中的头实体,ContainOf是关系实体,CVE-2009-2367是尾实体。三元组是知识图谱的一般表示。整个知识图谱共有16746个三元组。所有三元组中的实体都具有三种类型,包括CVEID、CWEID和CAPECID,因为它们分别来自三个异构数据库。实体数量为4144个,其中CVE2677个,CWE924个,CAPEC544个。图2知识图谱示例本研究构建了基于CWE、CVE和CAPEC数据库的软件安全知识图谱。实验数据库是从2021年11月5日的版本收集的。提取CWEID、CVEID、CAPECID作为实体,CVE、CWE、CAPEC的标题和描述作为实体的纹理信息,提取不同实体之间的关系形成三元组。创建12种类型的关系,然后补充数据集中的互补关系。实施此步骤是为了帮助实体通过多跳操作找到尽可能多的关于其邻居的信息。五、总结在软件安全知识图谱的构建中,提出了一种预测软件安全实体之间关系的模型。未来希望这种方法能够在各个领域的网络安全问题上得到验证。该软件安全知识边图模型在真实数据集上进行了测试,为知识图谱实体关系预测问题在其他领域的应用奠定了基础。这里的工作可能会激发必要性,并鼓励对预测软件安全和漏洞检测的进一步研究。参考文献[1]K.Liu,F.Wang,Z.Ding,S.Liang,Z.Yu,andY.Zhou,“Areviewofknowledgegraphapplicationscenariosincybersecurity,”arXivpreprintarXiv:2204.04769,2022.[2]Z.Zhang、J.Cai、Y.Zhang和J.Wang,“学习用于链接预测的层次感知知识图嵌入”,载于AAAI人工智能会议论文集,卷。34,没有。03,2020,pp.3065–3072.[3]Z.Han、X.Li、H.Liu、Z.Xing和Z.Feng,“Deepweak:通过知识图嵌入推理常见的软件弱点”,2018年IEEE第25届软件分析、进化和再工程国际会议(SANER)。IEEE,2018年,第456–466页。[4]H.Xiao、Z.Xing、X.Li和H.Guo,“嵌入和预测软件安全实体关系:一种基于知识图谱的方法”,神经信息处理国际会议。施普林格出版社,2019年,第50–63页。[5]L.Yuan、Y.Bai、Z.Xing、S.Chen、X.Li和Z.Deng,“预测实体r通过使用图形注意力网络跨不同安全数据库的关系,”在2021年IEEE第45届年度计算机、软件和应用程序会议(COMPSAC)中。IEEE,2021,第834–843页。[6]N.Rastogi、S.Dutta、R.Christian、M.Zaki、A.Gittens和C.Aggarwal,“使用知识图进行上下文恶意软件威胁情报的信息预测”,arXiv预印本arXiv:2102.05571,2021.[7]W.Wang、H.Zhou、K.Li、Z.Tu和F.Liu,“基于capec和cwetowards6g的网络攻击行为知识图”,移动互联网安全国际研讨会。施普林格,2021年,第352–364页。[8]A。Bordes、N.Usunier、A.Garcia-Duran、J.Weston和O.Yakhnenko,“为多关系数据建模转换嵌入”,神经信息处理系统的进展,卷。2013.26.[9]Z.Wang、J.Zhang、J.Feng和Z.Chen,“通过在超平面上翻译进行知识图谱嵌入”,载于AAAI人工智能会议论文集,卷。28,没有。1,2014.[10]Y.Lin、Z.Liu、M.Sun、Y.Liu和X.Zhu,“Learningentityandrelationembeddingsforknowledgegraphcompletion”,2015年第29届AAAI人工智能会议。[11]R.Socher,D.Chen、C.D.Manning和A.Ng,“Reasoningwithneuraltensornetworksforknowledgebasecompletion”,神经信息处理系统的进展,卷。2013.26.[12]N.Veira、B.Keng、K.Padmanabhan和A.G.Veneris,“使用文本关联对知识图谱进行无监督嵌入增强”。在IJCAI,2019,pp.5218–5225.[13]R.Xie、Z.Liu、J.Jia、H.Luan和M.Sun,“具有实体描述的知识图的表示学习”,载于AAAI人工智能会议论文集,卷。30,没有。1,2016.
