大家读完觉得有帮助记得关注和点赞!!!
摘要
在不断演变的威胁环境中,攻击者利用软件漏洞发起复杂攻击,对传统防御构成挑战。尽管CVE和NVD等数据库提供了详细的技术信息,但它们往往缺乏与攻击者行为(如战术和技术)的关联,限制了有效的威胁解读和响应。本研究通过将漏洞与MITRE ATT&CK框架中的行为模式相连接,弥合了这一差距。我们构建了一个CVE–TTP知识图谱,利用分类和关系抽取将CVE关联到战术和技术。开发了基于Transformer的模型进行行为识别,其中CySecBERT在技术分类上达到87.71%的宏平均F1分数,在战术分类上达到96.16%。此外,我们创建了一个包含24,820个实体和43,608个关系的标注数据集,用于实体和关系抽取。基于流水线的方法在实体抽取上达到0.86的宏平均F1分数,在关系抽取上达到0.99,而基于跨度的联合模型达到0.78。这些输出被集成到基于Neo4j的网络威胁知识图谱中,实现漏洞的结构化可视化。
关键词 网络威胁情报,知识图谱,MITRE ATT&CK,漏洞分析,联合实体关系抽取。
1 引言
在当代网络安全格局中,软件漏洞已成为战略资产,被威胁行为者积极交易、武器化并整合到协调的、以经济动机为导向的网络活动中[4]。每个披露的漏洞都代表进入关键系统的潜在入口点,并经常作为更广泛攻击行动的一部分被利用[13]。为了标准化此类缺陷的报告,已开发了通用漏洞披露(CVE)¹ 和国家漏洞数据库(NVD)² 等存储库。尽管这些存储库为已知漏洞提供了结构化标识符和元数据,但它们往往缺乏操作上下文,例如攻击者目标、技术和利用路径,而这些正是理解漏洞在实际威胁场景中如何被使用所必需的。缺乏这种上下文,安全团队面对大量漏洞数据,但对哪些漏洞最可能被利用以及如何利用的洞察有限。
传统的防御策略侧重于补丁和缓解[6]。然而,随着攻击复杂性的增加,仅靠技术修复是不够的。为实现网络弹性,防御者必须理解对手行为背后的意图,以及特定漏洞如何与战略目标相关联。MITRE ATT&CK³ 等框架提供了战术、技术和过程(TTP)的结构化知识,其中战术代表攻击者的目标或目的(做什么),技术描述实现这些目标所用的一般方法(如何做)。将行为情报与漏洞数据集成,对于根据对手意图和能力优先处理威胁并预测攻击模式至关重要。这一需求的紧迫性因漏洞披露的快速增长而被放大。仅在2024年,就报告了超过40,000个新CVE,比前一年增加了39%⁴。数据的爆炸式增长使手动分析变得困难,迫切需要能够大规模处理、关联和上下文化漏洞的自动化解决方案⁵。
为支持上下文化的漏洞分析,我们提出了一个CVE-TTP知识图谱(CVE-TTP KG),将软件漏洞关联到攻击者行为,具体来说是战术和技术。我们的系统首先使用安全领域的变换模型识别与漏洞相关的ATT&CK战术和技术。此外,该框架支持以语义三元组形式提取关键漏洞实体及其关系:<实体1,关系,实体2>。这些三元组作为构建CVE-TTP KG的基础输入。
该知识图谱解决了当前漏洞分析框架中的一个关键缺口,后者常将漏洞视为缺乏行为上下文的孤立记录。通过显式建模CVE与对手行为之间的连接,我们的方法能够更深入理解利用模式、威胁目标和攻击链。CVE-TTP KG不仅支持人类分析师的可视化和态势感知,还促进机器推理,用于自动化威胁检测、风险优先级排序和决策。本工作的主要贡献概述如下:
我们引入了用于ATT&CK技术和战术多标签分类的新型数据集,以及一个手动标注的漏洞实体及其语义关系数据集,以支持知识抽取和基于图的安全分析。
我们实现了一个基于变换器的分类模型,自动将软件漏洞映射到相关的ATT&CK战术和技术。
我们开发了使用流水线和联合学习方法从漏洞描述中提取实体及其语义关系的模型。我们对这两种策略进行了比较评估,以评估它们在捕获漏洞特定关系方面的有效性。
我们构建了一个全面的知识图谱,将CVE与相关攻击行为以及其他相关漏洞信息关联起来。生成的图提供了威胁情报的结构化、可解释表示,使得跨对抗性活动的漏洞利用分析更有效。
本文其余部分组织如下:第2节回顾相关工作。第3节详细介绍所提出的架构和方法。第4节展示实验结果并进行全面分析。最后,第5节总结研究并概述未来研究方向。
2 相关工作
本节回顾两个主要主题下的相关先前工作:(1)CVE到TTP的分类,以及(2)面向漏洞的威胁建模的威胁知识图谱构建。
2.1 CVE-TTP分类
近年来,将CVE映射到MITRE战术和技术的工作日益增多。Simonetto等人[17]提出了一种基于规则的流水线,利用CWE等结构化数据和语义相似性将CVE与技术对齐。然而,他们的方法依赖经典机器学习,缺乏使用现代NLP技术的自动化和上下文推理。Kuppa等人[12]引入了一种基于深度学习的模型,使用伪标签数据在CVE文本和ATT&CK技术描述之间的语义匹配上进行训练。尽管在技术预测上有效,但他们的工作未包含战术级分类或结构化威胁建模。
最近大型语言模型(LLM)的进展开辟了新途径。Hu等人[11]提出了LLM-TIKG,一种基于提示的框架,增强了网络安全任务中的标注和分类。然而,他们的方法需要手动干预,且未针对CVE描述进行定制。相比之下,我们的工作实现了战术和技术的端到端自动多标签分类,并发布了用于基准测试的标注数据集。Zhang等人[22]提出了UniTTP,一个统一的框架,使用基于提示的编码器-解码器模型跨各种网络安全输入提取TTP。虽然他们的系统处理跨来源(如入侵指标(IoC)和报告)的联合推理,但缺乏对CVE驱动的威胁建模的特定关注。
2.2 威胁知识图谱构建
构建有效的威胁知识图谱取决于在网络安全数据中准确保留相关实体及其关系。若干工作已从开源或结构化威胁情报构建了网络安全知识图谱。Xiao等人[21]探索了基于嵌入的模型来检测软件实体之间的关系,但未针对ATT&CK TTP语义或漏洞到技术的链接。Shi等人[16]和Falcarin等人[8]将异构数据源集成到基于图的表示中,但缺乏从CVE直接提取或对MITRE TTP的关注。
Gao等人[9]引入了ThreatKG,一个从CTI报告中使用语义丰富化自动生成知识图谱的系统。尽管在上下文信息方面丰富,但他们的模型未专门将CVE连接到ATT&CK框架。类似地,Hu等人[11]使用LLM驱动的联合NER和RE在CTI报告上构建了AttackKG,但对CVE对齐的关注有限。其他值得注意的工作包括Ren等人[14]的CSKG4APT,专注于通过集成恶意软件和TTP进行APT活动的归因,以及Arikkat等人[1]的OSTIS,构建了组织威胁知识图谱。尽管两个框架都支持高级威胁建模,但它们未显式提取或将CVE描述链接到ATT&CK技术。Zhang等人[23]提出了AttacKG+,将LLM与自动化CTI解析相结合,生成与ATT&CK对齐的图。他们的方法论在利用LLM方面与我们相似,尽管他们主要操作于威胁报告。我们的贡献通过直接在CVE上应用联合实体-关系抽取并构建以ATT&CK为根基的图,用于对抗行为的结构化可视化,从而弥合了这一差距。
现有方法主要关注CVE到TTP映射或知识图谱构建,对将两者集成在统一框架中的努力有限。它们也缺乏针对CVE文本定制的联合NER和关系抽取,并对基于ATT&CK的对抗行为可视化支持有限。为填补这些空白,我们提出了一个集成框架,从CVE描述中执行ATT&CK战术和技术的多标签分类,应用联合实体和关系抽取以丰富威胁情报,并构建以漏洞为中心的知识图谱,用于对抗行为的结构化表示和可视化。
3 方法
本节概述所提出的CVE-TTP KG系统架构,如图1所示。我们系统的最终目标是通过将提取的CVE描述转换为经过整理、语义丰富的格式,旨在捕获对抗行为模式,从而构建一个全面的知识图谱。工作流程分为四个主要模块:(i)数据收集,(ii)将CVE描述与技术和战术链接,(iii)实体和关系抽取,(iv)知识图谱生成。每个模块负责流水线中的特定任务。
图1:CVE-TTP知识图谱架构。 构建过程包括四个阶段:(i)数据收集,从多个来源收集漏洞信息;(ii)分类,使用预测模型将CVE映射到ATT&CK技术和战术;(iii)实体和关系抽取,识别结构化信息;(iv)知识图谱构建,将抽取的三元组组织成图。
3.1 数据收集
首先,我们使用NVD和MITRE CVE列表V5的记录构建了涵盖1999-2025年期间的CVE数据集。NVD提供了2002年至今的结构化CVE记录,而CVE列表V5⁶ 用于补充1999-2001年的记录以确保历史完整性。数据收集后,共获得276,289条CVE记录。图2展示了收集的CVE按年份分布,显示从1999年到2024年报告的漏洞稳步增加。
图2:CVE按年份分布。
该图描绘了收集漏洞的年度分布,显示每年提取的CVE条目数量。
为了用对抗行为丰富CVE,我们使用多阶段映射过程集成了来自CWE、CAPEC和MITRE ATT&CK框架的信息。首先,从NVD记录中提取CWE标识符。例如,CVE-2021-22909⁷(EdgeMAX EdgeRouter固件更新中的中间人漏洞)与CWE-300(非端点可访问的通道)⁸ 关联。该CWE映射到CAPEC攻击模式,如CAPEC-94(中间人攻击)和CAPEC-579,后者进一步对齐到ATT&CK技术T1040(网络嗅探)¹⁰。该技术链接到凭据访问和发现战术。
这一丰富化流水线(CVE → CWE → CAPEC → 技术 → 战术)用于生成分类的真实标签。没有有效CWE映射的CVE被排除。在收集的276,289个CVE中,178,233个成功丰富,生成的技术数据集涵盖95种ATT&CK技术,战术数据集涵盖全部14种ATT&CK战术类别。这种方法形成了坚实基础,但由于公共资源中可用的映射(特别是从CWE到CAPEC再到ATT&CK技术)稀疏且不完整,存在固有局限性。因此,该方法仅丰富了部分CVE的行为上下文。为克服这一限制,我们开发了一个自动化分类模型,直接从CVE文本描述中预测ATT&CK战术和技术。
3.2 将CVE描述与技术和战术链接
在此阶段,我们开发了一个基于变换器模型的自动化工具,用于预测给定漏洞描述相关的技术和战术。该模型利用上一阶段(第3.1节)构建的CVE数据集。具体而言,模型的每个输入实例通过组合关键上下文信息构建,包括CVE标识符、其文本描述和关联的CWE标识符。输入格式结构为:“被识别为CVE ID:<CVE ID>的漏洞描述为:<描述>。它与CWE ID:<问题类型(CWE)>相关联。”
该数据集随后用于训练多标签分类模型以预测对抗行为。为执行技术和战术分类,我们采用了预训练的基于BERT的语言模型,这些模型已专门适应网络安全领域。SecBERT是一个在网络安全语料库(如APTnotes、STUCCO-Data、CASIE和SecureNLP)上预训练的BERT模型,我们使用了Hugging Face上的jackaduma/SecBERT版本。CySecBERT[2]是一个在博客、arXiv、NVD和Twitter数据上预训练的网络安全适应BERT模型,我们使用了markusbayer/CySecBERT在我们的数据集上进行微调。
3.3 实体和关系抽取
在此阶段,我们识别并提取网络安全特定的实体及其语义关系,特别是与软件漏洞相关的。我们通过回顾先前关于软件漏洞实体和关系抽取的工作[12, 18, 16]定义了实体和关系。此外,为确保与CTI既定标准的一致性,实体-关系模式与STIX 2.0框架¹¹ 的结构规范对齐。识别的实体包括漏洞标识符如CVE ID和CWE ID、产品名称、产品版本、供应商名称、漏洞类型和影响。为与对抗行为建模对齐,模式还包括战术和技术实体。
基于这些实体,定义了几个关键关系以在知识图谱中捕获有意义的连接。affects(影响)关系将漏洞链接到其影响的具体产品或硬件(例如,CVE-2021-29529 affects TensorFlow)。has_version(有版本)关系将产品与其特定版本关联(例如,TensorFlow has version TensorFlow 2.4.1),而has_vendor(有供应商)识别负责产品的组织(例如,TensorFlow has vendor Google)。has_weakness(有弱点)关系将漏洞或产品连接到相应的CWE类别(例如,CVE-2021-29529 has weakness CWE-131)。has_impact(有影响)关系表示漏洞对安全属性(如保密性、完整性或可用性)的影响。此外,associated_with(关联于)关系捕获漏洞与对抗技术之间或弱点与其相关CWE类别之间的联系(例如,CVE-2021-29529 associated with T1021,以及Buffer Overflow associated with CWE-120)。related_to(相关于)关系用于表示相似或链接漏洞之间的连接(例如,CVE-2009-2879 related to CVE-2009-2876)。最后,achieved_through(通过……实现)关系将战术链接到用于实现它的技术(例如,TA0002 achieved through T1204)。
在定义目标实体类别和关系类型后,我们使用Label Studio¹² 手动标注并构建了一个用于实体和关系抽取的金标准数据集。由于手动标注耗时,我们基于95%置信水平和3%误差幅度,从178,233条CVE记录中选择了一个代表性样本,包含1,080条描述。为执行实体和关系抽取,我们实验了基于流水线的方法和联合抽取方法。流水线方法首先识别实体,然后将实体传递给单独的关系抽取模型以确定它们之间的语义链接。相比之下,联合抽取方法同时检测实体及其关系,以<主语,关系,宾语>的形式构建关系三元组。
对于流水线方法,实体识别被表述为BIO标注任务,其中每个词元被标记为实体的B(开始)、I(内部)或O(外部)。例如,在“CVE-2023-1234 affects Microsoft Windows systems”中,“CVE-2023-1234”被标记为B-CVE_ID,而“Microsoft Windows”被标记为B-PRODUCT和I-PRODUCT。对于关系抽取阶段,每个实例中的两个目标实体(e₁,e₂)通过在输入句子中用特殊标记“$”包围e₁、用“#”包围e₂来突出显示。
对于联合抽取模型,输入以SciERC格式表示,包括:(i)词元——分词后的CVE描述;(ii)实体——带类型和索引位置的标记跨度;(iii)关系——实体对之间的语义链接。生成的标注数据集包含1,080条CVE描述,涵盖24,820个实体和43,608个关系,用于训练和评估实体和关系抽取模型。
3.3.1 基于流水线的实体和关系抽取
在该方法中,实体和关系抽取通过两阶段顺序执行:(i)网络安全实体识别(CER)和(ii)关系抽取(RE)。CER阶段旨在从漏洞(CVE)描述中识别网络安全相关实体,而RE阶段侧重于发现这些实体之间的语义关联。基于流水线的实体和关系抽取工作流程如图3所示。
图3:基于流水线的实体和关系抽取工作流程
网络安全实体识别:
在CER阶段,我们采用了BERT–BiLSTM–CRF架构,该架构已被广泛认可在领域特定序列标注任务中的有效性[1, 3, 19, 20]。BERT(bert-base-uncased)用作编码器,生成捕获语义和技术信息的上下文词元嵌入。这些嵌入通过BiLSTM层以双向建模序列上下文,随后是CRF层以确保一致的标签序列并改善模糊或多词元网络安全实体的识别。
关系抽取:
在RE阶段,我们识别实体之间的关系。我们采用了基于变换器的bert-base-uncased分类器,其动机源于BERT-based方法在跨领域关系抽取中实现最先进性能的主导地位[5]。为引导模型关注目标实体e₁和e₂,我们在输入句子中用特殊标记(“$”用于e₁,“#”用于e₂)包围它们。标注后的文本随后由BERT编码为上下文化隐藏表示。实体跨度嵌入通过池化导出、拼接,并送入带有softmax激活函数的全连接层以预测关系类型。
3.3.2 联合实体和关系抽取
传统的流水线架构在实体和关系抽取中遭受错误传播,且无法捕获实体与其关系之间的相互依赖[10]。为解决这些局限性,我们研究了一个同时执行两个任务的联合抽取框架。具体而言,我们利用基于跨度的变换器框架[7]处理CVE漏洞描述,以<主语,关系,宾语>格式提取实体-关系三元组。联合实体和关系抽取过程的整体工作流程如图4所示。
图4:联合实体和关系抽取工作流程
联合实体和关系抽取模型的核心架构是预训练的CySecBERT。模型不采用词元级标注,而是操作于跨度(连续词元序列),将每个可能的跨度视为实体分类的候选。该方法避免了CRF或BIO标注等传统解码策略。联合实体模型分三阶段运作:(i)跨度分类,(ii)跨度过滤,和(iii)关系分类。
通过跨度分类进行实体识别:
对每个句子,模型为所有词元生成上下文嵌入,包括表示句子整体上下文的特殊[CLS](分类器)词元。候选跨度由连续词元序列构建,每个跨度使用其词元嵌入的最大池化进行编码。为丰富跨度表示,拼接了两个附加向量:(i)捕获跨度长度的宽度嵌入,和(ii)[CLS]嵌入以整合句子级信息。该拼接向量通过softmax分类器以预测实体类型或非实体类。
跨度过滤:
预测为非实体的跨度被过滤掉。为减少计算开销,我们在分类前丢弃超过预定义最大长度的跨度。结果集仅包含那些可能代表有意义实体的跨度。
关系分类:
每对保留的实体跨度被评估以确定它们之间是否存在语义关系。对每个有序对(s₁,s₂),通过拼接以下内容形成复合向量:(i)s₁和s₂的跨度嵌入,(ii)它们各自的宽度嵌入,和(iii)从两个跨度之间的词元嵌入导出的上下文嵌入。
如果跨度对相邻或重叠,上下文向量被零向量替代。该组合表示被送入sigmoid分类器以确定预定义集合中一个或多个关系的存在。由于关系可以是有向的,(s₁,s₂)和(s₂,s₁)都被评估。
3.4 CVE-TTP知识图谱构建
网络安全知识图谱(CKG)提供了网络安全相关概念的结构化、语义丰富表示。在该框架中,关键实体如漏洞、威胁行为者、利用、攻击战术、技术等被建模为节点,而它们之间的语义关系被表示为有向边。该知识图谱提供了一个统一结构,桥接低层次技术漏洞与高层次对抗策略。CVE-TTP KG的构建涉及以下关键阶段:
实体和关系抽取:使用第3.3节所述的抽取方法从CVE漏洞描述中提取实体及其语义关系。
使用Neo4j生成图:提取的实体-关系三元组用于使用Neo4j¹³ 填充CVE-TTP图。Neo4j是一个原生图数据库,支持使用Cypher查询语言高效存储、遍历和查询图结构。这有助于下游分析,如子图探索、威胁归因、漏洞优先级排序和对手行为映射。每个唯一实体表示为带有相关元数据(如类型、名称、标识符)的节点,每个关系存储为连接两个节点的有向边,并标注相应关系类型。
4 实验与分析
在本节中,我们详细说明实验设置,随后讨论结果及其分析。
4.1 实验设置
实验使用Python在配备Apple M3芯片组的本地机器上进行。该系统具有8核集成GPU,并利用Apple的Metal 3 API进行硬件加速。我们使用的库包括PyTorch和Hugging Face Transformers用于模型训练和推理,scikit-learn用于性能评估,matplotlib用于结果可视化,以及Neo4j Python驱动程序用于构建知识图谱。
为评估所提模型在不同任务上的性能,我们采用了适合各问题的指标。由于战术和技术的分类涉及每个实例预测多个标签,我们采用了多标签分类中常用的评估指标。这些指标包括汉明损失和Jaccard相似度,以及标准指标包括精确率、召回率、F1分数和准确率[15]。对于实体识别和关系抽取任务,我们使用精确率、召回率、F1分数和准确率评估模型性能,以衡量提取的实体及其语义关系的质量和正确性。
4.2 技术和战术分类性能
本节展示了所提模型在漏洞描述中进行技术和战术分类的结果。实验中,我们使用了通过第3.1节概述过程生成的标注数据集。技术分类数据集包含178,233条标注有95种唯一技术的漏洞描述,而战术分类数据集包含相同的178,233条标注有14种唯一战术的描述。为确保监督学习的可靠性,我们排除了样本不足的标签。具体而言,实例少于50的技术和战术被丢弃。经过此过滤后,用于模型训练的最终数据集包含80种技术和13种战术。数据集按80:10:10分为训练、验证和测试集。对于技术和战术预测,我们使用了预训练的网络安全模型SecBERT和CySecBERT,在我们的数据集上使用五个随机种子进行微调以确保稳定性。实验使用AdamW优化器,学习率为1×10⁻⁵,最多训练五个轮次。基于GPU限制,CySecBERT的批量大小设为8,SecBERT设为16。使用带Logits的二元交叉熵处理多标签分类任务。
测试集上技术和战术分类的性能总结在表1中。总体而言,CySecBERT在两个任务上均持续优于SecBERT。在技术分类任务中,CySecBERT达到更高的Jaccard分数(0.9659)和F1-macro(0.8771)。类似地,汉明损失对CySecBERT更低(0.0071)。对于战术分类任务,两个模型在所有指标上均达到更高性能,CySecBERT再次优于SecBERT。具体而言,CySecBERT达到Jaccard分数0.9858,F1-micro 0.9899,F1-macro 0.9616,反映了跨所有战术标签的泛化能力。
表1:SecBERT和CySecBERT模型在技术和战术分类上的平均性能,基于五个不同随机种子运行的平均值。
指标(平均) | 技术分类 | 战术分类 | ||
|---|---|---|---|---|
SecBERT | CySecBERT | SecBERT | CySecBERT | |
Jaccard分数 | 0.9584 | 0.9659 | 0.9829 | 0.9858 |
汉明损失 | 0.0085 | 0.0071 | 0.0084 | 0.0071 |
F1 Micro | 0.9582 | 0.9657 | 0.9879 | 0.9899 |
F1 Macro | 0.8361 | 0.8771 | 0.9530 | 0.9616 |
F1 Weighted | 0.9574 | 0.9651 | 0.9877 | 0.9898 |
精确率 Micro | 0.9749 | 0.9797 | 0.9920 | 0.9929 |
精确率 Macro | 0.9199 | 0.9334 | 0.9823 | 0.9849 |
精确率 Weighted | 0.9744 | 0.9794 | 0.9919 | 0.9928 |
召回率 Micro | 0.9421 | 0.9517 | 0.9839 | 0.9869 |
召回率 Macro | 0.7927 | 0.8381 | 0.9281 | 0.9413 |
召回率 Weighted | 0.9421 | 0.9517 | 0.9839 | 0.9869 |
准确率 | 0.9159 | 0.9379 | 0.9461 | 0.9552 |
4.3 实体和关系抽取性能
我们使用了通过第3.3节步骤构建的标注数据集。该数据集包含1,080条CVE漏洞描述,含24,820个实体和43,608个关系。数据集按80:10:10比例划分为训练、验证和测试集。
4.3.1 流水线方法
在流水线方法的第一阶段,我们使用BERT–BiLSTM–CRF架构提取实体。bert-base-cased编码器首先生成上下文嵌入,然后通过隐藏大小为256的BiLSTM、全连接层和CRF层进行标签预测。训练进行10个轮次,使用AdamW优化器,最大序列长度256个词元,学习率2×10⁻⁵,批量大小16,丢弃率0.1。所提出的CER模块在测试集上达到F1 micro 0.98,F1 weighted 0.99,F1 macro 0.86。第二阶段使用bert-base-uncased识别提取实体对之间的语义关系,最大序列长度512个词元。模型训练一个轮次,使用Adam优化器,学习率1×10⁻⁵,批量大小16,每个全连接层前丢弃率0.2。流水线方法中的关系抽取(RE)系统达到F1分数0.99,精确率0.9961,召回率0.9960。CER和RE阶段的混淆矩阵见附录图7和图8。
4.3.2 联合实体和关系抽取方法
对于联合实体和关系抽取,我们使用了基于跨度的实体-关系变换器[7]与CySecBERT。模型训练25个轮次,批量大小2,学习率2e-5,线性预热0.1,权重衰减0.01。应用了梯度裁剪(1.0)和丢弃率(0.2),最大跨度大小10。为平衡样本,每批使用300个负实体和200个负关系,候选跨度对限制为每文档750个,关系阈值0.5。包含跨度大小嵌入25,训练使用四个进程并行化。早停基于验证性能。对于实体抽取,联合模型达到micro-F1 95.86,macro-F1 88.20。
此外,我们在两种设置下评估了联合实体-关系模型的关系抽取性能:NEC(命名实体分类)约束和非NEC(仅跨度)条件。在NEC设置中,评估严格,要求每个预测关系实例满足三个标准:(i)两个实体跨度被正确识别,(ii)实体类型被准确分类,(iii)预测关系标签与金标准匹配。相比之下,非NEC设置(也称为“宽松”评估)仅要求实体跨度和关系标签正确,不强制实体类型分配的正确性。在这些设置下,联合模型在非NEC场景中达到micro-F1 77.81和macro-F1 78.70,在NEC场景中达到micro-F1 77.77和macro-F1 78.69。实体和关系的详细类别级性能以混淆矩阵形式呈现在附录图9和图10中。
4.4 CVE-TTP知识图谱生成
CVE-TTP KG的构建将实体和关系模型的输出转换为结构化三元组,然后导入Neo4j进行可视化和分析。对于联合抽取模型,预测以JSON格式存储,包含词元、识别实体、关系及其跨度。这些输出被程序化转换为⟨头实体,关系,尾实体⟩三元组,以语义表示实体间的连接。相比之下,流水线模型生成由头实体、关系和尾实体组成的三元组,不含跨度信息,因为实体和关系预测在独立的顺序步骤中产生。对于KG生成任务,我们使用相同的CVE描述来评估流水线和联合模型的性能。具体而言,我们使用了未在任何模型训练阶段使用的50条漏洞描述来生成三元组。为演示目的,我们使用CVE-2020-0617漏洞说明该过程:
“被识别为CVE ID:CVE-2020-0617的漏洞描述为:当主机服务器上的Microsoft Hyper-V Virtual PCI无法正确验证客户操作系统上特权用户的输入时,存在拒绝服务漏洞,也称为‘Hyper-V拒绝服务漏洞’。它与CWE ID:CWE-20相关联。对于监控网络威胁活动的组织,此漏洞与战术ID:TA0003、TA0004、TA0005、TA0006和技术ID:T1027、T1036.001、T1539、T1553.002、T1562.003、T1574.006、T1574.007对齐,代表对安全措施的关键威胁,需要立即关注。”
图5:流水线模型生成的CVE-TTP KG,展示实体关联及语义不一致,如泛化的战术-技术关系。
流水线模型KG生成:
使用CER和关系抽取提取的⟨头实体,关系,尾实体⟩三元组被导入Neo4j进行KG构建和可视化。对于CVE-2020-0617漏洞,流水线模型的KG(图5)包括关键实体如CVE-2020-0617(漏洞标识符)、CWE-20(弱点分类)、多个战术节点(TA0005、TA0003、TA0004、TA0006)和技术节点(T1027、T1036.001、T1539、T1553.002、T1562.003、T1574.006、T1574.007)。关系associated_with占主导地位,将战术和技术链接到中心CVE节点。然而,该模型常将语义准确的achieved_through关系(指定战术如何通过技术实施)替换为更泛化的associated_with关系。这种替换降低了映射程序化网络安全工作流程的粒度和语义精度。此外,虽然流水线模型正确预测了CVE和CWE实体之间的has_weakness关系,但将“Denial of Service”误分类为弱点,而非正确归类为漏洞类型。这种误分类对表示漏洞影响产生不利影响,而联合模型成功捕获了此上下文。
图6:联合模型生成的CVE-TTP KG,包含CVE、CWE、产品、战术和技术实体,具有语义精确的关系。
联合模型KG生成:
或者,联合抽取模型同时执行实体识别和关系抽取,直接从文本预测⟨头实体,关系,尾实体⟩三元组,无需中间实体配对。这种端到端推理减少了流水线架构中的错误传播并提高了抽取效率。生成的三元组被导入Neo4j进行KG构建。生成的KG以CVE-2020-0617(图6)为中心,表示Microsoft Hyper-V Virtual PCI中由输入验证缺陷导致的拒绝服务漏洞。该节点连接到实体如CWE-20(弱点类别)、相关产品(Microsoft Hyper-V Virtual PCI)和影响类型(拒绝服务)。图通过战术节点(TA0005、TA0003)和技术节点(T1027、T1539、T1533.002)捕获了广泛的安全上下文,反映了与MITRE对抗模式对齐的映射。
提取的关系包括associated_with,将CVE链接到战术和技术;achieved_through,指定战术如何通过技术或子技术执行;has_weakness,将CVE映射到弱点分类;affects,将漏洞链接到受影响产品;以及has_impact,表示漏洞的后果。这些关系形成了一个语义丰富且技术精确的结构,强调攻击序列和漏洞影响,尽管供应商或产品版本上下文的表示较少。与流水线KG相比,联合模型生成了更紧凑和聚焦的KG,具有强CVE到CWE和CVE到TTP边,但显式的战术到技术连接较少。这一结果突显了一个权衡:联合模型在端到端稳健提取核心漏洞和弱点映射方面表现出色,同时在涉及攻击工作流的操作语义方面牺牲了一些粒度。虽然联合模型在不确定时通常预测None,但它也在语义相似的实体类型之间表现出误分类。例如,两个模型均未能正确识别供应商实体“Microsoft”和关联关系has_vendor ⟨Hyper-V Virtual PCI, has_vendor, Microsoft⟩。流水线模型完全省略了该实体和关系,而联合模型错误地将“Microsoft Hyper-V Virtual PCI”分类为产品。这种行为反映了联合模型的集成预测机制,在模糊上下文中努力联合分配最合理的标签,与流水线模型倾向于省略困难预测形成对比。尽管存在这些误分类,联合模型的统一方法减轻了实体和关系抽取子任务之间的错误传播,这是流水线设计的常见局限。因此,联合模型在全面KG生成中表现出更优的性能和鲁棒性,特别是在具有相互依赖和重叠实体-关系语义的上下文中。
5 结论
软件漏洞的快速增长给网络安全团队带来挑战,特别是在将漏洞与现实世界攻击行为关联方面。尽管CVE和NVD等数据库提供了技术细节,但它们缺乏与战术和技术的连接,限制了有效的威胁响应。在本工作中,我们提出了CVE-TTP KG,一个从CVE描述中提取网络安全实体和关系以构建结构化知识图谱的框架,从而改进威胁分析。我们收集并映射了将CVE与弱点、战术和技术链接的数据,并创建了两个数据集用于多标签分类和实体-关系抽取。使用CySecBERT,我们在技术分类上达到宏平均F1 0.8771,战术分类上达到0.9616。对于抽取,流水线方法达到0.86(实体)和0.99(关系),而基于跨度的模型达到0.78。生成的知识图谱提供了漏洞-攻击关系的清晰表示,支持更好的分析和缓解。未来工作包括集成大型语言模型以改进抽取,并解决实体消歧和共指消解等挑战。解决模糊术语(如“service”)和指代(如“it”或“this issue”)将增强实体链接,提高知识图谱在威胁建模中的准确性和有用性。