基于知识增强与标签语义的多标签漏洞文本分类

边晓云 ,  赵刚

科学技术与工程 ›› 2026, Vol. 26 ›› Issue (1) :262-269

PDF (2300KB)
科学技术与工程 ›› 2026, Vol. 26 ›› Issue (1) :262-269 DOI: 10.12404/j.issn.1671-1815.2500629
自动化技术、计算机技术

基于知识增强与标签语义的多标签漏洞文本分类

作者信息 +

Multi-label Vulnerability Text Classification Based on Knowledge Enhancement and Label Semantics

Author information +
文章历史 +

摘要

针对漏洞文本分类任务中的多类型分类问题和文本语义与标签语义利用不充分的问题,提出一种基于知识增强与标签语义(knowledge enhancement and labeling semantics, KELS)的多标签漏洞文本分类方法。首先,面向多种漏洞类型,引入漏洞属性知识,提出异构信息有效整合的策略,提升漏洞文本表示对多标签关系的表达能力,通过Transformer编码器的深度融合,进一步实现知识对文本语义的增强。其次,引入标签嵌入,提出一种融合知识增强文本表示与标签嵌入的标签注意力机制,用以捕捉文本与标签的语义关联,进行漏洞分类。实验结果表明,对比基线模型,KELS模型在Micro-P、Micro-F1、Macro-P、Macro-F1分别提高了0.98%、0.32%、2.31%、0.75%,有效提升了多标签漏洞分类的准确性。

Abstract

Aiming at the multi-type classification problem and the underutilization of text semantics and labeling semantics in the vulnerability text classification task, a multi-label vulnerability classification method based on knowledge enhancement and labeling semantics (KELS) was proposed. Firstly, vulnerability attribute knowledge was introduced for multiple vulnerability types, and a strategy for effective integration of heterogeneous information was proposed to enhance the expressive ability of vulnerability text representation for multi-tag relationship, and further realize the enhancement of knowledge on text semantics through the deep fusion of Transformer encoder. Secondly, label embedding was introduced to propose a label attention mechanism that fuses knowledge-enhanced text representation with label embedding to capture semantic associations between text and labels for vulnerability classification. The experimental results show that comparing with the baseline model, the KELS model improves 0.98%, 0.32%, 2.31%, and 0.75% in Micro-P, Micro-F1, Macro-P, and Macro-F1, respectively, which effectively improves the accuracy of multi-label vulnerability classification.

Graphical abstract

关键词

漏洞分类 / 知识增强 / 标签语义 / 多标签文本分类 / 特征融合

Key words

vulnerability classification / knowledge enhancement / label semantics / multi-label text classification / feature fusion

引用本文

引用格式 ▾
边晓云, 赵刚. 基于知识增强与标签语义的多标签漏洞文本分类[J]. 科学技术与工程, 2026, 26(1): 262-269 DOI:10.12404/j.issn.1671-1815.2500629
BIAN Xiao-yun, ZHAO Gang. Multi-label Vulnerability Text Classification Based on Knowledge Enhancement and Label Semantics[J]. Science Technology and Engineering, 2026, 26(1): 262-269 DOI:10.12404/j.issn.1671-1815.2500629

登录浏览全文

4963

注册一个新账户 忘记密码

随着信息技术的飞速发展,网络安全问题日益严重,漏洞的发现和修复成为保护网络系统免受攻击的关键。漏洞文本分类通过分析漏洞报告或描述,为漏洞验证者提供有效的分类信息,有助于漏洞运营者或组织实现漏洞的统一管理[1]。然而,由于漏洞描述文本的复杂性和多样性,现有的漏洞分类方法在准确性和效率上仍然面临诸多挑战。
目前,基于机器学习和深度学习的漏洞文本分类方法已有一定进展,大多数研究集中于单标签分类任务,旨在将漏洞文本归类为单一标签。然而,现实中许多漏洞描述文本涉及多种漏洞类型,如访问控制、代码注入和信息泄露等,因此在处理多标签漏洞文本时,传统的单标签分类方法往往无法充分发挥其优势,导致分类结果的准确性降低。
为应对这一挑战,多标签文本分类(multi-label text classification, MLTC)技术逐渐成为研究的热点,并在情感分析[2]、推荐系统[3]、网页标记[4]、主题识别[5]等多个领域得到广泛应用。然而,多标签文本分类方法仍面临若干挑战,其中之一是将标签视作单纯的标记符号,忽视了标签背后蕴含的语义信息。这种做法未能充分挖掘标签所承载的潜在知识,导致分类性能难以进一步提升。因此,如何在漏洞描述文本中捕捉有价值的语义信息,同时深入挖掘标签的语义信息,成为提高漏洞分类性能的核心问题。
针对以上问题,现提出一种基于知识增强与标签语义(knowledge enhancement and labeling semantics, KELS)的多标签漏洞文本分类方法。该方法通过引入已知的漏洞属性知识,使漏洞文本表示中包含多标签间的相互关系。根据《信息安全技术 网络安全漏洞分类分级指南》[6],将通用缺陷列表(common weakness enumeration,CWE)漏洞类型统一整合为所需的漏洞标签,并引入标签嵌入,通过标签注意力机制使知识增强后的文本与标签进行语义交互,生成融合标签语义的文本嵌入表示,以增强模型的判别能力,进一步提高漏洞分类的准确性和鲁棒性。该方法旨在解决传统单标签分类方法难以适应多标签漏洞分类任务的局限性,同时克服文本语义与标签语义捕捉和利用不充分的问题,有效提升网络安全漏洞的识别与分类精度,从而帮助安全工作人员制定更细粒度的安全防护策略。

1 相关研究

1.1 漏洞分类

漏洞分类的研究主要聚焦于运用数据挖掘、机器学习和深度学习等前沿技术,构建高效且精确的分类模型,目标是实现对未标注漏洞数据的自动化与精准分类。Huang等[7]提出了一种结合词向量模型与深度神经网络的漏洞分类算法,该方法在美国国家漏洞库(National Vulnerability Database, NVD)数据集上表现出了显著的分类性能提升,超越了传统的机器学习分类器。曲泷玉等[8]在构建模型时,引入批量归一化技术以规范化数据分布,并借助卷积神经网络(convolutional neural networks, CNN)强大的局部特征提取能力,进一步提高了漏洞分类的效果。刘烊侨等[9]提出了一种基于深度神经网络的自动漏洞分类模型,该模型融合了Word2Vec词向量表示与卷积神经网络。Sharma 等[10]通过结合词嵌入技术与卷积神经网络评估软件漏洞的严重性。Wang 等[11]提出了一种基于加权词向量和融合神经网络的漏洞自动分类算法,通过改进TF-IDF算法生成低维加权词向量,并结合文本卷积神经网络(TextCNN)与双向门控循环单元(bi-directional GRU, BiGRU)模型提取文本的局部与全局特征,实验结果表明该方法在分类性能上优于传统方法。Pan等[12]提出了结合BiGRU与TextCNN的漏洞分类方法,用于处理、训练和预测漏洞信息,从而实现自动分类。杜林等[13]提出了一种基于BERT的漏洞文本特征分类模型,其实验结果优于前述方法。杨尽能等[14]通过引入空间注意力机制和通道注意力机制,结合TextCNN模型,增强了模型对漏洞重要特征的关注能力,并提出了一种改进的对抗样本生成算法,以提升分类模型的鲁棒性与泛化能力。

当前漏洞文本分类研究虽取得一定进展,但仍存在单一标签分类的局限性、语义理解不足等问题。为解决上述问题,引入多标签文本分类能够更贴合实际场景需求,通过漏洞属性知识增强多标签漏洞文本表示,使文本表示中包含标签间的相互关系,从而增强模型对漏洞描述文本的理解能力,提高模型分类的准确性。

1.2 多标签文本分类

多标签文本分类是指一个样本涉及一个或多个标签。随着深度学习的蓬勃发展,多标签文本分类迎来了新的解决途径。Kim[15]首次将CNN应用于文本分类,通过预训练的词向量来构建文本表示,利用卷积层提取特征,并通过最大池化层筛选关键特征,最终将特征传递至分类器进行分类,取得了显著效果。在此基础上,Liu等[16]针对MLTC任务提出了XML-CNN模型。该模型不仅保留了CNN在文本分类中的优势,还创新性地设计了适应多标签场景需求的动态池化层。此外,XML-CNN在池化层与输出层间增加了一个隐藏瓶颈层,旨在减少模型参数的同时提升其学习能力。Chen等[17]则进一步融合了CNN与循环神经网络(recurrent neural network, RNN)的优势,构建了CNN-RNN分类模型。其中,CNN负责捕捉文本的局部特征,而RNN则专注于多标签的预测任务,实验结果显示该模型能够显著提升性能。然而,这些早期方法仍存在一些不足,如对全局语义信息的捕捉不够全面,且未能充分考虑标签间的相关性。

随着注意力(Attention)机制的广泛应用,它在文本分类任务中的应用也得到了广泛关注。研究者们通过为文本中更为关键的单词或句子分配较高的权重,旨在增强模型对重要信息的聚焦,从而提升学习效果。在MLTC任务中,Attention机制的引入为研究者提供了更有效的方式来捕捉文本语义与标签之间的深层关系。Yang等[18]提出了一种创新的Seq2Seq模型,将MLTC任务视为序列生成问题。该模型在编码阶段利用双向LSTM计算每个单词的隐层表示,之后通过Attention机制使模型关注对标签贡献较大的单词,最终采用LSTM进行解码。You等[19]提出了基于标签树的AttentionXML模型,该模型利用双向LSTM捕获单词间的长程依赖关系,并通过多标签Attention机制识别文本中与每个标签最相关的部分,从而构建出包含标签信息的文本表示。肖琳等[20]则提出了与AttentionXML相似的LASA模型,采用双向LSTM获取单词的隐层表示,并运用Attention机制计算每个标签与文本中单词的匹配度,从而为每个标签学习到一个独特的文档表示。然而,此类模型仍然面临循环神经网络固有的梯度爆炸、梯度消失问题,以及计算复杂度较高等挑战,且在提取文本上下文语义、标签间及标签与文本间的相互关系方面仍有待进一步提升。

为解决上述问题,引入了标签嵌入,在知识增强文本语义嵌入的基础上,通过标签注意力机制捕捉漏洞描述文本与标签的语义相关性,融合语义相关得分与漏洞文本嵌入,进行漏洞分类。通过融合标签嵌入的方法,不仅考虑了标签的语义信息,还有效缓解了MLTC任务中的尾标签问题,从而提升多标签漏洞描述文本分类的准确性。

2 模型介绍

2.1 模型概述

为有效增强漏洞描述文本中的特征以及充分利用语义信息,提出KELS模型,模型框架如图1所示。模型主要分为两个部分:知识增强、标签注意力机制。

(1)知识增强:为增强多标签漏洞文本表示,引入漏洞属性知识,如图1中标注①处,通过异构信息整合策略,将一维的漏洞属性知识与三维的漏洞文本语义统一融合,为漏洞文本表示补充标签间的相互关系,通过Transformer编码器进行深度融合,进而实现漏洞知识增强文本语义特征。

(2)标签注意力机制:为解决标签语义利用不充分的问题,将CWE漏洞类型映射为所需的漏洞标签,如图1中标注②处,引入标签嵌入,通过标签注意力机制捕捉漏洞描述文本对各标签的语义相关性,辅助漏洞多标签分类。

2.2 问题定义

定义P={p1,p2,…,pM,H}为M个漏洞描述文本构成的数据集,pi表示P中的第i个漏洞描述文本, pi={w1,w2,…,wm},其中m为文档pi的长度,wj表示该漏洞描述文本的第j个单词,pi对应的分类标签由L={l1,l2,…,lk}表示,其中k为标签的数量,H表示pi对应的通用漏洞披露(common vulnerabilities and exposures,CVE)编号。多标签漏洞分类的最终目的是训练出一个分类器,其任务是为未标注的漏洞描述文本分配与其相关的一个或多个标签。

2.3 数据预处理与知识构建

旨在构建一个高质量的多标签漏洞分类数据集,依托于阿里云漏洞库的原始漏洞数据,为后续的多标签漏洞分类模型提供支持。

(1)数据采集与清洗:爬取阿里云漏洞库中的原始漏洞数据。在数据预处理阶段,考虑到简短的漏洞文本描述信息量有限,筛选了字符数大于50的描述文本且属性信息完整的数据条目,确保数据集的完整性与质量,以提高后续分析的准确性。

(2)文本数据集构建:为快速识别并关联漏洞属性知识,在文本数据集中引入了漏洞唯一标识,即通用漏洞披露(CVE)编号作为标识特征。这种设计为模型提供了一种有效的方式来识别和关联相应的漏洞属性知识向量。

(3)属性知识数据集构建:为全面表征漏洞特征,通过识别并提取与漏洞相关的属性关系类型,如数据保密性、数据完整性、数据可用性等,将属性关系与CVE编号进行对应,并构建相应的漏洞属性三元组(如图1中标注①处),为知识增强文本语义提供数据支撑。

(4)漏洞类型整合:根据《信息安全技术 网络安全漏洞分类分级指南》,通过分析漏洞的特性及数据分布情况,统一整合具有相似攻击模式或影响范围有限的漏洞类型,将具有共性特征的漏洞归纳为更广泛、更典型的类型,如图1中标注②处。

2.4 知识增强

知识增强的核心是引入外部漏洞属性知识,通过统一并融合漏洞知识表示与漏洞文本表示,增强多标签漏洞文本表示对标签间关系的捕捉能力。

2.4.1 知识表示

漏洞知识表示通过嵌入技术,将漏洞属性三元组中的实体和关系映射到向量空间,得到低维密集的向量表示,使实体和关系在计算过程中被有效处理。

早期TransE模型[21][图2(a)]虽然简单且高效,在处理一对一关系时表现优越,但在处理漏洞属性三元组中的多对多关系时,TransE模型无法有效区分具有相似表示的实体。因此,采用TransH模型[22][图2(b)]能够有效地映射漏洞属性三元组中的复杂关系,并获取漏洞属性知识的向量表示。TransH模型的设计[23]通过不同的方式呈现不同关系中的实体结构特性,使实体表示中隐式蕴含各个漏洞类型之间的相关性和语义信息。具体而言,TransH模型首先确定一个超平面,该超平面的选取基于关系向量及其正交法向量,然后将头实体和尾实体向量沿法向量方向映射至该超平面。最后,通过损失函数的优化,调整模型参数,以提升向量表示的效果。

TransH模型中,每个关系r对应一个超平面,头实体h和尾实体t通过关系映射矩阵Wr投影到这个超平面上,投影后的向量分别如式(1)、式(2)所示。

${h}_{\perp }=h-{{W}^{\mathrm{T}}}_{\mathrm{r}}h{W}_{\mathrm{r}}$
${t}_{\perp }=t-{{W}^{\mathrm{T}}}_{\mathrm{r}}t{W}_{\mathrm{r}}$

对于关系r,其在超平面上的向量表示被定义为dr。因此,TransH模型的具体得分函数公式为

${f}_{\mathrm{r}}(h,t)=\Vert {h}_{\perp }+{d}_{\mathrm{r}}-{t}_{\perp }{\Vert }_{{\mathrm{l}}_{1}/{\mathrm{l}}_{2}}$

通过TransH模型将漏洞属性信息嵌入CVE 编号的向量表示XCVE中,通过在CVE编号的向量表示中隐式反映标签之间的潜在关系,增强多标签漏洞文本的语义表示能力。

2.4.2 异构信息整合策略

BERT模型[24]在处理文本语义表示时,采用多元化的嵌入策略,包括词嵌入(token embeddings)、段落嵌入(segment embeddings)和位置嵌入(position embeddings)。其中,词嵌入Etoken用于将漏洞描述文本的每个Token映射至高维向量空间,以捕捉其语义特征;段落嵌入Eseg旨在通过向量表示来刻画不同句子之间的逻辑关系;位置嵌入Epos捕捉每个Token在漏洞描述文本序列中的相对位置信息。通过嵌入相加形成漏洞文本张量Etext,如式(4)所示。

Etext=Etoken+Eseg+Epos

式(4)中:Etext∈RB×S×d,B为每次处理的样本数量,S为输入序列的长度,d为每个词嵌入向量的维度。

BERT模型的文本表示方法有效捕捉了文本的上下文语义特征,但主要侧重于单一标签的上下文理解,未能充分考虑多个标签之间的相互关系,从而影响分类性能。为解决这一问题,引入漏洞属性知识表示,与漏洞文本表示相结合,使模型能够有效地理解哪些标签可能同时出现,从而提高多标签分类的准确性。然而,知识表示与文本表示的方式存在显著差异,因此如何在保持各自特征表达能力的同时,整合这两种异构信息成为关键问题。

为解决此问题,提出异构信息整合策略。该策略首先通过识别漏洞描述文本的标识特征,关联漏洞文本表示与对应的CVE编号向量表示。之后,通过引入全连接层,将CVE编号向量表示的维度映射至与文本语义表示隐藏层相匹配的维度,如式(5)所示。

ECVE=WCVEXCVE+b

式(5)中:WCVE∈RB×d,为权重矩阵;b为偏置项。

最后,通过扩展复制技术Replicate(·),将ECVE变换为与文本语义表示形状一致的三维张量ECVE,如式(6)所示,并与漏洞描述文本张量Etext进行融合,如式(7)所示,实现漏洞知识增强文本语义特征EKE_input。

ECVE=Replicate(ECVE,shape of Etext)
EKE_input=Etext+ECVE

式中:EKE_input∈RB×S×d。

异构信息整合策略为模型融合了结构化的漏洞属性知识,增强对文本中隐性漏洞标签的理解,提高了标签之间相关性的建模能力。

2.4.3 Transformer编码器

Transformer编码器[25]通过其强大的自注意力机制和全连接前馈神经网络层,深度融合漏洞描述文本与漏洞属性知识,从而提升模型在多标签漏洞文本分类中的表现。

Transformer编码器主要包含多头自注意力层和全连接前馈神经网络层。这两个子层通过残差连接和标准化,输出特征向量。

在多标签漏洞文本分类任务中,每个漏洞描述文本可能涉及多个标签,且标签之间可能存在复杂的依赖关系。Transformer编码器通过多头自注意力层,允许模型在多个子空间中并行计算文本的注意力权重,有效识别和捕捉标签之间的相关性,辅助模型实现精确的多标签漏洞文本分类。具体而言,首先将漏洞知识增强文本语义特征EKE_input映射为一个查询向量Q和一组键值向量(K,V),随后通过注意力权重的计算,获得自注意力的输出结果,如式(8)所示。

$\mathrm{A}\mathrm{t}\mathrm{t}\mathrm{e}\mathrm{n}\mathrm{t}\mathrm{i}\mathrm{o}\mathrm{n}(Q,K,V)=\mathrm{s}\mathrm{o}\mathrm{f}\mathrm{t}\mathrm{m}\mathrm{a}\mathrm{x}\left(\frac{Q{\mathrm{K}}^{\mathrm{T}}}{\sqrt{{\mathrm{d}}_{\mathrm{k}}}}\right)V$

式(8)中:dk为K向量的维度;softmax(·)为归一化指数函数。

通过残差连接和标准化操作,Transformer保证了每一层的输出在保留输入表示的同时,对输入表示进行有效的转换。在每一层的输出中,知识增强的文本语义表示通过注意力机制深度融合,使得编码器能够生成适合多标签漏洞文本分类的文本表示。各子层的输出如式(9)所示。

Osublayer=LayerNorm[x+SubLayer(x)]

式(9)中:x为每一层的输入向量,在编码器的初始层中x对应知识增强嵌入EKE_input;LayerNorm(·)函数用于对隐藏层的状态进行标准化处理;SubNorm(·)函数代表在标准化操作之前执行的全连接前馈神经网络层或多头自注意力层,两个子层输出向量的维度都是相同的。

通过Transformer编码器的深度融合,得到深度融合的文本语义表示EKE_output。这不仅提升了模型对文本语义的理解,还使模型更好地建模标签间的关系,进而提高多标签漏洞文本分类的准确性与鲁棒性。

2.5 标签注意力机制

由于每条漏洞描述文本中涉及一个或多个标签,不同标签对文本的关联性存在差异。因此,提出一种融合标签嵌入与知识增强的文本嵌入表示的标签注意力机制,通过动态学习漏洞描述文本与标签之间的相关性,生成加权特征表示,从而提升多标签分类的准确性。

标签嵌入(labeling embedding)使用Word2vec词嵌入模型中的Skip-Gram模型预训练的中文维基百科词向量来获取标签语义的嵌入表示。嵌入矩阵为L∈Rd×c,其中d为嵌入矩阵的维度,c为标签总数。

为了衡量文本与各标签之间的相关性,将标签嵌入和漏洞描述文本表示映射到同一空间学习,通过标签注意力机制获得注意力向量,表示漏洞描述文本与各个标签的相关程度。首先计算知识增强的文本语义表示EKE_output与各个标签嵌入L的相似度,得到漏洞描述文本与标签的相关性分数S,如式(10)所示。

S=EKE_outputLT

为了确保注意力得分的可比性,采用softmax函数对所有标签的相关性分数进行归一化处理,得到注意力权重ai,如式(11)所示。

${a}_{i}=\frac{\mathrm{e}\mathrm{x}\mathrm{p}\left({s}_{i}\right)}{\stackrel{\mathrm{N}}{\sum _{\mathrm{i}=1}}\mathrm{e}\mathrm{x}\mathrm{p}\left({s}_{i}\right)}$

同时,为了突出重要标签的影响,弱化不相关标签的干扰,对所有标签的嵌入表示进行加权求和得到加权标签特征Lweight,如式(12)所示。

${L}_{\mathrm{w}\mathrm{e}\mathrm{i}\mathrm{g}\mathrm{h}\mathrm{t}}=\stackrel{N}{\sum _{i=1}}{a}_{i}{l}_{i}$

最后,融合知识增强和标签语义的文本嵌入表示由知识增强文本嵌入表示和加权标签特征表示计算得出,如式(13)所示。

E=EKE_output+Lweight

2.6 漏洞分类

最后进行漏洞分类。将融合知识增强和标签语义的文本表示通过全连接层进行多标签漏洞分类,得到每个标签的预测结果P,如式(14)所示。

P=linear(E)

为解决漏洞数据中存在的长尾分布问题,尤其是尾标签(稀有类别)实例不足导致尾标签的召回率较低,引入ZLPR (zero-bounded log-sum-exp & pairwise rank-based) 损失[26]函数计算漏洞分类损失,如式(15)所示,并通过反向传播算法对模型参数进行更新。

$\mathcal{L}=\ln \left(1+\sum_{i \in \Omega_{\mathrm{pos}}} \mathrm{e}^{-\boldsymbol{e}_{i}}\right)+\ln \left(1+\sum_{j \in \Omega_{\mathrm{neg}}} \mathrm{e}^{\boldsymbol{e}_{j}}\right)$

式(15)中:Ωpos、Ωneg分别为样本的正负类别集合;ei为文本特征矩阵E所有的负类分数;ej为文本特征矩阵E所有的正类得分。

3 实验与结果分析

3.1 实验设置与数据集

所有实验模型在Linux142操作系统的服务器上运行,该服务器装有NVIDIA T4 GPU,256 G内存,使用Python编程语言和PyTorch框架实现。其中,提出的KELS模型的具体参数设置如表1所示。

阿里云漏洞库包含了丰富的漏洞数据,涵盖了从CVE编号、详细漏洞描述文本到各类漏洞属性等关键信息,提供了一个多维度的知识来源。因此,实验数据主要源自阿里云漏洞库公开发布的漏洞信息。根据《信息安全技术 网络安全漏洞分类分级指南》,最终确定为13个漏洞类型,即信息泄露、加密问题、处理逻辑错误、授权问题、数字错误、数据转换问题、注入、竞争条件错误、缓冲区错误、资源管理错误、跨站请求伪造、路径遍历、输入验证错误,总计包含10 672条数据。按照6∶2∶2的比例分配训练集、验证集、测试集,数据集数量统计如表2所示。

3.2 评价指标

该任务为多标签文本分类任务,选用微平均(micro-average)和宏平均(macro-average)作为模型性能的评价指标。微平均通过对所有样本的预测结果进行平均,具体可分为Micro-P、Micro-R、Micro-F1,如式(16)~式(18)所示。

$\mathrm{M}\mathrm{i}\mathrm{c}\mathrm{r}\mathrm{o}-P=\frac{\overline{\mathrm{T}\mathrm{P}}}{\overline{\mathrm{T}\mathrm{P}}+\overline{\mathrm{F}\mathrm{P}}}\times 100\%$
$\mathrm{M}\mathrm{i}\mathrm{c}\mathrm{r}\mathrm{o}-R=\frac{\overline{\mathrm{T}\mathrm{P}}}{\overline{\mathrm{T}\mathrm{P}}+\overline{\mathrm{F}\mathrm{N}}}\times 100\%$
$\mathrm{M}\mathrm{i}\mathrm{c}\mathrm{r}\mathrm{o}-{F}_{1}=\frac{2\mathrm{M}\mathrm{i}\mathrm{c}\mathrm{r}\mathrm{o}-P\mathrm{M}\mathrm{i}\mathrm{c}\mathrm{r}\mathrm{o}-R}{\mathrm{M}\mathrm{i}\mathrm{c}\mathrm{r}\mathrm{o}-P+\mathrm{M}\mathrm{i}\mathrm{c}\mathrm{r}\mathrm{o}-R}\times 100\%$

宏平均通过对每个标签类别的预测结果分别求平均,具体可分为Macro-P、Macro-R、Macro-F1,如式(19)~式(21)所示。

$\mathrm{M}\mathrm{a}\mathrm{c}\mathrm{r}\mathrm{o}-P=\frac{1}{L}\stackrel{L}{\sum _{i=1}}{P}_{i}\times 100\%$
$\mathrm{M}\mathrm{a}\mathrm{c}\mathrm{r}\mathrm{o}-R=\frac{1}{L}\stackrel{L}{\sum _{i=1}}{R}_{i}\times 100\%$
$\mathrm{M}\mathrm{a}\mathrm{c}\mathrm{r}\mathrm{o}-{F}_{1}=\frac{1}{L}\stackrel{L}{\sum _{i=1}}{F}_{i}\times 100\%$

式中:$\overline{\mathrm{T}\mathrm{P}}$为全局真正例总数;$\overline{\mathrm{F}\mathrm{P}}$为全局假正例总数;$\overline{\mathrm{F}\mathrm{N}}$为全局假反例总数;P、R、F1分别为预测结果中的精确率(precision)、召回率(recall)和F1分数。

3.3 对比实验结果与分析

为验证提出的KELS模型的分类效果,使用相同的参数设置与数据集,设计以下几种基线模型进行实验对比:BERT模型、BERT_CNN模型、BERT_RNN模型、BTHKE模型(知识增强BERT模型)、BTHKE_CNN模型、BTHKE_RNN模型。实验结果如表3所示。

根据上述实验结果可以看出,所提的多标签漏洞分类模型整体优于其他基线模型。提出的模型虽然在Micro-R、Macro-R结果较低,但在Micro-P和Macro-P上表现突出,并在Micro-F1上达到66.86%,在Macro-F1上达到55.36%,相比BERT模型提升0.75%,BTHKE模型提升1.20%。这表明本文模型通过融合知识增强和标签语义的优化策略,有效地提升了尾标签的分类能力,改善了尾标签实例不足的问题,验证了本文模型在多标签漏洞分类任务中的有效性。

3.4 消融实验结果与分析

为验证所提的KELS模型引入知识增强文本语义与标签语义的有效性,在相同的参数设置与数据集下,通过去掉知识增强与标签语义(w/o KE_LS)、去掉标签语义(w/o LS) 、去掉知识增强(w/o KE)进行实验验证。实验结果如表4所示。

上述实验结果表明,所提的多标签漏洞分类模型取得了优异的漏洞分类结果。所提的模型虽然在Micro-R较w/o KE下降了1.15%,在Macro-R较w/o KE下降了0.28%,但在Micro-P、Micro-F1提高了0.98%、0.17%,表明知识增强和标签语义的结合有效提高了模型对全局数据的预测精度和综合表现,在Macro-P、Macro-F1提高了2.38%、0.66%,验证了KE和LS的协同作用显著改善了模型在处理由尾标签实例不足导致分类准确率不高的问题时的表现。

4 结论

多标签漏洞文本分类通过对漏洞描述文本的有效分析,为漏洞验证者提供了全面准确的分类信息,有助于漏洞运营者或组织在漏洞管理中实现全面性与高效性。

针对漏洞描述文本的多标签分类问题,文本语义与标签语义利用不充分的问题,提出了一种基于知识增强与标签语义的多标签漏洞文本分类方法。该方法首先利用TransH模型对漏洞属性知识进行向量表征,并在文本表示的输入阶段采用异构信息整合策略,将属性知识表示融入漏洞描述文本的语义表示中,利用Transformer编码器对融合表示训练;其次引入标签嵌入,通过标签注意力方法计算漏洞描述文本与标签的注意力得分,并融合知识增强的文本语义嵌入进行分类预测,从而解决由尾标签实例不足导致分类准确率不高的问题。实验结果表明,相比于其他基线模型,提出的KELS模型在各个评价指标上均有了进一步提升。在未来的研究中,将考虑采用更合适的知识嵌入表示以及融入标签的层次结构,以期进一步提升多标签漏洞分类的整体表现。

参考文献

[1]

Yaacoub J P A, Noura H N, Salman O, et al. Ethical hacking for IoT: security issues, challenges, solutions and recommendations[J]. Internet of Things and Cyber-Physical Systems, 2023, 3: 280-308.

[2]

关慧, 韩志远. MGE-BERT: 融合标签排序与情感图感知的多标签情感分类模型[J]. 计算机系统应用, 2025, 34(3): 268-276.

[3]

Guan Hui, Han Zhiyuan. MGE-BERT: multi-label sentiment classification model integrating label ranking and sentiment graph perception[J]. Computer Systems Applications, 2025, 34(3): 268-276.

[4]

Guo L, Jin B, Yu R, et al. Multi-label classification methods for green computing and application for mobile medical recommendations[J]. IEEE Access, 2016, 4: 3201-3209.

[5]

Jain H, Prabhu Y, Varma M. Extreme multi-label loss functions for recommendation, tagging, ranking & other missing label applications[C]// Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. San Francisco: ACM, 2016: 935-944.

[6]

Yang Z, Yang D, Dyer C, et al. Hierarchical attention networks for document classification[C]// Proceedings of the 2016 Conference of the North American Chapter of the Association for Computational Linguistics:Human Language Technologies. San Francisco: NAACL, 2016: 1480-1489.

[7]

中国国家标准化管理委员会. 信息安全技术网络安全漏洞分类分级指南:GB/T30279—2020[S]. 北京: 中国标准出版社, 2020.

[8]

Standardization Administration of the People’s Republic of China. Informationsecuritytechnology-vulnerabilityclassificationguide:GB/T30279—2020[S]. Beijing: Standards Press of China, 2020.

[9]

Huang G, Li Y, Wang Q, et al. Automatic classification method for software vulnerability based on deep neural network[J]. IEEE Access, 2019, 7: 28291-28298.

[10]

曲泷玉, 贾依真, 郝永乐. 结合CNN和文本语义的漏洞自动分类方法[J]. 北京理工大学学报, 2019, 39(7): 738-742.

[11]

Qu Longyu, Jia Yizhen, Hao Yongle. Automatic classification of vulnerabilities based on CNN and text semantics[J]. Transactions of Beijing Institute of Technology, 2019, 39(7): 738-742.

[12]

刘烊侨, 杨频, 王炎. 基于卷积神经网络的软件漏洞自动分类方法[J]. 现代计算机, 2020(15): 68-74.

[13]

Liu Yangqiao, Yang Pin, Wang Yan. Software vulnerability automatic classification method based on convolutional neural network[J]. Modern Computer, 2020(15): 68-74.

[14]

Sharma R, Sibal R, Sabharwal S. Software vulnerability prioritization using vulnerability description[J]. International Journal of System Assurance Engineering and Management, 2021, 12(1): 58-64.

[15]

Wang Q, Gao Y, Ren J, et al. An automatic classification algorithm for software vulnerability based on weighted word vector and fusion neural network[J]. Computers & Security, 2023, 126: 103070.

[16]

Pan M, Wu P, Zou Y, et al. An automatic vulnerability classification framework based on BiGRU-TextCNN[J]. Procedia Computer Science, 2023, 222: 377-386.

[17]

杜林, 许传淇. 基于BERT的漏洞文本特征分类技术研究[J]. 信息安全研究, 2023, 9(7): 687-692.

[18]

Du Lin, Xu Chuanqi. Research on vulnerability text feature classification technology based on BERT[J] Journal of Information Security Research, 2023, 9(7): 687-692.

[19]

杨尽能, 李汶珊, 何俊江, 等. 基于双注意力机制和改进对抗训练的漏洞分类方法[J]. 计算机应用研究, 2024, 41(11): 3447-3454.

[20]

Yang Jinneng, Li Wenshan, He Junjiang, et al. Vulnerability classification method based on double-attention mechanism and adversarial training[J]. Application Research of Computers, 2024, 41(11): 3447-3454.

[21]

Kim Y. Convolutional neural networks for sentence classification[J]. ArXiv: 1408. 5882, 2024.

[22]

Liu J, Chang W C, Wu Y, et al. Deep learning for extreme multi-label text classification[C]// Proceedings of the 40th International ACM SIGIR Conference on research and Development in Information Retrieval. Shinjuku: ACM, 2017: 115-124.

[23]

Chen G B, Ye D H, Xing Z C, et al. Ensemble application of convolutional and recurrent neural networks for multi-label text categorization[C]// International Joint Conference on Neural Networks. Anchorage: IEEE, 2017: 2377-2383.

[24]

Yang P, Sun X, Li W, et al. SGM: sequence generation model for multi-label classification[J]. ArXiv PrePrint, ArXiv: 1806. 04822, 2018.

[25]

You R, Zhang Z, Wang Z, et al. AttentionXML: label tree-based attention-aware deep model for high-performance extreme multi-label text classification[J]. Advances in Neural Information Processing Systems, 2019, 32: 5571-6362.

[26]

肖琳, 陈博理, 黄鑫, 等. 基于标签语义注意力的多标签文本分类[J]. 软件学报, 2020, 31(4): 1079-1089.

[27]

Xiao Lin, Chen Boli, Huang Xin, et al. Multi-label text classification method based on label semantic information[J]. Journal of Software, 2020, 31(4): 1079-1089.

[28]

郭智, 郑彦斌, 夏志超, 等. 融合属性信息的知识表示方法[J]. 科学技术与工程, 2019, 19(33): 259-265.

[29]

Guo Zhi, Zheng Yanbin, Xia Zhichao, et al. Knowledge representation learning method with attribute information[J]. Science Technology and Engineering, 2019, 19(33): 259-265.

[30]

Shi D, Li Z, Zurada J, et al. Ontology-based text convolution neural network (TextCNN) for prediction of construction accidents[J]. Knowledge and Information Systems, 2024, 66(4): 2651-2681.

[31]

Zhang Z, Qian Y, Xing Y, et al. Survey of knowledge representation learning methods[J]. Application Research of Computers, 2021, 38(4): 961-967.

[32]

Galal O, Gawad A H A, Farouk M. Rethinking of BERT sentence embedding for text classification[J]. Neural Computing and Applications, 2024, 36(32): 20245-20258.

[33]

杨秀璋, 郭明镇, 候红涛, 等. 融合情感词典的改进BiLSTM-CNN+Attention情感分类算法[J]. 科学技术与工程, 2022, 22(20): 8761-8770.

[34]

Yang Xiuzhang, Guo Mingzhen, Hou Hongtao, et al. Improved BiLSTM-CNN+Attention sentiment classification algorithm fused with sentiment dictionary[J]. Science Technology and Engineering, 2022, 22(20): 8761-8770.

[35]

Su J, Zhu M, Murtadha A, et al. ZLPR: a novel loss for multi-label classification[J]. ArXiv Preprint, ArXiv: 2208. 02955, 2022.

基金资助

国家重点研发计划(2019YFB1405003)

PDF (2300KB)

36

访问

0

被引

详细

导航
相关文章

/

〈 〉