中国科学院大学学报  2024, Vol. 41 Issue (6): 842-852   PDF    
基于网络环境的漏洞可利用性评估方法
郑敬华, 开少锋, 施凡     
国防科技大学电子对抗学院, 合肥 230037
摘要: 通用漏洞评分系统是目前应用最为广泛的漏洞评估方法,但其评估结果偏向于漏洞本身的危害性,而未考虑网络环境因素。针对上述问题,提出一种面向网络环境的漏洞可利用性评估方法,基于群体专家经验,利用统计学方法选择漏洞属性,构建漏洞可利用性评估指标体系。同时,结合网络环境属性,基于最近邻算法对漏洞可利用性进行评估。该方法能对已知和未知漏洞进行精准的智能化评估,既融合了网络环境对漏洞可利用性的影响,又降低了专家经验的依赖程度。最后通过实验验证了该方法的有效性。
关键词: 网络安全    漏洞评估    可利用性    指标约简    机器学习    
Vulnerability exploitability assessment method based on network environment
ZHENG Jinghua, KAI Shaofeng, SHI Fan     
College of Electronic Engineering, National University of Defense Technology, Hefei 230037, China
Abstract: The common vulnerability scoring system is the most widely used vulnerability evaluation method, but its evaluation results tend to be the harmfulness of the vulnerability itself, ignoring the network environment factors. In view of the above problems, we propose a network environment-oriented vulnerability exploitability assessment method. Based on the experience of group experts, using statistical methods to select vulnerability attributes, the vulnerability exploitability assessment metric system is constructed. And combined with the target environment attributes, this method can evaluate the vulnerability exploitability based on the K-nearest neighbor (KNN) algorithm. This method performs accurate and intelligent assessment of known and unknown vulnerabilities, integrating the impact of the target environment and reducing the reliance on expert experience. At last, we validate the method through experiments. Our method provides a scientific decision-making basis for network security protection measures.
Keywords: cybersecurity    vulnerability assessment    exploitability    metric parsimony    machine learning    

当前,随着军事技术的发展,战场空间不断向新兴领域扩展,作战域从传统的陆地、海洋和空中拓展到太空、电磁频谱空间以及网络空间。网络空间逐渐成为21世纪大国较量的新兴战场,但其瞬息万变的战场态势, 区别于传统火力作战的新型武器装备, 远超传统作战域的目标范畴, 具有高度级联性的作战效果, 都对网络空间作战指挥控制提出了更高的要求。而高价值漏洞作为网络空间作战武器的重要组成部分,对网络空间作战指挥控制起着关键作用。

2010年的“震网”病毒专门用于攻击现实世界中的基础能源设施,同时可以实现自动感染和传播,最终神不知鬼不觉地控制并破坏了伊朗核设施离心机设备。震网病毒充分展示了恶意软件在网络攻击中的巨大杀伤力,而其中至少使用了5个环环相扣的漏洞。

漏洞是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,利用漏洞可以使攻击者能够在未授权的情况下访问或破坏系统。攻击者一旦发现并利用某些关键产品中存在的重大安全漏洞,将会对企业甚至社会的信息安全造成严重危害。漏洞不仅数量巨大,而且不断增涨,据中国国家信息安全漏洞库(CNNVD)统计,近3年,每年新出现的网络安全漏洞数量均超过14 000个。在漏洞数量快速增多的同时,对漏洞的评估需求也更加迫切。

为了能够更加高效、准确、客观地评估漏洞,认清漏洞在网络环境中产生的真实危害,首先需要对漏洞的可利用性进行评估,这对于网络安全管理来说有着非常重要的意义。虽然,漏洞评估研究中已有一些相对成熟的漏洞定量评估体系或模型,比如广泛使用的通用漏洞评分系统(common vulnerability scoring system,CVSS)及一些以CVSS为基础的相关研究。但CVSS和一些以其为基础的漏洞评估方法存在以下3类问题:1)过多依赖专家主观因素[1];2)无法预测未知漏洞;3)忽略了网络环境因素[2-3]。因此它们难以反映漏洞在具体场景中的可利用性。

本文提出一种面向网络环境的漏洞可利用性评估方法。该方法基于群体专家经验[4],利用统计学方法选择漏洞属性,并基于最近邻(k-nearest neighbor, KNN)算法[5-6],结合网络环境属性对漏洞可利用性进行评估。该方法对已知和未知漏洞进行精准评估,为网络安全制定有效决策提供科学依据。总体来说本文主要有以下3点贡献:

1) 提出以网络环境为重点的漏洞可利用性评估指标体系;

2) 弥补了CVSS对漏洞可利用性评估不准的问题;

3) 探索了使用机器学习的方法改进传统漏洞评估方法的新方式。

1 相关工作 1.1 相关标准

CVSS是一个开放的框架,用于描述软件漏洞的特征和严重程度,它是安全内容自动化协议的一部分。CVSS自发布以来共历经了1.0、2.0、3.0、3.1等4个版本的更新,目前3.1版是CVSS的最新版本。本文以CVSS 3.1标准为例进行介绍。

CVSS包含3个指标组:基本指标组(base metric group)、时间指标组(temporal metric group)和环境指标组(environmental metric group)。基本指标组代表一个漏洞在不同时间和不同用户环境中的内在特征,时间指标组反映漏洞随时间变化的特征,环境指标组表示漏洞在用户环境中特有的特征。

基本指标产生一个0~10的分数,这个分数通常由维护产品的组织产生,或者由第三方人员评出,然后可以通过对时间和环境指标进行评分来修改该分数。基本指标分数根据漏洞的内在特征反映其严重性,这些特征随时间变化是恒定的,并假设在不同的部署环境中存在合理的最坏影响。时间指标根据随时间变化的因素(如漏洞代码的可用性)调整漏洞的基本严重性。环境指标根据特定的环境调整时间严重性。

1.2 相关研究

目前针对漏洞评估的研究一般会结合评估的具体场景和需求,从指标层面和方法层面进行研究或者综合二者的优势。这些研究多以改进现有指标体系为主,也有的研究立足于改进权重计算方式。改进指标体系的研究通常通过分析现有体系的不足,而后提出相应的指标进行补充。王秋艳和张玉清[7]认为CVSS 1.0和2.0的指标体系中没有安全机构和生产厂商所特有的评估指标以及度量标准,具有很大主观性等问题,对基本指标组和时间指标组增加了相应的指标并赋予了相应权值,提出CVRS的漏洞评估方法。温涛[8]指出CVSS 2.0在指标分散性和客观性、指标取值内容、危害值分布范围等方面存在问题,指出指标取值内容应满足的条件,对CVSS 2.0进行了基于主成分分析法的相应修改,提出CVSS-PCA危害性评估系统。贾炜等[9]通过攻击图节点的介数和节点连通度相结合的方法对攻击图的节点关键程度进行量化分析,以判断对网络安全产生关键影响的脆弱性,从而实现脆弱性评估。以上漏洞评估研究多从指标角度考虑评估任务,对漏洞可利用性考虑较少。

漏洞可利用性是指漏洞被攻击者利用的可能性,是漏洞的固有属性。漏洞可利用性评估是网络安全领域中漏洞检测分析的一项重要指标。

当前,针对漏洞可利用性评估的研究主要有2种思路。

一是模拟真实环境,生成攻击者可能的攻击路径,通过预测攻击发生的概率评估漏洞的可利用性。Ammann等[10]基于网络攻击总是想要获取更高的系统权限,从而不会再次向已获得权限的漏洞发起攻击的假设,设计了一个简洁、可伸缩的基于图的编码攻击树,从而确定最小攻击链,并基于此对漏洞展开分析。Dawkins和Hale[11]将捕获的系统和攻击者重要特征通过攻击树和攻击链进行表征,将漏洞可利用性大小与攻击者攻击目标成功的可能性大小相关联。陆余良和夏阳[12]利用层次分析法对主机漏洞可利用性进行量化融合,结合主机漏洞存在性进行建模,从而对主机的安全性进行评估。Kalogeraki等[13]提出一种攻击模拟和证据链生成模型,可计算与特定的、已确认的安全事件相关的所有可能的攻击路径。该模型通过模拟实验考虑各种攻击模式估计攻击者如何在组织内部移动以执行入侵。

二是对单个漏洞的可利用性进行评估,此方法主要通过选取漏洞评估指标值完成评估。当前主流漏洞库多采用此种评估方法,较为出名的方法有CVSS[14-16],部分研究也基于此方法进行了一定的改进。雷柯楠等[17]通过分析漏洞数据,得出漏洞类型也是影响漏洞可利用性的重要指标,并使用层次分析法优化CVSS评估方法,得到新的评估方法EOVSS。Liu等[18]揭示出不同漏洞评级系统之间的差异,并对其进行改进,结合定量评估和定性评估的优势,提出VRSS的评估方法。Keskin等[19]指出CVSS未将基本指标、时间指标、环境指标进行整合的不足,提出考虑易受攻击资产、其他资产和业务流程之间的功能依赖性等指标评估漏洞的方法。

当前也有使用机器学习等方法进行漏洞可利用性评估,一部分学者自己归纳漏洞特征,然后使用决策树、SVM等机器学习方法进行分类,一部分学者使用深度学习方法自动提取漏洞特征进行漏洞评估。Yin等[20]提出一种新的连续批量学习算法,以解决可利用性预测中存在的概念漂移和动态类不平衡问题。该算法将神经网络、SVM、HoeffdingTree和Logistic回归(LR)在内的分类器的整体性能提高3%以上。Lyu等[21]提出一种采用字符级卷积神经网络从漏洞描述中提取更多细粒度的字符级特征进行漏洞可利用性预测的方法。同时在漏洞可利用性确定过程中,重点分析了脆弱性特征的影响,如保密性影响、完整性影响、攻击向量等。Bhatt等[22]指出漏洞严重性、漏洞类型、不同的软件配置和漏洞评分,是判断漏洞利用的重要特征,并根据漏洞攻击历史,使用不同的机器学习方法对漏洞进行分类。Yin等[23]提出一个名为ExBERT的框架来准确预测漏洞是否会被利用。ExBERT本质上是一种改进的双向编码器表示,在微调的BERT模型的基础上设计了一个池化层和一个分类层,以提取句子级语义特征并预测漏洞的可利用性。Fang等[24]提出一个基于fastText和LightGBM算法的漏洞预测模型fastEmbed。该模型能够提高漏洞可利用性的描述能力,并能有效地预测野生环境中的漏洞利用。

以上研究多从方法层面改进评估过程,很少研究漏洞所处网络环境对漏洞可利用性的影响,本文通过调研,选取相关网络环境因素作为漏洞可利用性评估指标,同时使用KNN算法构建漏洞可利用性评估模型。

2 研究方法

本文研究方法主要分为指标体系建立、样本生成、模型选择以及漏洞可利用性评估4部分,具体方案如图 1所示。

Download:
图 1 整体研究方案 Fig. 1 Overall research plan
2.1 漏洞可利用性评估指标体系

本文从前期调研网络安全漏洞的基本属性、自然属性、资产属性、业务属性等10个维度的57个属性中,利用专家经验以及统计学方法进行维度约简,删除冗余属性,降低样本空间[25],最终确定包含6个维度15个指标的漏洞评估指标体系。在属性选择过程中解决了如何利用专家经验进行目标漏洞属性选择以及如何保证客观性和正确性问题。

2.1.1 漏洞本身属性

本研究认为调研的57个漏洞属性具有广泛的代表性,因此使用前期调研的57个属性作为漏洞特征。

57个漏洞属性中,有很多属性与漏洞可利用性存在关联性不高的情况,对最终评估结果的影响可以忽略。所以,首先进行一定的特征筛选,去除与漏洞可利用性无关或相关性低的属性。同时为解决人工打分存在主观性的问题,采取基于群体专家打分的方式,通过统计学方法,去除极端分值,以统计结果反映群体的认知特征,从而相对客观地反映漏洞属性的重要程度。即利用群体特征的相对稳定性,消减个体的随机性和偶然性。

本研究共组织24名在网络安全领域业内有多年实践经验的专家进行打分,具体包括网络安全理论研究人员、安全技术开发人员、具有攻防对战比赛经验的技术人员以及安全领域的硕士及以上研究生。由安全专家根据漏洞可利用性评估的要求对57个漏洞属性的可利用性评估价值进行打分。

为保证打分的客观性,首先安排每名专家对所有57个属性逐一进行评估打分,分值范围为0~5分。分数越高表明漏洞属性的可利用性评估价值越高,这样每个属性可得到24个评估分数。

在得到分值后,利用统计学方法去除最值,再进行平均值统计。同时,计算多种去除比例的方差进行对比评估,发现去除最高的1/6位和最低的1/6后,整体方差保持相对稳定,在10%的偏差范围内浮动。所以最终选择1/6的比例,再对剩余的2/3取平均值。

根据打分情况,从中选择得分最高且方差不超过1的5个维度的20个属性。整理发现,利用属性维度的指标数量偏多,进一步基于专家打分的统计结果进行筛选,使每个维度上的属性数量为1~3个,并根据可能的取值范围进行属性的选定。

表 1所示为经过专家选择以及属性约简后的能够反映漏洞可利用性的12个指标属性及相关说明。在没有大量的漏洞评估训练数据集的条件下,本文的方法能够有效降低主观因素带来的影响,在一定程度上提高了漏洞可利用性评估的可信度。

表 1 漏洞可利用性属性 Table 1 Vulnerability exploitability attributes
2.1.2 网络环境属性

网络安全领域中,对网络环境信息的了解程度,会显著影响对漏洞可利用性的判断准确度。为提高漏洞可利用性评估精度,本文在网络安全漏洞本身属性的基础上融入网络环境特征。考虑到应用场景中,网络目标的防护措施、网络环境的复杂性以及网络攻击的隐蔽性等因素,本文从漏洞专门对抗能力、漏洞通用防护和一般防御意识3方面,选择安全补丁发布情况、软件防御能力和机构防护能力3个指标,来描述目标的整体防御能力。

调研发现网络环境中有许多属性会对漏洞可利用性存在影响,例如:网络拓扑结构、网络安全策略、系统配置、网络设备等。但在选取指标时,本文没有追求大而全的策略,而是遵循系统性、可行性和关联性等原则。

系统性原则是指指标体系在建立过程中必须满足层次结构的要求,能覆盖决定漏洞危害等级的主要因素且指标间需要具备一定的逻辑关系。因此,在指标选取及指标体系建立的过程中需要秉持系统选取、系统设计的原则。本文选择的3个指标从小到大涵盖了补丁层面、软件层面和机构层面,从宏观层面较为系统地涵盖了可能影响漏洞可利用性的环境因素。

可行性原则是指指标体系中的指标值应从实际出发,易于获取,便于计算,而非停留于理论分析阶段;应与现行平台功能、系统数据等相统一。虽然网络环境中有许多属性会对漏洞可利用性存在影响,但很多影响因素用于构建指标体系很容易,获取相关数值却较难。有的指标建立后只能单纯依靠专家经验选取指标值,这就为模型的应用和推广带来了困难。而本文选取的3个指标,指标值获取容易,本团队构建的网络空间资源测绘平台已初步具备测绘上述指标具体数值的能力,既可以直接给出数值也可以辅助研究人员判断指标值,客观性和应用性都更好。

关联性原则要求选取的指标应和需要评估的结果高度相关。安全补丁发布情况是指系统漏洞的更新和修复情况,如果系统漏洞及时发布补丁,那么攻击者就无法利用这些漏洞进行攻击,从而减少漏洞可利用性。软件防御能力是指系统的安全防护能力,如防火墙、入侵检测系统等,这些软件可以有效防御攻击者的攻击,从而减少漏洞可利用性。机构防护能力是指机构实施的安全控制,如安全审计、安全政策等,它们可以有效防止攻击者利用漏洞进行攻击,从而减少漏洞可利用性。

综上所述,安全补丁发布情况、软件防御能力和机构防护能力这3个指标都能够直接有效影响到漏洞的可利用性,其指标值越高,漏洞可利用性越低。相关指标介绍如表 2所示。

表 2 目标属性定义表 Table 2 Target attribute definition table

一般而言,如果有专门针对某漏洞的补丁推出,并且相关机构对漏洞进行了修补,则此漏洞是不可再利用的,所以可利用级别会显著下降。如果有相关的防御软件或机构的防护意识强,则会在一定程度上降低漏洞的可利用性。

2.2 训练样本集的建立

本文首次提出基于网络环境的漏洞可利用性评估。为保证样本空间建立的客观合理性,尤其是样本如何能够反映实际漏洞的特征,本研究将通过群体专家评判的形式,进行分析总结,并通过一定的空间缩小和维度降低的方法,将样本空间有效缩小,从而保证人工标记的样本能够合理均匀地覆盖到有效的空间范围内。

通过漏洞特征及值域选择、目标评估,建立包含6个维度15个属性的漏洞可利用性评估指标体系。根据15个指标的取值范围,整个样本空间的数量约为4 600万,向量空间要远大于现有漏洞的数量。这对于人工标记训练样本集将是巨大的工作量,同时由于有效样本在整个样本空间所占的比例只有0.5%左右,因此将严重影响机器学习算法的效率。为此,通过漏洞类型约简和属性降维2种方式降低向量空间大小,在不影响特征区分能力的前提下,将训练集从4 600万大幅降低到10万以下,缩减约3个量级,有效解决了样本不足和分布性不好的问题。

2.2.1 漏洞类型缩减

CNNVD官方文档将漏洞分为26类,但对1990—2021年共32年的208 092个漏洞数据进行分析时发现,其漏洞分类达到74种类型,各类型占比如图 2所示。如果使用机器学习进行训练,样本空间将非常大,于是首先对漏洞类型进行合并处理。主要根据以下原则进行合并:

Download:
图 2 CNNVD漏洞类型占比图 Fig. 2 Proportion of cnnvd vulnerability types

1) 根据CNNVD官方给出的漏洞分类层次树对相似分类进行合并,如将访问控制中断、访问控制错、访问控制不当全部分到访问控制错误一类;

2) 单项占比较高的(至少10%左右),单独划为一类;

3) 其余剩下样本较少的漏洞划为一类。

经过统计分析后,最终得到如表 3所示的漏洞类型取值,将原来的74类降低为现在的7类。

表 3 1990年1月至2021年7月漏洞主要分类占比 Table 3 Main categories and proportions of vulnerabilities from January 1990 to July 2021
2.2.2 漏洞特征降维

对具有高相关度的属性进行合并降维,主要包括以下3部分内容。

1) CNNVD评级与CVSS评级合并

CNNVD评级和CVSS评级是2种著名的漏洞评估体系,对漏洞进行评估会输出0.1~10分的威胁估值。由于两者都是对漏洞的评分,故对两者进行合并。合并包括2步:

① 选择两者的最大值;

② 将0.1~10分映射为4个等级,[0.1, 4.0)为低危,[4.0, 7.0)为中危,[7.0, 9.0)为高危,[9.0, 10.0]为超危。

2) 漏洞获得权限和漏洞依赖权限合并

获取权限等级和漏洞对权限的需求都是权限维度的因素,两者分别从攻防角度对漏洞利用的权限进行评估,分为高权限和低权限两类。具体合并方法为:

① 当获取权限等级为高、漏洞对权限的需求为低时,返回高权限;

② 其他情况返回低权限。

3) 平台资产数量和影响平台范围合并

两者都是用于描述漏洞对平台造成的危害,所以对两者进行合并,使用高影响或低影响两类,具体方法如下:

① 平台资产数量多且影响平台范围广时,返回高影响;

② 其他情况返回低影响。

2.3 模型选择

根据前面创建的训练样本集,如何选择合理的机器学习的模型,以达到较好的预测效果,是模型选择步骤的研究内容。本文提出通过专家经验确定属性值,然后利用机器学习,理解与学习人类的经验,并通过对相关算法的研究,设计与实现一套智能化的漏洞可利用性评估系统,并且在使用此系统的过程中,能够不断收集使用者的应用习惯,通过对历史评估结果的收集与分析,不断迭代优化分析能力,从而不断提高算法的评估精准程度和智能化水平。

本文选择相对成熟的KNN、SVM、随机森林、贝叶斯网络、逻辑回归、集成学习等机器学习算法,通过理论分析与实验验证的方式进行评估,最终选择性能最好的模型作为本研究的机器学习算法模型。

2.4 漏洞可利用性评估方法

基于漏洞基础属性和网络环境属性,利用机器学习算法创建漏洞可利用性评估模型。同时,为进一步提高评估的准确性,允许用户修改算法模型计算的评估值,并将结果反馈到样本集中,从而优化算法模型的精准度。即通过不断收集用户实际使用中产生的评估数据,将其添加到训练样本集中。随着收集数据的不断增加,用户实际的评估数据会影响评估结果,从而使模型具备不断迭代和优化的能力。

3 实验结果与分析

基于创建的漏洞评估指标体系以及训练样本集,创建基于KNN算法[26-27]的面向网络环境的漏洞可利用性评估模型,将评估结果分为5个等级,分别用1、2、3、4、5分表示,等级越高表明漏洞可利用性越大。

实验环境为Intel(R) Xeon(R) Gold 6230 CPU @ 2.10 GHz型号CPU,256 G内存,RTX 3090显卡。

3.1 模型介绍

KNN算法使用“特征相似性”预测新数据点的值,根据新数据点与训练集中点的匹配程度为新数据点分配一个值,经常用于多分类问题。KNN思路简单,易于理解和实现,且无需估计参数等。但是KNN面对样本分布不平衡问题,有可能导致当输入一个新样本时,该样本的K个邻居中大容量类的样本占多数。一般而言,为了克服降低样本不平衡对预测准确度的影响,可以对类别进行加权,例如对样本数量多的类别用较小的权重,而对样本数量少的类别,使用较大的权重。

另外,KNN计算量较大,因为对每一个待分类的文本都要计算它到全体已知样本的距离,才能求得它的K个最邻近点。本文中的学习样本已经经过空间缩小和维度降低,可以采用KNN算法实现。本文训练数据来源于专家评分,共有86 016例样本数据,数据格式如表 4所示。

表 4 数据集示例 Table 4 Dataset example
3.2 模型验证

为验证KNN模型在学习中的K值大小对实验结果的影响,本文采用训练集∶测试集=8 ∶2的设置进行实验,实验轮次设置为10次。实验结果取均值,结果如表 5所示。

表 5 K值对比实验 Table 5 K value comparison experiment
3.3 模型比较

实验中还选取其他经典的分类学习方法,包括SVM、随机森林、贝叶斯网络、逻辑回归、随机树、集成学习等算法与本文使用K=6的KNN算法进行比较,结果见表 6所示。

表 6 分类算法对比实验 Table 6 Comparative experiment of classification algorithms

实验中,对于KNN模型,发现选择K=6时,模型在验证集上的效果较好且优于其他算法。证明本文中提到的基于网络环境的网络安全漏洞可利用性评估方法是可行的。

3.4 模型优化

经上述实验分析和比较,本文采取KNN算法用于建立最终的漏洞可利用性评估模型,经过分析,模型的指标还存在一定的冗余,在牺牲部分准确度的基础上可以优化指标,以达到优化模型的效果。本文采取信息增益属性评估算法对指标的重要度进行排序,得到结果如表 7所示。

表 7 指标重要度排序 Table 7 Metrics importance ranking

根据排序结果,对指标进行排列删减,重新进行实验,实验设置K=6,剔除指标值为上表所列编号,所得部分结果如表 8图 3所示。

表 8 指标消融实验 Table 8 Metrics ablation experiment

Download:
图 3 评估指标走势图 Fig. 3 Trend chart of evaluation metrics

通过相关消融实验结果可知: 剔除1个指标时,剔除访问路径指标较为合适,准确率降低最少; 剔除2个指标时,剔除访问路径、漏洞类型等指标较为合适,准确率降低最少; 剔除3个指标时,剔除访问路径、漏洞类型、机构防护能力等指标较为合适,准确率降低最少; 剔除4个指标时,剔除访问路径、漏洞类型、机构防护能力、软件防护能力等指标较为合适,准确率降低最少; 剔除5个指标时,剔除访问路径、漏洞类型、机构防护能力、软件防护能力、poc等指标较为合适,准确率降低最少; 剔除6个指标时,剔除访问路径、漏洞类型、机构防护能力、软件防护能力、poc、exp等指标较为合适,准确率降低最少。通过剔除部分指标,虽然模型准确率有所降低,但随着指标剔除的增多,准确率降低值将远小于指标减少量。综合考虑,本文认为指标减少4个较为合适,既可以保证90%的准确率,又将指标量压缩到原本的66.7%,通过缩减漏洞评估指标既保证了较高的准确率,又兼具了较好的操作性。

3.5 实例验证

本文选取2022年以来100个真实漏洞进行实例验证,包含CVSS低危、中危、高危、超危漏洞各25个,节选其中10个漏洞数据如表 9所示。

表 9 真实漏洞数据 Table 9 Real vulnerability data

对上述100个真实漏洞数据使用预测模型进行预测,准确率达到92%, 同时将真实漏洞使用此模型评估得出的结果与CVSS评估结果进行比较,结果见表 10。结果显示部分CVSS评分结果较低的漏洞,因为存在的网络环境较为理想,在此模型中获得了较高的评级,如CVE-2022-23996。而一些CVSS评分较高的漏洞,因为存在的网络环境较为安全,难以被利用,在此模型获得了较低的评级,如CVE-2022-22951。此实例验证说明CVSS基本评分考虑的角度是漏洞对单台主机的影响,没有结合漏洞所存在的网络环境加以考虑,同时也证明了本模型的有效性、合理性。

表 10 评估结果对比 Table 10 Comparison with CVSS evaluation results
4 结语

本文在广泛调研的基础上,基于专家打分后的统计结果,筛选排名靠前的12个指标作为漏洞本身的评估依据,又根据网络环境的防护情况,确立3个指标对网络环境进行评估,从而建立了6个维度15个指标的漏洞可利用性评估指标体系。然后通过对指标向量空间进行合理缩减,结合人工标记,创建适用于本文专用的训练样本集。利用建立好的样本,使用多种常见的机器学习模型进行漏洞可利用性评估,经过分析比较,最终构建了一种面向网络环境的智能化漏洞可利用性评估模型,为网络安全领域网络防护提供了科学参考,也为漏洞评估提供了一种新的思路。

参考文献
[1]
Singh U K, Joshi C. Quantitative security risk evaluation using CVSS metrics by estimation of frequency and maturity of exploit[C]//2016 Proceedings of the World Congress on Engineering and Computer Science (WCECS). October 19-21, 2016, San Francisco, USA. Newswood Limited, 2016: 170-175.
[2]
Gallon L. On the impact of environmental metrics on CVSS scores[C]//2010 IEEE Second International Conference on Social Computing (SocialCom). September 30, 2010, Minneapolis, MN, USA. IEEE, 2010: 987-992. DOI: 10.1109/SocialCom.2010.146.
[3]
Allodi L, Biagioni S, Crispo B, et al. Estimating the assessment difficulty of CVSS environmental metrics: an experiment[C]//2017 Future Data and Security Engineering: 4th International Conference (FDSE). November 29-December 1, 2017, Ho Chi Minh City, Vietnam. Springer, 2017: 23-39. DOI: 10.1007/978-3-319-70004-5_2.
[4]
Holm H, Afridi K K. An expert-based investigation of the common vulnerability scoring system[J]. Computers & Security, 2015, 53: 18-30. Doi:10.1016/j.cose.2015.04.012
[5]
Peterson L E. K-nearest neighbor[J]. Scholarpedia, 2009, 4(2): 1883. Doi:10.4249/scholarpedia.1883
[6]
Kramer O. K-nearest neighbors[M]//Dimensionality Reduction with Unsupervised Nearest Neighbors, Berlin: Springer Berlin Heidelberg, 2013: 13-23. DOI: 10.1007/978-3-642-38652-7_2.
[7]
王秋艳, 张玉清. 一种通用漏洞评级方法[J]. 计算机工程, 2008, 34(19): 133-136, 140. Doi:10.3969/j.issn.1000-3428.2008.19.046
[8]
温涛. 安全漏洞危害评估研究暨标准漏洞库的设计与实现[D]. 西安: 西安电子科技大学, 2016.
[9]
贾炜, 冯登国, 连一峰. 基于网络中心性的计算机网络脆弱性评估方法[J]. 中国科学院研究生院学报, 2012, 29(4): 529-535. Doi:10.7523/j.issn.2095-6134.2012.4.015
[10]
Ammann P, Wijesekera D, Kaushik S. Scalable, graph-based network vulnerability analysis[C]//2002 Proceedings of the 9th ACM Conference on Computer and Communications Security (CCS). November 18-22, 2002, Washington, DC, USA. ACM, 2002: 217-224. DOI: 10.1145/586110.586140.
[11]
Dawkins J, Hale J. A systematic approach to multi-stage network attack analysis[C]//2004 Second IEEE International Information Assurance Workshop (IWIA). August 24, 2004, Charlotte, NC, USA. IEEE, 2004: 48-56. DOI: 10.1109/IWIA.2004.1288037.
[12]
陆余良, 夏阳. 主机安全量化融合模型研究[J]. 计算机学报, 2005(05): 914-920. Doi:10.3321/j.issn:0254-4164.2005.05.021
[13]
Kalogeraki E M, Papastergiou S, Panayiotopoulos T. An attack simulation and evidence chains generation model for critical information infrastructures[J]. Electronics, 2022, 11(3): 404. Doi:10.3390/electronics11030404
[14]
Forum of Incident Response and Security Teams. Common vulnerability scoring system[EB/OL]. (2021-12-25)[2021/12/29]. https://www.first.org/cvss/.
[15]
Schiffman M, Wright A, Ahmad D, et al. The common vulnerability scoring system[R]. National Infrastructure Advisory Council, Vulnerability Disclosure Working Group, Vulnerability Scoring Subgroup, 2004: 2-20.
[16]
Mell P, Scarfone K, Romanosky S. Common vulnerability scoring system[J]. IEEE Security & Privacy, 2006, 4(6): 85-89. Doi:10.1109/MSP.2006.145
[17]
雷柯楠, 张玉清, 吴晨思, 等. 基于漏洞类型的漏洞可利用性量化评估系统[J]. 计算机研究与发展, 2017, 54(10): 2296-2309. Doi:10.7544/issn1000-1239.2017.20170457
[18]
Liu Q X, Zhang Y Q, Kong Y, et al. Improving VRSS-based vulnerability prioritization using analytic hierarchy process[J]. Journal of Systems and Software, 2012, 85(8): 1699-1708. Doi:10.1016/j.jss.2012.03.057
[19]
Keskin O, Gannon N, Lopez B, et al. Scoring cyber vulnerabilities based on their impact on organizational goals[C]//2021 Systems and Information Engineering Design Symposium (SIEDS). April 29-30, 2021, Charlottesville, VA, USA. IEEE, 2021: 1-6. DOI: 10.1109/SIEDS52267.2021.9483741.
[20]
Yin J, Tang M J, Cao J L, et al. A real-time dynamic concept adaptive learning algorithm for exploitability prediction[J]. Neurocomputing, 2022, 472: 252-265. Doi:10.1016/j.neucom.2021.01.144
[21]
Lyu J H, Bai Y D, Xing Z C, et al. A character-level convolutional neural network for predicting exploitability of vulnerability[C]//2021 International Symposium on Theoretical Aspects of Software Engineering (TASE). August 25-27, 2021, Shanghai, China. IEEE, 2021: 119-126. DOI: 10.1109/TASE52547.2021.00014.
[22]
Bhatt N, Anand A, Yadavalli V S S. Exploitability prediction of software vulnerabilities[J]. Quality and Reliability Engineering International, 2021, 37(2): 648-663. Doi:10.1002/qre.2754
[23]
Yin J, Tang M J, Cao J L, et al. Apply transfer learning to cybersecurity: predicting exploitability of vulnerabilities by description[J]. Knowledge-Based Systems, 2020, 210: 106529. Doi:10.1016/j.knosys.2020.106529
[24]
Fang Y, Liu Y C, Huang C, et al. FastEmbed: predicting vulnerability exploitation possibility based on ensemble machine learning algorithm[J]. PLoS One, 2020, 15(2): e0228439. Doi:10.1371/journal.pone.0228439
[25]
孙宇祥, 周献中, 戴迪. 基于属性约简与BP神经网络的舰艇目标威胁评估方法[J]. 指挥与控制学报, 2021, 7(4): 397-402. Doi:10.3969/j.issn.2096-0204.2021.04.0397
[26]
毋雪雁, 王水花, 张煜东. K最近邻算法理论与应用综述[J]. 计算机工程与应用, 2017, 53(21): 1-7. Doi:10.3778/j.issn.1002-8331.1707-0202
[27]
张庆国, 张宏伟, 张君玉. 一种基于k最近邻的快速文本分类方法[J]. 中国科学院研究生院学报, 2005, 22(5): 554-559. Doi:10.7523/j.issn.2095-6134.2005.5.004