融合Focal Loss的网络威胁情报实体抽取

2022-08-04 02:14郭渊博李勇飞陈庆礼方晨胡阳阳
通信学报 2022年7期
关键词:字符情报威胁

郭渊博,李勇飞,陈庆礼,方晨,胡阳阳

(1.信息工程大学密码工程学院,河南 郑州 450001;2.加利福尼亚大学河滨分校,河滨 CA92521)

0 引言

一直以来,研究者都在网络安全领域开展了大量科研工作,然而传统的网络被动防御已经难以应对高级持续威胁(APT,advanced persistent threat)[1]等新型攻击,网络威胁情报(CTI,cyber threat intelligence)的出现为态势感知的研究提供了新思路[2]。

2013 年,Mcmillan[2]首次提出了关于威胁情报的定义:威胁情报是关于现有或即将出现的对资产有威胁的知识,包括场景、机制、指标、启示和可操作建议等,这些知识可为主体提供针对威胁的应对策略。威胁情报可以帮助各组织改进其网络防御架构,更好地了解威胁状况,协调对未知威胁的响应,以此来减少威胁对组织的影响。

然而,网络安全数据存在海量化、分散化、碎片化以及关系隐蔽化的特点,如何及时、精准地对海量数据进行分析处理,提取关键要素和关联关系,挖掘潜在的有价值信息,是网络安全领域面临的重要问题。威胁情报作为一种网络安全数据,通常以文本形式存在,包含大量非结构化数据。这种多源异构性给安全分析师全面、高效地利用威胁情报带来了巨大挑战[3]。

知识抽取作为文本挖掘的关键技术,能够提取不同来源、不同结构的数据中包含的信息,形成知识(结构化数据)[4]。现阶段知识抽取分为实体抽取、关系抽取、事件抽取三大类。知识抽取面向文本数据,通过自动化/半自动化抽取技术提取相应的知识单元。本文主要研究面向非结构化威胁情报的实体抽取问题。

近年来,基于深度神经网络的方法被广泛应用于自然语言处理(NLP,natural language processing)的各项任务中。典型地,卷积神经网络(CNN,convolutional neural network)、长短期记忆(LSTM,long short-term memory)网络以及双向长短期记忆(BiLSTM,bidirection LSTM)网络均被应用于实体抽取任务。

由于网络安全领域包含大量专业词汇和缩略词,可用数据集较少,缺乏统一、规范的分类标准,且句间结构较复杂,标签分布极不平衡,因此该领域知识抽取难度较大,需要不断改进现有算法,获得更好的性能。

本文在传统模型BiLSTM-CRF(conditional random field)的基础上添加了CNN-BiLSTM 网络提取字符特征,在一定程度上改善了OOV(out of vocabulary)问题。针对网络安全领域数据集标签分布极不平衡问题,引入Focal Loss 损失函数[5],平衡样本损失。

本文主要的研究工作如下。

1) 融入Focal Loss,改进损失函数,引入平衡因子与调制系数,减少负类样本和易分类样本的权重,使模型在训练时更关注实体部分及困难样本,提升模型性能。

2) 提取单词的形态信息,不需要考虑语言的语法和语义结构,将字符级特征向量与单词级特征向量拼接,有效改善OOV 问题。

3) 针对网络安全领域标注语料缺乏的问题,收集汇总威胁情报并进行人工标注。在此基础上,系统对比本文模型与主流神经网络模型BiLSTM和BiLSTM-CRF 在实体抽取任务上的性能。实验结果表明,本文提出的模型优于现有模型。

1 相关工作

实体抽取是自然语言处理的一项基本任务[6]。主要是将非结构化文本中的人名、地名、机构名和具有特定意义的实体抽取出来并加以归类,进而组织成半结构化或结构化的信息,再利用其他技术实现文本分析和理解的目的。

早期实体抽取主要采用基于规则或词典的方法,选用特定特征,包括统计信息、标点符号、指示词、方向词、中心词[7]等,以模式与字符串相匹配为主要手段,这种方法对固定模式的文本较有效,在小规模的数据集上容易实现,但模板规则需要专家构建,且难以将所有可能的模式考虑周全,人工成本过高。另外,该方法难以维护,缺乏稳健性,可移植性较差。

基于统计机器学习的方法在网络安全实体抽取中取得了较好的效果。Mulwad 等[8]提出了一个原型系统,通过使用支持向量机(SVM,support vector machine)分类器来提取与漏洞、攻击和威胁相关的概念,但该系统所能识别并提取的概念仅限于两类:攻击手段和攻击结果。Bridges 等[9]在不同的安全相关语料库上评估了最大熵模型(MEM,maximum entropy model),以避免在训练模型时出现过拟合,而后他们开发了3 个网络安全实体抽取器。Jones 等[10]描述了一种半监督机器学习方法,并结合主动学习机制,提取网络安全实体和关系。由于其使用简单的Bootstrapping 算法,导致提取的结果中含有大量的噪声。除此之外,基于统计机器学习的方法严重依赖特征工程,在面对样本数较少的数据集时往往难以保证模型的学习效果。

随着深度学习在多领域的兴起,Huang 等[11]首次将BiLSTM-CRF 模型应用于自然语言处理基准序列数据集。Sarhan 等[12]引入注意力机制进行安全命名实体识别,并借助词嵌入技术融合构建知识图谱。Zhao等[13]提出基于 CNN的领域识别算法,利用BiLSTM-CRF 识别妥协指标,将其集成并生成带有领域标签的CTI。Gasmi 等[14]利用BiLSTM-CRF 模型提取网络安全概念和实体,比较3种基于LSTM的模型,这些模型结合依赖特征来提取语义关系。王伟平等[15]将CNN 与LSTM 进行组合,构建了一个用于识别包含妥协指标语句的分类器。Wu 等[16]利用依存解析的方法提取电子商务威胁情报中的战术、技术、过程实体,发现了新的攻击模式。

针对已发布的数据集SemEval-2018 Task 8,Manikandan 等[17]利用CNN-CRF 模型来识别恶意软件相关的条目,以便进行进一步的网络安全文本分析。与此同时,基于文献[18]工作,Fu 等[19]针对网络安全报告,开发了一个端到端的序列标注系统,其采用BiLSTM-CNN-CRF 模型在没有特征工程的情况下处理网络安全文本,并在语义评测中取得了较好的排名。

目前,实体抽取最新进展主要集中在基于大量人工标注的数据集训练神经网络模型,从而产生较好的结果。然而人工标注昂贵耗时,尤其是在威胁情报领域,数据标注需要掌握一定的网络安全知识。除此之外,威胁情报中实体出现的频率较低,标签分布极不平衡,且包含大量漏洞名称APT 组织等专业词汇,为实体抽取带来了巨大挑战。针对上述威胁情报领域的相关问题,本文提出了一种新的实体抽取模型,并通过实验证明了该模型在威胁情报实体抽取方面的有效性。

2 方法

2.1 模型架构

模型架构如图1 所示,主要包括嵌入层、编码层和带有Focal Loss的解码层。

图1 模型架构

首先,利用随机嵌入的方式获取词嵌入,相较于文献[11,13]中的主流模型,本文在嵌入层利用BiLSTM和CNN 提取字符特征,连接向量获得低维单词表示,有效改善威胁情报包含大量专业词汇的OOV 问题;然后,利用BiLSTM 作为编码层,对单词表示进行编码;最后,利用CRF 对文本向量进行解码,摒弃传统的交叉熵函数,融合Focal Loss 平衡样本分布,使模型更加关注文本中的实体标签。

2.2 嵌入层

自然语言文本不能被神经网络直接编码,在本文模型中,对每个单词提取其词嵌入特征及字符嵌入特征,并进行连接。嵌入层的输入为单词序列S={x1,x2,…,xi,…,xm},其中S表示输入句子,m表示句子的长度,xi表示句子的第i个单词。每个单词可表示为x={c1,c2,…,ci,…,cp},其中ci表示单词的第i个字符,p表示单词的长度。

2.2.1 词嵌入层

收集训练集中所有单词,基于随机嵌入的方式将其映射到维度为d的单词嵌入矩阵表示词汇表的大小(训练语料库中单词的数目)。将输入序列S表示为词嵌入序列表示第i个词的嵌入向量。

2.2.2 字符嵌入层

文献[20-21]已经证明,CNN 能够通过单词中的字符有效提取形态信息(如单词的前缀或后缀),并将其编码为神经网络表示。图2 展示了CNN的网络结构。利用该网络获得单词中每个字符的特征向量,将其与BiLSTM 层获得的字符特征向量、词嵌入层获得的单词特征向量拼接,获得原始输入序列低层特征的向量表示。

图2 CNN的网络结构

2.3 BiLSTM 编码层

在序列标注任务中,利用当前单词之前的文本信息(历史信息)和当前单词之后的文本信息(未来信息)能够有效提升模型的性能,但LSTM 隐藏层仅能获取历史信息。在文献[11]中,BiLSTM 编码层展示了其捕获每个单词语义信息的有效性。BiLSTM 包括前向LSTM 层、后向LSTM 层和连接层。每个LSTM 包含一组循环连接子网络,称为存储模块。每个时间步都是一个LSTM 存储模块,基于前一个时刻隐藏向量ht−1、前一个时刻存储单元向量ct−1和当前输入单词嵌入向量ωt运算获得。

2.4 CRF 解码层

对于序列标注任务,考虑相邻标签之间的相关性,联合解码出标签序列能够有效提升模型性能。例如,在实体抽取中,“I-ORG”不可能在“I-VIRUS”之后。因此,本文引入了CRF,损失函数包括2 种分数:发射分数和转移分数。发射分数是BiLSTM编码层的输出矩阵表示单词i对应的标签为yi的概率;转移分数是CRF 层的矩阵,表示标签之间的转移关系。分数定义为

损失函数定义为

其中,表示y的预测值,Yx表示该句所有可能的标签序列。

2.5 Focal Loss 损失函数

网络威胁情报通常为长文本,数据中包含大量的非实体词(标签为O),二元交叉熵损失函数迭代缓慢且可能偏离正确的优化方向,无法调整至最优。另外,在网络安全领域实体抽取任务中,存在严重的标签分布不平衡问题,因此本文引入Focal Loss 函数对模型进行优化。Focal Loss 函数是二元交叉熵损失函数的一个变种,通过改变正负样本的相对频率和降低简单样本的贡献权重来解决二元交叉熵损失函数中的类不平衡问题,使学习更难的样本成为可能,Focal Loss 定义为

其中,α∈ [ 0,1]是平衡因子,用于平衡正负样本的数量;γ≥0是调制系数,用于减少非实体样本(简单样本)的损失,使模型更加关注于实体标签(困难样本);P(y|x)是单词x的标签为y的概率。例如,当γ=2时,对于置信度为0.9的简单样本与置信度为0.6的困难样本,其权重比例由交叉熵中的1:4变为1:16,有效增强了困难样本的影响。Focal Loss能够削弱简单样本对梯度更新方向的主导作用,避免网络学习到大量无用的信息。同时能够避免模型向样本多的类别偏移,缓解类别不平衡问题。

3 实验

3.1 数据集

由于网络安全领域数据集较少,本文从Help Net Security、The Hacker News 等网站预先爬取80 篇威胁情报并进行人工标注。为验证模型在数据样本较少时的训练效果,从中选出25 篇作为训练样本,55 篇作为测试样本。训练集共包括1 199 个实体,其中各实体样本分布如表1 所示。实体标签由实体边界和实体类别组成,采用“BIO”模型来识别单词在实体中的具体位置,B(Begin)表示实体的开始位置,I(Inside)表示实体的内部或结尾,O(Outside)表示该单词为非实体词,在其之后连接实体类型。

表1 数据集实体样本分布

3.2 实验设置

本文采用实体抽取任务常用的指标对模型性能进行评价,即精确率(P,precision)、召回率(R,recall)和F1 分数(F1-score),并选取F1 作为综合性指标。

统计训练集句子的长度分布如图3 所示,句子长度由单词数量衡量。模型超参数设置如下:输入句子的最大长度为50,对于长度不足50的句子使用“”进行填充;词嵌入维度dw=50,基于BiLSTM和CNN 提取的字符特征dc=25,编码层神经元数量de=100,CRF解码层维度dd=100;批处理大小batch size=64,训练轮次epoch=100,学习率lr=0.025,平衡因子α=0.96、γ=2。实验采用AdamW 算法更新模型参数,并对模型进行优化。

图3 统计训练集句子的长度分布

针对具有特定形式的网络安全实体CVE 漏洞编码、Email 地址等,本文模型采用基于正则匹配的方法进行实体识别,如表2 所示。

表2 部分实体的正则表达式

3.3 实验结果

为进一步说明本文模型的优势,复现BiLSTM和BiLSTM-CRF 模型,并将其作为基线模型,与本文模型进行比较,结果如表3 所示。由表3 可以看出,融合单词的字符特征能够有效解决网络安全领域的OOV 问题。在CRF 层中融入Focal Loss 能够平衡样本分布,使模型更加关注实体标签,减少非实体样本给模型带来的影响。本文提出的融合Focal Loss的(CNN-BiLSTM)-BiLSTM-CRF 模型在实体抽取任务上表现出最优的性能,相较于主流模型BiLSTM和BiLSTM-CRF 在F1 分数上分别提升了7.07%和4.79%。

表3 模型性能比较

4 结果分析

4.1 消融实验

相较于现有工作,本文主要增加了基于CNN 模型和BiLSTM 模型的字符特征,以及在CRF 解码层中增加了Focal Loss 损失函数。为验证其必要性,本节进行消融实验,观察其对模型性能的改进效果。

表4展示了不同损失函数对模型性能的影响。由于标签分布不平衡,移除Focal Loss 后,使用交叉熵损失函数使模型F1 分数下降了0.56%,证明了其对模型性能提升的效果。

表4 不同损失函数对模型性能的影响

表5展示了字符特征对模型性能的影响。由于威胁情报包含大量专业词汇,分别移除BiLSTM和CNN 字符特征,模型F1 分数下降了2.07%和0.62%。同时可以分析得到,CNN的优势在于能够提取一定的结构特性,而威胁情报中单词通常较长,没有固定的命名标准,因此,捕获长距离依赖信息的BiLSTM 对模型性能影响更大。

表5 字符特征对模型性能的影响

表6详细展示了单类别细粒度性能。从表6 可以直观地发现,引入字符特征能够显著提升ORG、ATTACKER 等类别的分类能力。这一现象表明,传统方法受限于这些类别中存在的OOV 问题,而本文模型能够通过学习字符上下文信息对该问题进行改善。

表6 单类别细粒度性能

4.2 平衡因子与调制系数对模型性能的影响

为进一步研究平衡因子与调制系数对模型性能的影响,本文进行了平衡因子与调制系数不同组合的对比实验,性能变化曲线如图4 所示。

图4 平衡因子与调制系数对系统性能的影响

由图4 可以看出,当α=0.96、γ=2时,系统能够获得最好的性能。

4.3 实例分析

3.3节中对比了几种实体抽取方法,本节利用实例进一步比较模型的抽取效果。模型抽取实例如表7所示,“”表示能够正确识别的实体,“”表示未被正确识别的实体,实体下标表示实体类型。

表7 模型抽取实例

针对实例1,BiLSTM 模型未能很好地考虑标签之间的相互关系,错误地将“them”识别为“I-ATTACK”;而另外2 种模型则准确识别出相应实体。

针对实例2,2 种基线模型都未能识别出恶意软件“Android.Doublehidden”,此结果可能是由训练集中缺乏相关词汇,且类似正样本较少导致。而本文模型融入了字符特征,利用Focal Loss 平衡了正负样本分布,因此可正确识别出该未知单词并分类。

针对实例 3,3 种模型均未能准确识别出“VERSION”类型的实体“7”“2003”,且实体“Windows Server”的边界识别有误,由此说明本文模型在少样本实体抽取中还有待改进和优化。

5 结束语

为实现面向网络威胁情报的实体抽取,解决该领域存在的样本分布不平衡问题,本文提出了一种融合Focal Loss的实体抽取模型,并通过实验验证了模型的有效性。所提模型在主流模型的基础上增加了字符特征,有效解决了威胁情报中存在的OOV问题。在未来工作中,笔者将进一步探索威胁情报中的关系抽取问题,构建知识图谱,实现网络安全实体的关联分析。

猜你喜欢
字符情报威胁
情报
情报
情报
论高级用字阶段汉字系统选择字符的几个原则
人类的威胁
字符代表几
一种USB接口字符液晶控制器设计
图片轻松变身ASCⅡ艺术画
交接情报
搞笑图片