CN115964716A - 一种漏洞数据的分析方法、装置、电子设备及存储介质 - Google Patents

一种漏洞数据的分析方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN115964716A
CN115964716A CN202211662898.XA CN202211662898A CN115964716A CN 115964716 A CN115964716 A CN 115964716A CN 202211662898 A CN202211662898 A CN 202211662898A CN 115964716 A CN115964716 A CN 115964716A
Authority
CN
China
Prior art keywords
vulnerability
data
analysis
vector
semantic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211662898.XA
Other languages
English (en)
Inventor
苏卓
刘紫千
余启明
危嘉祺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianyi Safety Technology Co Ltd
Original Assignee
Tianyi Safety Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tianyi Safety Technology Co Ltd filed Critical Tianyi Safety Technology Co Ltd
Priority to CN202211662898.XA priority Critical patent/CN115964716A/zh
Publication of CN115964716A publication Critical patent/CN115964716A/zh
Priority to PCT/CN2023/135436 priority patent/WO2024131496A1/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请公开一种漏洞数据的分析方法、装置、电子设备及存储介质,属于网络安全技术领域,该方法包括:将获取的漏洞数据输入RoBERTa模型中进行语义分析,对从RoBERTa模型中获取的至少两个第一语义向量进行融合,得到第一融合向量,至少两个第一语义向量的语义表达能力不同,对第一融合向量进行漏洞描述特征提取,得到漏洞特征向量,对漏洞特征向量进行漏洞描述特征识别,基于漏洞描述特征识别结果,确定漏洞数据的分析结果。这样,可快速识别漏洞数据中的漏洞描述特征,提升漏洞数据的分析速度进而提高漏洞防护及时性。

Description

一种漏洞数据的分析方法、装置、电子设备及存储介质
技术领域
本申请涉及网络安全技术领域,尤其涉及一种漏洞数据的分析方法、装置、电子设备及存储介质。
背景技术
随着全球范围的黑客入侵不断猖獗,网络安全问题越来越严重,在对抗黑客入侵的安全技术中,及时对漏洞数据进行防护显得尤为重要。
现有技术中,常用的漏洞库比如通用漏洞披露(Common Vulnerabilities&Exposures,CVE)在对新兴漏洞数据收集时需经过漫长的验证过程,期间需要花费大量的人工对这些漏洞数据进行处理,从漏洞数据中寻找漏洞描述信息,比如漏洞的攻击对象,攻击范围等,由于漏洞数据的数据量较多,且这些漏洞的描述信息在漏洞数据中分布比较分散,给人工带来了极大的难度和挑战,由于对漏洞数据收录不及时,将导致安全防护过程中存在防范不及时而遭受恶意攻击。
因此,如何合理对漏洞数据进行分析,提升漏洞数据的分析速度进而提高漏洞防护及时性是亟待解决的技术问题。
发明内容
本申请实施例提供一种漏洞数据的分析方法、装置、电子设备及存储介质,用以合理对漏洞数据进行分析,提升漏洞数据的分析速度进而提高漏洞防护及时性。
第一方面,本申请实施例提供一种漏洞数据的分析方法,包括:
将获取的漏洞数据输入RoBERTa模型中进行语义分析;
对从所述RoBERTa模型中获取的至少两个第一语义向量进行融合,得到第一融合向量,所述至少两个第一语义向量的语义表达能力不同;
对所述第一融合向量进行漏洞描述特征提取,得到漏洞特征向量;
对所述漏洞特征向量进行漏洞描述特征识别;
基于漏洞描述特征识别结果,确定所述漏洞数据的分析结果。
在一些实施例中,对所述漏洞特征向量进行漏洞描述特征识别,包括:
将所述漏洞特征向量输入双向长短期记忆网络BiLSTM中进行漏洞描述特征识别;
将所述BiLSTM的输出结果输入条件随机场CRF中对每种漏洞描述特征进行纠正处理,得到漏洞描述特征识别结果。
在一些实施例中,还包括:
对所述漏洞数据进行漏洞等级分析;
基于漏洞描述特征识别结果,确定所述漏洞数据的分析结果,包括:
将所述漏洞描述特征识别结果和所述漏洞等级分析结果,确定为所述漏洞数据的分析结果。
在一些实施例中,对所述漏洞数据进行漏洞等级分析,包括:
将所述漏洞数据输入BERT模型中进行语义分析,得到第二语义向量;
对所述漏洞数据中各词在所述第二语义向量中相同维度上的向量值进行融合,得到第二融合向量;
对所述第二融合向量进行漏洞等级分析。
在一些实施例中,对所述第二融合向量进行漏洞等级分析,包括:
对所述第二融合向量进行降维处理;
对降维处理后的第二融合向量进行漏洞等级分析。
第二方面,本申请实施例提供一种漏洞数据的分析装置,包括:
第一分析模块,用于将获取的漏洞数据输入RoBERTa模型中进行语义分析;
融合模块,用于对从所述RoBERTa模型中获取的至少两个第一语义向量进行融合,得到第一融合向量,所述至少两个第一语义向量的语义表达能力不同;
提取模块,用于对所述第一融合向量进行漏洞描述特征提取,得到漏洞特征向量;
识别模块,用于对所述漏洞特征向量进行漏洞描述特征识别;
确定模块,用于基于漏洞描述特征识别结果,确定所述漏洞数据的分析结果。
在一些实施例中,所述识别模块,具体用于:
将所述漏洞特征向量输入双向长短期记忆网络BiLSTM中进行漏洞描述特征识别;
将所述BiLSTM的输出结果输入条件随机场CRF中对每种漏洞描述特征进行纠正处理,得到漏洞描述特征识别结果。
在一些实施例中,还包括第二分析模块:
所述第二分析模块,用于对所述漏洞数据进行漏洞等级分析;
所述确定模块,具体用于:
将所述漏洞描述特征识别结果和所述漏洞等级分析结果,确定为所述漏洞数据的分析结果。
在一些实施例中,所述第二分析模块,具体用于:
将所述漏洞数据输入基于Transformer的双向编码器表示BERT模型中进行语义分析,得到第二语义向量;
对所述漏洞数据中各词在所述第二语义向量中相同维度上的向量值进行融合,得到第二融合向量;
对所述第二融合向量进行漏洞等级分析。
在一些实施例中,还包括处理模块,用于对所述第二融合向量进行降维处理;
所述第二分析模块还用于对降维处理后的第二融合向量进行漏洞等级分析。
第三方面,本申请实施例提供一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中:
存储器存储有可被至少一个处理器执行的计算机程序,该计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述漏洞数据的分析方法。
第四方面,本申请实施例提供一种存储介质,当所述存储介质中的计算机程序由电子设备的处理器执行时,所述电子设备能够执行上述漏洞数据的分析方法。
本申请实施例中,将获取的漏洞数据输入RoBERTa模型中进行语义分析,对从RoBERTa模型中获取的至少两个第一语义向量进行融合,得到第一融合向量,至少两个第一语义向量的语义表达能力不同,对第一融合向量进行漏洞描述特征提取,得到漏洞特征向量,对漏洞特征向量进行漏洞描述特征识别,基于漏洞描述特征识别结果,确定漏洞数据的分析结果。这样,可快速识别漏洞数据中的漏洞描述特征,提升漏洞数据的分析速度进而提高漏洞防护及时性。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的一种漏洞描述特征识别模型的结构图;
图2为本申请实施例提供的一种漏洞数据的分析方法的流程图;
图3为本申请实施例提供的一种漏洞等级分析模型的结构图;
图4为本申请实施例提供的一种漏洞数据的分析模型的结构图;
图5为本申请实施例提供的另一种漏洞数据的分析方法的流程图;
图6为本申请实施例提供的一种漏洞数据的分析装置的结构示意图;
图7为本申请实施例提供的一种用于实现漏洞数据的分析方法的电子设备的硬件结构示意图。
具体实施方式
为了合理对漏洞数据进行分析,提升漏洞数据的分析速度进而提高漏洞防护及时性,本申请实施例提供了一种漏洞数据的分析方法、装置、电子设备及存储介质。
以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
为了便于理解本申请,本申请涉及的技术术语中:
基于Transformer的双向编码器表示模型(Bidirectional EncoderRepresentations from Transformers,BERT),用来提取词在句子中的关系特征,并且能在多个不同层次提取关系特征,进而更全面反映句子语义,BERT是一个句子级别的语言模型,可以直接获得整个句子的唯一向量表示,BERT在每个输入前加一个特殊记号[CLS],然后用Transformer对[CLS]做深度编码,最后将[CLS]的最高隐层作为句子级别的表示直接连接一个归一化连接层,通过它可以学到整个输入的上层特征。
双向长短期记忆网络(Bi-directional Long Short-Term Memory,BiLSTM),用于文本特征提取,得到序列的特征表征,能够捕获长远的上下文信息。
条件随机场(Conditional Random Field,CRF),该模型需要定义相关的特征模版,通过特征模版去扫描匹配整个句子,整个序列的特征由局部特征的线性加权组合得到,它不能灵活的考虑长远的上下文信息,但是可以灵活地应用局部上下文特征。
稳健优化的BERT预训练方法模型(A Robustly Optimized BERT PretrainingApproach,RoBERTa),其作为一种稳健优化的BERT预训练方法模型RoBERTa对BERT模型进行了优化。RoBERTa模型在众多数据集上的效果相较于BERT可以提高5%-20%,由于在RoBERTa模型的训练方法上,不再使用静态掩码,而是去使用动态掩码,即在预处理阶段没有进行MASK,而是在每个训练步骤中动态生成MASK,因此每一个训练步骤的MASK都不相同,这样可以更好的捕捉文字的信息,RoBERTa模型是双向模型,能够很好的学习上下文的表示,从整体获取词的语义特征。
下面以具体实施例对本申请提出的漏洞数据的分析方法进行说明。
本申请实施例提供的漏洞数据的分析方法主要分为两部分实施,第一部分为漏洞描述特征识别模型的训练,第二部分为漏洞描述特征识别模型的使用,下面对这两部分进行详细介绍。
第一部分:漏洞描述特征识别模型的训练。
具体实施时,漏洞描述特征识别模型的模型结构由RoBERTa模型、CNN模型、BiLSTM模型和CRF模型结合而成,对漏洞描述特征识别模型的模型进行训练前可按照以下步骤对漏洞数据进行数据处理,包含以下步骤:
步骤1,从多种漏洞库中获取漏洞数据。
具体实施时,可通过网络爬虫技术从多个漏洞库中,如CVE,ExploitDB,CNVD等,爬取漏洞数据。
步骤2,多漏洞数据进行清洗。
具体实施时,由于爬取到的漏洞数据存在噪声数据(Noisy Data),即无意义的数据,不能直接应用于训练,这类噪声数据不仅会增加数据量,也会加大计算量和计算误差,所以需要对漏洞数据进行清洗,对漏洞数据进行清洗,也称数据去噪,一些漏洞数据存在与漏洞无关的内容,例如,网页自带的html标签、无意义的字符和标点等,这些不相关内容会影响到模型训练的结果,可以,使得去噪后的数据能够最大化满足模型训练的各项需求,且尽可能保留相关数据的完整性。
步骤3,标注漏洞数据的漏洞描述特征。
具体实施时,由于模型的训练采用的是有监督的方式,需要使用有监督的标签化数据集,而爬取后的数据大多数是不包含标签的,所以需要对清洗后的漏洞描述特征进行人工标注,其中,漏洞描述特征可以是根据实际需要预先设置的,如漏洞的名称、漏洞的产生原因、漏洞的攻击对象、漏洞的攻击范围以及漏洞的修复建议等。
步骤4,对标注后的漏洞数据进行划分,形成训练集、验证集和测试集。
具体实施时,可将标注后的漏洞数据进行划分,其中一部分用来训练,另一部分用来检验模型效果,数据划分一般分为以下三个部分:
训练集,指用来训练模型的数据集,通过这个数据训练得到模型的参数;
验证集,主要用于做超参数的选取与模型的选取;
测试集,用于评价模型的好坏,检测训练后的模型效果;
具体实施时,还可以根据漏洞数据的数据量将漏洞数据划分按照预设比例进行划分,比如按照8:1:1的比例,即训练集占百分之八十,验证集和测试集分别占百分之十。
步骤5,对漏洞数据进行预处理。
具体实施时,在对漏洞数据进行预处理前,还可先对漏洞数据进行检查,比如去除标注不准确的数据,之后对漏洞数据进行分词处理,设置训练数据最大的文本长度,比如设置200,将超过最大长度的部分,可按标点符“。”,“,”,“!”,“?”等进行分词,比如,一条漏洞数据的文本长度为1000,按照最大文本长度200进行划分,即得到5条漏洞数据文本,这样可增加漏洞数据的文本数量,还可减轻服务器运行压力,最后在每个句子插入开头([CLS])、结尾([SEP])这两个标签,用于为后面的漏洞描述特征识别任务服务。
具体实施时,经过上述步骤的处理之后,可将处理后的漏洞数据作为训练漏洞描述特征识别模型的样本数据,图1为本申请实施例提供的一种漏洞描述特征识别模型的结构图,具体训练过程分为以下步骤实施:
步骤1,将预处理后的漏洞数据输入RoBERTa模型,进行语义分析训练。
具体实施时,由于在RoBERTa模型的训练方法上,不再使用静态掩码,而是去使用动态掩码,即在预处理阶段没有进行MASK,而是在每个训练步骤中动态生成MASK,因此每一个训练步骤的MASK都不相同,这样我们可以更好的捕捉文字的信息,RoBERTa模型共有12层,每一层针对输入的漏洞数据的每一个字都对应生成一个语义向量,并且,针对任意一个字,不同层对于语义的敏感度是不同的,也就是说,每一层对于这个字的语义表达能力是不同的,第1层的语义表达能力最弱,第12层的语义表达能力最强。
步骤2,提取RoBERTa模型中语义表达能力强的语义向量,进行融合,得到融合向量。
具体实施时,按照每层的语义表达能力的强弱,可以提取RoBERTa的9-12层语义向量,每层对于每个字均为一个768维度的向量,然后将RoBERTa的第12层语义向量作为矩阵的第一层,RoBERTa的第11层语义向量作为矩阵的第二层,依次类推,进行向量融合,生成4*768维度的矩阵形式的融合向量。
步骤3,对融合向量进行漏洞描述特征提取,得到漏洞特征向量。
具体实施时,可通过卷积神经网络(Convolutional Neural Networks,CNN)对融合向量进行卷积处理,CNN模型具有并行处理、运算速度快的优势可以达到增强字编码,更好地提取字的特征的效果,这样可以提取融合向量的漏洞描述特征,得到漏洞特征向量,即,此时经过卷积处理后,漏洞特征为1*768维的向量。
步骤4,对漏洞特征向量进行漏洞描述特征识别,输出识别结果。
具体实施时,可将漏洞特征向量输入到BiLSTM模型中进行训练预测,使用记忆细胞结合上下文信息同时捕获长距离依赖,之后还可将BiLSTM的输出结果输入CRF模型中,利用CRF模型对每种漏洞描述特征进行纠正处理,得到漏洞描述特征识别结果,其中,纠正处理可以是对漏洞描述特征的顺序进行约束,比如约束输出的识别结果的文本格式为开头+中间+结尾的形式,或者开头+结尾的形式,避免出现中间+开头的形式,CRF模型可以学习句子的前后依赖,在BiLSTM模型之后引入CRF模型可以加强约束,保证最终的识别和预测效果更有效,需要说明的是,对漏洞特征向量识别时,可以输出洞特征向量包含的多个识别结果。
具体实施时,可以设置最大epoch值,当一个完整的数据集通过神经网络一次并且返回一次的过程称为一个epoch,当达到设定的最大epoch后,可用验证集进行验证,当验证集损失不再下降,则认为当前漏洞描述特征识别模型训练完成。
第二部分:漏洞描述特征识别模型的使用。
图2为本申请实施例提供的一种漏洞数据的分析方法的流程图,该方法包括以下步骤。
在步骤201中,将获取的漏洞数据输入RoBERTa模型中进行语义分析。
具体实施时,将获取的漏洞数据输入RoBERTa模型前,可对获取的漏洞数据进行预处理,比如对漏洞数据进行分词处理,设置漏洞数据的最大文本长度,比如设置500,将超过最大长度的部分,可按标点符“。”,“,”,“!”,“?”等进行分词,然后在每个句子插入开头([CLS])、结尾([SEP])这两个标签,以表征句子的完整性。
具体实施时,对漏洞数据进行语义分析,由于RoBERTa模型有12层,每一层对于语义的表达能力是不同的,因此漏洞数据的每个字都可以输出12个不同语义表达能力的向量,一般向量维度为768维。
在步骤202中,对从RoBERTa模型中获取的至少两个第一语义向量进行融合,得到第一融合向量,至少两个第一语义向量的语义表达能力不同。
具体实施时,由于RoBERTa模型的第1层的语义表达能力最弱,第12层的语义表达能力最强,因此,可以提取至少两个语义表达能力强的第一语义向量,比如提取9-12层的第一语义向量,将提取后的第一语义向量进行融合,形成第一融合向量,这里第一融合向量为4*768为的矩阵向量。
在步骤203中,对第一融合向量进行漏洞描述特征提取,得到漏洞特征向量。
具体实施时,可将第一融合向量输入CNN中,进行漏洞描述特征提取,将第一融合向量这个矩阵转换成1*768维的漏洞特征向量,这样可以增强字编码,更好地提取字的特征的效果。
在步骤204中,对漏洞特征向量进行漏洞描述特征识别。
在一些实施例中,可将漏洞特征向量输入BiLSTM模型中进行漏洞描述特征识别,之后将BiLSTM的输出结果输入CRF模型中对每种漏洞描述特征进行纠正处理,得到漏洞描述特征识别结果。
在步骤205中,基于漏洞描述特征识别结果,确定漏洞数据的分析结果。
具体实施时,漏洞描述特征识别结果可以包含多个漏洞描述特征,比如漏洞的名称、漏洞的产生原因、漏洞的攻击对象、漏洞的攻击范围以及漏洞的修复建议等,将漏洞描述特征识别结果,确定为漏洞数据的分析结果,另外,还可将漏洞描述特征识别结果进行重新组合,预先设置漏洞数据的模板,漏洞数据模板中设置所需的漏洞描述特征,并在各漏洞描述特征后预留文本空间,将识别出的漏洞描述特征的识别结果自动填入漏洞描述特征对应的预留文本空间内,将组合好的漏洞数据确定为漏洞数据的分析结果。
这样,从全网数据的安全防护的及时性出发,将漏洞库中的漏洞信息进行收集,通过本申请构建的漏洞描述特征识别模型,自动识别漏洞数据的漏洞描述特征,抽取并形成漏洞数据的分析结果,提高了人工识别效率,节省了大量人力成本,提升了漏洞数据的分析速度进而提高漏洞防护及时性。
考虑到,不同的漏洞进行的攻击会给网络安全带来不同程度的威胁,技术人员对不同的漏洞往往会采用不同的应对措施,一些危害比较大的漏洞,如果能提前预警,及时部署防御措施,将给企业的安全防护带来极大便利,鉴于此,本申请提出了除了分析漏洞数据的漏洞描述特征,其实,还可进一步对漏洞数据进行漏洞等级分析。
具体实施时,漏洞等级分析模型由BERT模型、Dense层和Softmax层结合而成,对漏洞等级分析模型进行训练前可按照以下步骤对漏洞数据进行数据处理,包含以下步骤:
步骤1,从多种漏洞库中获取更新的漏洞数据。
其中,漏洞库如CVE,ExploitDB,CNVD等。
步骤2,多漏洞数据进行清洗。
具体实施时,对通过网络爬虫技术爬取漏洞数据进行数据清洗,比如,采用正则匹配等方式对数据进行过滤,去除网页标签、乱码字符等干扰项。
步骤3,标注漏洞数据的漏洞等级。
具体实施时,可通过人工标注的方式对漏洞数据的威胁性进行分析,比如将威胁性高的漏洞数据的漏洞等级标注为高级,威胁性低的漏洞数据的漏洞等级标注为低级,将漏洞等级标注为高、中、低三个等级。
步骤4,对标注后的漏洞数据进行划分,形成训练集、验证集和测试集。
步骤5,对漏洞数据进行预处理。
具体实施时,在对漏洞数据进行预处理前,还可先对漏洞数据进行检查,比如去除标注不准确的数据,之后对漏洞数据进行分词处理,设置训练数据最大的文本长度,比如设置500,将超过最大长度的部分丢弃,最后在每个句子插入开头([CLS])、结尾([SEP])这两个标签,用于为后面的漏洞等级分析任务服务。
具体实施时,经过上述步骤的处理之后,可将处理后的漏洞数据作为训练漏洞等级分析模型的样本数据,与漏洞描述特征识别模型的训练过程类似,漏洞等级分析模型的训练过程也可按照以下步骤实施,图3为本申请实施例提供的一种漏洞等级分析模型的结构图。
步骤1,将预处理后的漏洞数据输入BERT模型中进行语义分析,得到第二语义向量。
具体实施时,漏洞数据输入BERT模型,得到第二语义向量,比如,漏洞数据包含3个词,那么加上句首的标签[CLS]和结尾的标签([SEP]),此时为5个词向量,通常情况下,在第二语义向量中每个词的向量的维度为768维,即5个768维的向量,且一般每个词向量表征漏洞等级的语义信息,且每个词向量表征的漏洞等级的语义信息相互关联,为了加快收敛速度,提高分类效果,对漏洞数据中各词在第二语义向量中相同维度上的向量值进行融合,可通过对每一维度的词向量进行向量平均处理,将平均值作为这一维度的向量值的方式进行融合,得到第二融合向量,即得到一个768维的向量。
步骤2,对第二融合向量进行降维处理。
具体实施时,可将第二融合向量送入到缓冲Dense层进行降维处理,比如将768维降到512维,以此作为中间层以平衡第二融合向量与漏洞等级分析结果之间的差异性,提升分析结果。
步骤3,对降维处理后的第二融合向量进行漏洞等级分析,输出等级分析结果。
具体实施时,可将降维处理后的第二融合向量输入Softmax层,进行分类,基于分类结果,确定漏洞等级分析结果,比如分析结果是高、中、低任一等级。
具体实施时,可以设置最大epoch值,当一个完整的数据集通过神经网络一次并且返回一次的过程称为一个epoch,当达到设定的最大epoch后,可用验证集进行验证,当验证集损失不再下降,则认为当前漏洞等级分析模型训练完成。
图4为本申请实施例提供的一种漏洞数据的分析模型的结构图,如图4所示,漏洞数据的分析模型分为上层的漏洞描述特征识别模型和下层的漏洞等级分析模型两部分组成,当从漏洞库获取漏洞数据后,分别对漏洞数据进行预处理,得到两个模型所需的预处理后的漏洞数据,然后,可通过上层漏洞描述特征识别模型进行漏洞描述特征识别,通过下层的漏洞等级分析模型进行漏洞等级分析,将得到的漏洞描述特征识别结果和漏洞等级分析结果,确定为漏洞数据的分析结果。
图5为本申请实施例提供的另一种漏洞数据的分析方法的流程图,该方法包括以下步骤。
在步骤501中,从多种漏洞库中获取漏洞数据,对漏洞数据进行预处理。
具体实施时,可根据需求,对漏洞数据进行漏洞描述特征识别预处理和漏洞等级分析预处理。
在步骤502中,将预处理后的漏洞数据输入RoBERTa模型中进行语义分析。
具体实施时,可参考步骤201,在此不再赘述。
在步骤503中,对从RoBERTa模型中获取的至少两个第一语义向量进行融合,得到第一融合向量,至少两个第一语义向量的语义表达能力不同。
具体实施时,可参考步骤202,在此不再赘述。
在步骤504中,对第一融合向量进行漏洞描述特征提取,得到漏洞特征向量。
具体实施时,可参考步骤203,在此不再赘述。
在步骤505中,对漏洞特征向量进行漏洞描述特征识别,确定漏洞描述特征识别结果。
具体实施时,可对识别出的漏洞描述特征抽取出来,比如识别出的漏洞描述特征是漏洞的攻击对象和漏洞的攻击范围。
在步骤506中,将预处理后的漏洞数据输入BERT模型中进行语义分析,得到第二语义向量。
在步骤507中,对漏洞数据中各词在第二语义向量中相同维度上的向量值进行融合,得到第二融合向量。
在步骤508中,对第二融合向量进行降维处理。
在步骤509中,对降维处理后的第二融合向量进行漏洞等级分析,确定漏洞等级分析结果。
比如,漏洞的威胁性高则分析结果为高。
需要说明的是,步骤502~步骤505执行的漏洞描述特征识别与步骤506~步骤509执行的漏洞等级分析,之间没有严格的先后顺序,也可以先执行漏洞等级分析再执行漏洞描述特征识别,或者同时执行这两部分。
在步骤510中,将漏洞描述特征识别结果和漏洞等级分析结果,确定为漏洞数据的分析结果。
具体实施时,可将漏洞描述特征识别结果,即漏洞的攻击对象和漏洞的攻击范围和漏洞等级分析结果,即高,确定为漏洞数据的分析结果,还可在预先设置的漏洞数据模板中,将漏洞描述特征识别结果填入模板中漏洞描述特征对应的预留文本空间内,将漏洞等级分析结果填入模板中漏洞等级对应的预留文本空间内,形成一条全面的、简洁的漏洞数据。
这样,将漏洞数据的漏洞描述特征识别并抽取出来,并分析出漏洞的等级,形成全面的漏洞数据,可方便技术人员查看,减少人工筛查的大量时间,保证运维工作更加智能和高效,根据漏洞数据的分析结果,还可以及时规范,根据漏洞等级及时预警,从而帮助高级安全人员预测攻击的方式和范围,及时部署防御措施。
基于相同的技术构思,本申请实施例还提供一种漏洞数据的分析装置,漏洞数据的分析装置解决问题的原理与上述漏洞数据的分析方法相似,因此漏洞数据的分析装置的实施可参见漏洞数据的分析方法的实施,重复之处不再赘述。
图6为本申请实施例提供的一种漏洞数据的分析装置的结构示意图,包括第一分析模块601、融合模块602、提取模块603、识别模块604、确定模块605。
第一分析模块601,用于将获取的漏洞数据输入RoBERTa模型中进行语义分析;
融合模块602,用于对从所述RoBERTa模型中获取的至少两个第一语义向量进行融合,得到第一融合向量,所述至少两个第一语义向量的语义表达能力不同;
提取模块603,用于对所述第一融合向量进行漏洞描述特征提取,得到漏洞特征向量;
识别模块604,用于对所述漏洞特征向量进行漏洞描述特征识别;
确定模块605,用于基于漏洞描述特征识别结果,确定所述漏洞数据的分析结果。
在一些实施例中,所述识别模块604,具体用于:
将所述漏洞特征向量输入双向长短期记忆网络BiLSTM中进行漏洞描述特征识别;
将所述BiLSTM的输出结果输入条件随机场CRF中对每种漏洞描述特征进行纠正处理,得到漏洞描述特征识别结果。
在一些实施例中,还包括第二分析模块606:
所述第二分析模块606,用于对所述漏洞数据进行漏洞等级分析;
所述确定模块605,具体用于:
将所述漏洞描述特征识别结果和所述漏洞等级分析结果,确定为所述漏洞数据的分析结果。
在一些实施例中,所述第二分析模块606,具体用于:
将所述漏洞数据输入BERT模型中进行语义分析,得到第二语义向量;
对所述漏洞数据中各词在所述第二语义向量中相同维度上的向量值进行融合,得到第二融合向量;
对所述第二融合向量进行漏洞等级分析。
在一些实施例中,还包括处理模块607,用于对所述第二融合向量进行降维处理;
所述第二分析模块606还用于对降维处理后的第二融合向量进行漏洞等级分析。
本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,本申请各实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成在一个模块中。各个模块相互之间的耦合可以是通过一些接口实现,这些接口通常是电性通信接口,但是也不排除可能是机械接口或其它的形式接口。因此,作为分离部件说明的模块可以是或者也可以不是物理上分开的,既可以位于一个地方,也可以分布到同一个或不同设备的不同位置上。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
在介绍了本申请示例性实施方式的漏洞数据的分析方法和装置之后,接下来,介绍根据本申请的另一示例性实施方式的电子设备。
下面参照图7来描述根据本申请的这种实施方式实现的电子设备130。图7显示的电子设备130仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图7所示,电子设备130以通用电子设备的形式表现。电子设备130的组件可以包括但不限于:上述至少一个处理器131、上述至少一个存储器132、连接不同系统组件(包括存储器132和处理器131)的总线133。
总线133表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储器132可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)1321和/或高速缓存存储器1322,还可以进一步包括只读存储器(ROM)1323。
存储器132还可以包括具有一组(至少一个)程序模块1324的程序/实用工具1325,这样的程序模块1324包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
电子设备130也可以与一个或多个外部设备134(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与电子设备130交互的设备通信,和/或与使得该电子设备130能与一个或多个其它电子设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口135进行。并且,电子设备130还可以通过网络适配器136与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器136通过总线133与用于电子设备130的其它模块通信。应当理解,尽管图中未示出,可以结合电子设备130使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
在示例性实施例中,还提供了一种存储介质,当存储介质中的计算机程序由电子设备的处理器执行时,电子设备能够执行上述漏洞数据的分析方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,本申请的电子设备可以至少包括至少一个处理器,以及与这至少一个处理器通信连接的存储器,其中,存储器存储有可被这至少一个处理器执行的计算机程序,计算机程序被这至少一个处理器执行时可使这至少一个处理器执行本申请实施例提供的任一漏洞数据的分析方法的步骤。
在示例性实施例中,还提供一种计算机程序产品,当计算机程序产品被电子设备执行时,电子设备能够实现本申请提供的任一示例性方法。
并且,计算机程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、RAM、ROM、可擦式可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、闪存、光纤、光盘只读存储器(Compact Disk Read Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请实施例中用于漏洞数据的分析的程序产品可以采用CD-ROM并包括程序代码,并可以在计算设备上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、射频(Radio Frequency,RF)等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络如局域网(Local AreaNetwork,LAN)或广域网(Wide Area Network,WAN)连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种漏洞数据的分析方法,其特征在于,包括:
将获取的漏洞数据输入RoBERTa模型中进行语义分析;
对从所述RoBERTa模型中获取的至少两个第一语义向量进行融合,得到第一融合向量,所述至少两个第一语义向量的语义表达能力不同;
对所述第一融合向量进行漏洞描述特征提取,得到漏洞特征向量;
对所述漏洞特征向量进行漏洞描述特征识别;
基于漏洞描述特征识别结果,确定所述漏洞数据的分析结果。
2.如权利要求1所述的方法,其特征在于,对所述漏洞特征向量进行漏洞描述特征识别,包括:
将所述漏洞特征向量输入双向长短期记忆网络BiLSTM中进行漏洞描述特征识别;
将所述BiLSTM的输出结果输入条件随机场CRF中对每种漏洞描述特征进行纠正处理,得到漏洞描述特征识别结果。
3.如权利要求1所述的方法,其特征在于,还包括:
对所述漏洞数据进行漏洞等级分析;
基于漏洞描述特征识别结果,确定所述漏洞数据的分析结果,包括:
将所述漏洞描述特征识别结果和所述漏洞等级分析结果,确定为所述漏洞数据的分析结果。
4.如权利要求3所述的方法,其特征在于,对所述漏洞数据进行漏洞等级分析,包括:
将所述漏洞数据输入BERT模型中进行语义分析,得到第二语义向量;
对所述漏洞数据中各词在所述第二语义向量中相同维度上的向量值进行融合,得到第二融合向量;
对所述第二融合向量进行漏洞等级分析。
5.如权利要求4所述的方法,其特征在于,对所述第二融合向量进行漏洞等级分析,包括:
对所述第二融合向量进行降维处理;
对降维处理后的第二融合向量进行漏洞等级分析。
6.一种漏洞数据的分析装置,其特征在于,包括:
第一分析模块,用于将获取的漏洞数据输入RoBERTa模型中进行语义分析;
融合模块,用于对从所述RoBERTa模型中获取的至少两个第一语义向量进行融合,得到第一融合向量,所述至少两个第一语义向量的语义表达能力不同;
提取模块,用于对所述第一融合向量进行漏洞描述特征提取,得到漏洞特征向量;
识别模块,用于对所述漏洞特征向量进行漏洞描述特征识别;
确定模块,用于基于漏洞描述特征识别结果,确定所述漏洞数据的分析结果。
7.如权利要求6所述的装置,其特征在于,所述识别模块,具体用于:
将所述漏洞特征向量输入双向长短期记忆网络BiLSTM中进行漏洞描述特征识别;
将所述BiLSTM的输出结果输入条件随机场CRF中对每种漏洞描述特征进行纠正处理,得到漏洞描述特征识别结果。
8.如权利要求6所述的装置,其特征在于,还包括分析模块:
所述分析模块,用于对所述漏洞数据进行漏洞等级分析;
所述确定模块,具体用于:
将所述漏洞描述特征识别结果和所述漏洞等级分析结果,确定为所述漏洞数据的分析结果。
9.一种电子设备,其特征在于,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中:
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-5任一所述的方法。
10.一种存储介质,其特征在于,当所述存储介质中的计算机程序由电子设备的处理器执行时,所述电子设备能够执行如权利要求1-5任一所述的方法。
CN202211662898.XA 2022-12-23 2022-12-23 一种漏洞数据的分析方法、装置、电子设备及存储介质 Pending CN115964716A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202211662898.XA CN115964716A (zh) 2022-12-23 2022-12-23 一种漏洞数据的分析方法、装置、电子设备及存储介质
PCT/CN2023/135436 WO2024131496A1 (zh) 2022-12-23 2023-11-30 一种漏洞数据的分析方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211662898.XA CN115964716A (zh) 2022-12-23 2022-12-23 一种漏洞数据的分析方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN115964716A true CN115964716A (zh) 2023-04-14

Family

ID=87357416

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211662898.XA Pending CN115964716A (zh) 2022-12-23 2022-12-23 一种漏洞数据的分析方法、装置、电子设备及存储介质

Country Status (2)

Country Link
CN (1) CN115964716A (zh)
WO (1) WO2024131496A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117077148A (zh) * 2023-10-11 2023-11-17 玖目(北京)科技有限公司 程序的安全分析方法、系统、计算机设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117077148A (zh) * 2023-10-11 2023-11-17 玖目(北京)科技有限公司 程序的安全分析方法、系统、计算机设备及存储介质
CN117077148B (zh) * 2023-10-11 2024-01-23 玖目(北京)科技有限公司 程序的安全分析方法、系统、计算机设备及存储介质

Also Published As

Publication number Publication date
WO2024131496A1 (zh) 2024-06-27

Similar Documents

Publication Publication Date Title
CN111783100B (zh) 基于图卷积网络对代码图表示学习的源代码漏洞检测方法
WO2019075390A1 (en) BOX BLACK MATCHING MOTOR
CN111240982A (zh) 源代码静态分析方法
CN111240687A (zh) 源代码静态分析装置
CN111460250A (zh) 用于画像的数据的清洗方法、装置、介质及电子设备
CN111522708B (zh) 一种日志记录方法、计算机设备及存储介质
CN111866004B (zh) 安全评估方法、装置、计算机系统和介质
CN112989348B (zh) 攻击检测方法、模型训练方法、装置、服务器及存储介质
CN107341399A (zh) 评估代码文件安全性的方法及装置
CN116361815B (zh) 基于机器学习的代码敏感信息及硬编码检测方法及装置
WO2024131496A1 (zh) 一种漏洞数据的分析方法、装置、电子设备及存储介质
CN115269427A (zh) 针对web注入漏洞的中间语言表示方法及系统
CN113450075A (zh) 基于自然语言技术的工单处理方法及装置
CN116346456A (zh) 业务逻辑漏洞攻击检测模型训练方法及装置
CN110020190B (zh) 一种基于多示例学习的可疑威胁指标验证方法及系统
CN116248412B (zh) 共享数据资源异常检测方法、系统、设备、存储器及产品
CN113449816A (zh) 网址分类模型训练、网址分类方法、装置、设备及介质
CN116049597B (zh) 网页的多任务模型的预训练方法、装置及电子设备
CN116796323A (zh) 一种智能合约重入攻击检测方法、系统及终端设备
CN117171741A (zh) 代码缺陷分析方法及装置
CN112464237B (zh) 一种静态代码安全诊断方法及装置
CN114386048A (zh) 基于排序的开源软件安全漏洞补丁定位方法
CN113836297A (zh) 文本情感分析模型的训练方法及装置
CN118013963B (zh) 敏感词的识别和替换方法及其装置
CN115391780B (zh) 应用代码的安全加固方法、系统、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination