CN116821916A - 一种实现漏洞处理的方法、计算机存储介质及终端 - Google Patents
一种实现漏洞处理的方法、计算机存储介质及终端 Download PDFInfo
- Publication number
- CN116821916A CN116821916A CN202310687190.8A CN202310687190A CN116821916A CN 116821916 A CN116821916 A CN 116821916A CN 202310687190 A CN202310687190 A CN 202310687190A CN 116821916 A CN116821916 A CN 116821916A
- Authority
- CN
- China
- Prior art keywords
- vulnerability
- random forest
- algorithm
- characteristic information
- forest algorithm
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000012545 processing Methods 0.000 title claims abstract description 27
- 238000007637 random forest analysis Methods 0.000 claims abstract description 96
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 87
- 230000008439 repair process Effects 0.000 claims abstract description 35
- 230000002068 genetic effect Effects 0.000 claims abstract description 28
- 238000012216 screening Methods 0.000 claims abstract description 8
- 238000012549 training Methods 0.000 claims description 37
- 238000004590 computer program Methods 0.000 claims description 14
- 230000006870 function Effects 0.000 claims description 13
- 238000003066 decision tree Methods 0.000 claims description 10
- 230000003993 interaction Effects 0.000 claims description 7
- 238000004140 cleaning Methods 0.000 claims description 6
- 238000010606 normalization Methods 0.000 claims description 3
- 238000013459 approach Methods 0.000 claims description 2
- 238000005406 washing Methods 0.000 claims 1
- 230000000694 effects Effects 0.000 description 6
- 230000035772 mutation Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 210000000349 chromosome Anatomy 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 108700028369 Alleles Proteins 0.000 description 1
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000009193 crawling Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012847 principal component analysis method Methods 0.000 description 1
- 238000005067 remediation Methods 0.000 description 1
- 238000013077 scoring method Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/211—Selection of the most significant subset of features
- G06F18/2113—Selection of the most significant subset of features by ranking or filtering the set of features, e.g. using a measure of variance or of feature cross-correlation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Biophysics (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Genetics & Genomics (AREA)
- Biomedical Technology (AREA)
- Physiology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Quality & Reliability (AREA)
- Medical Informatics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本文公开一种实现漏洞处理的方法、计算机存储介质及终端,包括:从历史数据中获取漏洞数据,漏洞数据包含一种以上漏洞的第一特征信息;对第一特征信息进行筛选,获得第一预设数量的第二特征信息;通过第一随机森林算法,构建筛选的每一个第二特征信息与漏洞的处置优先级的关联关系的随机森林模型;通过构建的随机森林模型预测待处理漏洞的处置优先级;其中,第一随机森林算法包括基于遗传算法进行参数确定的随机森林算法。本发明实施例通过第一随机森林算法构建用于判断处理漏洞的处置优先级的随机森林模型,为漏洞的修复处理提供了重要信息支持。
Description
技术领域
本文涉及但不限于信息安全技术,尤指一种实现漏洞处理的方法、计算机存储介质及终端。
背景技术
随着漏洞数量的指数级增长,以及企业的软硬件资产体量增大,直接导致安全团队经常被源源不断的漏洞警报所淹没,这些漏洞警报必须得到妥善处理。通常情况下,企业或组织每月只能修复5%到20%的漏洞,无法针对大量的漏洞完全进行修复。但实际上,在已公布的漏洞中,只有不到10%的漏洞会被人利用,这就要求企业或组织需要采用一个有效的评分方法来确定漏洞对其构成的风险的严重程度,以确定漏洞修复的优先级。
通用漏洞评分系统(CVSS),是在评估安全漏洞严重程度时最常被提及的评分系统;但CVSS侧重于漏洞的内在特征,得出漏洞严重性评分,不适合用来评估和排序这些漏洞的风险。在漏洞处置过程中,通过CVSS判定漏洞修复顺序的方式存在不能准确评估漏洞的真实风险;仅严重性评分这一项指标并不能指征漏洞遭到利用的概率;例如,一个漏洞可能具有高的CVSS分数,但是考虑攻击途径或复杂度等其他因素,漏洞的实际风险可能会发生变化,某些漏洞的风险是被高估或低估的。
综上,如何为漏洞修复提供准确判断,实现漏洞的高效修复,成为一个有待解决的问题。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本发明实施例提供一种实现漏洞处理的方法、计算机存储介质及终端,能够为漏洞修复提供准确判断。
本发明实施例提供了一种实现漏洞处理的方法,包括:
从历史数据中获取漏洞数据,漏洞数据包含一种以上漏洞的第一特征信息;
对第一特征信息进行筛选,获得第一预设数量的第二特征信息;
通过第一随机森林算法,构建筛选的每一个第二特征信息与漏洞的处置优先级的关联关系的随机森林模型;
通过构建的随机森林模型预测待处理漏洞的处置优先级;
其中,所述第一随机森林算法包括基于遗传算法进行参数确定的随机森林算法。
另一方面,本发明实施例还提供一种计算机存储介质,所述计算机存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现上述实现漏洞处理的方法。
再一方面,本发明实施例还提供一种终端,包括:存储器和处理器,所述存储器中保存有计算机程序;其中,
处理器被配置为执行存储器中的计算机程序;
所述计算机程序被所述处理器执行时实现如上述实现漏洞处理的方法。
本申请技术方案包括:从历史数据中获取漏洞数据,漏洞数据包含一种以上漏洞的第一特征信息;对第一特征信息进行筛选,获得第一预设数量的第二特征信息;通过第一随机森林算法,构建筛选的每一个第二特征信息与漏洞的处置优先级的关联关系的随机森林模型;通过构建的随机森林模型预测待处理漏洞的处置优先级;其中,第一随机森林算法包括基于遗传算法进行参数确定的随机森林算法。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为本发明实施例实现漏洞处理的方法的流程图;
图2为本发明的随机森林算法的算法流程示意图;
图3为本发明应用示例的处置分类对比图;
图4为本发明应用示例一漏洞处置的效果对比图;
图5为本发明应用示例另一漏洞处置的效果对比图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1为本发明实施例实现漏洞处理的方法的流程图,如图1所示,包括:
步骤101、从历史数据中获取漏洞数据,漏洞数据包含一种以上漏洞的第一特征信息;
步骤102、对第一特征信息进行筛选,获得第一预设数量的第二特征信息;
步骤103、通过第一随机森林算法,构建筛选的每一个第二特征信息与漏洞的处置优先级的关联关系的随机森林模型;
步骤104、通过构建的随机森林模型预测待处理漏洞的处置优先级;
其中,第一随机森林算法包括基于遗传算法进行参数确定的随机森林算法。
在一种示例性实例中,从历史数据中获取漏洞数据之后,本发明实施例方法还包括:
对漏洞数据进行清洗;
其中,清洗包括以下一项或任意组合的处理:去重、合并、处理无效值和处理缺失值。
在一种示例性实例中,本发明实施例对第一特征信息进行筛选,包括:
计算每一个第一特性信息的基尼指数的变量重要性评分;
通过计算的变量重要性评分,从漏洞数据包含的第一特征信息中选出变量重要性评分靠前的第一预设数量的第二特征信息。
在一种示例性实例中,本发明实施例第二特征信息包括以下一项或任意组合的特征信息:
漏洞攻击途径;漏洞攻击途径是网络还是物理决定着遭受漏洞攻击的难易程度,也决定着漏洞的处置优先级,本发明实施例取值分为远程网络、相邻网络、本地和物理四种;
漏洞攻击复杂度;漏洞攻击复杂度反映着漏洞的影响,对于攻击复杂度较低的漏洞修复顺序应该比攻击复杂度高的漏洞靠前,本发明实施例中的取值为低和高两类;
漏洞所需权限;漏洞所需权限越高,受到漏洞攻击的可能性越低;对于无需权限即可利用的漏洞应该优先修复,本发明实施例漏洞所需权限的取值包括无、低和高三类;
漏洞是否需要用户交互;漏洞需要用户交互相比与无需用户交互的利用更难,修复顺序应该靠后,这里的取值为无需和需要两类;
漏洞作用域;漏洞作用域表示漏洞攻击的范围,漏洞攻击的范围是变化的还是固定也决定着漏洞的修复顺序,攻击范围变化的修复顺序应该比攻击范围固定的靠前,这里的取值为固定和变化两类;
厂商相关的特征;比如厂商的名称;
漏洞利用代码相关的特征;比如漏洞利用代码是否已发布、在野利用、以及漏洞是否已被武器化;
漏洞类型相关的特征;比如代码执行、远程、拒绝服务、Web、内存泄漏、本地等,已发布通用漏洞披露(CVE)中的引用计数(REF);
CVSS分数;比如CVSS3分数和CVSS2分数反映漏洞的严重性,CVSS3利用分数和CVSS2利用分数反映漏洞利用的程度,CVSS3影响分数和CVSS2影响分数反映漏洞的影响。
在一种示例性实例中,本发明实施例第一随机森林模型通过以下处理获得:
产生初始的种群,对第二随机森林算法的n_estimators、max_features以及criterion进行二进制编码,第二随机森林算法为未确定参数的随机森林算法;
解码并计算适应度函数;
判断出满足遗传算法的终止条件时,输出用于带入第二随机森林算法的参数;
判断出不满足遗传算法的终止条件时,重新执行解码并计算适应度函数的处理,直至判断出满足遗传算法的终止条件时,输出用于带入第二随机森林算法的参数;
将遗传算法输出的参数代入第二随机森林算法,通过代入参数的第二随机森林算法对训练集进行训练;
第二随机森林算法对训练集进行训练的结果满足预设的准确率阈值时,将训练获得的模型确定为随机森林模型;
第二随机森林算法对训练集进行训练的结果不满足预设的准确率阈值时,重新执行解码并计算适应度函数的处理,直至获得随机森林模型;
其中,训练集中包含第二预设数量的第二特征信息;n_estimators是随机森林中基评估器的数量;max_features是随机森林允许单个决策树使用特征的最大数量;criterion是随机森林中决策树的算法。
在一种示例性实例中,将遗传算法输出的参数代入第二随机森林算法之前,本发明实施例方法还包括:
对训练集进行归一化处理。
在一种示例性实例中,本发明实施例中的优先级等级包括:
三个以上包含对漏洞是否执行修复以及修复时间的等级。
在一种示例性实例中,本发明实施例优先级等级包括:优先修复、建议修复和暂缓修复。
本发明实施例还提供一种计算机存储介质,计算机存储介质中存储有计算机程序,计算机程序被处理器执行时实现上述实现漏洞处理的方法。
本发明实施例还提供一种终端,包括:存储器和处理器,存储器中保存有计算机程序;其中,
处理器被配置为执行存储器中的计算机程序;
计算机程序被处理器执行时实现如上述实现漏洞处理的方法。
以下通过应用示例对本发明实施例进行简要说明,应用示例仅用于陈述本发明实施例,并不用于限定本发明的保护范围。
本发明实施例提供了一种基于漏洞数据确定漏洞的处置优先级的方法,可有效评估出真正被利用的漏洞,帮助用户聚焦真正的风险。从真实的业务环境角度考虑,可综合评估漏洞是否可被远程利用、漏洞所影响业务组件的重要程度、漏洞是否在外网大面积公布验证程序/利用程序(POC/EXP)以及漏洞的CVSS评分等,最终识别构成最大风险的漏洞,帮助软件开发和安全维护团队高效的执行漏洞处置工作。
本发明实施例对漏洞数据的漏洞的基础信息、利用信息(POC和/或EXP等)、CVSS信息等特征信息进行处理,使用随机森林算法进行建模,通过遗传算法优化随机森林算法的参数,以筛选的漏洞的第二特征信息作为训练集,将训练集中每一个第二特征信息作为模型的输入,将漏洞处置的优先级作为模型的输出。本发明实施例执行的处理包括:
从历史数据中获取漏洞数据,漏洞数据包含一种以上漏洞的第一特征信息;在一种示例性实例中,本发明实施例中的第一特征信息属于以下种类:漏洞基础信息、漏洞利用信息和漏洞CVSS信息。
对第一特征信息进行筛选,获得第一预设数量的第二特征信息;
通过第一随机森林算法,构建筛选的每一个第二特征信息与漏洞的处置优先级的关联关系的随机森林模型;第一随机森林算法包括基于遗传算法进行参数确定的随机森林算法;
通过构建的随机森林模型预测待处理漏洞的处置优先级。
本发明实施例通过对漏洞基础信息、漏洞利用信息和漏洞CVSS信息等种类的漏洞的多维特征信息的处理,能有效展示漏洞的危害性,可更好地评估漏洞野外利用的可能性;本发明实施例实现了漏洞进行处置的优先级排序,帮助软件开发和安全维护团队高效完成漏洞处置工作。
在一种示例性实例中,本发明实施例利用爬虫技术从历史数据中爬取上述漏洞数据。在一种示例性实例中,爬取漏洞数据之后,本发明实施例方法还包括进行以下一项或任意组合的处理:
构建用于存储漏洞数据的数据库,将漏洞数据写入构建的数据库中;
清洗漏洞数据;本发明实施例中的清洗包括以下一项或任意组合:去重、合并、处理无效值和处理缺失值。
在一种示例性实例中,本发明实施例方法通过迷你哈希(MiniHash)文本去重合并算法进行漏洞数据的合并或去重;在一种示例性实例中,本发明实施例通过Flash text(数据清洗工具)对处理后的文本信息进行关键词提取,获取漏洞的厂商产品、固有特性、利用信息、热度等漏洞的第一特征信息,之后,使用二进制方法将获取的第一特征信息通过数值表示;这里的数值包括标识不同定义的英文标识;例如,N表示是,Y表示否。
在一种示例性实例中,本发明实施例针对获取的漏洞的第一特征信息进行筛选。通常,一个漏洞数据的集合中包含成百上千个第一特征信息,选择对确定处理漏洞的处置优先级影响最大的第一预设数量的第二特征信息,可以缩减建立模型时的特征信息数;在一种示例性实例中,本发明实施例采用随机森林算法筛选第二特性信息。在一种示例性实例中,本发明实施例可以基于基尼指数进行第二特征信息的筛选,特征信息选择前后基尼指数变化越大的特征意味着该特征有越大的影响;在一种示例性实例中,本发明实施例也可以根据其他种类的,可确定与处置优先级关联的参数,进行第二特征信息的筛选,例如递归特征消除法、主成分分析法等。
参照相关技术,基尼指数可以表示为下式:
式中,fi为某一类概率事件发生的概率,m事件的分类总数,i表示第i种事件分类。
将基尼指数用GI来表示,根据式(1),结合式(2)和式(3)可以计算出每个第一特征信息Xj的基尼指数的变量重要性评分(VIM,variable importance measures)VIMj (Gini)
VIMjm (Gini)=GIm-GIl-GIr 式(2)
其中,GIm、GIl和GIr分别表示随机森林的分枝前以及分枝后两个新节点的基尼指数。
本发明实施例经过上述随机森林实现了对第一特征信息进行变量重要性评分排序,基于排序结果可以筛选获得第二特征信息。
在一种示例性实例中,本发明实施例筛选获得以下第二特征信息:
漏洞攻击途径(attack vector),漏洞攻击途径是网络还是物理决定着遭受漏洞攻击的难易程度,也决定着漏洞的处置优先级,这里取值分为远程网络、相邻网络、本地和物理四种;
漏洞攻击复杂度(attack complexity),漏洞攻击复杂度反映着漏洞的影响,对于攻击复杂度较低的漏洞修复顺序应该比攻击复杂度高的漏洞靠前,这里的取值为低和高两类。
漏洞所需权限(privileges required),漏洞所需权限越高,受到漏洞攻击的可能性越低;对于无需权限即可利用的漏洞应该优先修复,本发明实施例漏洞所需权限的取值包括无、低和高三类;
用户交互(user interaction),漏洞需要用户交互相比与无需用户交互的利用更难,修复顺序应该靠后,这里的取值为无需和需要两类;
漏洞作用域(scope),漏洞作用域表示漏洞攻击的范围,漏洞攻击的范围是变化的还是固定也决定着漏洞的修复顺序,攻击范围变化的修复顺序应该比攻击范围固定的靠前,这里的取值为固定和变化两类;
厂商相关的特征,比如厂商的名称;
漏洞利用代码相关的特征,比如漏洞利用代码是否已发布、在野利用、以及漏洞是否已被武器化;
漏洞类型相关的特征,比如代码执行、远程、拒绝服务、Web、内存泄漏、本地等,已披露漏洞信息的引用计数(REF,Reference count);
其他指标的特征信息,比如CVSS3分数和CVSS2分数反映漏洞的严重性,CVSS3利用分数和CVSS2利用分数反映漏洞利用的程度,CVSS3影响分数和CVSS2影响分数反映漏洞的影响。
在一种示例性实例中,本发明实施例可以参照经验,或漏洞的历史处理方式,设置三个以上处置优先级;在一种示例性实例中,本发明实施例漏洞的处置优先级可以包括:优先修复、建议修复和暂缓修复;在一种示例性实例中,本发明实施例可以将漏洞的处置优先级作为每条漏洞的标签信息,用于在随机森林模型训练过程中,对训练结果的准确度进行统计分析。
本发明实施例假设包含n个漏洞数据,通过A的下标区分;每一个漏铜包含m个第二特征信息,用上标区分,本发明实施例使用模型器的输入和输出信息如下式所示:
[Yd]mod=(y1,y2,...,yn)T (5)
其中,公式(5)中的y表示处理漏洞的处置优先级的标签。
在一种示例性实例中,进行随机森林模型训练时,以7:3的比例随机划分训练集和测试集。
以CVE-2018-11784和CVE-2022-23196为例,本发明实施例筛选出的第二特征信息,参见表1,可以包括:漏洞攻击途径、漏洞攻击复杂度、漏洞所需权限、漏洞是否需要用户交互、漏洞作用域、厂商相关的特征、漏洞利用代码相关的特征、漏洞类型相关的特征和漏洞评分系统(CVSS)分数等。
表1
为便于理解本发明实施例,以下对遗传算法和随机森林算法进行简要说明。
遗传算法(GA,Genetic Algorithm)是从代表问题可能潜在的解集的一个种群开始的,而一个种群则由经过基因编码的一定数目的个体组成。因此,第一步需要实现从表现型到基因型的映射即编码工作。初代种群产生之后,按照适者生存和优胜劣汰的原理,逐代演化产生出越来越好的近似解,在每一代,根据问题域中个体的适应度大小选择个体,借助于自然遗传学的遗传算子进行组合交叉和变异,产生出代表新的解集的种群。这个过程将导致种群像自然进化一样,后生代种群比前代更加适应于环境,末代种群中的最优个体经过解码,可以作为问题近似最优解。
遗传算法有三个基本操作:选择、交叉和变异;其中,
选择:选择的目的是为了从当前群体中选出优良的个体,使它们有机会作为父代为下一代繁衍子孙。根据各个个体的适应度值,按照一定的规则或方法从上一代群体中选择出一些优良的个体遗传到下一代种群中;选择的依据是适应性强的个体为下一代贡献一个或多个后代的概率大。
交叉:通过交叉操作可以得到新一代个体,新个体组合了父辈个体的特性。将群体中的各个个体随机搭配成对,对每一个个体,以交叉概率交换它们之间的部分染色体。
变异:种群中的每一个个体,以变异概率改变某一个或多个基因座上的基因值为其他的等位基因。同生物界中一样,变异发生的概率很低,变异为新个体的产生提供了机会。
遗传算法的处理步骤:
第一步:产生初始种群(即优化参数的候选者);即根据种群规模随机产生初始的种群,种群中的每个个体表示染色体的基因型。
第二步:计算每个个体的适应度(即目标函数),并判断是否满足优化准则,若满足优化准则,则输出最佳个体及其代表的最优解,并结束算法;若不满足优化准则,则转入下一步。
第三步:(选择)依据适应度选择再生个体,适应度高的个体被选中的概率高,反之,适应度低的个体被选中的概率低,甚至可能被淘汰。
第四步:(交叉)根据一定的交叉概率和交叉方法生成子代个体。
第五步:(变异)根据一定的变异概率和变异方法,生成子代个体。
第六步:(循环计算适应度)由交叉和变异产生新一代种群,返回到第二步。
随机森林(Random Forest,RF)算法模型由多棵决策树构成,且森林中的每一棵决策树之间没有关联,RF算法模型的最终输出由随机森林中的每一棵决策树共同决定;随机森林算法的处理包括:
(a)从训练样本集S中随机的抽取m个样本点,得到一个新的S1…Sn个子训练集;
(b)用子训练集,训练一个CART决策树,这里在训练的过程中,对每个节点的切分规则是先从所有特征中随机的选择k个特征,然后在从这k个特征中选择最优的切分点在做左右子树的划分;
(c)通过第二步,可以生成两个以上CART树模型。
(d)每一个CART树最终的预测结果为该样本点所到叶节点的均值。
(e)随机森林最终的预测结果为所有CART树预测结果的均值。
在使用RF时需要特别调节三个参数n_estimators、max_features和criterion。n_estimators是随机森林中基评估器的数量,即树的数量。一般情况下越大模型效果越好,但达到一定程度时,精确性趋于稳定。max_features是随机森林允许单个决策树使用特征的最大数量,增加max_features一般能提高模型的性能,因为在每个节点上,可以有更多的选择可以考虑,然而这未必完全是对的,因为它降低了单个树的多样性,而这正是随机森林独特的优点。criterion是随机森林中决策树的算法,可选的有两种:gini(基尼系数),即CART算法;entropy(信息熵),也就是ID3算法。
本发明实施例通过遗传算法确定随机森林(GA-RF)模型(本文简称为GA-RF模型)的参数,主要是确定RF的n_estimators和max_features以及criterion,图3为本发明的随机森林算法的算法流程图,如图3所示,包括:
(1)对包含训练集和测试集的数据集进行归一化处理。
(2)产生初始的种群,对RF的n_estimators、max_features以及criterion进行二进制编码。
(3)解码并计算适应度函数;解码产生的种群中的染色体,对种群进行选择、交叉、变异及计算适应度函数。
(4)判断出满足遗传算法的终止条件时,输出参数;判断出不满足遗传算法的终止条件时,重新执行解码并计算适应度函数的处理,即开始新的遗传。
(5)将遗传算法输出的参数代入第二随机森林算法,通过代入参数的第二随机森林算法对训练集进行训练;
(6)判断第二随机森林算法对训练集进行训练的结果满足预设的准确率阈值时,将训练获得的模型确定为本发明实施例的随机森林模型;判断第二随机森林算法对训练集进行训练的结果不满足预设的准确率阈值时,重新执行解码并计算适应度函数的处理,直至获得随机森林模型。
获得随机森林模型之后,本发明实施例通过测试集进行对处理漏洞等级进行分类,输出处理漏洞的处置优先级,以下就本发明实施例的随机森林模型进行性能验证:
按照CVSS评分将评分为[0,4)的划分类为暂缓修复区间,将评分为[4,7)的划分类为建议修复区间,将评分为[7,10]的划分类为优先修复区间,本发明实施例输出的处理漏洞的处置优先级与CVSS分数处置分类对比参见图3。
CVSSv3与本发明实施例在漏洞处置过程中产生的效果参见图4和图5;其中,最大的圈(后续简称为大圈)代表全量的漏洞数据,中间大小的圈(后续简称为中圈)代表模型输出类别为优先修复的漏洞,最小的圈(后续简称为小圈)是侦探到的有在野利用的数据。
在本发明实施例输出为优先修复的漏洞中,按照优先修复漏洞数量占所有漏洞数量的比例为在1000个漏洞中优先修复107个;16.98%的漏洞发现了在野的利用活动(即小圈与中圈的交集占中圈的比例),在发现的在野利用的漏洞中,该策略覆盖了其中的43.1%(即小圈与中圈的交集占小圈的比例),如图4所示。完全基于CVSSv3,修复策略为CVSSv3评分为9.7分及以上的认为是优先修复的漏洞(即图中中圈与小圈不相交的部分),按照优先修复漏洞数量占所有漏洞数量的比例为在1000个漏洞中优先修复111个;在被认为是优先修复的漏洞中,有8.8%的漏洞发现了在野的利用活动(即小圈与中圈的交集占中圈的比例);在发现的在野利用的漏洞中,该策略覆盖了其中的22.42%(即小圈与中圈的交集占小圈的比例),如图5所示。
从图4和图5的对比可以看出,在修复同样数量的漏洞时,使用本发明实施例的方法,可以修复更多的需要优先修复的漏洞,从而可帮助安全运营人员有效地分配资源来优化漏洞修复优先级排序工作,从而避免浪费有限的资源和时间。
表1为部分漏洞利用本发明实施例方法得到的漏洞处置优先级,例如:编号为CVE-2018-11784的漏洞,CVSS评分4.3,分类为中危漏洞,如果按照CVSS评分进行修复漏洞,属于排序靠后暂缓修复。本发明实施例模型得到的修复等级分类为优先修复,属于高危漏洞。该漏洞为Apache Tomcat的漏洞,且使用影响广泛,第三方厂商Redhat、Ubuntu、Oracle等也发布了相应通告,通过查找发现网络中该漏洞有公开的POC代码和EXP代码,如果未修复,极易被恶意攻击者利用,所以修复等级为高,应该优先修复。
表2
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
Claims (10)
1.一种实现漏洞处理的方法,包括:
从历史数据中获取漏洞数据,漏洞数据包含一种以上漏洞的第一特征信息;
对第一特征信息进行筛选,获得第一预设数量的第二特征信息;
通过第一随机森林算法,构建筛选的每一个第二特征信息与漏洞的处置优先级的关联关系的随机森林模型;
通过构建的随机森林模型预测待处理漏洞的处置优先级;
其中,所述第一随机森林算法包括基于遗传算法进行参数确定的随机森林算法。
2.根据权利要求1所述的方法,其特征在于,所述从历史数据中获取漏洞数据之后,所述方法还包括:
对所述漏洞数据进行清洗;
其中,所述清洗包括以下一项或任意组合的处理:去重、合并、处理无效值和处理缺失值。
3.根据权利要求1所述的方法,其特征在于,所述对第一特征信息进行筛选,包括:
计算每一个所述第一特性信息的基尼指数的变量重要性评分;
通过计算的所述变量重要性评分,从所述漏洞数据包含的所述第一特征信息中选出变量重要性评分靠前的第一预设数量的所述第二特征信息。
4.根据权利要求1所述的方法,其特征在于,所述第二特征信息包括以下一项或任意组合的特征信息:
漏洞攻击途径;
漏洞攻击复杂度;
漏洞所需权限;
漏洞是否需要用户交互;
漏洞作用域;
厂商相关的特征;
漏洞利用代码相关的特征;
漏洞类型相关的特征;
漏洞评分系统CVSS分数。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述第一随机森林模型通过以下处理获得:
产生初始的种群,对第二随机森林算法的n_estimators、max_features以及criterion进行二进制编码,第二随机森林算法为未确定参数的随机森林算法;
解码并计算适应度函数;
判断出满足遗传算法的终止条件时,输出用于带入所述第二随机森林算法的参数;
判断出不满足所述遗传算法的终止条件时,重新执行所述解码并计算适应度函数的处理,直至判断出满足所述遗传算法的终止条件时,输出用于带入所述第二随机森林算法的参数;
将所述遗传算法输出的参数代入所述第二随机森林算法,通过代入参数的第二随机森林算法对训练集进行训练;
所述第二随机森林算法对训练集进行训练的结果满足预设的准确率阈值时,将训练获得的模型确定为所述随机森林模型;
所述第二随机森林算法对训练集进行训练的结果不满足预设的准确率阈值时,重新执行所述解码并计算适应度函数的处理,直至获得所述随机森林模型;
其中,所述训练集中包含第二预设数量的所述第二特征信息;n_estimators为随机森林中基评估器的数量;max_features为随机森林允许单个决策树使用特征的最大数量;criterion为随机森林中决策树的算法。
6.根据权利要求5所述的方法,其特征在于,所述将所述遗传算法输出的参数代入所述第二随机森林算法之前,所述方法还包括:
对所述训练集进行归一化处理。
7.根据权利要求1-4任一项所述的方法,其特征在于,所述优先级等级包括:
三个以上包含对漏洞是否执行修复以及修复时间的等级。
8.根据权利要求7所述的方法,其特征在于,所述优先级等级包括:优先修复、建议修复和暂缓修复。
9.一种计算机存储介质,所述计算机存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-8中任一项所述的实现漏洞处理的方法。
10.一种终端,包括:存储器和处理器,所述存储器中保存有计算机程序;其中,
处理器被配置为执行存储器中的计算机程序;
所述计算机程序被所述处理器执行时实现如权利要求1-8中任一项所述的实现漏洞处理的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310687190.8A CN116821916A (zh) | 2023-06-09 | 2023-06-09 | 一种实现漏洞处理的方法、计算机存储介质及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310687190.8A CN116821916A (zh) | 2023-06-09 | 2023-06-09 | 一种实现漏洞处理的方法、计算机存储介质及终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116821916A true CN116821916A (zh) | 2023-09-29 |
Family
ID=88121408
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310687190.8A Pending CN116821916A (zh) | 2023-06-09 | 2023-06-09 | 一种实现漏洞处理的方法、计算机存储介质及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116821916A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117692187A (zh) * | 2023-12-04 | 2024-03-12 | 湖北华中电力科技开发有限责任公司 | 一种基于动态的漏洞修复优先级排序方法及装置 |
-
2023
- 2023-06-09 CN CN202310687190.8A patent/CN116821916A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117692187A (zh) * | 2023-12-04 | 2024-03-12 | 湖北华中电力科技开发有限责任公司 | 一种基于动态的漏洞修复优先级排序方法及装置 |
CN117692187B (zh) * | 2023-12-04 | 2024-06-04 | 湖北华中电力科技开发有限责任公司 | 一种基于动态的漏洞修复优先级排序方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105590055B (zh) | 用于在网络交互系统中识别用户可信行为的方法及装置 | |
US8577816B2 (en) | Optimized seeding of evolutionary algorithm based simulations | |
US20100077301A1 (en) | Systems and methods for electronic document review | |
JP2020505707A (ja) | 侵入検出のための継続的な学習 | |
CN109218304B (zh) | 一种基于攻击图和协同进化的网络风险阻断方法 | |
Berg et al. | Ecological communities are vulnerable to realistic extinction sequences | |
CN111160749A (zh) | 一种情报质量评估和情报融合方法及装置 | |
CN116821916A (zh) | 一种实现漏洞处理的方法、计算机存储介质及终端 | |
CN111931048B (zh) | 基于人工智能的黑产账号检测方法及相关装置 | |
CN111881289A (zh) | 分类模型的训练方法、数据风险类别的检测方法及装置 | |
WO2021111540A1 (ja) | 評価方法、評価プログラム、および情報処理装置 | |
WO2023093100A1 (zh) | 一种api网关异常调用识别的方法、装置、设备及产品 | |
CN104504334A (zh) | 用于评估分类规则选择性的系统及方法 | |
CN111680291A (zh) | 一种对抗样本生成方法、装置、电子设备及存储介质 | |
KR20040104853A (ko) | 정보 자산의 위험 분석 시스템 | |
US11783088B2 (en) | Processing electronic documents | |
CN114201199B (zh) | 基于信息安全大数据的防护升级方法及信息安全系统 | |
CN109492844B (zh) | 业务策略的生成方法和装置 | |
CN115759250A (zh) | 归因分析方法、装置、电子设备以及存储介质 | |
CN116049644A (zh) | 特征筛选和聚类分箱方法、装置、电子设备及存储介质 | |
CN114880635A (zh) | 集成提升树构建的模型的用户安全等级识别方法、系统、电子设备及介质 | |
CN114912628A (zh) | 特征选择方法、装置、电子设备及计算机可读存储介质 | |
Martin et al. | A business intelligence framework for business performance using data mining techniques | |
CN109359197B (zh) | 一种税费种类认证方法、装置和计算机可读存储介质 | |
CN113971282A (zh) | 一种基于ai模型的恶意应用程序检测方法及设备 |
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 |