CN114817934A - 一种基于漏洞事件论元的漏洞严重度评估方法及系统 - Google Patents
一种基于漏洞事件论元的漏洞严重度评估方法及系统 Download PDFInfo
- Publication number
- CN114817934A CN114817934A CN202210519644.6A CN202210519644A CN114817934A CN 114817934 A CN114817934 A CN 114817934A CN 202210519644 A CN202210519644 A CN 202210519644A CN 114817934 A CN114817934 A CN 114817934A
- Authority
- CN
- China
- Prior art keywords
- vulnerability
- severity
- impact
- training
- word
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims description 20
- 239000013598 vector Substances 0.000 claims description 83
- 238000002372 labelling Methods 0.000 claims description 60
- 238000004364 calculation method Methods 0.000 claims description 20
- 230000007704 transition Effects 0.000 claims description 18
- 238000000605 extraction Methods 0.000 claims description 12
- 239000011159 matrix material Substances 0.000 claims description 12
- 238000013528 artificial neural network Methods 0.000 claims description 6
- 230000009193 crawling Effects 0.000 claims description 5
- 230000011218 segmentation Effects 0.000 claims 1
- 238000011156 evaluation Methods 0.000 abstract description 10
- 230000008439 repair process Effects 0.000 abstract description 4
- 230000000694 effects Effects 0.000 abstract description 3
- 239000000284 extract Substances 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000013145 classification model Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000002790 cross-validation Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000005067 remediation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
- G06F16/353—Clustering; Classification into predefined classes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Probability & Statistics with Applications (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于漏洞事件论元的漏洞严重度评估方法,从漏洞描述文本中抽取事件论元协助进行漏洞严重度评估,充分考虑漏洞产生原因、攻击者、触发操作、触发结果、触发情景对于预训练模型学习的作用,构造不同的漏洞事件论元与不同的漏洞严重度指标之间的对应关系,针对不同的严重度评估指标使用对应的漏洞事件论元进行分类学习,最终输出漏洞事件论元、漏洞严重度分数、漏洞严重度等级,明确漏洞的严重度,帮助开发人员优先选择更紧急的漏洞进行修复,本发明对应提供一种基于漏洞事件论元的漏洞严重度评估系统。
Description
技术领域
本发明涉及软件安全领域,尤其是一种基于漏洞事件论元的漏洞严重度评估方法及系统。
背景技术
软件漏洞会对软件系统的保密性、完整性、可用性产生负面影响,从漏洞的结果来看,软件漏洞的影响主要有攻击者执行主机上任意代码、系统拒绝服务、获取用户敏感信息等。随着漏洞数量的持续增加,在数量庞大的软件漏洞中寻找需要优先考虑的关键漏洞进行补救也变得愈加重要,因此软件漏洞严重度评估非常必要。之前的漏洞严重度评估工作大多通过对漏洞描述文本进行分类直接得到严重度等级,如《Learning to PredictSeverity of Software Vulnerability Using Only Vulnerability Description》利用CNN分类模型对截止2016年CVE上完整的漏洞描述文本进行严重度等级进行分类任务训练,《Automated Software Vulnerability Assessment with Concept Drift》中作者提出使用超过100,000条漏洞描述文本数据,对于漏洞严重度的不同指标分别进行训练,同时结合了基于时间的k折交叉验证来缓解漏洞描述文本的概念漂移的问题,对漏洞描述文本的字符级、单词级表征进行特征学习,学习每个漏洞严重度指标的特征,最后计算严重度等级。但这类任务需要大量数据集进行训练,同时漏洞描述文本中存在大量涉及漏洞版本、漏洞位置的信息,此类信息仅仅作为漏洞的标识,对于漏洞严重度评估任务几乎没有任何作用,此外还存在数据集不平衡问题,例如同一指标的不同类别的数量相差非常大,导致模型学习到的特征不完全、漏洞严重度评估结果准确率不高的问题。
发明内容
发明目的:本发明的目的在于提供一种基于漏洞事件论元的漏洞严重度评估方法及系统,明确漏洞的严重度,为漏洞严重度进行分类,辅助漏洞修复人员进行漏洞修复。
技术方案:本发明提供的一种基于漏洞事件论元的漏洞严重度评估方法,包含以下步骤:
1)根据CVE-ID从漏洞数据库爬取漏洞报告,获取漏洞报告中的描述文本、漏洞严重度等级、漏洞严重度指标,将漏洞的产生原因、攻击者、触发操作、触发结果、触发情景作为事件论元构建事件论元标注集;
2)采集漏洞数据库上所有的漏洞描述文本及漏洞严重度等级构建BERT预训练模型,在漏洞描述文本中加入特殊符号[CLS]和[SEP],训练BERT预训练模型生成漏洞描述文本的预训练词嵌;
3)使用事件论元标注集和预训练词嵌进行BERT序列标注任务训练,在BERT序列标注任务训练后连接BiLSTM编码层和CRF输出层进行目标漏洞事件论元抽取;
4)通过获得的目标漏洞事件论元对漏洞严重度指标进行分类,并计算漏洞严重度分数及漏洞严重度等级,该漏洞严重度指标的分类包含六个指标:访问复杂度AccessComplexity、攻击向量AccessVector、认证Authentication、机密性影响ConfImpact、完整性影响IntegImpact、可用性影响AvailImpact。
进一步的,步骤1)中,包含多个不同漏洞数据库,根据CVE-ID从多个不同漏洞数据库中的其中两个漏洞数据库即漏洞数据库NVD、漏洞数据库IBMX-Force中爬取漏洞报告,获取漏洞报告中的描述文本、漏洞严重度等级、漏洞严重度指标,使用BIO标注法人工标注漏洞的产生原因、攻击者、触发操作、触发结果、触发情景,B(Begin)表示该单词是词汇开始的单词,I(Inside)表示该单词是词汇的中间字符,O(Outside)表示该单词不表示任何实体,构建事件论元标注集。
进一步的,步骤2)中,收集漏洞数据库NVD和漏洞数据库IBMX-Force上所有的描述文本和漏洞严重度等级,在描述文本中加入特殊符号[CLS]和[SEP],在描述文本与漏洞严重度等级之间加入[SEP],[SEP]表示分句符号,用于断开输入文本的两个句子,[CLS]放在文本开头,表示下游文本用于进行分类任务,针对加入特殊符号的海量描述文本使用BERT预训练模型进行漏洞严重度等级分类,训练BERT预训练模型直接预测漏洞严重度等级,生成漏洞描述文本的预训练词嵌,预训练词嵌包含TokenEmbeddings、SegmentEmbeddings、PositionEmbeddings三部分,TokenEmbeddings将输入的词转换为语料库中对应的固定维度的向量;SegmentEmbeddings将输入中不同的句子进行拆分,辅助BERT预训练模块区别输入中不同句子的向量表示;PositionEmbeddings将词的位置信息加入词向量中,使得BERT预训练模型对不同位置的相同词提供不同的向量表示,让BERT预训练模型学习到输入的顺序属性。
进一步的,步骤3)中,使用事件论元标注集和预训练词嵌进行BERT序列标注任务训练,在BERT后连接BiLSTM编码层和CRF输出层进行目标漏洞事件论元抽取,该目标漏洞事件论元包括漏洞产生原因、触发操作、发生情景、攻击者、触发结果,当使用新的BiLSTM网络参数时,BiLSTM中每个句子的得分为过渡得分和网络得分相加,计算公式如下:
进一步的,步骤4)中,利用漏洞触发操作对访问复杂度AccessComplexity进行分类,分类结果包括低low、中medium、高high,赋予低low的权重为0.350,赋予中medium的权重为0.610,赋予高high的权重为0.710,利用漏洞触发结果及漏洞触发情景对机密性影响ConfImpact、完整性影响IntegImpact、可用性影响AvailImpact进行分类,机密性影响ConfImpact、完整性影响IntegImpact、可用性影响AvailImpact的分类结果均包括无none、部分partial、完全complete,赋予无none的权重为0.000,赋予部分partial的权重为0.275,赋予完全complete的权重为0.660,利用漏洞攻击者对攻击向量AccessVector和认证Authentication进行分类,攻击向量AccessVector的分类结果包括本地local、网络network、邻接网络adjacentnetwork,赋予本地local的权重为0.395,赋予网络network的权重为0.646,赋予邻接网络adjacentnetwork的权重为1.000,认证Authentication的分类结果包括无none、单一single、多重multiple,赋予无none的权重为0.704,赋予单一single的权重为0.560,赋予多重multiple的权重为0.450,根据分类结果的权重计算漏洞严重度分数BaseScore以及漏洞严重度等级BaseLevel,漏洞严重度分数BaseScore计算公式如下:
BaseScore=(0.6*Impact+0.4*Expoitability-1.5)*f(Impact)(2)Impact=10.41*(1-(1-ConfImpact)*(1-IntegImpact)*(1-AvailImpact))(3)Expoitability=20*AccessComplexity*Authentication*AccessVector(4)
上述公式中,首先根据机密性影响ConfImpact、完整性影响IntegImpact和可用性影响AvailImpact按照漏洞公式(3)计算影响Impact并按照公式(5)判断f(Impact),其次根据访问复杂度AccessComplexity、攻击向量AccessVector和认证Authentication按照公式(4)计算可用性Expoitability,根据公式(2)计算漏洞严重度分数BaseScore,带入公式(6)得到漏洞严重度等级BaseLevel。
本发明同时提供一种基于漏洞事件论元的漏洞严重度评估系统,包含论元标注集模块、预训练词嵌模块、抽取漏洞事件论元模块、分类计算模块;
论元标注集模块用以根据CVE-ID从漏洞数据库爬取漏洞报告,获取漏洞报告中的描述文本、漏洞严重度等级、漏洞严重度指标,将漏洞的产生原因、攻击者、触发操作、触发结果、触发情景作为事件论元构建事件论元标注集;
预训练词嵌模块用以采集漏洞数据库上所有的漏洞描述文本及漏洞严重度等级构建BERT预训练模型,在漏洞描述文本中加入特殊符号[CLS]和[SEP],训练BERT预训练模型生成漏洞描述文本的预训练词嵌;
抽取漏洞事件论元模块用以使用事件论元标注集和预训练词嵌进行BERT序列标注任务训练,在BERT序列标注任务训练后连接BiLSTM编码层和CRF输出层进行目标漏洞事件论元抽取;
分类计算模块用以通过获得的目标漏洞事件论元对漏洞严重度指标进行分类,并计算漏洞严重度分数及漏洞严重度等级,该漏洞严重度指标的分类包含六个指标:访问复杂度AccessComplexity、攻击向量AccessVector、认证Authentication、机密性影响ConfImpact、完整性影响IntegImpact、可用性影响AvailImpact。
进一步的,论元标注集模块中,包含多个不同漏洞数据库,根据CVE-ID从多个不同漏洞数据库中的其中两个漏洞数据库即漏洞数据库NVD、漏洞数据库IBMX-Force中爬取漏洞报告,获取漏洞报告中的描述文本、漏洞严重度等级、漏洞严重度指标,使用BIO标注法人工标注漏洞的产生原因、攻击者、触发操作、触发结果、触发情景,B(Begin)表示该单词是词汇开始的单词,I(Inside)表示该单词是词汇的中间字符,O(Outside)表示该单词不表示任何实体,构建事件论元标注集。
进一步的,预训练词嵌模块中,收集漏洞数据库NVD和漏洞数据库IBMX-Force上所有的描述文本和漏洞严重度等级,在描述文本中加入特殊符号[CLS]和[SEP],在描述文本与漏洞严重度等级之间加入[SEP],[SEP]表示分句符号,用于断开输入文本的两个句子,[CLS]放在文本开头,表示下游文本用于进行分类任务,针对加入特殊符号的海量描述文本使用BERT预训练模型进行漏洞严重度等级分类,训练BERT预训练模型直接预测漏洞严重度等级,生成漏洞描述文本的预训练词嵌,预训练词嵌包含TokenEmbeddings、SegmentEmbeddings、PositionEmbeddings三部分,TokenEmbeddings将输入的词转换为语料库中对应的固定维度的向量;SegmentEmbeddings将输入中不同的句子进行拆分,辅助BERT预训练模块区别输入中不同句子的向量表示;PositionEmbeddings将词的位置信息加入词向量中,使得BERT预训练模型对不同位置的相同词提供不同的向量表示,让BERT预训练模型学习到输入的顺序属性。
进一步的,抽取漏洞事件论元模块中,使用事件论元标注集和预训练词嵌进行BERT序列标注任务训练,在BERT后连接BiLSTM编码层和CRF输出层进行目标漏洞事件论元抽取,该目标漏洞事件论元包括漏洞产生原因、触发操作、发生情景、攻击者、触发结果,当使用新的BiLSTM网络参数时,BiLSTM中每个句子的得分为过渡得分和网络得分相加,计算公式如下:
进一步的,分类计算模块中,利用漏洞触发操作对访问复杂度AccessComplexity进行分类,分类结果包括低low、中medium、高high,赋予低low的权重为0.350,赋予中medium的权重为0.610,赋予高high的权重为0.710,利用漏洞触发结果及漏洞触发情景对机密性影响ConfImpact、完整性影响IntegImpact、可用性影响AvailImpact进行分类,机密性影响ConfImpact、完整性影响IntegImpact、可用性影响AvailImpact的分类结果均包括无none、部分partial、完全complete,赋予无none的权重为0.000,赋予部分partial的权重为0.275,赋予完全complete的权重为0.660,利用漏洞攻击者对攻击向量AccessVector和认证Authentication进行分类,攻击向量AccessVector的分类结果包括本地local、网络network、邻接网络adjacentnetwork,赋予本地local的权重为0.395,赋予网络network的权重为0.646,赋予邻接网络adjacentnetwork的权重为1.000,认证Authentication的分类结果包括无none、单一single、多重multiple,赋予无none的权重为0.704,赋予单一single的权重为0.560,赋予多重multiple的权重为0.450,根据分类结果的权重计算漏洞严重度分数BaseScore以及漏洞严重度等级BaseLevel,漏洞严重度分数BaseScore计算公式如下:
BaseScore=(0.6*Impact+0.4*Expoitability-1.5)*f(Impact)(2)Impact=10.41*(1-(1-ConfImpact)*(1-IntegImpact)*(1-AvailImpact))(3)Expoitability=20*AccessComplexity*Authentication*AccessVector(4)
上述公式中,首先根据机密性影响ConfImpact、完整性影响IntegImpact和可用性影响AvailImpact按照漏洞公式(3)计算影响Impact并按照公式(5)判断f(Impact),其次根据访问复杂度AccessComplexity、攻击向量AccessVector和认证Authentication按照公式(4)计算可用性Expoitability,根据公式(2)计算漏洞严重度等级BaseLevel,带入公式(6)得到漏洞严重度等级BaseLevel。
有益效果:本发明与现有技术相比,其显著特点是从漏洞描述文本中抽取事件论元协助进行漏洞严重度评估,充分考虑漏洞产生原因、攻击者、触发操作、触发结果、触发情景对于预训练模型学习的作用,构造不同的漏洞事件论元与不同的漏洞严重度指标之间的对应关系,针对不同的严重度评估指标使用对应的漏洞事件论元进行分类学习,最终输出漏洞事件论元、漏洞严重度分数、漏洞严重度等级,明确漏洞的严重度,帮助开发人员优先选择更紧急的漏洞进行修复。
附图说明
图1是本发明流程示意图;
图2是本发明中CVE-2011-0716的漏洞描述文本标注示意图;
图3是本发明中BERT预训练模型的词嵌生成示意图;
图4是本发明中CVE-2020-4061的漏洞事件抽取模型示意图。
具体实施方式
下面结合附图及具体实施例对本发明做进一步的详细说明。
实施例1
请参阅图1所示,本发明提供的一种基于漏洞事件论元的漏洞严重度评估方法,包含以下步骤:
1)有多个不同漏洞数据库,根据CVE-ID从多个不同漏洞数据库中的其中两个漏洞数据库即漏洞数据库NVD、漏洞数据库IBMX-Force中爬取漏洞报告,获取漏洞报告中的描述文本、漏洞严重度等级、漏洞严重度指标,将漏洞的产生原因、攻击者、触发操作、触发结果、触发情景作为事件论元构建事件论元标注集;
使用BIO标注法人工标注漏洞的产生原因、攻击者、触发操作、触发结果、触发情景,B(Begin)表示该单词是词汇开始的单词,I(Inside)表示该单词是词汇的中间字符,O(Outside)表示该单词不表示任何实体,构建事件论元标注集,如“when a certainEthernet bridge configuration is used”被标注为“B-sit I-sit I-sit I-sit I-sitI-sit I-sit I-sit”,得到事件论元标注集,标注结果如图2所示。
2)采集漏洞数据库上所有的漏洞描述文本及漏洞严重度等级构建BERT预训练模型,在漏洞描述文本中加入特殊符号[CLS]和[SEP],训练BERT预训练模型生成漏洞描述文本的预训练词嵌;
收集漏洞数据库NVD和漏洞数据库IBMX-Force上所有的描述文本和漏洞严重度等级,在描述文本中加入特殊符号[CLS]和[SEP],在描述文本与漏洞严重度等级之间加入[SEP],[SEP]表示分句符号,用于断开输入文本的两个句子,[CLS]放在文本开头,表示下游文本用于进行分类任务;
请参阅图3所示,针对加入特殊符号的海量描述文本使用BERT预训练模型进行漏洞严重度等级分类,训练BERT预训练模型直接预测漏洞严重度等级,生成漏洞描述文本的预训练词嵌,预训练词嵌包含TokenEmbeddings、SegmentEmbeddings、PositionEmbeddings三部分,TokenEmbeddings将输入的词转换为语料库中对应的固定维度的向量;SegmentEmbeddings将输入中不同的句子进行拆分,辅助BERT预训练模块区别输入中不同句子的向量表示;PositionEmbeddings将词的位置信息加入词向量中,使得BERT预训练模型对不同位置的相同词提供不同的向量表示,让BERT预训练模型学习到输入的顺序属性。
3)使用事件论元标注集和预训练词嵌进行BERT序列标注任务训练,在BERT序列标注任务训练后连接BiLSTM编码层和CRF输出层进行目标漏洞事件论元抽取;
使用事件论元标注集和预训练词嵌进行BERT序列标注任务训练,在BERT后连接BiLSTM编码层和CRF输出层进行目标漏洞事件论元抽取,该目标漏洞事件论元包括漏洞产生原因、触发操作、发生情景、攻击者、触发结果,如下表1所示:
表1漏洞事件论元说明表
一个具体的实例CVE-2020-4061经过BERT+BiLSTM+CRF模型的过程如图4所示,插入特殊符号[CLS]和[SEP]的输入文本input进入BERT模型转为向量(E[CLS],E[1],E[2],…,E[n],E[n+1],E[n+2],…),经过BERT序列标注任务后转化为向量(C,T1,T2,T3,…,Tn,Tn+1,Tn+2,…),经过BiLSTM层以及CRF层后得到每个单词的预测结果output。
4)通过获得的目标漏洞事件论元对漏洞严重度指标进行分类,并计算漏洞严重度分数及漏洞严重度等级,该漏洞严重度的分类包含六个指标:访问复杂度AccessComplexity、攻击向量AccessVector、认证Authentication、机密性影响ConfImpact、完整性影响IntegImpact、可用性影响AvailImpact,如下表2所示;
表2漏洞严重度指标表
访问复杂度AccessComplexity表示漏洞攻击者触发某一漏洞需要执行操作的复杂程度;攻击向量AccessVector表示漏洞攻击者通过何种途径进行攻击;认证Authentication表示漏洞攻击者达成攻击需要多少次权限认证;机密性影响ConfImpact表示漏洞攻击者触发该漏洞后对用户造成多大程度的文件泄露;完整性影响IntegImpact表示漏洞攻击者触发该漏洞后造成多大程度的文件修改;可用性影响AvailImpact表示漏洞攻击者触发该漏洞后造成多大程度的资源中断;
利用漏洞触发操作对访问复杂度AccessComplexity进行分类,分类结果包括低low、中medium、高high,赋予低low的权重为0.350,赋予中medium的权重为0.610,赋予高high的权重为0.710,利用漏洞触发结果及漏洞触发情景对机密性影响ConfImpact、完整性影响IntegImpact、可用性影响AvailImpact进行分类,机密性影响ConfImpact、完整性影响IntegImpact、可用性影响AvailImpact的分类结果均包括无none、部分partial、完全complete,赋予无none的权重为0.000,赋予部分partial的权重为0.275,赋予完全complete的权重为0.660,利用漏洞攻击者对攻击向量AccessVector和认证Authentication进行分类,攻击向量AccessVector的分类结果包括本地local、网络network、邻接网络adjacentnetwork,赋予本地local的权重为0.395,赋予网络network的权重为0.646,赋予邻接网络adjacentnetwork的权重为1.000,认证Authentication的分类结果包括无none、单一single、多重multiple,赋予无none的权重为0.704,赋予单一single的权重为0.560,赋予多重multiple的权重为0.450,根据分类结果的权重计算漏洞严重度分数BaseScore以及漏洞严重度等级BaseLevel,漏洞严重度分数BaseScore计算公式如下:
BaseScore=(0.6*Impact+0.4*Expoitability-1.5)*f(Impact)(2)Impact=10.41*(1-(1-ConfImpact)*(1-IntegImpact)*(1-AvailImpact))(3)Expoitability=20*AccessComplexity*Authentication*AccessVector(4)
上述公式中,首先根据机密性影响ConfImpact、完整性影响IntegImpact和可用性影响AvailImpact按照漏洞公式(3)计算影响Impact并按照公式(5)判断f(Impact),其次根据访问复杂度AccessComplexity、攻击向量AccessVector和认证Authentication按照公式(4)计算可用性Expoitability,根据公式(2)计算漏洞严重度分数BaseScore,带入公式(6)得到漏洞严重度等级BaseLevel,当漏洞严重度分数BaseScore的值大于等于0但小于等于3.9时,判定漏洞严重度等级BaseLevel为低,当漏洞严重度分数BaseScore的值大于等于4.0但小于等于6.9时,判定漏洞严重度等级BaseLevel为中,当漏洞严重度分数BaseScore的值大于等于7.0但小于等于10.0时,判定漏洞严重度等级BaseLevel为高。
实施例2
对应实施例1的基于漏洞事件论元的漏洞严重度评估方法,本实施例2提供一种基于漏洞事件论元的漏洞严重评估系统,请参阅图1所示,包含论元标注集模块、预训练词嵌模块、抽取漏洞事件论元模块、分类计算模块;
论元标注集模块用以根据CVE-ID从多个不同漏洞数据库中的其中两个漏洞数据库即漏洞数据库NVD、漏洞数据库IBMX-Force中爬取漏洞报告,获取漏洞报告中的描述文本、漏洞严重度等级、漏洞严重度指标,将漏洞的产生原因、攻击者、触发操作、触发结果、触发情景作为事件论元构建事件论元标注集;
使用BIO标注法人工标注漏洞的产生原因、攻击者、触发操作、触发结果、触发情景,B(Begin)表示该单词是词汇开始的单词,I(Inside)表示该单词是词汇的中间字符,O(Outside)表示该单词不表示任何实体,构建事件论元标注集,如“when a certainEthernet bridge configuration is used”被标注为“B-sit I-sit I-sit I-sit I-sitI-sit I-sit I-sit”,得到事件论元标注集,标注结果如图2所示。
预训练词嵌模块用以采集漏洞数据库上所有的漏洞描述文本及漏洞严重度等级构建BERT预训练模型,在漏洞描述文本中加入特殊符号[CLS]和[SEP],训练BERT预训练模型生成漏洞描述文本的预训练词嵌;
收集漏洞数据库NVD和漏洞数据库IBMX-Force上所有的描述文本和漏洞严重度等级,在描述文本中加入特殊符号[CLS]和[SEP],在描述文本与漏洞严重度等级之间加入[SEP],[SEP]表示分句符号,用于断开输入文本的两个句子,[CLS]放在文本开头,表示下游文本用于进行分类任务;
请参阅图3所示,针对加入特殊符号的海量描述文本使用BERT预训练模型进行漏洞严重度等级分类,训练BERT预训练模型直接预测漏洞严重度等级,生成漏洞描述文本的预训练词嵌,预训练词嵌包含TokenEmbeddings、SegmentEmbeddings、PositionEmbeddings三部分,TokenEmbeddings将输入的词转换为语料库中对应的固定维度的向量;SegmentEmbeddings将输入中不同的句子进行拆分,辅助BERT预训练模块区别输入中不同句子的向量表示;PositionEmbeddings将词的位置信息加入词向量中,使得BERT预训练模型对不同位置的相同词提供不同的向量表示,让BERT预训练模型学习到输入的顺序属性。
抽取漏洞事件论元模块用以使用事件论元标注集和预训练词嵌进行BERT序列标注任务训练,在BERT序列标注任务训练后连接BiLSTM编码层和CRF输出层进行目标漏洞事件论元抽取;
使用事件论元标注集和预训练词嵌进行BERT序列标注任务训练,在BERT后连接BiLSTM编码层和CRF输出层进行目标漏洞事件论元抽取,该目标漏洞事件论元包括漏洞产生原因、触发操作、发生情景、攻击者、触发结果,如下表1所示:
表1漏洞事件论元说明表
一个具体的实例CVE-2020-4061经过BERT+BiLSTM+CRF模型的过程如图4所示,插入特殊符号[CLS]和[SEP]的输入文本input进入BERT模型转为向量(E[CLS],E[1],E[2],…,E[n],E[n+1],E[n+2],…),经过BERT序列标注任务后转化为向量(C,T1,T2,T3,…,Tn,Tn+1,Tn+2,…),经过BiLSTM层以及CRF层后得到每个单词的预测结果output。
分类计算模块用以通过获得的目标漏洞事件论元对漏洞严重度指标进行分类,并计算漏洞严重度分数及漏洞严重度等级,该漏洞严重度指标的分类包含六个指标:访问复杂度AccessComplexity、攻击向量AccessVector、认证Authentication、机密性影响ConfImpact、完整性影响IntegImpact、可用性影响AvailImpact,如下表2所示;
表2漏洞严重度指标表
访问复杂度AccessComplexity表示漏洞攻击者触发某一漏洞需要执行操作的复杂程度;攻击向量AccessVector表示漏洞攻击者通过何种途径进行攻击;认证Authentication表示漏洞攻击者达成攻击需要多少次权限认证;机密性影响ConfImpact表示漏洞攻击者触发该漏洞后对用户造成多大程度的文件泄露;完整性影响IntegImpact表示漏洞攻击者触发该漏洞后造成多大程度的文件修改;可用性影响AvailImpact表示漏洞攻击者触发该漏洞后造成多大程度的资源中断;
利用漏洞触发操作对访问复杂度AccessComplexity进行分类,分类结果包括低low、中medium、高high,赋予低low的权重为0.350,赋予中medium的权重为0.610,赋予高high的权重为0.710,利用漏洞触发结果及漏洞触发情景对机密性影响ConfImpact、完整性影响IntegImpact、可用性影响AvailImpact进行分类,机密性影响ConfImpact、完整性影响IntegImpact、可用性影响AvailImpact的分类结果均包括无none、部分partial、完全complete,赋予无none的权重为0.000,赋予部分partial的权重为0.275,赋予完全complete的权重为0.660,利用漏洞攻击者对攻击向量AccessVector和认证Authentication进行分类,攻击向量AccessVector的分类结果包括本地local、网络network、邻接网络adjacentnetwork,赋予本地local的权重为0.395,赋予网络network的权重为0.646,赋予邻接网络adjacentnetwork的权重为1.000,认证Authentication的分类结果包括无none、单一single、多重multiple,赋予无none的权重为0.704,赋予单一single的权重为0.560,赋予多重multiple的权重为0.450,根据分类结果的权重计算漏洞严重度分数BaseScore以及漏洞严重度等级BaseLevel,漏洞严重度分数BaseScore计算公式如下:
BaseScore=(0.6*Impact+0.4*Expoitability-1.5)*f(Impact)(2)Impact=10.41*(1-(1-ConfImpact)*(1-IntegImpact)*(1-AvailImpact))(3)Expoitability=20*AccessComplexity*Authentication*AccessVector(4)
上述公式中,首先根据机密性影响ConfImpact、完整性影响
IntegImpact和可用性影响AvailImpact按照漏洞公式(3)计算影响Impact并按照公式(5)判断f(Impact),其次根据访问复杂度AccessComplexity、攻击向量AccessVector和认证Authentication按照公式(4)计算可用性Expoitability,根据公式(2)计算漏洞严重度分数BaseScore,带入公式(6)得到漏洞严重度等级BaseLevel,当漏洞严重度分数BaseScore的值大于等于0但小于等于3.9时,判定漏洞严重度等级BaseLevel为低,当漏洞严重度分数BaseScore的值大于等于4.0但小于等于6.9时,判定漏洞严重度等级BaseLevel为中,当漏洞严重度分数BaseScore的值大于等于7.0但小于等于10.0时,判定漏洞严重度等级BaseLevel为高。
Claims (10)
1.一种基于漏洞事件论元的漏洞严重评估方法,其特征在于,包含以下步骤:
1)根据CVE-ID从漏洞数据库爬取漏洞报告,获取漏洞报告中的描述文本、漏洞严重度等级、漏洞严重度指标,将漏洞的产生原因、攻击者、触发操作、触发结果、触发情景作为事件论元构建事件论元标注集;
2)采集漏洞数据库上所有的漏洞描述文本及漏洞严重度等级构建BERT预训练模型,在漏洞描述文本中加入特殊符号[CLS]和[SEP],训练BERT预训练模型生成漏洞描述文本的预训练词嵌;
3)使用事件论元标注集和预训练词嵌进行BERT序列标注任务训练,在BERT序列标注任务训练后连接BiLSTM编码层和CRF输出层进行目标漏洞事件论元抽取;
4)通过获得的目标漏洞事件论元对漏洞严重度指标进行分类,并计算漏洞严重度分数及漏洞严重度等级,该漏洞严重度指标的分类包含六个指标:访问复杂度AccessComplexity、攻击向量AccessVector、认证Authentication、机密性影响ConfImpact、完整性影响IntegImpact、可用性影响AvailImpact。
2.根据权利要求1所述的基于漏洞事件论元的漏洞严重评估方法,其特征在于,步骤1)中,包含多个不同漏洞数据库,根据CVE-ID从多个不同漏洞数据库中的其中两个漏洞数据库即漏洞数据库NVD、漏洞数据库IBMX-Force中爬取漏洞报告,获取漏洞报告中的描述文本、漏洞严重度等级、漏洞严重度指标,使用BIO标注法人工标注漏洞的产生原因、攻击者、触发操作、触发结果、触发情景,B(Begin)表示该单词是词汇开始的单词,I(Inside)表示该单词是词汇的中间字符,0(Outside)表示该单词不表示任何实体,构建事件论元标注集。
3.根据权利要求1所述的基于漏洞事件论元的漏洞严重评估方法,其特征在于,步骤2)中,收集漏洞数据库NVD和漏洞数据库IBMX-Force上所有的描述文本和漏洞严重度等级,在描述文本中加入特殊符号[CLS]和[SEP],在描述文本与漏洞严重度等级之间加入[SEP],[SEP]表示分句符号,用于断开输入文本的两个句子,[CLS]放在文本开头,表示下游文本用于进行分类任务,针对加入特殊符号的海量描述文本使用BERT预训练模型进行漏洞严重度等级分类,训练BERT预训练模型直接预测漏洞严重度等级,生成漏洞描述文本的预训练词嵌,预训练词嵌包括TokenEmbeddings、SegmentEmbeddings、PositionEmbeddings三部分,TokenEmbeddings将输入的词转换为语料库中对应的固定维度的向量;SegmentEmbeddings将输入中不同的句子进行拆分,辅助BERT预训练模块区别输入中不同句子的向量表示;PositionEmbeddings将词的位置信息加入词向量中,使得BERT预训练模型对不同位置的相同词提供不同的向量表示,让BERT预训练模型学习到输入的顺序属性。
5.根据权利要求1所述的基于漏洞事件论元的漏洞严重评估方法,其特征在于,步骤4)中,利用漏洞触发操作对访问复杂度AccessComplexity进行分类,分类结果包括低low、中medium、高high,赋予低low的权重为0.350,赋予中medium的权重为0.610,赋予高high的权重为0.710,利用漏洞触发结果及漏洞触发情景对机密性影响ConfImpact、完整性影响IntegImpact、可用性影响AvailImpact进行分类,机密性影响ConfImpact、完整性影响IntegImpact、可用性影响AvailImpact的分类结果均包括无none、部分partial、完全complete,赋予无none的权重为0.000,赋予部分partial的权重为0.275,赋予完全complete的权重为0.660,利用漏洞攻击者对攻击向量AccessVector和认证Authentication进行分类,攻击向量AccessVector的分类结果包括本地local、网络network、邻接网络adjacentnetwork,赋予本地local的权重为0.395,赋予网络network的权重为0.646,赋予邻接网络adjacentnetwork的权重为1.000,认证Authentication的分类结果包括无none、单一single、多重multiple,赋予无none的权重为0.704,赋予单一single的权重为0.560,赋予多重multiple的权重为0.450,根据分类结果的权重计算漏洞严重度分数BaseScore以及漏洞严重度等级BaseLevel,漏洞严重度分数BaseScore计算公式如下:
BaseScore=(0.6*Impact+0.4*Expoitability-1.5)*f(Impact) (2)
Impact=10.41*(1-(1-ConfImpact)*(1-IntegImpact)*(1-AvailImpact)) (3)
Expoitability=20*AccessComplexity*Authentication*AccessVector (4)
上述公式中,首先根据机密性影响ConfImpact、完整性影响IntegImpact和可用性影响AvailImpact按照漏洞公式(3)计算影响Impact并按照公式(5)判断f(Impact),其次根据访问复杂度AccessComplexity、攻击向量AccessVector和认证Authentication按照公式(4)计算可用性Expoitability,根据公式(2)计算漏洞严重度分数BaseScore,带入公式(6)得到漏洞严重度等级BaseLevel。
6.一种基于漏洞事件论元的漏洞严重评估系统,其特征在于,包含论元标注集模块、预训练词嵌模块、抽取漏洞事件论元模块、分类计算模块;
论元标注集模块用以根据CVE-ID从漏洞数据库爬取漏洞报告,获取漏洞报告中的描述文本、漏洞严重度等级、漏洞严重度指标,将漏洞的产生原因、攻击者、触发操作、触发结果、触发情景作为事件论元构建事件论元标注集;
预训练词嵌模块用以采集漏洞数据库上所有的漏洞描述文本及漏洞严重度等级构建BERT预训练模型,在漏洞描述文本中加入特殊符号[CLS]和[SEP],训练BERT预训练模型生成漏洞描述文本的预训练词嵌;
抽取漏洞事件论元模块用以使用事件论元标注集和预训练词嵌进行BERT序列标注任务训练,在BERT序列标注任务训练后连接BiLSTM编码层和CRF输出层进行目标漏洞事件论元抽取;
分类计算模块用以通过获得的目标漏洞事件论元对漏洞严重度指标进行分类,并计算漏洞严重度分数及漏洞严重度等级,该漏洞严重度指标的分类包含六个指标:访问复杂度AccessComplexity、攻击向量AccessVector、认证Authentication、机密性影响ConfImpact、完整性影响IntegImpact、可用性影响AvailImpact。
7.根据权利要求6所述的基于漏洞事件论元的漏洞严重评估系统,其特征在于,论元标注集模块中,包含多个不同漏洞数据库,根据CVE-ID从多个不同漏洞数据库中的其中两个漏洞数据库即漏洞数据库NVD、漏洞数据库IBMX-Force中爬取漏洞报告,获取漏洞报告中的描述文本、漏洞严重度等级、漏洞严重度指标,使用BIO标注法人工标注漏洞的产生原因、攻击者、触发操作、触发结果、触发情景,B(Begin)表示该单词是词汇开始的单词,I(Inside)表示该单词是词汇的中间字符,O(Outside)表示该单词不表示任何实体,构建事件论元标注集。
8.根据权利要求6所述的基于漏洞事件论元的漏洞严重评估系统,其特征在于,预训练词嵌模块中,收集漏洞数据库NVD和漏洞数据库IBMX-Force上所有的描述文本和漏洞严重度等级,在描述文本中加入特殊符号[CLS]和[SEP],在描述文本与漏洞严重度等级之间加入[SEP],[SEP]表示分句符号,用于断开输入文本的两个句子,[CLS]放在文本开头,表示下游文本用于进行分类任务,针对加入特殊符号的海量描述文本使用BERT预训练模型进行漏洞严重度等级分类,训练BERT预训练模型直接预测漏洞严重度等级,生成漏洞描述文本的预训练词嵌,预训练词嵌包含TokenEmbeddings、SegmentEmbeddings、PositionEmbeddings三部分,TokenEmbeddings将输入的词转换为语料库中对应的固定维度的向量;SegmentEmbeddings将输入中不同的句子进行拆分,辅助BERT预训练模块区别输入中不同句子的向量表示;PositionEmbeddings将词的位置信息加入词向量中,使得BERT预训练模型对不同位置的相同词提供不同的向量表示,让BERT预训练模型学习到输入的顺序属性。
9.根据权利要求6所述的基于漏洞事件论元的漏洞严重评估系统,其特征在于,抽取漏洞事件论元模块中,使用事件论元标注集和预训练词嵌进行BERT序列标注任务训练,在BERT后连接BiLSTM编码层和CRF输出层进行目标漏洞事件论元抽取,该目标漏洞事件论元包括漏洞产生原因、触发操作、发生情景、攻击者、触发结果,当使用新的BiLSTM网络参数时,BiLSTM中每个句子的得分为过渡得分和网络得分相加,计算公式如下:
10.根据权利要求6所述的基于漏洞事件论元的漏洞严重评估系统,其特征在于,分类计算模块中,利用漏洞触发操作对访问复杂度AccessComplexity进行分类,分类结果包括低low、中medium、高high,赋予低low的权重为0.350,赋予中medium的权重为0.610,赋予高high的权重为0.710,利用漏洞触发结果及漏洞触发情景对机密性影响ConfImpact、完整性影响IntegImpact、可用性影响AvailImpact进行分类,机密性影响ConfImpact、完整性影响IntegImpact、可用性影响AvailImpact的分类结果均包括无none、部分partial、完全complete,赋予无none的权重为0.000,赋予部分partial的权重为0.275,赋予完全complete的权重为0.660,利用漏洞攻击者对攻击向量AccessVector和认证Authentication进行分类,攻击向量AccessVector的分类结果包括本地local、网络network、邻接网络adjacentnetwork,赋予本地local的权重为0.395,赋予网络network的权重为0.646,赋予邻接网络adjacentnetwork的权重为1.000,认证Authentication的分类结果包括无none、单一single、多重multiple,赋予无none的权重为0.704,赋予单一single的权重为0.560,赋予多重multiple的权重为0.450,根据分类结果的权重计算漏洞严重度分数BaseScore以及漏洞严重度等级BaseLevel,漏洞严重度分数BaseScore计算公式如下:
BaseScore=(0.6*Impact+0.4*Expoitability-1.5)*f(Impact) (2)
Impact=10.41*(1-(1-ConfImpact)*(1-IntegImpact)*(1-AvailImpact)) (3)
Expoitability=20*AccessComplexity*Authentication*AccessVector (4)
上述公式中,首先根据机密性影响ConfImpact、完整性影响IntegImpact和可用性影响AvailImpact按照漏洞公式(3)计算影响Impact并按照公式(5)判断f(Impact),其次根据访问复杂度AccessComplexity、攻击向量AccessVector和认证Authentication按照公式(4)计算可用性Expoitability,根据公式(2)计算漏洞严重度分数BaseScore,带入公式(6)得到漏洞严重度等级BaseLevel。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210519644.6A CN114817934A (zh) | 2022-05-13 | 2022-05-13 | 一种基于漏洞事件论元的漏洞严重度评估方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210519644.6A CN114817934A (zh) | 2022-05-13 | 2022-05-13 | 一种基于漏洞事件论元的漏洞严重度评估方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114817934A true CN114817934A (zh) | 2022-07-29 |
Family
ID=82512703
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210519644.6A Withdrawn CN114817934A (zh) | 2022-05-13 | 2022-05-13 | 一种基于漏洞事件论元的漏洞严重度评估方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114817934A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115314322A (zh) * | 2022-10-09 | 2022-11-08 | 安徽华云安科技有限公司 | 基于流量的漏洞检测确认方法、装置、设备以及存储介质 |
-
2022
- 2022-05-13 CN CN202210519644.6A patent/CN114817934A/zh not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115314322A (zh) * | 2022-10-09 | 2022-11-08 | 安徽华云安科技有限公司 | 基于流量的漏洞检测确认方法、装置、设备以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110941716B (zh) | 一种基于深度学习的信息安全知识图谱的自动构建方法 | |
CN112926327B (zh) | 一种实体识别方法、装置、设备及存储介质 | |
CN111460820A (zh) | 一种基于预训练模型bert的网络空间安全领域命名实体识别方法和装置 | |
CN111931935B (zh) | 基于One-shot 学习的网络安全知识抽取方法和装置 | |
CN113742733B (zh) | 阅读理解漏洞事件触发词抽取和漏洞类型识别方法及装置 | |
CN111866004B (zh) | 安全评估方法、装置、计算机系统和介质 | |
CN109918647A (zh) | 一种安全领域命名实体识别方法及神经网络模型 | |
CN113590810B (zh) | 摘要生成模型训练方法、摘要生成方法、装置及电子设备 | |
CN113609488B (zh) | 基于自监督学习及多通道超图神经网络的漏洞检测方法与系统 | |
CN113312918B (zh) | 融合部首向量的分词和胶囊网络法律命名实体识别方法 | |
Gopinath et al. | Symbolic execution for importance analysis and adversarial generation in neural networks | |
CN114492460B (zh) | 基于衍生提示学习的事件因果关系抽取方法 | |
CN113742205B (zh) | 一种基于人机协同的代码漏洞智能检测方法 | |
CN110674370A (zh) | 域名识别方法及装置、存储介质及电子设备 | |
CN113282714A (zh) | 一种基于区分性词向量表示的事件检测方法 | |
CN117707922A (zh) | 测试用例的生成方法、装置、终端设备和可读存储介质 | |
CN117272142A (zh) | 一种日志异常检测方法、系统及电子设备 | |
CN114817934A (zh) | 一种基于漏洞事件论元的漏洞严重度评估方法及系统 | |
Li et al. | PipCKG-BS: A Method to Build Cybersecurity Knowledge Graph for Blockchain Systems via the Pipeline Approach | |
CN116599726A (zh) | 一种基于漏洞利用网的工控安全事件识别响应方法及系统 | |
CN116304051A (zh) | 一种融合局部关键信息和预训练的文本分类方法 | |
CN115309898A (zh) | 基于知识增强bert的字粒度中文语义近似对抗样本生成方法 | |
CN115221284A (zh) | 文本相似度的计算方法、装置、电子设备及存储介质 | |
CN114298032A (zh) | 文本标点检测方法、计算机设备及存储介质 | |
CN110472243B (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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20220729 |
|
WW01 | Invention patent application withdrawn after publication |