![图片[1]-LLM-TIKG:利用大语言模型构建威胁情报知识图谱-JieYingAI捷鹰AI](https://www.jieyingai.com/wp-content/uploads/2024/12/1733162832905_0.png)
论文推介
LLM-TIKG: Threat intelligence knowledge graph construction utilizing large language model
Yuelin Hu上海交通大学硕士(h-index:1),Futai Zou上海交通大学网络空间安全学院教师(h-index:1)
期刊:Computers & Security(中科院分区SCI 2区,JCR分区Q1)
标题:LLM-TIKG:利用大语言模型构建威胁情报知识图谱
开源威胁情报通常是非结构化的,无法直接应用于下一次检测和防御。在网络安全领域,威胁情报知识图谱(TKG)的建设至关重要。本文提出了一种基于大语言模型的TKG构建方法——LLM-TIKG,利用GPT的少样本学习能力,实现了从非结构化开源威胁情报中自动化提取实体和关系,构建了高效的威胁情报知识图谱。实验结果表明,该方法在命名实体识别和TTP分类任务上的性能均取得了显著提升。
关键词:威胁情报;大语言模型;知识图谱;TTP 分类
01 Smmary
1.研究动机与问题
开源威胁情报常为非结构化,难以直接用于检测与防御。现有构建知识图的方法因实体领域特性及长文本分析限制,需大量标注数据。此外,现有研究常忽视攻击行为文本描述,导致关键信息丢失。如何从开源威胁情报中高效提取实体与关系构建知识图谱?为此,文章提出了LLM-TIKG方法,利用GPT的少样本学习能力进行数据标注与增强,通过微调LLM模型实现主题分类、实体关系提取及TTP分类,构建威胁情报知识图谱。
2.研究假设
(1)当提示中的任务变得更简单时,生成结果的准确性会增加。
大语言模型(LLMs)具有强大的泛化能力,能够处理多种复杂的任务。当任务变得更简单时,模型能够更集中地处理特定指令,减少处理多个子任务时可能出现的混淆,从而提高结果的准确性。此外,简化任务有助于提升数据质量,因为需要的标注数据可能更少但更精确,这反过来又提高了模型训练的效果。同时,简化任务还意味着在模型参数优化时可以更高效地调整较小的参数子集,降低了训练的计算成本,使得模型在特定任务上的性能得到提升。
3.研究设计
首先利用GPT模型强大的小样本学习能力,设计任务指令并输出样本进行数据标注和数据增强,以获得所需数据集。然后,使用LoRA技术对Llama2-7B模型进行微调,使其能够对输入文本进行主题分类、实体和关系提取以及TTP分类;接着,利用微调后的模型对收集的威胁情报文本进行分析,提取实体和关系,并构建威胁情报知识图谱;最后,实验验证所提出方法在命名实体识别和TTP分类任务上的有效性。
4.实证分析
本文的主要结果可以概括如下。提出的LLM-TIKG方法通过利用GPT模型的少样本学习能力,显著提升了命名实体识别和TTP分类的性能,分别达到了87.88%和96.53%的精度。该方法不仅减少了手动数据标注的需求,还成功构建了一个威胁情报知识图谱,实现了对开源威胁情报文本的自动化和通用性分析,验证了其在网络安全防御中的有效性和实用性。
5.贡献与意义
(1)研究提出了一种新方法LLM-TIKG利用大语言模型来分析文本化的威胁情报。
(2)利用GPT模型的少样本学习能力进行数据标注和增强,显著减少了数据标注成本。
(3)提升了命名实体识别和TTP分类的性能。
6. 可能的拓展研究点
(1)未来研究可以考虑将其他类型的数据(如网络流量、图像、音频等)融入到威胁情报知识图谱中,以提供更全面的威胁检测和分析。
(2)威胁情报是动态变化的,未来的研究可以关注如何实现知识图谱的动态更新,以便实时反映最新的威胁信息,并快速响应新的安全事件。
02数据
1. 数据收集
收集来自多个开源平台的威胁情报报告,包括安全公司平台(Symantec、Fortinet、CISA)、安全新闻网站(Sophos、TheHackerNews)和个人安全博客(KrebsonSecurity)。这些报告详细介绍了恶意软件、漏洞、威胁行为者和攻击活动。使用网络爬虫抓取报告的URL并提取文本,去除广告和无关信息,按段落结构整理内容,最终以“标题+链接+内容”的格式保存,作为分析数据源。
2. 数据集生成
本文利用GPT的小样本学习能力生成微调数据集,采用“指令 + 示例 + 输入”模板来训练模型以完成任务(如图1所示)。首先,主题分类任务对开源威胁情报报告进行二分类,以确定其是否与恶意软件、安全漏洞或攻击活动相关。报告的标题和第一段内容用于分类,若报告与威胁情报相关,进一步输出报告的主要对象用于知识图谱构建。由于大语言模型的输入长度限制,若报告的第一段超过150个单词,则会截断它。
![图片[2]-LLM-TIKG:利用大语言模型构建威胁情报知识图谱-JieYingAI捷鹰AI](https://www.jieyingai.com/wp-content/uploads/2024/12/1733162832905_1.png)
图1 三个任务的提示词
实体和关系提取任务旨在从非结构化数据中提取结构化信息,采用基于指令的信息提取方法。通过设计合适的提示,使模型能从文本中识别指定实体并提取实体间的关系。本文中定义了实体类别,如表 1 所示。当在指令中只指定要提取的实体类型时,GPT-3.5 的响应可能会表现出一定程度的 “LLM 幻觉 ”现象,可能会提取出与指定类型不匹配的实体词。为了缓解此问题,在提示符中添加了与每种类型对应的示例,使模型能够更好地理解生成任务。由于 GPT-3.5 不是专门的安全域模型,因此在实体提取方面仍然存在一些偏见,通过设计筛选规则进一步优化结果,确保提取的实体和关系符合要求。
表1 提取的实体类别和示例
![图片[3]-LLM-TIKG:利用大语言模型构建威胁情报知识图谱-JieYingAI捷鹰AI](https://www.jieyingai.com/wp-content/uploads/2024/12/1733162832905_2.png)
由于GPT-3.5是生成模型,除了预定义实体外,它还可能提取其他类别的实体。在实体提取中保留“attack”和“device”类别的实体,筛除不相关的实体,并手动修正了部分结果,以提高实体和关系的质量。
TTP分类任务需要较强的网络安全知识,因此直接使用GPT模型进行攻击描述的分类准确率较低。为此,使用了两个手动标记的数据集:一部分来自MITRE ATT&CK的恶意软件样本,另一部分来自Tram中的标记数据集,包含恶意软件攻击行为的描述及相应的技术。由于攻击描述风格相似,GPT模型的理解能力有限,通过数据增强增加了数据集的数量和多样性。数据增强方法包括将句子翻译成其他语言后再翻译回英语,或通过GPT模型重写句子保持原义。
03方法
自动化威胁情报分析方法 LLM-TIKG,其框架如图 2 所示。它以文本开源威胁情报为输入,通过大语言模型对文本内容的分析,构建威胁情报知识图谱。首先,设计任务指令,利用GPT模型进行数据标注和数据增强。然后使用基于 LoRA 的指令调整方法对 Llama2-7B 模型进行微调,使其能够对输入文本进行分类,提取威胁情报实体及其关系,以及从攻击描述中提取 TTP。基于提取的信息,整合实体和关系,构建连接低级和高级情报的威胁情报知识图谱。
![图片[4]-LLM-TIKG:利用大语言模型构建威胁情报知识图谱-JieYingAI捷鹰AI](https://www.jieyingai.com/wp-content/uploads/2024/12/1733162832905_3.png)
图2 LLM-TIKG 框架
1. 模型微调
为了创建特定任务的LLM,使用收集的数据集对Meta的Llama2-7B模型进行指令调整。指令优化通过精选自然语言实例对预训练的大型语言模型进行微调,使其能够有效处理未见过的任务。由于全参数优化成本高,采用低秩适应(LoRA)技术,仅更新部分参数以减轻资源消耗。更新过程如方程 (1) 所示,原始矩阵被冻结,只有新的训练参数A和B进行优化。
使用LoRA微调后的Llama2-7B模型,通过instruction+input+output格式的数据集进行训练,其中instruction是任务说明,input是要处理的文本,output是期望的结果。在实体和关系提取任务中,instruction还包括多个输出示例,以提高响应质量。经过微调的模型可以用于分析收集的威胁情报报告,并输出相应的结果。
2. 知识图谱构建
利用微调后的模型,对收集的威胁情报报告进行主题分类、实体和关系提取以及TTP分类。首先,根据报告的标题和第一段内容判断其主题是否与威胁情报相关。如果是,模型提取主要对象并继续分析;否则跳过该报告。对于末尾包含IoC(指示符)的报告,模型通过正则表达式提取实体,并建立这些实体与报告主要对象之间的关系。所有信息被整合到知识图谱中。
在实体和关系提取时,模型逐节处理报告,保留段落结构以保持上下文信息。如果某个部分超出模型的输入长度,根据输入长度和段落对其进行划分,努力保留段落内的信息。对于主要对象属于攻击者或恶意软件的报告,执行TTP分类。使用单个句子作为输入,最终输出实体和关系。为提高提取的关系准确性,报告中的主要对象被视为实体属性,进一步帮助清晰地描述关系。为解决实体间关系交错和冗余问题,采用基于规则和基于聚类的方法进行合并,特别是在恶意软件、攻击类型和关系的处理上。聚类过程中,通过计算单词嵌入并使用余弦相似度作为距离度量,执行分层聚类并选取代表性术语,优化关系的准确性。最终,知识图谱根据合并结果进行更新。
04结果
1. 实验设置
从威胁情报共享平台收集了12,545条内容,包括博客、新闻和安全报告,并通过上述方法标记数据。模型微调在2×3090 GPU上使用Python 3.9实现,最大学习率为1×10-4,序列长度设置为1024。性能评估采用Accuracy、Precision、Recall和F1-Score,并设计了三个实验,如下所示:
表2 每个任务的数据集大小
![图片[5]-LLM-TIKG:利用大语言模型构建威胁情报知识图谱-JieYingAI捷鹰AI](https://www.jieyingai.com/wp-content/uploads/2024/12/1733162832905_5.png)
(1)评估命名实体识别和TTP分类任务的性能;(2)观察数据集质量和训练epoch对模型结果的影响;(3)在真实数据集上测试模型并构建威胁情报知识图谱。
2. 任务性能
(1)命名实体识别
命名实体识别(NER)任务从文本中提取实体及其类型。为了比较不同模型的效果,使用相同的数据集(手动修改版本)对BERT-CRF、GPT-3.5、GPT-4和微调后的Llama2-7B模型进行了测试。实验结果如表3所示,BERT-CRF模型的结果较低,可能由于训练数据集较小和非特定实体词的过度表示。GPT-3.5和GPT-4具有较强的自然语言理解能力,召回率高,但可能出现错误分类,尤其是在特定类型实体的识别上。微调后的Llama2-7B模型表现较好,尽管在精度上优于GPT模型,但其召回率较低,且在处理哈希和域等实体时容易遗漏。Llama2-7B在处理长文本和非自然语言描述时效果较差。为了进一步提高命名实体识别的准确性,可增加特定实体类型的数量、使用正则表达式匹配及扩展模型输入序列长度。
表3 命名实体识别的结果
![图片[6]-LLM-TIKG:利用大语言模型构建威胁情报知识图谱-JieYingAI捷鹰AI](https://www.jieyingai.com/wp-content/uploads/2024/12/1733162832905_6.png)
(2)TTP 分类
TTP(技术、战术和程序)分类根据攻击过程的文本描述进行。在数据集中,包含229个技术类别和595个子技术类别,数据集中未表示的技术不被视为单独类别。使用两种分类方法进行测试,并在评估指标中加入准确性。由于数据集包含负样本(无TTP数据),当技术类别数量较少时,模型准确性较高。本文的方法在TTP分类中达到了97.47%的准确率,表现优于TTPDrill和Tram。TTPDrill采用规则匹配方法,准确性较低,无法应对新类别和表达式。Tram基于logistic回归和Naive Bayes,但准确性会随技术类别的扩展而下降。与命名实体识别相比,TTP分类的输出较为固定,因此准确性更高。错误分类主要由模型输出与类别名称之间的偏差以及数据集标签不平衡引起,后者导致模型偏向示例数量较多的标签。
表4 TTP 分类的结果
![图片[7]-LLM-TIKG:利用大语言模型构建威胁情报知识图谱-JieYingAI捷鹰AI](https://www.jieyingai.com/wp-content/uploads/2024/12/1733162832905_7.png)
3. 微调设置
(1)数据集质量
使用 GPT-3.5 生成的实体提取数据集与手动标记的数据在准确性上有所不同,尽管进行了基于规则的过滤,仍有遗漏和误判。对1,600个样本进行手动修改,并在两个数据集上训练模型:15000个粗滤数据实例和1600个手动修改样本。结果表明,使用手动修改的数据集能提高模型准确性,且训练数据集的质量比数量更为重要。尽管TTP分类数据集来自专家分析,标签较为精确,但命名实体识别数据集仍存在一些不准确之处,这解释了TTP分类中更高的准确性。
(2)指令任务
在使用 GPT 进行命名实体识别时,标准化格式的实体(如文件、IP 地址、域名)的精度较高,而模糊定义的类型(如工具和攻击类型)精度较低,容易导致错误分类。为了提高生成数据的质量,在提示中添加了几个要求:(1)明确只提取指定类型的实体,未找到相关实体时注明“无相关实体”,并将不属于指定类型的实体标记为“其他类型”。(2)对于模糊的威胁类型,提供更具体的定义和示例,以帮助模型更好地理解和提取。通过这些方法,威胁类型的 F1 分数从 76 提高到 87.2。
在优化提示后,GPT-3.5 和 GPT-4 的输出精度都有提高(如表5所示)。GPT-3.5 在召回率上表现更好,但错误分类较多,而 GPT-4 的性能更加平衡。然而,去除可通过正则表达式提取的实体类型(如 IP、哈希和 CVE 编号)并没有显著提高其他实体类型的准确性,反而导致一些错误分类。因此,数据质量是影响模型结果的关键因素。
表5 命名实体识别结果
![图片[8]-LLM-TIKG:利用大语言模型构建威胁情报知识图谱-JieYingAI捷鹰AI](https://www.jieyingai.com/wp-content/uploads/2024/12/1733162832905_8.png)
(3)训练 epoch 的数量
在训练深度学习模型时,选择合适的训练轮数对于获得出色的性能至关重要。与 BERT 相比,微调大型语言模型所需的 epoch 数减少了,但由于模型参数的显著增加,训练时间增加。不同训练 epoch 的结果如图 3 所示。随着轮数的增加,模型的性能会逐渐提高。在达到某个 epoch 时,模型的学习能力变得饱和,这意味着准确率达到峰值。在随后的 epoch 中,准确性表现出一些波动并下降。
![图片[9]-LLM-TIKG:利用大语言模型构建威胁情报知识图谱-JieYingAI捷鹰AI](https://www.jieyingai.com/wp-content/uploads/2024/12/1733162832905_9.png)
图3 不同训练 epoch 的结果
4. 真实数据集的性能
利用训练好的模型,从12,542篇文章中将9,681篇文章分类为威胁情报报告。提取和处理的信息被存入图数据库Neo4j,该数据库将数据列表转换为图结构。这个过程共提取了50,745个实体和64,948个关系。实体的类别和数量如图 4(a) 所示,而最常见的关系类型如图 4(b) 所示。其中,提取的实体数量最多的是 tool,其次是 attacker 和 MD5。根据与其他实体关联的关系数量,最常见的工具是 PowerShell、Cobalt Strike、C2 服务器和 Mimikatz。在提取的关系中,“use” 的数字最高,表示攻击者、恶意软件和工具等实体之间的调用关系。
![图片[10]-LLM-TIKG:利用大语言模型构建威胁情报知识图谱-JieYingAI捷鹰AI](https://www.jieyingai.com/wp-content/uploads/2024/12/1733162832905_10.png)
图4 提取的实体和关系的数量
图 5 显示了构建的知识图谱的一部分,展示了与攻击者 Shuckworm 相关的一些威胁情报信息。该图揭示了 Shuckworm 使用的一些恶意软件和工具,以及相关的 IoC 信息。说明了各种威胁情报数据之间的联系,从而提供了对攻击者恶意活动的见解。
![图片[11]-LLM-TIKG:利用大语言模型构建威胁情报知识图谱-JieYingAI捷鹰AI](https://www.jieyingai.com/wp-content/uploads/2024/12/1733162832905_11.png)
图5 与 Shuckworm 关联的部分知识图谱
5. 案例研究
通过两个实际示例解释了如何将构建的威胁情报知识图谱应用于威胁搜寻和攻击归因。
(1)威胁狩猎
![图片[12]-LLM-TIKG:利用大语言模型构建威胁情报知识图谱-JieYingAI捷鹰AI](https://www.jieyingai.com/wp-content/uploads/2024/12/1733162832905_12.png)
图6 与 PivNoxy 的入侵过程有关的知识图谱(部分)
通过从攻击分析报告构建威胁情报知识图谱,可以将威胁攻击行为转化为图谱形式。图6展示了与PivNoxy入侵过程相关的节点和关系,包括通过网络钓鱼诱导受害者下载文件并加载恶意代码。为避免被发现,攻击者通常会不时更新他们使用的 IP 和域。仅使用 IoC 值进行入侵检测是无效的。但攻击行为和正常行为之间仍有区别。图6中的攻击者行为可以作为训练模型的恶意样本,帮助模型学习攻击者行为特征。
(2)攻击归因
通过知识图谱中的信息,可以识别实体间的相似性,例如恶意软件和攻击者。多个攻击者使用相同恶意软件和技术,可能属于同一组织;不同恶意软件菌株采用共享技术、相同IoC并表现相似攻击行为,可能属于同一恶意软件家族。图7展示了BlackSuit和Royal勒索软件之间的相似性,它们与Conti勒索软件相关,并共享技术和哈希值。通过相似度匹配或链接预测,可分析攻击者或恶意软件的相似性,帮助进行攻击归因并采取相应应对措施。
![图片[13]-LLM-TIKG:利用大语言模型构建威胁情报知识图谱-JieYingAI捷鹰AI](https://www.jieyingai.com/wp-content/uploads/2024/12/1733162832905_13.png)
图7 构建知识图谱的一部分
05结论
本文提出了一种基于大语言模型构建威胁情报知识图谱的自动化和通用方法。通过利用 GPT 的 Few-shot 学习能力并构建相应的提示,实现了数据标注和增强,从而为模型训练创建了必要的数据集,降低了人工标注的成本。然后对 Llama2-7B 模型进行微调,对威胁情报报告进行主题分类、实体和关系提取以及 TTP 分类,从而构建威胁情报知识图谱。实验证明,本文的方法在命名实体识别和 TTP 分类方面比其他方法更有效。
江莹|编辑 排版
李仁德 |审核







