论文阅读Malware Knowledge Graph Generation

文章介绍了TINKER,一个用于威胁情报的开源知识图谱,通过RDF三元组将非结构化的威胁信息标准化。TINKER解决了信息安全领域数据标准化和情境化的问题,支持推理和新威胁的发现。文章详述了从威胁报告中提取信息的过程,包括手动和自动方法,并讨论了面临的挑战和未来的研究方向。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

tips:软件翻译有差距,仍需看原文文档。

Abstract

​ 网络威胁和攻击情报信息以非标准格式从异构来源获得。理解它们并将它们用于威胁情报提取需要聘请安全专家。知识图谱(KG)能够将这种非结构化信息从异构来源转换为数据和事实知识的结构化表示,用于多个下游任务,例如预测缺失信息和未来威胁趋势。现有的大规模KG主要关注实体的一般类及其之间的关系。安全领域的开源知识图谱不存在。为了填补这一空白,我们构建了 TINKER——威胁情报知识图谱 (Threat INTelligence KnowlEdge gRaph)。 TINKER 是使用 RDF 三元组生成的,这些三元组描述了来自 2006 年至 2021 年间发布的 83 份威胁报告的标记化非结构化自然语言文本中的实体和关系。我们使用开源恶意软件本体定义的类和属性并使用手工注释的 RDF 三元组构建 TINKER。我们还讨论了在创建 TINKER 时正在进行的研究和面临的挑战。

1. Introduction

​ 互联网上不乏网络安全威胁和攻击信息。结构化和非结构化数据都可供安全专业人员和研究人员使用,以帮助他们完成越来越复杂的工作,如发现零日攻击、保护知识产权和防止对手入侵。 CVE(Martin,2007 年)、NVD(Booth 等人,2013 年)是安全社区提供信息的漏洞跟踪程序。对于共享威胁情报,有一些行业标准,如结构化威胁信息表达 (STIX)(Barnum,2012 年),它提供了一个与语言无关的框架来将威胁情报捕获到一个可共享的包中。相比之下,可信的指标信息自动交换 (TAXII) (Connolly et al., 2014) 是一个可以发送和接收 STIX 包的平台。在这里,尽管在过去十年中许多人共同努力组织恶意软件威胁信息,但我们仍面临两个需要立即关注的挑战。首先是使用相同标准的组织之间共享的数据程度不同。另一个挑战,也是我们将在本文中解决的挑战,是缺乏信息标准化和数据情境化。

​ 安全本体(特别是恶意软件)试图解决第一个问题(Syed 等人,2016 年),(Swimmer,2008 年)主要以结构化格式整理数据并分发它(Barnum,2012 年;Connolly 等人,2014 年) .大多数现有方法都具有识别攻击模式、漏洞、威胁或信息传播的特定目的。本文建立在当前安全标准、语义网的域链接属性和自然语言域的流行但有限的优势之上。安全本体 (Rastogi et al., 2020), (Swimmer, 2008) 被扩展为从在线资源中提取网络安全威胁情报。其他好处包括跨应用程序的信息互操作性和为机器学习模型创建标记特征。标记数据后,使用本体可以对大型数据集运行查询、识别趋势并预测未来事件。

​ 在本文中,我们提出了 TINKER,一种从非结构化威胁相关数据中提取信息的手工KG。 TINKER 将信息转换为称为 RDF 三元组的标准化结构化格式。三元组支持推理,允许根据数据和理解该数据的规则的组合自动发现新事实。因此,TINKER 可以发现新的威胁情报,因为它使用三元组组合恶意软件数据。它还与一般世界概念相联系,从而混合“知识”、关联、分组概念,并推断出新的见解。

​ 在这项工作中,我们使用从互联网下载的 2006-2021 年之间编写的超过 83 个威胁文档来实例化现有的恶意软件本体。根据(Rastogi 等人,2020 年;Swimmer,2008 年)中的恶意软件本体并使用 Brat 注释工具,创建了大约 3000 个三元组。本体提供类的名称,在 TINKER 中称为实体。本体还包含在 TINKER 中称为关系的属性,它定义了不同类之间的关系。研究团队的安全专家随后验证了注释数据集。使用这些实体生成的三元组是 TINKER 的结构组件,可捕获与恶意软件威胁情报相关的事实。除此之外,三元组允许对它们进行推理,从而导致新信息更早丢失或不准确。例如,考虑威胁报告中的以下片段:

“…DUSTMAN can be considered as a new variant of ZeroCleare malware…both DUSTMAN and ZeroCleare utilized a skeleton of the modified “Turla Driver Loader (TDL)”…The malware executable file “dustman.exe” is not the actual wiper, however, it contains all the needed resources and drops three other files [assistant.sys, elrawdisk.sys, agent.exe] upon execution…”

​ 表 1 显示了一组从该文本生成的三元组。许多这样的三元组一起形成了恶意软件KG,其中实体和关系分别对节点和有向边建模。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G7Y0rXcS-1675737021788)(C:\Users\ExcaliburZ\AppData\Roaming\Typora\typora-user-images\image-20230207101440581.png)]

​ 从头开始创建 TINKER 并非易事,因此我们讨论了这项工作中遇到的挑战。尽管如此,使KG生成成为一项集中且有限的工作的是构建它的恶意软件本体。一组能力问题有助于创建本体,本体应该能够回答这些问题。威胁报告具有由本体定义的类提取的概念。还包括概念(或KG中的实体)之间的潜在关系以及我们发现从手头信息进行预测所必需的内容。当与链接开放数据 (LOD)(Bauer and Kaltenb ̈ ock, 2011)相结合时,TINKER 改进了数据的语义内容并在模式级别链接数据集。它还确保了未来与其他本体和KG的互操作性。

2. Background Work and Motivation

​ 一些通用和特定的KG,例如 Freebase(Bollacker 等人,2008 年)、谷歌的知识图谱3 和 WordNet(Fellbaum,2010 年)都可以作为开源软件使用。链接开放数据(Bauer and Kaltenb ̈ ock, 2011)是指网络上可用的所有数据,可使用统一资源标识符 (URI) 等标准访问以识别实体和资源描述框架 (RDF) 以将实体统一到数据模型中。但是,它不包含处理网络威胁和情报的域特定实体。其他现有的KG要么不是开源的,要么过于具体,要么不适合我们的研究打算从情报报告中收集的信息的广度。

​ 作为威胁报告中关键短语实体识别的一部分,我们探索了 DBpedia Spotlight(Mendes 等人,2011 年)。它通过使用一些知识库(截至 2021 年),包括 DBpedia、FreeBase(已弃用)和 Schema.org,支持在特定领域的文本(例如网络安全)中配置注释,同时提供消歧置信度的质量度量。每个带注释的关键短语还会获得一个本体 URI,以确保概念的来源。然而,当使用这些本体注释文本时,来自 DBPedia Spotlight(Mendes 等人,2011)的关键短语挖掘器错过了上下文确定。例如,一份关于“Operation Aurora”的威胁报告被正确地注释为来自维基百科派生本体的恶意软件类。但是,威胁报告的大部分内容都使用“Aurora”。我们目前正在探索在语义和句法上相似的实体提取方法。因此,一个简单的 CRF 或基于 n-gram 的方法,尽管性能很高,但会导致误报注释。此外,它缺少从注释实体中提取的关系。由于不断变化和发展的环境,上下文实体提取对于网络安全威胁情报尤为重要。在知识图的语言中,这意味着随着更多知识以自然语言文本的形式可用,TINKER 将需要更新,以免它很快变得陈旧。

2.1 Ontology

​ 在提取句法和词汇文本模式之前,我们需要确保它们也映射到恶意软件本体定义的类(实体)。一个理想的开源本体可以系统地捕获网络威胁和攻击信息(事实和分析)以对威胁报告的内容进行建模。构建本体需要回答满足威胁域必要覆盖要求的能力问题。这些问题(或能力问题的更窄版本)可以通过在知识图上运行 SPARQL 查询来回答。在构建 TINKER 时,我们将能力问题更新为以下内容:

  1. 缺少关于攻击者/攻击者团体、恶意软件、恶意软件活动、利用的漏洞或部署的攻击方法的信息。
  2. 将对手、恶意软件分组以帮助了解他们的行为并预测未来的行动方案有哪些相似的特征?
  3. 特定恶意软件对组织或行业的影响是什么——财务、人类生活、知识产权、声誉?
  4. 对于恶意软件、攻击者/攻击者团体的短期和长期行动,我们可以预测什么?

​ 本体使用类和属性 [匿名] 在特定域内限定概念。为了使本体具有可扩展性和可扩展性,一些类覆盖了具有预定义权限的域。实例为各个类保留不同的值,并通过属性相互连接。此外,软件代理可以利用这样的本体来生成恶意软件KG。本体类和属性可以显着增强过去、当前和未来的威胁分析,从而为进一步调查各种恶意软件攻击提供信息。例如,在 [匿名] 本体中,三个类别主要描述恶意软件行为——恶意软件、漏洞和指示器。这些类的实例可以为分析人员提供有关恶意软件行为及其攻击策略的大量信息。有关恶意软件本体的快照,请参见图 1。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-c0qJ4OVN-1675737021789)(C:\Users\ExcaliburZ\AppData\Roaming\Typora\typora-user-images\image-20230207102506972.png)]

3. Generating Triples

​ 在本文中,我们关注手动命名实体识别 (NER) 和关系提取 (RE),并讨论某些类的部分自动提取。我们通过使用从实际威胁报告派生的实例填充它来构建与恶意软件本体相对应的 TINKER。可以使用使用 SPARQL 查询编写的能力问题来查询知识图(Rastogi 等人,2020 年),以帮助回答几个研究问题。然而,鉴于实例化的本体已经在捕获有关领域的事实和信息,人们可能会争论是否需要知识图谱。推理提取信息和推断潜在信息的能力是知识图谱的两个关键特征。 TINKER 捕获各个节点(也称为实体)之间的属性网络,并使用推理器在实体之间绘制否则无法理解的连接。在这里,TINKER 包含特定恶意软件属性的实例,例如起源、攻击目标、时间线、附属参与者、攻击中利用的漏洞、对行业和人类的影响。 TINKER 不仅仅是使用本体的数据实例化。它是各个节点(也称为实体)之间的属性网络,并使用推理机在实体之间建立联系,否则这些联系将被忽略。

3.1 Manual Generation

​ 安全组织在 2006 年至 2021 年间发布的一些威胁报告是使用恶意软件威胁情报本体进行手工注释的(Rastogi 等人,2020 年)(Swimmer,2008 年)。例如,2011 年关于 Night Dragon5 的一份报告描述了它的操作。 2013 年发布的关于 Stuxnet、Shamoon 等恶意软件的其他报告提供了有关特定恶意软件攻击的更深入、更广泛的详细信息。

​ 威胁报告由作者手动注释并由安全专家审查。威胁报告中的注释值用于实例化恶意软件本体的各种概念。在此步骤中,值被分配给恶意软件本体类和属性的实例。在图 2 中,恶意软件 KG 的片段描述了使用恶意软件本体中的类和属性从报告中收集的威胁数据的建模。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MawdIAFd-1675737021789)(C:\Users\ExcaliburZ\AppData\Roaming\Typora\typora-user-images\image-20230207102726138.png)]

3.2 Automatic Generation

​ 我们的最终研究目标是开发和训练我们自己的 NER 和 RE 模型。自动化威胁报告的注释过程需要机器学习和文本挖掘方法的集合。要求是提取代表威胁报告的重要关键短语。因此,我们考虑了我们的研究需求,并探索了 spaCy、Stanford 和 Flair 已有的 NER 模型。从这些 NER 模型中提取的最常见实体包括 - 人员、组织、位置、日期、软件、产品。我们为网络安全数据集测试了其中几个模型,结果有一些有趣的启示。 Flair12 为我们提供了映射回恶意软件本体的类的最准确结果。

4. Empirical Results

​ 83 份以非结构化文本格式编写的威胁报告已从 pdf 或 html 转换为文本。这形成了带有单词和相应标记的训练和测试数据。每个报告都被分成单独的句子,并输入到 Brat 注释工具中。然而,对于自动化,我们计划谨慎行事并有选择地注释实体和关系。从手工注释的数据集中,我们观察到只有构成所有注释的 95% 的实体捕获了威胁报告中的大部分数据。

5. Discussion on Ongoing Research

​ 为了创建大规模的 TINKER,我们正在探索具有不同个体优势的信息提取技术的集合。 DBpedia 知识库可以注释通用关键短语并识别“DBP”命名空间中存在的实体。我们整合了现有的漏洞数据库——CVE 和 NVD 以及其他恶意软件本体(Swimmer,2008 年;Rastogi 等人,2020 年),以确保我们捕获尽可能多的威胁情报。此外,我们使用一个简单的正则表达式来提取实例,例如妥协指标。对于静态信息的标注,我们比较看好Flair12。最大的挑战在于注释上下文信息和定义类(或实体)之间的关系。我们探索并给出相当好的结果的方法之一是基于上下文特征选择方法。它选择干净的上下文特征来计算实体-实体分布相似度。然而,这种方法的局限性在于它只从每个威胁报告中提取一种实体,而不是所有实例。我们正在研究克服的另一个挑战是可以使用 TINKER 进行训练的文档级关系提取技术。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值