【文献翻译】Automatic extraction of named entities of cyber threats using a deep Bi‑LSTM‑CRF network

使用深度 Bi‑LSTM‑CRF 网络自动提取网络威胁的命名实体

摘要

出于安全原因,世界各地的公司每天都会使用无数的网络威胁情报 (CTI) 报告。为了保护关键的网络安全信息,分析师和个人应相应地分析有关威胁和漏洞的信息。然而,分析如此大量的报告需要大量的时间和精力。在这项研究中,我们提出了一种新方法,该方法使用命名实体识别 (NER) 系统从 CTI 报告中自动提取核心信息。在构建我们提出的 NER 系统的过程中,我们将安全域中有意义的关键字定义为实体,包括恶意软件、域/URL、IP 地址、哈希和常见漏洞和暴露。此外,我们将这些关键词与从报告文本数据中提取的词语联系起来。为了获得更高的性能,我们使用条件随机场网络将字符级特征向量作为双向长短期记忆的输入。我们最终达到了 75.05% 的平均 F1 分数。我们发布了在研究期间创建的 498,000 个标签数据集。

关键词 网络安全 · 漏洞 · 网络威胁情报 · 命名实体识别 · 双向长短期记忆条件随机场

1 简介

IP 地址、URL 和私人数据等网络属性不断受到恶意软件、病毒和恶意行为者的威胁。使用不安全的数据或网站会使用户容易受到黑客的攻击。用户很少能够检测到此类攻击,并且缺乏有关攻击模式和方法的信息。最近的网络威胁不仅针对个人用户,还针对企业,无论其规模如何[13]。出于这个原因,人们应该始终意识到网络威胁和漏洞。网络威胁情报 (CTI) 报告提供有用的数据、信息和对网络安全的洞察,包括重要的关键字,例如恶意软件名称、攻击方案以及攻击者和其他受害者的 IP 地址。通过结构方法从 CTI 报告中提取这些重要实体对于专业从业者来说是有价值的,也是网络安全研究的必要步骤。在应用各种文本挖掘和机器学习方法的研究中,研究人员最近尝试提取在网络安全领域优化的关键实体 [30, 34]。

依赖特征工程的传统基于统计的提取方法取得了良好的性能。这种方法的缺点是它们的劳动密集型和难以维护,特别是它们的高动态场。近年来,相对更实用的基于神经网络(NN)的方法[24, 35]已经显示出明显的效果。递归神经网络 (RNN) 适用于处理时序数据,例如时间序列或自然语言,并且在自然语言处理 (NLP) 领域取得了显着的性能,无论其领域如何 [4, 8]。特别是,由于 LSTM 神经网络架构可以克服 RNN 的梯度消失问题,该模型使其能够实现长期依赖。这使得 LSTM 在处理时序数据时成为一种有利的方法。通过使用 CRF 输入的双向路径来考虑基于上下文特征的 LSTM 网络的馈送,我们实现了 NER 模型的更高鲁棒性。

在这项研究中,我们提出了一种使用 Bi-LSTM-CRF 网络分析和提取 CTI 报告中实体的新方法。这些模型包括各种特征,例如单词、基于 Bag-Of-Character (BOC) 表示的字符、卷积神经网络 (CNN) 和 RNN。因此,在使用动态输入特征的模型中,基于 BOC 的 Bi-LSTM-CRF 模型速度更快,F1 得分总体高于其他基于模型的模型。

我们论文的贡献如下。

首先,我们定义了与网络安全领域内 CTI 报告文本中指定的相关关键字相关联的重要实体。其次,我们基于深度神经网络的使用创建了增强的特征嵌入以输入 Bi-LSTM-CRF,使我们能够实现 75.05% 的平均 F1 分数。最后,我们发布了 498,000 个带注释的语料库,旨在促进进一步研究,造福网络安全领域的其他研究人员。数据集可以从 http://github.com/nlpai-lab/CTI-reports-dataset 下载

2 相关研究

黑客对网络资产的利用是一个全球性问题[21]。机器学习和数据挖掘等智能技术正被用作检测、分析和防御网络威胁的手段。Mulwad 等人[29] 提出了一个原型系统,可以从 Web 文本中检测和提取有关潜在攻击和漏洞的威胁信息。该系统使用支持向量机 (SVM) 分类器来提取相关概念并查询基于混合知识的实体。作者根据平均精度评估了他们的模型性能。

More等人提出了从异构数据源中提取与有意义的网络资源相关的实体[28]。Joshi 等人[22] 通过开发一个框架来识别和提取与网络安全领域相关的不同实体(例如,软件产品和操作系统),扩展了这一想法。尽管应用的实体很重要,但很难检测到对系统管理员很重要的恶意代码名称、IP 地址和域等实体。Bridges 等人[3] 应用了使用最大熵技术的感知器算法,并创建了一个自定义工具,可用于自动构建训练语料库。他们取得了 96.5% 的 F1 分数,尽管他们的语料库不像 Joshi 等人的那样变化,后者取得了 75% 的 F1 分数。

最近,作为克服传统统计方法的替代方法,Goldberg 等人 [12] 强调了神经网络在 NLP 领域的使用。Conti等人[7] 指出人工智能、机器学习和先进的数据挖掘技术对于确保网络安全至关重要,并强调了这些技术的使用。 Gasmi 等人使用了 LSTM-CRF[10] 评估深度学习方法在网络安全领域的优越性。此外,他们扩展了他们的想法 [11],提出了一种结合 LSTM-CRF 和实体之间关系的方法,并将其与 LSTM-CRF 进行了比较。他们专注于七种最常见的实体类型,包括其模型的供应商、应用程序、版本和操作系统,并取得了 83.37% 的 F1 分数。

Graves 等人提出的双向LSTM,用于基于 RNN 的双向网络 [15],是一种在顺序输入特征中同时访问前向和后向路径的训练技术。Huang等人[20] 将 Bi-LSTM 网络与 CRF 网络相结合,形成 Bi-LSTM-CRF。他们实现了当时被认为是最先进或可比的 NLP 性能。使用这些模型的性能也已在生物医学自然语言处理 (BioNLP) 等各个领域得到证明。例如,Zhou 等人[38] 使用 CNN-LSTM-CRF 模型和 TAC 2017 基准数据库对不同药物和靶基因的交叉表型进行了调控分析。Habibi等人[17] 还将这种 Bi-LSTM 架构用于生物医学领域的 NER 系统,该系统由化学物质和基因等医学实体组成。

在这项研究中,我们从非结构化 PDF 文本构建了一个黄金标准语料库。此外,使用 RNN、CNN 和 BOC 方法将字符与单词单元组合的动态输入特征应用于 Bi-LSTMCRF 模型和网络安全领域的实体预测。

3 方法

用于从 PDF 格式编写的 CTI 报告中提取文本的预处理很重要,但非常棘手。有用于提取此类文本的开源工具,但它们的性能不如我们希望的那样好。在本节中,我们将描述如何从结构化 PDF 中提取干净的文本。

3.1 文本提取

从 CTI 报告中提取文本是最关键的方面,特别是考虑到此类结构化文本数据难以处理的事实。利用一系列文本细化过程,可以从具有各种文本和图像数据格式的 CTI 报告中提取由字符串组成的文本信息。段落、句子或其他类型的文本之间没有分隔符,仅包含每个字母的字体、大小和位置信息。因此,有必要通过几个步骤彻底分析 PDF 文档以提取干净的文本并分离和标记每个句子。我们在“附录 1”和表 8 中解释了详细的文本提取过程,表 8 显示了需要规范化的相应 Unicode 的特征。

3.2 标签定义

我们的模型基于使用输入目标对的监督学习,如 [14] 中所述。为了对更一般的实体类型进行分类,经过验证的各种“现成”方法在标记文本的语料库上提供了很好的结果。因为一般的实体类型只标注名称、时间、日期等,这些语料库在提取比较外来的实体时并不适用。在网络安全中,恶意软件、IP 地址、域/URL、哈希等实体被表示为关键信息,对于专业从业者来说是必不可少的。对于标记,我们定义了哪些词被视为“威胁信息”。在 [5] 中,结构化威胁信息表达 (STIX) 指出,现代网络威胁情报是进化的,与以前的情况相比,可以针对更复杂的攻击场景进行开发。高级持续威胁 (APT) 也被描述为一种攻击形式,它不仅可以实现广泛的破坏性活动,还可以实现特定的战术目标,包括多阶段攻击。在这里,我们能够推断出与 STIX 中突出显示的 APT 相关的特定子关键字,并将可用的词确定为子类别。我们根据 CTI 报告中三个主要类别中最常用的术语定义了 20 个类别。然后我们指定与子类别中的每个单词对应的标签名称。例如,在恶意软件实体的情况下,标记在 dot(.) 中命名为恶意软件和子类别实体(如恶意软件.ransom)之间的分隔符(请参阅“附录 3”中的更多详细信息)。随后,基于预定义的类别和相关标签,对从 PDF 中提取的所有文本数据进行标记,并为相应的文本生成相关标签。

3.3 注释者

在我们的研究中,我们招募了五位主修网络安全的注释者。他们被训练根据建议的过程标记预处理文本的每个单词。选择并分发行频在 1500 到 5000 行之间的文件。在标记方法方面,我们采用了 BIO 方案而不是使用 IOBES,如 [33] 中所证明的。 B前缀表示标签的开始,I前缀表示标签的内部。外部 (O) 标记是指示它不在预定义类别中的标记。

4 训练数据分析

生成处理后的数据后,数据训练主要有两个步骤:纠错和探索性分析。经过这些过程,我们的 F1 分数提高了近两倍,即从 40 到 75。

4.1 纠错

首先,在纠错步骤中,错误通常是由注释器错误引起的,例如印刷错误、B-tag 和 I-tag 不匹配等。虽然数量不多,但是这样的缺陷一定要改正,因为它们对性能有影响。为了检测此类人为错误,我们创建了一个自动识别和修复它们的工具。只有在没有歧义的情况下,纠错工具才会自动修改语料库,从而防止可能发生的错误修改。该工具还可以检测重复的拼写错误并自动更正已被注释者修改的印刷错误。图 1 显示了一个排版更正,其中包含超过 90% 的 O 标记。每列表示每个标签的单词、频率和份额。大词更容易被错误指定,因为它们是常用词而不是威胁指标。

 其次,在纠错过程之后,从性能方面从分析的语料库中研究定量和定性统计数据。通过这样做,可以检测到有助于训练深度学习模型的有意义标签信息的份额。如果某些词在句子中表示 O 标记,则通过验证对这些词进行分析,以确定哪些词的信息量较少或标记不正确。因此,我们应该按照与威胁信息无关的常用词对 O 标记词进行降序排序。

4.2 定量分析

4.2.1 歧义计算

每个词的歧义通过人工检查统计计算。如果一个词中的标签用相似的值计算,则认为该词具有高度的歧义,其中该值接近于零。否则,该词被标记,其歧义性接近 1。例如,CryptoLocker 是一种勒索软件。如果有四个标签(Ransom、Backdoor、Infosteal 和 DDos)以相似的值标记到 CryptoLocker,则该词的歧义被计算为接近于零。在下面的等式1中,模糊度(w)表示为0到1之间的值,当该值接近零时模糊度更高。

这里,c_{w,t}表示单词 w 被标记的次数,w,t 分别表示单词和标签。单词按升序排序以识别具有高歧义的单词。

 4.2.2 标签之间的相似度

接下来,对标签之间的相似度进行定量比较。如果将两个不同的标签应用于相似的单词,则这些标签可以被解释为具有高度的歧义,这意味着它们接近于零。为了确定这一点,我们应该使用 Bag-of-Words 对所有标记的单词进行矢量化。标签之间的相似度可以通过对每个向量的距离测量来计算。

我们利用归一化来应用余弦相似度,如下所示:

 

 为了识别具有高歧义的标签,所有标签对的相似度使用等式2计算并按降序排序。标记数据的相似度得分如图 2 所示。B-ip.unknown 和 B-ip.normal 标签以高相似度值(0.933)表示。因此,两个标签之间的相关性和模糊性被认为是非常高的。在这种情况下,具有较高频率的任一标签优先。

4.2.3 不必要标签的消融

在我们的研究中,标签频率与相应标签的准确性高度相关。去除频率极低甚至为零的标签是必要的,因为它们会作为其他标签的噪声被激活,并对频繁出现的标签的计算结果产生负面影响。由于I-tag的频率是根据威胁信息的构成词的数量来确定的,因此可以从B-tag中掌握。表 1 说明了过滤后的标签结果。

结果,标签集总共应用了 21 个 BIO 标签和 10 个标签(输入-目标对和 0 个标签)。关于 B 标记结果,malware.backdoor 标记与 I 标记一起显示的频率最高。

 5 深度学习方法

在本节中,我们将说明如何将精心提取的输入特征数据结合到基于深度学习的 NER 系统中。先前的研究要么表现出色,要么至少表现出相当的性能,它利用具有密集连接网络的字符级特征作为输入特征的基础。与传统方法相比,该方法已被证明对参数初始化和高处理速度具有鲁棒性 [25]。在这项研究中,向量空间中生成的嵌入特征被用作 Bi-LSTM-CRF 的输入,以展示 F1 分数所代表的性能。

5.1 神经网络架构

我们简要描述了序列标记模型,称为 LSTM [18],它基于一个 RNN 模型,在不同的研究领域 [9, 27] 中实现了最先进的性能。然后,我们展示了提取的特征如何输入到 Bi-LSTM 模型中,从而能够在时间序列中使用前向和后向信息 [16]。该模型保留了受先前信息影响的记忆,并且存在梯度消失/爆炸问题[2]。 LSTM 网络 [18] 旨在解决 RNN 的主要问题,该问题通过在隐藏层中使用具有特定目的的单元来导致长距离依赖性。随着这些基于RNN的模型研究的发展,序列标记技术得到了迅速发展。这些模型极大地促进了 POS 标记 [20] 和 NER [6, 19]。

图 3 详细说明了我们的模型架构。密集字符级向量和“GloVe”[31] 预训练词向量的两个特征用作 BILSTM 网络的输入。然后,我们在前向和后向路径中扩展到密集网络层,以提取丰富的向量表示。此外,由双向组成的密集层被扩展以表示丰富的向量表示。然后,由 Bi-LSTM 层计算的所有分数都被输入到 CRF 层。在实践中,在 Bi-LSTM 模型的输出中添加 CRF 层已在众多研究 [1, 33, 36] 中得到证明,并显示出更好的性能,如 Sect. 6.

 5.1.1 字符特征提取

本文提出的方法利用了 BOC 字符级特征表示。考虑到 BOC 会导致字谜和单词冲突(即不同的单词具有相同的向量表示),第一步是通过将单词分成 k 块来处理这些问题,其中每块都使用 BOC 进行向量化。此外,还提取了另外两个特征:字符顺序和字长。这些非手工制作的特征被连接和归一化,如图4所示。最后,这些向量被输入到密集连接的网络中,输出被用作字符级特征向量。与基于 CNN 或 RNN 的字符级特征表示方法 [25] 相比,该过程显示出更快的速度和更高的性能

5.1.2 Bi‑LSTM‑CRF 网络

基本上,LSTM 在单个方向上传播信息,在隐藏层中只有过去的信息,这不允许从相反方向知道信息。双向 LSTM 网络层在两个方向上学习单词,与单向 LSTM 模型 [20] 相比,它们可以生成丰富的矢量特征。采用该模型可以在防止信息丢失的同时捕获尽可能多的上下文 [15]。如上图 3 所示,输入到 LSTM 的前向和后向方向的输入向量被生成为级联输出。这样的输出在进入 CRF 层之前再次用于密集连接的网络层。 CRF 的传统方法利用相邻标签信息来预测每个时间步的当前标签。此类方法使用波束解码来获得在最大熵分类器 [32] 中研究的最佳标签序列,以及专注于句子级别而不是令牌级别位置的最大熵马尔可夫模型 (MEMM) [26]。这里使用的条件随机场(CRF)利用给定输入句子中的最佳标签链而不是单个位置。

5.2 基于规则的CVE

在我们的研究中,我们利用混合学习将基于规则的学习与深度学习相结合。 Common Vulnerabilities and Exposures (CVE) 是一个标准 ID,表示用于加强公司或机构安全性的安全漏洞代码。一个 cve 由一个具有正则形式的句子组成,如下所示:

Once victims opened the lure document, Word will firstly visit a remote website of IE vbscript 0-day(CVE-2018-8174) to trigger the exploit. After-wards, Shellcode ...

句子中的 CVE-ID 表示为由 CVE-2018-8174 组成的一系列常规文本,如上。它被一个 cve 标签替换,并使用基于规则的后处理方法以高精度提取,没有任何子规则。最终输出是使用 Bi-LSTM-CRF 层 cve 的输出计算得出的,作为结果。平均而言,在五折交叉验证期间同时训练了 228 个 cve 标签。 

6 实证比较与分析

6.1 数据集

该数据集是从 160 个非结构化 PDF 文档中提取的,包含两列格式的训练和测试数据,带有单词和相应的标签。句子按照空格和换行符分隔。我们将语料库分成两个子集:80% 用于训练数据,20% 用于测试数据。为了保证训练模型的质量,我们使用五重交叉验证进行了评估,总共50次,即每个模型10次,其中80%的数据作为模型的训练输入,20%的数据作为模型的训练输入。作为测试集。平均而言,训练语料库由 12,377 个标记实体和 398,412 个标记组成,测试语料库由 3343 个标记实体和 99,588 个标记组成。用于训练和测试的更详细的标签信息如表 2 所示,按降序排列。

 

6.2 评估指标

我们提出的方法的有效性是基于 F1 分数来评估的,这是对 NER 任务使用最广泛的定量评估方案,并已成为一个标准指标,以弥补仅使用准确度作为性能所带来的缺点指标。 F1 score由precision和recall的调和平均组成,应用的方程如下:

 6.3 训练模型

我们训练了 Bi-LSTM 和 Bi-LSTM-CRF 模型以识别网络安全领域中的 21 个实体(10 个 B-tag、10 个 I-tag 和一个 O-tag)。特别是,我们进一步使用了动态特征工程方法,不仅可以表示单词,还可以表示字符。这些用词来表达各种语言表示的特征在 NLP 研究中取得了显着的成功,例如在 NER 任务 [37] 上。

RNN、CNN 和 BOC 字符表示,在 Sect 5.1 中介绍,被用作输入特征。当 CRF 层附加到 LSTM 的输出时,所有模型都能获得更好的性能,尽管它需要更长的训练时间。基于 char-CNN 的模型分别比基于 char-RNN 的模型好 74.64% 和 74.98%,但效率低下,因为它们需要双倍的训练时间。正如我们在表 3 中看到的,在精度、召回率、F1 分数甚至训练时间方面的表现表明,基于 BOC 的 Bi-LSTM-CRF 模型的结果优于其他四个模型。

由于模型中的大偏差使得难以衡量性能的准确性,因此有必要在 80 个 epoch 之后评估性能。这种性能是使用随机初始化的参数和我们预定义的超参数来实现的。Bi-LSTM-CRF 模型的每个性能都显示出类似的形式,尽管参数是随机初始化的。如图 5 所示,根据中间的深橙色线,平均值在 40 个 epoch 后稳定性超过 75%,在 80 个 epoch 后性能稳定。表 4 显示了两个相反的 F1 分数的详细数值测量,即最高和最低。最佳模型(模型 1)的最高得分为 79.05%,最差模型(模型 2)的最低得分为 69.62%。我们在 50 个模型的训练中取得了 75.05% 的平均分数。

 

 最佳模型达到更高性能时标记的精度和召回率如表 5 所示。标签 cve 表示对精度和召回率按降序排列的 100% 基于规则的提取。标签malware.unknown、url.unknown 和url.normal 显示精度和召回值之间的明显差异,表明应用的数据量不足或数据标记不正确。

 

尽管在网络安全领域已经有将深度学习应用于NER任务的相关研究,但我们无法找到除我们自己之外的任何相关研究来构建这样一个语料库,因此定义了20个与安全相关的类来评估当应用具有动态输入特征的 Bi-LSTM-CRF 模型。我们的模型可以分为 20 个类别,F1 得分为 75.05%,标准差为 1.74。

7 结论和未来研究

在这项研究中,我们介绍了一种适用于网络安全的新方法,用于分析包含不规则模式的 CTI 报告。我们的贡献是三倍的。首先,我们成功地从威胁情报报告中有效地提取了相关的文本信息。我们还使用处理后的数据定义了许多与威胁信息相关的实体,并用注释器手动标记它们。我们使用密集连接网络自动生成的字符级特征来增强输入特征。其次,针对 NER 系统分析了 RNN、CNN 和 BOC 等各种特征以及 Bi-LSTM 和 Bi-LSTM-CRF 模型。第三,将发布在此过程中创建的 498,000 个标签数据集,以实现对该领域的新见解。我们希望这种新提出的方法将帮助专业的网络安全分析师和个人尽快获得准确的威胁信息。命名实体,包括恶意软件、攻击者、IP 地址和 URL,已成为我们了解网络安全领域所需关键信息的关键因素。因此,这种从海量文档中自动分析和检测相关关键词的方法可以应用于该领域。

尽管之前在这方面已经尝试过支持网络安全领域,但大多数只专注于搜索数据或为某些类别重新组织模型。实际上,在支持该领域时,此类尝试几乎不需要洞察力。然而,这项研究提供了一种分析和检测关键信息的方法,到目前为止,这些信息仅依赖于原始人力。我们相信,我们的研究将处于其他未来研究的前沿,这实际上将增加对该领域的洞察力,并允许更快的处理和增强的研究。

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值