tips:软件翻译有差距,仍需看原文文档。
Abstract
大量关于恶意软件攻击的威胁情报信息以分散的(通常是非结构化的)格式提供。知识图谱(KG)可以使用由实体和关系表示的RDF三元组来捕获这些信息及其上下文。然而,稀疏或不准确的威胁信息会导致诸如不完整或错误的三元组等挑战。用于填充KG的命名实体识别(NER)和关系提取(RE)模型不能完全保证准确的信息检索,进一步加剧了这一问题。本文提出了一种端到端的方法来生成恶意软件知识图谱MalKG,这是第一个针对恶意软件威胁情报的开源自动化KG。MalKG数据集MT40K包含27, 354个唯一实体和34个关系生成的大约40, 000个三元组。我们展示了MalKG在预测KG中缺失的恶意软件威胁情报信息方面的应用。对于基本事实,我们手工绘制了一个名为MT3K的KG,其中3, 027个三元组来自5741个唯一实体和22个关系。对于基于最先进的实体预测模型( TuckER )的实体预测,我们的方法在hits@10度量(预测KG中缺失实体的前10个选项)上达到了80.4,在MRR (平均倒数秩)上达到了0.75。我们还提出了一个框架,从1100份恶意软件威胁情报报告和公共漏洞和暴露( CVE )数据库中,在句子级别上自动和手动地将数以千计的实体和关系抽取为RDF三元组。
1. Introduction
恶意软件威胁情报告知安全分析人员和研究人员关于趋势化的攻击和防御机制。他们利用这些情报帮助自己在日益复杂的工作中发现零日攻击、保护知识产权、防止对手入侵。这些信息是丰富的;然而,它通常以非标准和非结构化的格式存在。此外,信息并不总是准确或完整的。例如,最近针对SolarWinds软件的攻击威胁报告对将Sunburst恶意软件插入SolarWinds的Orion软件进行了详细分析。随着更多信息的披露,时间线在随后的报告中发生了变化。然而,尽管Sunburst恶意软件和与Turla高级持续性威胁( Turla Advanced Persistent Threat,APT )组链接的后门有相似之处,但没有关于威胁行为者的信息。KG可以使攻击者识别这种缺失的信息。
安全威胁研究人员的一个主要目标是在尽可能少的人工参与的情况下实现威胁检测和预防的自动化。人工智能技术,加上关于威胁的大数据,在很大程度上有潜力实现这一点。互联网上越来越多的威胁信息源,如分析报告、博客、常见漏洞和暴露数据库( CVE、NVD),提供了足够的数据来评估当前的威胁状况,并为未来的防御做好准备。将这种大多是非结构化的数据结构化并将其转换为可用的格式只解决了一个问题。它忽略了捕获威胁信息的上下文,这可以显著提高威胁情报。然而,在这一步骤之前需要解决几个挑战,例如:( a )缺乏收集数据和上下文的标准化数据聚合格式,( b )数据提取模型的限制导致收集的攻击信息不完整,( b )数据提取模型的局限性导致收集到的攻击信息不完整,( c )从威胁信息中提取的数据不准确。在本文中,我们解决了前两个挑战。解决源信息可信性的第三个挑战留待未来工作。
可以认为,CVE, NVD等数据源,以及结构化威胁信息表达( Structured Threat Information Expression,STIX )等标准,可以有效地自动聚合威胁和漏洞数据。然而,这些数据源和标准忽略了上下文的重要性,而上下文可以通过链接和语义元数据进行添加。文本数据并非单纯的词语聚合。信息是有意义的,概念与外部来源的联系对其有效利用至关重要。例如,人类安全分析家能够正确理解威胁报告中"Aurora"一词的含义。它是指2009年谷歌首次检测到的由中国实施的高级持续性威胁( Advanced Persistent Threats,APTs )系列网络攻击。然而,收集这些信息的计算机或人工智能模型可能会将其误认为北极光,除非提供安全上下文。
KG通过添加上下文以及允许对数据进行推理来弥合这一鸿沟。知识图谱的最小单元称为RDF三元组,由使用实体和关系的数据实例组成。实体捕获现实世界的对象、事件、抽象概念和事实。例如,实体代表了网络安全领域的恶意软件、组织、漏洞和恶意软件行为特征。关系通过描述实体之间关系的关键短语将实体联系起来。具体来说,在恶意软件威胁情报中使用KG添加上下文带来了许多机会:
- 实体预测:从知识图谱中预测缺失的实体。给定一个恶意软件KG,补全缺失的信息如恶意软件作者、漏洞等。对于一个不完整的三元组<multi-homed windows systems, hasVulnerability, ?>,实体预测将返回一个有序的实体集合,例如{spoofed route pointer, multiple eval injection vulnerability, heap overflow}。在这种情况下,spoofed route pointer对于不完全三元组是正确的尾部实体。
- 实体分类:判断一个实体的类别标签是否准确。例如,正确判定spoofed route pointer就是class: Vulnerability的一个实例。
- 实体解析:判断两个实体是否指代同一个对象。例如,Operation AppleJeus和Operation AppleJeus Sequel可能具有类似的属性。然而,它们是不同的恶意软件活动,不应该被解析到同一个实体。
- 三元组分类:验证恶意软件威胁情报KF中的RDF三元组是否被准确分类。例如,< ZeroCleare, targets, Energy Sector In The Middle-East>应归为正确三元组,<ZeroCleare, targets, Energy Sector In Russia>应归为错误三元组。
MalKG包含丰富的信息,可以被统计学习系统利用。例如,在MalKG中,低维嵌入向量空间可以表示实体,矩阵可以表示关系。因此,实体和关系可以通过各种方法嵌入到机器可读的形式中,便于自动分析和推理。
动机:在上一节描述的实例中,KG补全会预测缺失的头部实体,即’Aurora Botnet’恶意软件的作者。MalKG的完备性主要取决于两个因素:( 1 )威胁报告中的可用信息;( 2 ) NER和RE模型的有效性。实体预测是根据存储在KG中的已有信息预测缺失实体的最佳候选对象或推断新事实的任务。使用恶意软件威胁情报本体的基于规则的推理控制哪些头尾实体类可以形成关系。本文提出了基于TuckER实体识别模型的实体预测。我们还比较和对比了在其他领域的数据集上表现良好的实体预测模型的性能。特别是基于翻译的嵌入模型,以及张量分解模型。其他模型在特定数据集上表现良好,但没有完全表达MalKG的一些性质,如实体间的一对多关系,不包括逆关系,以及极少数对称关系的实例。
网络安全情报是一个广泛的领域,在一个KG中表示这个领域是一项巨大的工作。因此,在本研究中我们专注于恶意软件威胁情报并研究恶意软件实例来说明工作。尽管如此,挑战和方法足够广泛,可以应用于安全领域的其他领域。我们的MalKG是从从互联网收集的恶意软件威胁情报报告中实例化得到的。我们从CVE漏洞描述数据库中权标化约1100条PDF格式的威胁报告中提取涵盖恶意软件威胁情报的实体。实例化过程在下文描述,包括NER和RE算法。NER和RE算法一起被部署和自动化,以生成数以千计的RDF三元组,将恶意软件威胁信息捕获到KG的单元中。我们还讨论了在这一过程中遇到的挑战。具体来说,本文的主要贡献有:
- 我们提出了一个端到端的、自动化的、本体定义的恶意软件威胁情报KG生成框架。从1100份威胁报告和以非结构化文本格式编写的CVE漏洞描述中提取了40000个三元组。这些三元组创建了第一个开源知识图谱,用于提取1999年以来近千个恶意软件的结构化和上下文相关恶意软件威胁情报。
- 使用基于张量分解的模型将三元组编码为向量嵌入,可以从图中提取潜在信息并发现隐藏信息。这对于网络安全分析人员来说是一个至关重要的目标,因为在向量嵌入上运行机器学习模型可以为自主入侵检测系统产生更准确和上下文相关的预测。
- 我们提供了一个真实数据集MT3K,该数据集包括5, 741个手工标注的实体及其类、22个关系和3, 027个三元组,从2006 - 2019年间撰写的81份非结构化威胁报告中提取。安全专家对这一数据进行了验证,对于训练用于恶意软件威胁情报的更大知识图谱的自动化过程非常有价值。
- 我们采用了一种先进的实体和关系抽取模型到网络安全领域,并将默认的语义分类映射到恶意软件本体。我们还确保了模型在不影响精度的情况下,能够扩展到威胁语料的规模。
- 针对知识图谱中存在缺失信息(或实体)的MalKG,我们通过在MalKG的其他三元组中寻找语义和句法相似度,证明了使用准确学习和预测缺失信息的嵌入模型进行实体补全的有效性。
- MalKG是开源的,与文本语料库、三元组、实体一起,为新颖的情境安全研究问题提供了新的基准框架。
2. Background
2.1 Definitions
MalKG将异构多模态数据表示为有向图,MalKG = { E,R,T },其中E、R和T分别表示实体、关系和三元组(也叫事实)的集合。每个三元组<ehead,r,etail>∈T<e_{head},r,e_{tail}>∈T<ehead,r,etail>∈T表示ehead∈Ee_{head}∈Eehead∈E和etail∈Ee_{tail}∈Eetail∈E之间存在一个关系r∈Rr∈Rr∈R。对于实体和关系ehead,etail,re_{head},e_{tail},rehead,etail,r我们分别用粗体h,t,r表示它们的低维嵌入向量。我们用ded_ede

文章提出了MalKG,一个自动化生成的恶意软件威胁情报知识图谱,包含27,354个实体和34个关系的40,000个三元组。通过实体和关系抽取方法,从非结构化的威胁报告中提取信息,构建KG。MalKG可用于预测缺失的恶意软件威胁情报信息,如恶意软件的作者或漏洞。此外,文章介绍了TuckER模型在实体预测任务上的应用,展示了在预测KG中缺失实体的有效性。
最低0.47元/天 解锁文章
1157





