CN109871688B - 漏洞威胁程度评估方法 - Google Patents
漏洞威胁程度评估方法 Download PDFInfo
- Publication number
- CN109871688B CN109871688B CN201811105680.8A CN201811105680A CN109871688B CN 109871688 B CN109871688 B CN 109871688B CN 201811105680 A CN201811105680 A CN 201811105680A CN 109871688 B CN109871688 B CN 109871688B
- Authority
- CN
- China
- Prior art keywords
- vulnerability
- description data
- threat
- evaluated
- bag
- 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.)
- Active
Links
- 238000011156 evaluation Methods 0.000 title abstract description 16
- 239000013598 vector Substances 0.000 claims abstract description 51
- 238000012549 training Methods 0.000 claims abstract description 18
- 238000007781 pre-processing Methods 0.000 claims abstract description 16
- 238000000605 extraction Methods 0.000 claims abstract description 14
- 238000012847 principal component analysis method Methods 0.000 claims abstract description 12
- 238000000034 method Methods 0.000 claims description 32
- 238000004458 analytical method Methods 0.000 claims description 16
- 230000009467 reduction Effects 0.000 claims description 10
- 238000005516 engineering process Methods 0.000 claims description 5
- 230000009193 crawling Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 claims description 3
- 230000008439 repair process Effects 0.000 abstract description 7
- 238000000513 principal component analysis Methods 0.000 description 16
- 238000003066 decision tree Methods 0.000 description 11
- 238000011160 research Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 4
- 235000014347 soups Nutrition 0.000 description 4
- 238000007477 logistic regression Methods 0.000 description 3
- 238000005065 mining Methods 0.000 description 3
- 238000012706 support-vector machine Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012038 vulnerability analysis Methods 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 238000002790 cross-validation Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Landscapes
- Complex Calculations (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例公开了一种漏洞威胁程度评估方法,包括:获取与相应参考漏洞一一对应的描述数据和威胁程度;对所述相应参考漏洞的所述描述数据分别进行文本预处理得到多个处理后描述数据;构建对应所述多个处理后描述数据的词袋模型;根据所述词袋模型对所述多个处理后描述数据基于统计特征和主成分分析方法进行特征提取得到多个特征向量;利用所述多个特征向量和所述多个威胁程度对XGBoost分类器进行训练;以及利用训练所得分类器评估待评估漏洞的威胁程度。本发明实施例充分利用了漏洞库中漏洞的描述数据和威胁程度,对于新入库却暂时没有威胁程度评估的漏洞可以进行及时的智能评估,为安全人员对新漏洞的修复优先度排序提供良好决策支持。
Description
技术领域
本发明涉及漏洞分析技术领域,尤其涉及一种漏洞威胁程度评估方法。
背景技术
信息系统在各企业和组织中起着至关重要的作用,随着办公信息化程度的提高,信息系统的安全稳定对业务的正常运行起着至关重要的作用。漏洞(vulnerability)是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而可以使攻击者能够在未授权的情况下对信息系统进行访问或破坏。随着代码规模的巨大化及逻辑的复杂化,漏洞的曝光频率越来越高,而不同漏洞对于信息系统的影响是不同的,有些漏洞被曝光后会被开发者忽略,而有些会被高度重视并及时修补。
随着国家法律法规的完善,为保护开发者利益及使用者的财产、隐私安全等,漏洞被曝光后其利用方式不再会被曝光,对于开发者来说,也就难以获知该漏洞的实际威胁。在NVD(National Vulnerability Database)等主流漏洞库中,通常会用CVSS(CommonVulnerability Scoring System,通用漏洞评分系统,参见网址https://www.first.org/cvss/的介绍)对相应漏洞的威胁程度进行评估。
CVSS评分是一个常用的漏洞威胁程度评估方式,评分过程通常需要专家的参与,目前主流的是2.0版本和3.0版本,其从基本(Base)、时效性(Temporal)和环境(Environmental)三个方面对一个漏洞进行评分,并最终会得到一个漏洞的综合严重程度(High、Medium、Low——高、中、低)。
然而,一个漏洞刚刚被曝光时通常其威胁程度还没有被评估,而漏洞的利用往往仅需要很短的时间;开发者通常需要在了解漏洞威胁程度的情况下合理安排漏洞的修复,因此,如何根据对于漏洞的简短描述来智能预测该漏洞的威胁程度是一个很有价值的研究问题。
目前研究者对漏洞进行的研究,多半是针对源代码结合领域知识提取特征,并应用机器学习分类器对漏洞的存在进行智能检测,或依据提取的特征对漏洞进行自动化分类来促进漏洞管理,在漏洞的威胁程度方面研究较少。
对于安全漏洞的研究一直是安全领域研究中的热点。传统的安全漏洞分析方法主要包括静态分析、动态分析和混合分析三类:静态分析是一种常用的手工分析方法,安全人员直接从代码中挖掘可能存在的漏洞;动态分析是在程序运行时对程序可能存在的漏洞进行的分析,这种方法模拟真实的攻击者进行测试,依赖于攻击向量的完整性;混合分析则是上述两种方式的综合。
以上分析方法解决的是漏洞在某信息系统中的具体位置,在实际工作中,这些任务通常由一线安全人员完成。然而,单纯依赖组织内部的安全人员对漏洞进行分析在当前漏洞层出不穷的情况下显得力不从心,漏洞的分析及修补应根据其威胁程度和管理者手头资源来进行确定。
开源漏洞库(例如NVD、CVE、CNNVD等)为安全人员提供了良好的威胁情报(threatintelligence),实时更新的漏洞库可以让安全人员及时了解新发现的漏洞。然而,新收录的漏洞通常没有相应的威胁程度的评估,修复一个漏洞往往需要巨大的人力,对业务会造成较大影响,应根据其威胁程度来安排漏洞的合理修复顺序,对漏洞进行评估是提供优先度依据的有效方法。
机器学习方法是在漏洞研究领域被应用的一类重要方法,其和文本挖掘的组合为研究者对漏洞进行评估分析提供了有力的支持。不过,目前已有研究更多是将机器学习和文本挖掘结合来对漏洞本身进行发现,或是对漏洞进行自动化的分类,对于其严重程度进行评估的研究很少。
因此,急需提出一种漏洞威胁程度评估方法,对新出现的漏洞威胁程度进行智能化的自动评估,以帮助安全人员对新漏洞的修复优先度排序提供良好决策支持。
发明内容
本发明实施例提供一种漏洞威胁程度评估方法,用于克服现有技术中不能及时获取新出现漏洞的威胁程度,无法根据漏洞的威胁程度合理分配修复资源等缺陷,充分利用了漏洞库中漏洞的描述数据和威胁程度,对于新入库却暂时没有威胁程度评估的漏洞可以进行及时的智能评估,为安全人员对新漏洞的修复优先度排序提供良好决策支持。
本发明实施例提供的一种漏洞威胁程度评估方法,包括:获取与相应参考漏洞一一对应的描述数据和威胁程度;对所述相应参考漏洞的所述描述数据分别进行文本预处理,得到对应所述相应参考漏洞的多个处理后描述数据;构建对应所述多个处理后描述数据的词袋模型;根据所述词袋模型对所述多个处理后描述数据基于统计特征和主成分分析方法进行特征提取,得到对应所述相应参考漏洞的多个特征向量;利用所述多个特征向量和所述多个威胁程度对XGBoost分类器进行训练;以及利用训练所得分类器评估待评估漏洞的威胁程度。
在本发明的一个实施例中,所述获取与相应参考漏洞一一对应的描述数据和威胁程度的步骤包括:利用网络爬虫技术从开源漏洞库中爬取与所述相应参考漏洞一一对应的所述描述数据和所述威胁程度。
在本发明的一个实施例中,所述描述数据为英文。
在本发明的一个实施例中,所述文本预处理包括:去除标点符号、去除停止词、去除对于分析而言无意义的词、以及词型还原。
在本发明的一个实施例中,所述构建对应所述多个处理后描述数据的词袋模型的步骤包括:统计所述多个处理后描述数据中各个词汇的出现频数;将所述各个词汇及其出现频数按照出现频数从大到小排列,得到所述词袋模型。
在本发明的一个实施例中,所述基于统计特征和主成分分析方法进行特征提取的步骤包括:将所述词袋模型中出现频数低于频数阈值的词汇舍弃,得到包括M个词汇及其出现频数的临时词袋模型;将所述临时词袋模型中前N个词汇分别在所述处理后描述数据中出现的频数作为所述特征向量中的前N个特征;利用主成分分析方法(PCA)将所述临时词袋模型中除所述前N个词汇之外剩余的词汇分别在所述处理后描述数据中出现的频数进行降维之后作为所述特征向量中的后M-N个特征;其中,N<M。
在本发明的一个实施例中,所述利用训练所得分类器评估待评估漏洞的威胁程度的步骤包括:获取对应所述待评估漏洞的特征向量;将所述待评估漏洞的所述特征向量代入所述训练所得分类器计算得到所述待评估漏洞的所述威胁程度。
在本发明的一个实施例中,所述获取对应所述待评估漏洞的特征向量的步骤包括:获取对应所述待评估漏洞的描述数据;对所述待评估漏洞对应的所述描述数据进行所述文本预处理,得到对应所述待评估漏洞的处理后描述数据;根据所述词袋模型对对应所述待评估漏洞的所述处理后描述数据基于统计特征和主成分分析方法进行所述特征提取,得到对应所述待评估漏洞的所述特征向量。
上述技术方案可以具有如下一个或多个优点:本发明实施例通过获取参考漏洞的描述数据和威胁程度,基于参考漏洞的描述数据,基于统计特征和主成分分析方法进行特征提取,利用提取到的特征向量和威胁程度对XGBoost分类器进行训练,最后利用训练所得分类器来评估待评估漏洞的威胁程度充分利用了参考漏洞的相关描述数据以及威胁程度对XGBoost分类器进行训练,同时对大量稀疏特征加以利用,充分考虑稀疏特征隐含的信息,能够取得良好的评估效果。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的一种漏洞威胁程度评估方法的流程示意图。
图2为本发明实施例的词汇统计频数分布图。
图3A-3D分别为本发明实施例的应用XGBoost、SVM、LR和DT的实验结果图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明一个实施例提供的一种漏洞威胁程度评估方法,主要可包括:
步骤S110:获取与相应参考漏洞一一对应的描述数据和威胁程度。具体地,步骤S110例如包括:利用网络爬虫技术从开源漏洞库中爬取与所述相应参考漏洞一一对应的所述描述数据和所述威胁程度。所述开源漏洞库在本实施例中为NVD漏洞库(参见网址https://nvd.nist.gov/的介绍)。
步骤S120:对所述相应参考漏洞的所述描述数据分别进行文本预处理,得到对应所述相应参考漏洞的多个处理后描述数据。具体地,所述文本预处理例如包括:去除标点符号、去除停止词、去除对于分析而言无意义的词、以及词型还原。
步骤S130:构建对应所述多个处理后描述数据的词袋模型。具体地,步骤S130例如包括:统计所述多个处理后描述数据中各个词汇的出现频数;将所述各个词汇及其出现频数按照出现频数从大到小排列,得到所述词袋模型。
步骤S140:根据所述词袋模型对所述多个处理后描述数据基于统计特征和主成分分析方法进行特征提取,得到对应所述相应参考漏洞的多个特征向量。具体地,所述基于统计特征和主成分分析方法进行特征提取的步骤例如包括:将所述词袋模型中出现频数低于频数阈值的词汇舍弃,得到包括M个词汇及其出现频数的临时词袋模型;将所述临时词袋模型中前N个词汇分别在所述处理后描述数据中出现的频数作为所述特征向量中的前N个特征;利用主成分分析方法(PCA)将所述临时词袋模型中除所述前N个词汇之外剩余的词汇分别在所述处理后描述数据中出现的频数进行降维之后作为所述特征向量中的后M-N个特征;其中,N<M。所述频数阈值在本实施例中为30。
步骤S150:利用所述多个特征向量和所述多个威胁程度对XGBoost分类器进行训练。以及
步骤S160:利用训练所得分类器评估待评估漏洞的威胁程度。具体地,步骤S160例如包括:获取对应所述待评估漏洞的特征向量;将所述待评估漏洞的所述特征向量代入所述训练所得分类器计算得到所述待评估漏洞的所述威胁程度。所述获取对应所述待评估漏洞的特征向量的步骤例如包括:获取对应所述待评估漏洞的描述数据;对所述待评估漏洞对应的所述描述数据进行所述文本预处理,得到对应所述待评估漏洞的处理后描述数据;根据所述词袋模型对对应所述待评估漏洞的所述处理后描述数据基于统计特征和主成分分析方法进行所述特征提取,得到对应所述待评估漏洞的所述特征向量。
下面详细描述本发明实施例的漏洞威胁程度评估方法的具体实施细节。
第一步,源数据(相应参考漏洞和待评估漏洞的相关数据)获取:
开源漏洞库数据通常位于网上,包括已给出威胁程度和描述数据的历史漏洞(相应参考漏洞)和未给出威胁程度仅给出描述数据的新曝光漏洞(待评估漏洞),利用爬虫技术将其爬取后并存储,其中,在本发明实施例中,定义一个参考漏洞对应拥有一个描述数据和一个威胁程度,一个待评估漏洞对应拥有一个描述数据而不具有威胁程度数据,此处的一个描述数据并不局限于词、句子或段落,仅用于形容漏洞和描述数据的一一对应关系。当然也可以爬取开源漏洞库中的部分历史漏洞的描述数据和威胁程度数据作为本发明实施例的相应参考漏洞,以及爬取部分新曝光漏洞作为本发明实施例的待评估漏洞。本发明实施例中,采用Python 3.6作为编程环境,采用Request库和BeautifulSoup库对数据进行获取,得到的描述数据和威胁程度分别记为DT={DT,1,...,DT,i,...,DT,m}和IT={IT,1,...,IT,i,...,IT,m}。Requests库(参见网址http://www.Python-requests.org/en/master/的介绍)是Python语言编写的爬虫库,其可以方便的从网上爬取大量的数据,而BeautifulSoup库(参见网址https://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html的介绍)是一个可以从HTML或XML文件中提取数据的Python库,它能够有效解析爬取下来的数据并根据用户需求对其所需数据进行获取。
第二步,文本预处理:
在获取足够的源数据之后,便应用文本预处理对所爬取到的源数据的描述数据部分进行处理,为后续的特征提取做准备。在本发明实施例中,开源漏洞库采用NVD漏洞库,NVD漏洞库的描述数据为英文,因而利用以下四个步骤进行预处理:去除标点符号、去除停止词、移除对于分析而言无意义的词、词型还原。对于英文而言不需要中文那样利用算法进行分词,直接按照空格和句间标点符号进行分词即可。经过文本预处理,得到经过处理的漏洞数据D′T,并构建经过排序的词袋模型B′T。
第三步,特征提取:
对于漏洞数据D′T中的一条记录(也即一个描述数据)D′T,i来说,选取词袋模型B′T中排名靠前的词汇,统计一条记录D′T,i中相应词汇的出现频数,得到一个向量v′i=(Ni,1,...,Ni,j,...,Ni,l)来对相应记录进行表示,其中Ni,j代表在词袋模型B′T中排名在第j位的词汇的统计数量。同时,人工定义频数阈值μ,将词袋模型B′T中出现频数低于μ的词汇直接舍弃,得到新的词袋模型其包含词汇数为通常来说,利用人工定义的μ去除词汇后还会留下较多的词汇,将这些词汇在一条记录中的统计数量均作为相应特征向量的一部分会导致特征向量中的特征数量过多,同时这些特征也普遍稀疏,会对最终的分类结果造成影响。仅仅考虑高频词汇(出现频数不低于μ的词汇)的话,会丢失大量信息,因此,这里采用主成分分析方法(Principal Component Analysis,PCA)对高频词汇外(出现频数低于μ的词汇)的特征进行降维。PCA是设法将原来众多的具有一定相关性的指标,重新组合成一组新的互相无关的综合指标来代替原来的指标,以此来达到降维的目的。对于选定一个阈值ρ,对于排名前ρ的词汇,将其在D′T,i的统计数量直接作为特征,对于剩余的利用PCA进行降维,将得到的降维后的数据作为特征加入之前的统计向量v′i中,得到特征向量vi=(Ni,1,...,Ni,ρ,Pi,1,...,Pi,k)。这样,得到特征向量集合V={v1,...vi,...,vm}对爬取得到的漏洞数据D′T中的记录进行定量化的表示。
第四步,威胁程度分类:
有了特征向量后,利用特征向量和其对应威胁程度对XGBoost分类器进行训练。之后,便可以根据待评估漏洞对应的特征向量和训练所得分类器对待评估漏洞的漏洞威胁程度进行智能化的评估。XGBoost(eXtreme Gradient Boosting)是使用CART回归树的一种提升方法,其利用K个树的模型可以形式化的表示为:
更具体地,本发明实施例提供的一种对XSS漏洞威胁程度进行智能评估的方法,具体步骤如下:
第一步,源数据获取:
开源漏洞库数据通常位于网上,利用爬虫技术将其爬取后并存储。本发明实施例中,采用Python 3.6作为编程环境,采用Request库和BeautifulSoup库对数据进行获取,得到的描述数据和威胁程度分别记为DT={DT,1,...,DT,i,...,DT,m}和IT={IT,1,...,IT,i,...,IT,m}。在本发明的实施例中,利用编写好的爬虫对NVD漏洞库中的XSS(Cross-SiteScripting)漏洞数据进行爬取,去除那些刚刚出现暂无威胁程度评分的数据,将CVSS 2.0评分作为本发明实施例中漏洞的威胁程度评分,得到包含8793条数据的DXSS,部分记录如下表表1所示:
表1
第二步,文本预处理:
接下来对获取到的每一条数据进行文本预处理。在本发明的实施例中,首先去除标点符号,之后从网络上收集常用停止词。停止词是那些在句子中经常出现但是对文本分析没有任何作用的词汇,例如the、me、my等。通过在网上进行搜集,在本发明实施例中使用的停止词数量是559。之后,去除对分析没有意义的词汇,而对于XSS漏洞来说,其漏洞描述一定会涉及到其名称,因此将以下词汇进行去除:″xss″、″cross″、″site″、″scripting″和″cross-site″。最后,使用Python扩展包nltk(参见网址http://www.nltk.org/的介绍)进行词型还原,得到经过处理的XSS漏洞数据D′XSS。对于该词袋模型,将其中的词汇根据出现频数的大小按从大到小的顺序进行排列,得到经过排序的词袋模型B′T={(word1,count1),...(wordi,counti),...,(wordn,countn)},其中wordi代表排在第i位的单词,counti代表相应词汇的统计数量。在本发明实施例中,得到经过排序的词袋模型B′XSS。
第三步,特征提取:
接下来,构建特征向量来对一条记录(也即一个描述数据)D′T,i进行定量表示。对于一条记录来说,选取B′T中排名靠前的词汇,统计一条记录D′T,i中相应词汇的出现频数,得到一个向量v′i=(Ni,1,...,Ni,j,...,Ni,l)来对相应记录进行表示,其中Ni,j代表在词袋模型中排名在第j位的词汇的统计数量。对于一个文档库中的词汇来说,其单词的出现频数通常是有很大差异的。在这里,人工定义频数阈值μ,将词袋模型B′T中出现频数低于μ的词汇直接舍弃,得到新的词袋模型 其包含词汇数为通常来说,利用人工定义的μ去除词汇后还会留下较多的词汇,将这些词汇在一条记录中的统计数量均作为相应特征向量的一部分会导致特征数量过多,同时这些特征也普遍稀疏,会对最终的分类结果造成影响。仅仅考虑高频词汇的话,会丢失大量信息,因此,这里采用主成分分析方法(Principal Component Analysis,PCA)对高频词汇外的特征进行降维。
对于选定一个阈值ρ,对于排名前ρ的词汇,将其在D′T,i的统计数量直接作为特征,对于剩余的利用PCA进行降维,将得到的降维后的数据作为特征加入之前的统计向量v′i中,得到特征向量vi=(Ni,1,...,Ni,ρ,Pi,1,...,Pi,k)。这样,得到特征向量集合V={v1,...vi,...,vm}对爬取得到的记录进行定量化的表示。
在本发明的实施例中,得到的词袋模型B′T中包含了24820个词汇,其词汇的最高统计频数为7999,最低的仅为1,对统计频数进行绘图得到图2所示结果。
从图2中可以看出,大部分词汇在词袋模型B′T中的出现频数极少,高达17737个词汇仅出现一次,这样的低频词汇会对后续的威胁程度评估造成干扰。在本发明实施例中,将频数阈值μ设定为30,得到包含剩余的625个词汇的B′XSS,30,利用这些词汇在相应漏洞描述数据中的数量作为特征对一个漏洞的描述数据进行定量刻画。
第四步,威胁程度分类:
有了特征向量后,本发明实施例利用特征向量和其对应威胁程度对XGBoost分类器进行训练。之后,便可以根据待评估漏洞对应的特征向量和训练所得分类器对待评估漏洞的漏洞威胁程度进行智能评估。选取不同数量的词汇统计数直接作为特征会对最后的威胁程度评估造成影响,在本发明的实施例中,令ρ从5开始按5递增,直到达到400,对于统计频数小于ρ的直接将其作为特征,对于大于ρ的利用PCA进行降维,这样共有80组不同的特征表示。接下来,利用XGBoost算法,采取十折交叉验证的方式进行漏洞威胁程度的评估。同时,与仅采用高频词汇的统计数量作为特征的方法进行对比,在取ρ时仅将统计频数低于它的词汇作为特征,将其余词汇直接舍弃。为了对比XGBoost与其他算法的效果,本发明实施例还在支持向量机(Support Vector Machine,SVM)、逻辑斯蒂回归(LogisticRegression,LR)和决策树(Decision Tree,DT)上均进行了实验,其结果分别如图3A-3D所示。
在图3A-3D中,实线表示利用PCA对稀疏词汇进行特征提取并与高频词汇结合的结果,虚线表示直接使用高频词汇作为特征得到的结果。从实验结果可以看出,本发明实施例所提方法评估准确率普遍高于直接使用高频词汇。同时,四种方法横向比较时,本发明实施例具有最好的效果。从实验结果可以看出,本发明实施例所提方法具有较强的实用性。
综上所述,本发明实施例的漏洞威胁程度评估方法利用PCA对特征进行了提取,更多考虑了稀疏特征隐含的信息;使用XGBoost分类器,准确率较高;使用者可以根据情况通过设置频数阈值μ和N等参数来调节特征向量所包含的特征数量,具有较高灵活性。本发明实施例的漏洞威胁程度评估方法通过对漏洞库中的信息进行爬取,基于漏洞库中漏洞的描述数据,采用文本挖掘的方法对其进行特征提取,并利用PCA对大量稀疏特征加以利用,充分考虑稀疏特征隐含的信息,之后基于XGBoost分类器,在提取的特征向量的基础上,对漏洞的威胁程度进行智能分级评估,能够取得良好的评估效果。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (6)
1.一种漏洞威胁程度评估方法,其特征在于,包括:
获取与相应参考漏洞一一对应的描述数据和威胁程度;
对所述相应参考漏洞的所述描述数据分别进行文本预处理,得到对应所述相应参考漏洞的多个处理后描述数据;
构建对应所述多个处理后描述数据的词袋模型;
根据所述词袋模型对所述多个处理后描述数据基于统计特征和主成分分析方法进行特征提取,得到对应所述相应参考漏洞的多个特征向量;
利用所述多个特征向量和多个威胁程度对XGBoost分类器进行训练;所述训练的过程包括,根据所述特征向量对应的所述威胁程度,以及所述特征向量输入XGBoost分类器后输出的预测结果,对XGBoost分类器进行训练;以及
利用训练所得分类器评估待评估漏洞的威胁程度;
所述利用训练所得分类器评估待评估漏洞的威胁程度的步骤包括:
获取对应所述待评估漏洞的特征向量;
将所述待评估漏洞的所述特征向量代入所述训练所得分类器计算得到所述待评估漏洞的所述威胁程度;
所述获取对应所述待评估漏洞的特征向量的步骤包括:
获取对应所述待评估漏洞的描述数据;
对所述待评估漏洞对应的所述描述数据进行所述文本预处理,得到对应所述待评估漏洞的处理后描述数据;
根据所述词袋模型对对应所述待评估漏洞的所述处理后描述数据基于统计特征和主成分分析方法进行所述特征提取,得到对应所述待评估漏洞的所述特征向量。
2.如权利要求1所述的漏洞威胁程度评估方法,其特征在于,所述获取与相应参考漏洞一一对应的描述数据和威胁程度的步骤包括:利用网络爬虫技术从开源漏洞库中爬取与所述相应参考漏洞一一对应的所述描述数据和所述威胁程度。
3.如权利要求1所述的漏洞威胁程度评估方法,其特征在于,所述描述数据为英文。
4.如权利要求3所述的漏洞威胁程度评估方法,其特征在于,所述文本预处理包括:去除标点符号、去除停止词、去除对于分析而言无意义的词、以及词型还原。
5.如权利要求1所述的漏洞威胁程度评估方法,其特征在于,所述构建对应所述多个处理后描述数据的词袋模型的步骤包括:
统计所述多个处理后描述数据中各个词汇的出现频数;
将所述各个词汇及其出现频数按照出现频数从大到小排列,得到所述词袋模型。
6.如权利要求1所述的漏洞威胁程度评估方法,其特征在于,所述基于统计特征和主成分分析方法进行特征提取的步骤包括:
将所述词袋模型中出现频数低于频数阈值的词汇舍弃,得到包括M个词汇及其出现频数的临时词袋模型;
将所述临时词袋模型中前N个词汇分别在所述处理后描述数据中出现的频数作为所述特征向量中的前N个特征;
利用主成分分析方法将所述临时词袋模型中除所述前N个词汇之外剩余的词汇分别在所述处理后描述数据中出现的频数进行降维之后作为所述特征向量中的后M-N个特征;其中,N<M。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811105680.8A CN109871688B (zh) | 2018-09-21 | 2018-09-21 | 漏洞威胁程度评估方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811105680.8A CN109871688B (zh) | 2018-09-21 | 2018-09-21 | 漏洞威胁程度评估方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109871688A CN109871688A (zh) | 2019-06-11 |
CN109871688B true CN109871688B (zh) | 2020-12-18 |
Family
ID=66916887
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811105680.8A Active CN109871688B (zh) | 2018-09-21 | 2018-09-21 | 漏洞威胁程度评估方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109871688B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110768977B (zh) * | 2019-10-21 | 2022-02-25 | 中国民航信息网络股份有限公司 | 一种安全漏洞信息的抓取方法及系统 |
CN110941963A (zh) * | 2019-11-29 | 2020-03-31 | 福州大学 | 一种基于句子情感属性的文本属性生成观点摘要方法与系统 |
US11381590B2 (en) * | 2019-12-02 | 2022-07-05 | Saudi Arabian Oil Company | Predicting false positives from vulnerability scanners using data analytics and machine learning |
CN111212067A (zh) * | 2019-12-31 | 2020-05-29 | 南京联成科技发展股份有限公司 | 一种基于威胁预测的工业网络安全风险评估系统 |
CN111428248A (zh) * | 2020-06-10 | 2020-07-17 | 浙江鹏信信息科技股份有限公司 | 一种基于等级赋分的漏洞降噪识别方法及系统 |
CN113010895B (zh) * | 2020-12-08 | 2022-12-30 | 四川大学 | 一种基于深度学习的漏洞危害评估方法 |
CN115225348A (zh) * | 2022-06-29 | 2022-10-21 | 北京天融信网络安全技术有限公司 | 一种获取网络威胁情报的方法、装置、介质及设备 |
CN118673506A (zh) * | 2024-08-26 | 2024-09-20 | 杭州电子科技大学 | 基于文本挖掘和多指标度量的细粒度漏洞优先级排序方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105553998A (zh) * | 2015-12-23 | 2016-05-04 | 中国电子科技集团公司第三十研究所 | 一种网络攻击异常检测方法 |
CN107656839A (zh) * | 2017-08-11 | 2018-02-02 | 天津大学 | 集成电路安全性评估与检测方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101853277A (zh) * | 2010-05-14 | 2010-10-06 | 南京信息工程大学 | 一种基于分类和关联分析的漏洞数据挖掘方法 |
US9817977B2 (en) * | 2014-04-04 | 2017-11-14 | Palo Alto Research Center Incorporated | Methods for selection of collaborators for online threat mitigation |
CN107194260A (zh) * | 2017-04-20 | 2017-09-22 | 中国科学院软件研究所 | 一种基于机器学习的Linux‑Kernel关联CVE智能预测方法 |
CN107204876B (zh) * | 2017-05-22 | 2020-09-29 | 成都网络空间安全技术有限公司 | 一种网络安全风险评估方法 |
CN107196955A (zh) * | 2017-06-15 | 2017-09-22 | 北京理工大学 | 基于漏洞关联性分析的网络系统主动防御方法 |
CN107332848B (zh) * | 2017-07-05 | 2020-05-12 | 重庆邮电大学 | 一种基于大数据的网络流量异常实时监测系统 |
CN108549817A (zh) * | 2018-04-19 | 2018-09-18 | 北京理工大学 | 一种基于文本深度学习的软件安全漏洞预测方法 |
-
2018
- 2018-09-21 CN CN201811105680.8A patent/CN109871688B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105553998A (zh) * | 2015-12-23 | 2016-05-04 | 中国电子科技集团公司第三十研究所 | 一种网络攻击异常检测方法 |
CN107656839A (zh) * | 2017-08-11 | 2018-02-02 | 天津大学 | 集成电路安全性评估与检测方法 |
Non-Patent Citations (1)
Title |
---|
机器学习在网络空间安全研究中的应用;张蕾等;《计算机学报》;20180305;第41卷(第09期);第1943-1975页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109871688A (zh) | 2019-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109871688B (zh) | 漏洞威胁程度评估方法 | |
Busuioc | Accountable artificial intelligence: Holding algorithms to account | |
Devroey et al. | Towards statistical prioritization for software product lines testing | |
TW202030685A (zh) | 電腦執行的事件風險評估的方法及裝置 | |
CN108509561B (zh) | 基于机器学习的岗位招聘数据筛选方法、系统及存储介质 | |
CN113221960B (zh) | 一种高质量漏洞数据收集模型的构建方法及收集方法 | |
CN116032654B (zh) | 一种固件漏洞检测及数据安全治理方法和系统 | |
CN111199469A (zh) | 用户还款模型生成方法、装置及电子设备 | |
US20220374401A1 (en) | Determining domain and matching algorithms for data systems | |
Wang et al. | Intelligent prediction of vulnerability severity level based on text mining and XGBboost | |
CN108667678A (zh) | 一种基于大数据的运维日志安全检测方法及装置 | |
Chen | Data mining applications in e-government information security | |
CN114329482A (zh) | 基于排序的c/c++漏洞及其补丁间链接恢复系统及方法 | |
Hu et al. | Interpreters for GNN-based vulnerability detection: Are we there yet? | |
Ruohonen | Classifying web exploits with topic modeling | |
CN114386048A (zh) | 基于排序的开源软件安全漏洞补丁定位方法 | |
CN115225336A (zh) | 一种面向网络环境的漏洞可利用性的计算方法及装置 | |
Zhu et al. | Using text mining and multilevel association rules to process and analyze incident reports in China | |
Costa et al. | Challenges on prioritizing software patching | |
Shi et al. | Uncovering product vulnerabilities with threat knowledge graphs | |
CN109063485B (zh) | 一种基于漏洞平台的漏洞分类统计系统及方法 | |
CN116910279A (zh) | 标签提取方法、设备及计算机可读存储介质 | |
JP2007287132A (ja) | 情報技術危険管理システム及びその方法 | |
El Bekri et al. | Assuring data quality by placing the user in the loop | |
Polle et al. | Towards AI standards: thought-leadership in AI legal, ethical and safety specifications through experimentation |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |