CN115225336B - 一种面向网络环境的漏洞可利用性的计算方法及装置 - Google Patents
一种面向网络环境的漏洞可利用性的计算方法及装置 Download PDFInfo
- Publication number
- CN115225336B CN115225336B CN202210722916.2A CN202210722916A CN115225336B CN 115225336 B CN115225336 B CN 115225336B CN 202210722916 A CN202210722916 A CN 202210722916A CN 115225336 B CN115225336 B CN 115225336B
- Authority
- CN
- China
- Prior art keywords
- vulnerability
- attribute
- sample data
- sample
- permission
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1433—Vulnerability analysis
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种面向网络环境的漏洞可利用性的计算方法及装置,涉及互联网安全领域,所述方法包括:获取漏洞的历史数据,确定计算所述漏洞可利用性的第一属性集及第二属性集;构建第一样本数据集,并对所述第一样本数据集中的样本数据进行降维,获取所述降维后的第一样本数据集的子集,对所述子集进行人工标注;将所述降维后的第一样本数据集输入生成对抗网络,以对所述降维后的第一样本数据集中未进行人工标注的样本数据进行标注;人工标注及所述生成对抗网络标注的样本组成第二样本数据集;由第二样本数据集训练决策树模型,所述决策树模型用于计算漏洞可利用性;得到所述待计算漏洞的漏洞可利用性的结果数据。
Description
技术领域
本发明涉及互联网安全领域,尤其涉及一种面向网络环境的漏洞可利用性的计算方法及装置。
背景技术
漏洞可利用性是指漏洞被攻击者利用的可能性,是漏洞的固有属性。漏洞可利用性计算是网络安全领域中网络安全漏洞检测分析的一项重要内容。当前的研究主要有两种思路,一是模拟真实环境,二是对单个漏洞的可利用性进行计算。模拟真实环境,是生成攻击者可能的攻击路径,通过预测攻击发生的概率来评估漏洞的可利用性。Ammann等人基于网络攻击总是想要获取更高的系统权限,从而不会再次向已获得权限的漏洞发起攻击的假设,设计了一个简洁、可伸缩的基于图的编码攻击树,从而确定最小攻击链,并基于此对漏洞展开分析。Dawkins J等人将捕获的系统和攻击者重要特征通过攻击树和攻击链进行表征,将漏洞可利用性大小与攻击者攻击目标成功的可能性大小相关联。陆余良等人利用层次分析法对主机漏洞可利用性进行量化融合,结合主机漏洞存在性进行建模,从而对主机的安全性进行评估。对单个漏洞的可利用性进行计算,主要通过选取漏洞评估属性来完成计算。当前主流漏洞库多采用此种方法,较为出名的方法有CVSS,部分研究也基于此方法进行了一定的改进。雷柯楠等人通过分析漏洞数据得出漏洞类型也是影响漏洞可利用性的重要参考依据,并使用层次分析法优化了CVSS评估方法,得到了新的评估方法EOVSS。Liu Q等人揭示出不同漏洞评级系统之间的差异,并对其进行改进,结合了定量评估和定性计算的优势,提出了VRSS的评估方法。
综上所述,针对日益复杂的网络安全形势,开展以漏洞特征和网络环境为核心的网络安全漏洞可利用性计算,是信息安全工作的迫切而客观的基本要求。主流的漏洞评估体系通常采用以漏洞是否可以利用为导向的定量计算的方法,从而给出漏洞本身的可利用程度,作为安全评估中的重要依据,目前也有使用机器学习等方法对漏洞可利用性进行评估。解决方案如下:
(1)量化评估方法。使用量化评估方法对漏洞进行可利用性分析通常会先进行属性体系的建立,这些属性通常使用专家打分等方式选取符合要求的属性,而后对相关属性赋值,最后使用相关公式对漏洞的可利用性进行计算量化,常见的方式有CVSS(CommonVulnerability Scoring System,通用漏洞评分系统)、CWSS(Common Weakness ScoringSystem,通用弱点评分系统)等。
(2)机器学习方法。机器学习是一门多学科理论融合的技术。机器学习相关算法可以在大量数据中发现漏洞共有的特征,从而形成基于机器学习的模型,这些模型一般只有有限的输入,避免了人工打分时需要大量选择特征输入的局面。且基于机器学习形成的模型可以随着数据样本的变化而优化,也可以随着任务和评估需求的变化去调整参数,进而让模型适应任务,此类模型在扩展性和易用性方面存在优势。当前针对漏洞评估的机器学习研究既有基于传统机器学习的方法,如k-means、决策树、SVM等,也有基于BP神经网络或深度学习的方法,或是使用NLP(自然语言处理)相关技术去分析相关的漏洞描述信息。
但目前的漏洞可利用性的计算方法存在以下三类问题:1)过多依赖主观因素;2)无法预测未知漏洞;3)忽略了具体环境因素,难以反映漏洞在具体场景中的可利用性,因此难以反映漏洞在实际渗透测试中的决策能力。
发明内容
为解决上述技术问题,本发明提出了一种面向网络环境的漏洞可利用性的计算方法及装置,用以解决现有技术中漏洞可利用性的计算过多依赖主观因素、无法预测未知漏洞、以及忽略了具体环境因素的技术问题。
根据本发明的第一方面,提供一种面向网络环境的漏洞可利用性的计算方法,所述方法包括以下步骤:
步骤S1:获取漏洞的历史数据,确定计算所述漏洞可利用性的第一属性集;所述第一属性集中的属性用于表征漏洞历史数据的特性,是漏洞的抽象描述;
步骤S2:基于网络环境,确定计算所述漏洞可利用性的第二属性集,所述第二属性集中的属性用于表征漏洞所处环境的特性;其中,所述环境是指漏洞所处的网络环境;
步骤S3:基于所述第一属性集及所述第二属性集,构建第一样本数据集,并对所述第一样本数据集中的样本数据进行降维,得到降维后的第一样本数据集;获取所述降维后的第一样本数据集的子集,对所述子集进行人工标注;
步骤S4:将所述降维后的第一样本数据集输入生成对抗网络,以对所述降维后的第一样本数据集中未进行人工标注的样本数据进行标注;将所述人工标注的子集及所述生成对抗网络中标注的样本数据组成第二样本数据集;
步骤S5:将所述第二样本数据集输入决策树模型,对所述决策树模型进行训练,得到训练后的决策树模型,所述训练后的决策树模型用于计算漏洞可利用性;
步骤S6:获取待计算漏洞对应的漏洞数据,基于所述第一属性集和所述第二属性集中的属性,提取所述漏洞数据的属性数据,对所述属性数据降维后,输入所述训练后的决策树模型,得到所述待计算漏洞的漏洞可利用性结果数据。
优选地,所述第一属性集包括十二个属性,分别是漏洞类型、获取权限等级、漏洞综合评级、影响目标资产价值、被利用成本、EXP、漏洞对权限的需求、访问路径、影响平台范围、影响资产数量、0Day和隐蔽性;其中,漏洞类型是指所述漏洞的类型;获取权限等级是指利用所述漏洞能够获得到的权限;漏洞综合评级是指所述漏洞的严重等级;影响目标资产价值是利用该漏洞对目标进行攻击时,所述目标的资产价值;被利用成本是指利用该漏洞对目标进行攻击时,攻击方所需要投入的成本;EXP是指所述漏洞是否有EXP脚本;漏洞对权限的需求是利用该漏洞对目标进行攻击时,需要具备在网络环境上的权限;访问路径是利用该漏洞进行攻击时的访问路径;影响平台范围是该漏洞存在的范围;影响资产数量是指具有该漏洞的网络资产的全网数量;0Day是指没有公开过,因而也没有补丁的漏洞;隐蔽性是指利用该漏洞进行攻击时,是否能够对攻击方进行隐藏。
优选地,所述第二属性集包括三个属性,分别是安全补丁发布情况、软件防御能力和机构防护能力;安全补丁发布情况是指是否有官方补丁或者第三方补丁发布;软件防御能力是指利用所述漏洞的攻击方所要攻击的目标是否具有安全防护措施;所述机构防护能力是指利用所述漏洞的攻击方所要攻击的目标的运维机构的防护能力。
优选地,所述步骤S3,所述基于所述第一属性集及所述第二属性集,构建第一样本数据集,并对所述第一样本数据集中的样本数据进行降维,得到降维后的第一样本数据集,包括:
步骤S31:样本空间中的全部样本数据构成了所述第一样本数据集,所述样本空间包括基于漏洞库获取的、经过预处理的由全体历史数据形成的样本;
步骤S32:获取所述样本空间中各样本的漏洞类型,基于漏洞类型之间的相似性,合并漏洞类型,合并规则为:
获取所述样本空间中各样本的漏洞类型属性对应的属性值;将样本量占全部样本比率高于预设阈值的属性值作为单独的一类;对于其他属性值,根据属性值的相似程度,建立树结构,每个节点用于存储一个属性值,对同一分支的属性值进行合并;
步骤S33:获取所述样本空间中各样本,按以下规则进行降维:
将样本的获取权限等级、漏洞对权限的需求两个属性进行合并,合并后的属性值的确定方式为:
若漏洞被利用后获取的权限等级为高权限,且漏洞对权限需求为低权限,则合并后的属性值为高权限;否则,合并后的属性值为低权限;其中,获取的权限等级的属性值包括高权限、低权限,漏洞对权限需求的属性值包括高权限、低权限;高权限、低权限均是相对于目标设备运行时所需的权限比较确定的;
将样本的影响平台范围、影响资产数量两个属性进行合并,合并后的属性值的确定方式为:
若影响资产数量高于第二预设阈值,且影响平台范围大于第三预设阈值,则合并后的属性值为高影响;否则,合并后的属性值为低影响。
优选地,所述生成对抗网络的训练方法包括:
步骤S41:初始化判别器D的参数和生成器G的参数;
步骤S42:从所述第一样本数据集中随机采样m个样本,从正态分布中采样m个噪声样本,将采样的所述m个样本和所述m个噪声样本一并输入生成器,通过生成器输出生成的样本;将所述第一样本数据集中的真实样本和所述生成的样本输入判别器,固定生成器G,训练判别器D;
步骤S43:若所述判别器D误差大于或等于第四预设阈值,进入步骤S42;否则,进入步骤S44;
步骤S44:设置学习率,固定所述判别器D,训练所述生成器G;
步骤S45:若所述生成器G误差大于或等于第五预设阈值,进入步骤S44;否则,生成器G训练完毕。
根据本发明第二方面,提供一种面向网络环境的漏洞可利用性的计算装置,所述装置包括:
第一属性集获取模块:配置为获取漏洞的历史数据,确定计算所述漏洞可利用性的第一属性集;所述第一属性集中的属性用于表征漏洞历史数据的特性,是漏洞的抽象描述;
第二属性集获取模块:配置为基于网络环境,确定计算所述漏洞可利用性的第二属性集,所述第二属性集中的属性用于表征漏洞所处环境的特性;其中,所述环境是指漏洞所处的网络环境;
降维模块:配置为基于所述第一属性集及所述第二属性集,构建第一样本数据集,并对所述第一样本数据集中的样本数据进行降维,得到降维后的第一样本数据集;获取所述降维后的第一样本数据集的子集,对所述子集进行人工标注;
标注模块:配置为将所述降维后的第一样本数据集输入生成对抗网络,以对所述降维后的第一样本数据集中未进行人工标注的样本数据进行标注;将所述人工标注的子集及所述生成对抗网络中标注的样本数据组成第二样本数据集;
训练模块:配置为将所述第二样本数据集输入决策树模型,对所述决策树模型进行训练,得到训练后的决策树模型,所述训练后的决策树模型用于计算漏洞可利用性将所述第二样本数据集输入决策树模型,对所述决策树模型进行训练,得到训练后的决策树模型,所述训练后的决策树模型用于计算漏洞可利用性;
计算模块:配置为获取待计算漏洞对应的漏洞数据,基于所述第一属性集和所述第二属性集中的属性,提取所述漏洞数据的属性数据,对所述属性数据降维后,输入所述训练后的决策树模型,得到所述待计算漏洞的漏洞可利用性结果数据。
根据本发明第三方面,提供一种面向网络环境的漏洞可利用性的计算系统,包括:
处理器,用于执行多条指令;
存储器,用于存储多条指令;
其中,所述多条指令,用于由所述存储器存储,并由所述处理器加载并执行如前所述的方法。
根据本发明第四方面,提供一种计算机可读存储介质,所述存储介质中存储有多条指令;所述多条指令,用于由处理器加载并执行如前所述的方法。
根据本发明的上述方案,本发明公开了一种面向网络环境的漏洞可利用性智能化评估方法,该方法基于历史数据及专家评估,结合网络环境,确定漏洞属性,再由人工标注部分样本,基于人工标注的部分样本,利用对抗网络生成部分样本,以此来扩大训练样本,再基于决策树,对漏洞可利用性进行计算,该方法对已知和未知的漏洞进行精准的计算,为网络安全制定有效决策提供科学依据。使用决策树(Decision Tree)算法建立漏洞可利用性预测模型。其中,决策树是一种监督学习技术,可用于分类和回归问题,但大多数情况下,它是解决分类问题的有效选择。它是一个树结构分类器,其中内部节点表示数据集的特征,分支表示决策规则,每个叶节点表示结果。能够解决现有分析方法不准确、复杂度高、难以扩展的问题。本发明所述方法对已知和未知的漏洞进行精准的智能化评估,既融合了网络环境对漏洞可利用性的影响,同时降低了专家经验的依赖程度。具体实现如下效果:(1)利用所述方法,可以科学地确定一套漏洞可利用性计算属性;(2)利用所述方法,可以实现已知和未知漏洞的可利用性计算;(3)利用所述方法,可以降低对专家经验的依赖,提高评估准确度;(4)利用所述方法,可以实现基于用户计算结果来优化模型的评估能力。本发明能够基于给定的漏洞信息,快速分析漏洞的可利用性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明提供如下附图进行说明。在附图中:
图1为本发明一个实施方式的面向网络环境的漏洞可利用性的计算方法流程图;
图2为本发明一个实施方式的面向网络环境的漏洞可利用性的计算架构示意图;
图3为本发明一个实施方式的面向网络环境的漏洞可利用性的计算装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明具体实施例及相应的附图对本发明技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先结合图1-2说明为本发明一个实施方式的面向网络环境的漏洞可利用性的计算方法流程。如图1-2所示,其中,漏洞可利用性是指漏洞被攻击者利用的可能性,所述方法包括以下步骤:
步骤S1:获取漏洞的历史数据,确定计算所述漏洞可利用性的第一属性集;所述第一属性集中的属性用于表征漏洞历史数据的特性,是漏洞的抽象描述;
步骤S2:基于网络环境,确定计算所述漏洞可利用性的第二属性集,所述第二属性集中的属性用于表征漏洞所处环境的特性;其中,所述环境是指漏洞所处的网络环境;
步骤S3:基于所述第一属性集及所述第二属性集,构建第一样本数据集,并对所述第一样本数据集中的样本数据进行降维,得到降维后的第一样本数据集;获取所述降维后的第一样本数据集的子集,对所述子集进行人工标注;
步骤S4:将所述降维后的第一样本数据集输入生成对抗网络,以对所述降维后的第一样本数据集中未进行人工标注的样本数据进行标注;将所述人工标注的子集及所述生成对抗网络中标注的样本数据组成第二样本数据集;
步骤S5:将所述第二样本数据集输入决策树模型,对所述决策树模型进行训练,得到训练后的决策树模型,所述训练后的决策树模型用于计算漏洞可利用性;
步骤S6:获取待计算漏洞对应的漏洞数据,基于所述第一属性集和所述第二属性集中的属性,提取所述漏洞数据的属性数据,对所述属性数据降维后,输入所述训练后的决策树模型,得到所述待计算漏洞的漏洞可利用性结果数据。
进一步地,在所述步骤S6之后,还包括步骤S7:对所述漏洞可利用性的结果数据进行评估,并将评估结果反馈给所述训练后的决策树模型,以对所述训练后的决策树模型的参数进行优化。
所述步骤S1:获取漏洞的历史数据,确定计算所述漏洞可利用性的第一属性集;所述第一属性集中的属性用于表征漏洞的特性,是漏洞的抽象描述,其中:
本实施例中,通过对CVSS3.1漏洞评估标准规范、《NVD漏洞评级规范》、《STIX2.1威胁情报规范》等的调研以及对相关部门的现场调研,将上述数据作为历史数据,综合整理了包含操作系统类型、访问路径、影响因素、时效性等57个漏洞相关的属性。从所述57个属性中,计算攻击方使用漏洞进行攻击时,使用所述漏洞的属性的频率,从中选取高于预设频率的、能够表征漏洞的特性的属性,组成第一属性集,以确认需要的机器学习的维度,同时确认所述第一属性集中每个属性的值域,并进行相应的缩减和优化。例如,所述第一属性集中包括但不限于漏洞类型、漏洞综合评级、访问路径。值域是依据此属性对漏洞可利用性的影响程度确定的,例如,分为重要、一般、不重要。
本实施例中,本发明最终选择了基础属性、风险属性等5个维度的12个属性。对网络环境进行评估主要是针对目标防御能力进行评估,选取可量化易获取的目标特征是本发明的重要内容之一。本发明最终选择了目标的安全补丁发布情况、软件防护能力及机构防护能力3个属性表示其防御能力。选取的属性如表1所示。所述第一属性集包括12个属性,分别是漏洞类型、获取权限等级、漏洞综合评级、影响目标资产价值、被利用成本、EXP、漏洞对权限的需求、访问路径、影响平台范围、影响资产数量、0Day、隐蔽性;其中,漏洞类型是指所述漏洞的类型,获取权限等级是指利用所述漏洞能够获得到的权限,漏洞综合评级是指所述漏洞的严重等级,影响目标资产价值是利用该漏洞对目标进行攻击时,所述目标的资产价值,被利用成本是指利用该漏洞对目标进行攻击时,攻击方所需要投入的成本,EXP是指所述漏洞是否有EXP脚本,漏洞对权限的需求是利用该漏洞对目标进行攻击时,需要具备在网络环境上的权限,访问路径是利用该漏洞进行攻击时的访问路径,影响平台范围是该漏洞存在的范围,影响资产数量是指具有该漏洞的网络资产(主机、路由器、防火墙、服务器等)的全网数量,0Day是指没有公开过,因而也没有补丁的漏洞,隐蔽性是指利用该漏洞进行攻击时,是否能够对攻击方进行隐藏。
表1漏洞可利用性属性说明表
所述步骤S2,其中:
采取专家评估的方式获取评估数据,结合统计学方法,去除极端分值,利用群体特征的相对稳定性,削减个体的随机性和偶然性的方式相对客观的反映漏洞可利用性的属性的重要程度。
本实施例中,专家评估的方式为组织24名网络安全领域业内专家进行打分,人员包括网络安全理论研究人员、安全技术开发人员、具有攻防对战比赛经验的技术人员以及安全领域的硕士及以上研究生,由安全专家根据漏洞可利用性评估的要求对57个漏洞属性中相关性强、客观性强、属性值易获取的属性的可利用性进行评估打分,在得到分值后,使用统计学的一般方法去除最值,进行算法平均值统计。关于去除比例问题,计算了多种比例的方差进行对比评估,发现在去除最高的1/6位和最低的1/6后,整体方差已经相对稳定性,都在10%的偏差范围内,所以最终选择了1/6的比例,再对剩余的2/3取平均值。
本实施例中,所述网络环境对应的属性包括安全补丁发布情况、软件防护能力、机构防护能力、主机连接情况、漏洞修复难度等,属性集的确定采取专家评分的方式产生,各类别人员评分权重依次为网络安全理论研究人员>安全技术开发人员>具有攻防对战比赛经验的技术人员>安全领域的硕士及以上研究生,依据各类别人员评分结合人员权重对各属性进行排名,选取靠前的三个属性加入属性集。
本实施例中,网络安全领域中,对网络环境信息的了解程度,会显著影响对漏洞可利用性的判断准确度。为提高漏洞可利用性评估精度,本发明在网络安全漏洞本身属性的基础上融入了网络环境特征。考虑到应用场景中,网络目标的防护措施、网络环境的复杂性以及网络攻击的隐蔽性等因素,本发明从漏洞专门对抗能力、漏洞通用防护和一般防御意识三方面,考虑对漏洞可利用性进行评估的属性,选择安全补丁发布情况、软件防御能力和机构防护能力三个属性,来描述目标的整体防御能力,如表2所示。所述第二属性集包括安全补丁发布情况、软件防护能力、以及机构防护能力。
表1目标属性定义表
所述步骤S3:获取第一样本数据集,基于所述第一属性集及所述第二属性集,对所述第一样本数据集中的样本数据进行降维,得到降维后的第一样本数据集;获取所述降维后的第一样本数据集的子集,对所述子集进行人工标注,其中:
所述获取第一样本数据集,基于所述第一属性集及所述第二属性集,对所述第一样本数据集中的样本数据进行降维,得到降维后的第一样本数据集,包括:
步骤S31:样本空间中的全部样本数据构成了所述第一样本数据集,所述样本空间包括基于漏洞库获取的、经过预处理的由全体历史数据形成的样本;
步骤S32:获取所述样本空间中各样本的漏洞类型,基于漏洞类型之间的相似性,合并漏洞类型,合并规则为:
获取所述样本空间中各样本的漏洞类型属性对应的属性值;将样本量占全部样本比率高于预设阈值的属性值作为单独的一类;对于其他属性值,根据属性值的相似程度,建立树结构,每个节点用于存储一个属性值,对同一分支的属性值进行合并;
步骤S33:获取所述样本空间中各样本,按以下规则进行降维:
将样本的获取权限等级、漏洞对权限的需求两个属性进行合并,合并后的属性值的确定方式为:
若漏洞被利用后获取的权限等级为高权限,且漏洞对权限需求为低权限,则合并后的属性值为高权限;否则,合并后的属性值为低权限;其中,获取的权限等级的属性值包括高权限、低权限,漏洞对权限需求的属性值包括高权限、低权限;高权限、低权限均是相对于目标设备运行时所需的权限比较确定的;
将样本的影响平台范围、影响资产数量两个属性进行合并,合并后的属性值的确定方式为:
若影响资产数量高于第二预设阈值,且影响平台范围大于第三预设阈值,则合并后的属性值为高影响;否则,合并后的属性值为低影响。
例如,高权限是指利用漏洞简单且可获得主机较高权限,低权限是指利用漏洞困难且获得主机权限较低。
本实施例中,通过漏洞特征及值域选择、目标评估,本发明建立了包含6个维度15个属性的漏洞可利用性属性。根据15个属性的取值范围,整个样本空间的数量约为4600万,向量空间大小要远大于现有的漏洞的数量。使用人工标记的方式建立样本集,工作量十分巨大,同时由于有效样本在整个样本空间所占的比例只占0.5%左右,样本量将严重影响机器学习算法的效率。因此本发明通过属性值约简和属性降维两种方式降低向量空间大小,在不影响特征区分能力的前提下,将训练集降到从4600万进行大幅降低到10万以下,缩减了约三个量级,有效解决了样本不足和分布性不好的问题。本发明中,样本集建立主要是根据本发明定义的特征维度和取值范围,生成一定量的特征向量,再通过人工标记的方式,对特征向量集的分类进行标注,但标注样本量较大,标注部分样本后,再使用生成对抗网络生成可用于模型学习的样本集。本发明最终建立了具有86016样本记录。
例如,对漏洞类型进行缩减,漏洞数据分类为26类,这样机器学习的样本空间非常大,本发明对来自CNNVD的1990-2021共32年的漏洞数据的类型进行分析,如表3所示,并根据以下原则进行合并:
①单项占较高的(至少10%左右),单独划为一类;
②对相似的占比较低(5%以下)的小类合并;
经过汇总后,最终得到如表3所示的漏洞类型取值,由原来的26类降低为现在的7类。
表2 1990.1-2021.7漏洞主要分类占比表
分类 | 数量 | 百分比 |
代码注入 | 36,676 | 22.03% |
其他代码问题 | 28,169 | 16.92% |
代码安全特征 | 23,072 | 13.86% |
未分类(未知、资料不足和空白) | 22,732 | 13.65% |
缓冲区错误 | 21,985 | 13.20% |
其他漏洞分类 | 18,565 | 11.15% |
代码输入验证 | 15,308 | 9.19% |
汇总 | 166,507 | 100% |
进一步地,对漏洞特征降维,包括:
对具有高相关度的属性进行合并,具备包括以下三部分内容:
(1)CNNVD与CVSS合并。CNNVD和CVSS是两种著名的漏洞评估体系,对漏洞进行评估会输出0.1-10分的威胁估值。由于两者都是对漏洞的评分,故对两者进行合并。合并包括两步:
①选择两者的最大值;
②将0.1-10分映射为4个等级,0.1-3.9为低危,4.0-6.9为中危,7.0-8.9为高危,9.0-10为超危。
(2)漏洞获得权限和漏洞依赖权限合并。获取权限等级和漏洞对权限的需求都是权限维度的因素,两者分别从攻和防角度对漏洞利用的权限进行评估,分为高权限和低权限两类。具体合并方法为:
①当获取权限等级为高、漏洞对权限的需求为低时,返回高权限;
②其他情况返回低权限。
(3)平台资产数量和影响平台范围合并。两者都是用于描述漏洞对平台造成的危害,所以对两者进行合并,使用高影响或低影响两类,具体方法如下:
①平台资产数量多且影响平台范围广时,返回高影响;
②其他情况返回为低影响。
所述步骤S4:将所述降维后的第一样本数据集输入生成对抗网络,以对所述降维后的第一样本数据集中未进行人工标注的样本数据进行标注,其中:
由于训练样本量较大,完全采取人工标记的方法将导致人工成本较高,本专利采取先人工标记部分典型样本,再采用生成对抗网络的方法对剩余样本进行对抗生成,并将其用于决策树的训练。
生成对抗网络(Generative Adversarial Networks,GAN)是一种算法架构,由两个神经网络组成,即判别器D和生成器G,它们相互竞争以生成新的数据,生成方法是一种无监督学习的方法,它涉及自动发现和学习给定输入数据中的结构或规律,以便模型可用于生成或输出可能从原始数据集中提取的新数据。
本实施例中,所述生成对抗网络的训练方法包括:
步骤S41:初始化判别器D的参数和生成器G的参数;
步骤S42:从所述第一样本数据集中随机采样m个样本,从正态分布中采样m个噪声样本,将采样的所述m个样本和所述m个噪声样本一并输入生成器,通过生成器输出生成的样本;将所述第一样本数据集中的真实样本和所述生成的样本输入判别器,固定生成器G,训练判别器D;
步骤S43:若所述判别器D误差大于或等于第四预设阈值,进入步骤S42;否则,进入步骤S44;
步骤S44:设置学习率,固定所述判别器D,训练所述生成器G;
步骤S45:若所述生成器G误差大于或等于第五预设阈值,进入步骤S44;否则,生成器G训练完毕。
所述步骤S5:将所述第二样本数据集输入决策树模型,对所述决策树模型进行训练,得到训练后的决策树模型,其中:
决策树分析是一种通用的预测建模工具,其应用程序跨越多个不同领域。通常,决策树是通过算法方法构建的,该算法方法标识了根据各种条件拆分数据集的方法。它是监督学习中最广泛使用和最实用的方法之一。决策树是一种非参数监督学习方法,用于分类和回归任务。目标是创建一个模型,通过学习从数据特征推断的简单决策规则来预测目标变量的值。
另外,决策规则通常采用if-then-else语句的形式。在决策树中,为了预测给定数据集的类,算法从树的根节点开始。此算法将根属性的值与记录(实际数据集)属性进行比较,并根据比较结果,跟踪分支并跳转到下一个节点。对于下一个节点,算法再次将属性值与其他子节点进行比较,并进一步移动。它继续该过程,直到到达树的叶节点。
本发明用到漏洞可利用性样本数据对模型进行训练,但样本数量大,全部采取人工标记的方式人工成本较高,采取先对部分典型样本进行人工标记,再采用生成对抗网络来学习已有典型样本的结构和内在关联,从而生成可用于训练的逼真样本。本发明中,使用决策树模型进行分析,利用所有标记好的样本进行训练,并对模型的准确率进行评估。使用机器学习模型结合漏洞攻击能力和目标属性,进行可利用性的最终判定。同时,为了进一步提高评估的准确性,在平台使用时,允许用户修改机器学习模型计算的评估值,并将结果反馈到样本集中,从而优化机器学习的精准度,也就是说,在本专利中可以通过不断收集用户实际使用中产生的评估数据,将其添加到训练样本集中,随着收集数据的不断增加,用户实际的评估数据会影响评估结果,从而具备不断迭代和优化的能力。本发明将建立的漏洞可利用性评估指标为机器学习特征,根据用户实际评估需求,将评估结果分为5个等级,分别用1、2、3、4、5五个整数表示。所有已经样本都包括15个维的特征向量和对应的由人工标记的标签。本专利基于样本数据,选择决策树模型建立相关模型,使用样本数据进行训练,同时允许用户修改机器学习模型计算的评估值,并将结果反馈到样本集中,从而优化机器学习的精准度。
进一步地,本发明提供了具体的实施例用以说明本发明的方案。
(1)漏洞基本信息
表4Polycom HDX和UC APLPolycom操作系统命令注入漏洞
表3Tripwire Email报告功能格式串处理漏洞
表4Apache Log4j代码问题漏洞
(2)漏洞样本指标赋值
表7漏洞样本指标赋值表
(3)漏洞样本可利用性评分
表8漏洞样本可利用性评分表
图3为本发明一个实施方式的面向网络环境的漏洞可利用性的计算装置的结构示意图,如图3所示。
一种面向网络环境的漏洞可利用性的计算系统,漏洞可利用性是指漏洞被攻击者利用的可能性,所述计算系统包括:
第一属性集获取模块:配置为获取漏洞的历史数据,确定计算所述漏洞可利用性的第一属性集;所述第一属性集中的属性用于表征漏洞历史数据的特性,是漏洞的抽象描述;
第二属性集获取模块:配置为基于网络环境,确定计算所述漏洞可利用性的第二属性集,所述第二属性集中的属性用于表征漏洞所处环境的特性;其中,所述环境是指漏洞所处的网络环境;
降维模块:配置为基于所述第一属性集及所述第二属性集,构建第一样本数据集,并对所述第一样本数据集中的样本数据进行降维,得到降维后的第一样本数据集;获取所述降维后的第一样本数据集的子集,对所述子集进行人工标注;
标注模块:配置为将所述降维后的第一样本数据集输入生成对抗网络,以对所述降维后的第一样本数据集中未进行人工标注的样本数据进行标注;将所述人工标注的子集及所述生成对抗网络中标注的样本数据组成第二样本数据集;
训练模块:配置为将所述第二样本数据集输入决策树模型,对所述决策树模型进行训练,得到训练后的决策树模型,所述训练后的决策树模型用于计算漏洞可利用性将所述第二样本数据集输入决策树模型,对所述决策树模型进行训练,得到训练后的决策树模型,所述训练后的决策树模型用于计算漏洞可利用性;
计算模块:配置为获取待计算漏洞对应的漏洞数据,基于所述第一属性集和所述第二属性集中的属性,提取所述漏洞数据的属性数据,对所述属性数据降维后,输入所述训练后的决策树模型,得到所述待计算漏洞的漏洞可利用性结果数据。
本发明实施例进一步给出一种面向网络环境的漏洞可利用性的计算系统,包括:
处理器,用于执行多条指令;
存储器,用于存储多条指令;
其中,所述多条指令,用于由所述存储器存储,并由所述处理器加载并执行如前所述的方法。
本发明实施例进一步给出一种计算机可读存储介质,所述存储介质中存储有多条指令;所述多条指令,用于由处理器加载并执行如前所述的方法。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,实体机服务器,或者网络云服务器等,需安装Windows或者Windows Server操作系统)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (5)
1.一种面向网络环境的漏洞可利用性的计算方法,漏洞可利用性是指漏洞被攻击者利用的可能性,其特征在于,所述计算方法包括:
步骤S1:获取漏洞的历史数据,确定计算所述漏洞可利用性的第一属性集;所述第一属性集中的属性用于表征漏洞历史数据的特性,是漏洞的抽象描述;
步骤S2:基于网络环境,确定计算所述漏洞可利用性的第二属性集,所述第二属性集中的属性用于表征漏洞所处环境的特性;其中,所述环境是指漏洞所处的网络环境;
步骤S3:基于所述第一属性集及所述第二属性集,构建第一样本数据集,并对所述第一样本数据集中的样本数据进行降维,得到降维后的第一样本数据集;获取所述降维后的第一样本数据集的子集,对所述子集进行人工标注;
步骤S4:将所述降维后的第一样本数据集输入生成对抗网络,以对所述降维后的第一样本数据集中未进行人工标注的样本数据进行标注;将所述人工标注的子集及所述生成对抗网络中标注的样本数据组成第二样本数据集;
步骤S5:将所述第二样本数据集输入决策树模型,对所述决策树模型进行训练,得到训练后的决策树模型,所述训练后的决策树模型用于计算漏洞可利用性;
步骤S6:获取待计算漏洞对应的漏洞数据,基于所述第一属性集和所述第二属性集中的属性,提取所述漏洞数据的属性数据,对所述属性数据降维后,输入所述训练后的决策树模型,得到所述待计算漏洞的漏洞可利用性结果数据;
所述步骤S3,所述基于所述第一属性集及所述第二属性集,构建第一样本数据集,并对所述第一样本数据集中的样本数据进行降维,得到降维后的第一样本数据集,包括:
步骤S31:样本空间中的全部样本数据构成了所述第一样本数据集,所述样本空间包括基于漏洞库获取后并经过预处理的由全体历史数据形成的样本;
步骤S32:获取所述样本空间中各样本的漏洞类型,基于漏洞类型之间的相似性,合并漏洞类型,合并规则为:
获取所述样本空间中各样本的漏洞类型属性对应的属性值;将样本量占全部样本比率高于预设阈值的属性值作为单独的一类;对于其他属性值,根据属性值的相似程度,建立树结构,每个节点用于存储一个属性值,对同一分支的属性值进行合并;
步骤S33:获取所述样本空间中各样本,按以下规则进行降维:
将样本的获取权限等级、漏洞对权限的需求两个属性进行合并,合并后的属性值的确定方式为:
若漏洞被利用后获取的权限等级为高权限,且漏洞对权限需求为低权限,则合并后的属性值为高权限;否则,合并后的属性值为低权限;其中,获取的权限等级的属性值包括高权限及低权限,漏洞对权限需求的属性值包括高权限、低权限;高权限及低权限均是相对于目标设备运行时所需的权限比较确定的;
将样本的影响平台范围、影响资产数量两个属性进行合并,合并后的属性值的确定方式为:
若影响资产数量高于第二预设阈值,且影响平台范围大于第三预设阈值,则合并后的属性值为高影响;否则,合并后的属性值为低影响;
所述生成对抗网络的训练方法包括:
步骤S41:初始化判别器D的参数和生成器G的参数;
步骤S42:从所述第一样本数据集中随机采样m个样本,从正态分布中采样m个噪声样本,将采样的所述m个样本和所述m个噪声样本一并输入生成器,通过生成器输出生成的样本;将所述第一样本数据集中的真实样本和所述生成的样本输入判别器,固定生成器G,训练判别器D;
步骤S43:若所述判别器D误差大于或等于第四预设阈值,进入步骤S42;否则,进入步骤S44;
步骤S44:设置学习率,固定所述判别器D,训练所述生成器G;
步骤S45:若所述生成器G误差大于或等于第五预设阈值,进入步骤S44;否则,生成器G训练完毕。
2.如权利要求1所述的计算方法,其特征在于,所述第一属性集包括十二个属性,分别是漏洞类型、获取权限等级、漏洞综合评级、影响目标资产价值、被利用成本、EXP、漏洞对权限的需求、访问路径、影响平台范围、影响资产数量、0Day和隐蔽性;其中,漏洞类型是指所述漏洞的类型;获取权限等级是指利用所述漏洞能够获得到的权限;漏洞综合评级是指所述漏洞的严重等级;影响目标资产价值是利用该漏洞对目标进行攻击时,所述目标的资产价值;被利用成本是指利用该漏洞对目标进行攻击时,攻击方所需要投入的成本;EXP是指所述漏洞是否有EXP脚本;漏洞对权限的需求是利用该漏洞对目标进行攻击时,需要具备在网络环境上的权限;访问路径是利用该漏洞进行攻击时的访问路径;影响平台范围是该漏洞存在的范围;影响资产数量是指具有该漏洞的网络资产的全网数量;0Day是指没有公开过,因而也没有补丁的漏洞;隐蔽性是指利用该漏洞进行攻击时,是否能够对攻击方进行隐藏。
3.如权利要求2所述的计算方法,其特征在于,所述第二属性集包括三个属性,分别是安全补丁发布情况、软件防御能力和机构防护能力;安全补丁发布情况是指是否有官方补丁或者第三方补丁发布;软件防御能力是指利用所述漏洞的攻击方所要攻击的目标是否具有安全防护措施;所述机构防护能力是指利用所述漏洞的攻击方所要攻击的目标的运维机构的防护能力。
4.一种面向网络环境的漏洞可利用性的计算系统,包括:
处理器,用于执行多条指令;
存储器,用于存储多条指令;
其中,所述多条指令,用于由所述存储器存储,并由所述处理器加载并执行如权利要求1-3中任一项所述的方法。
5.一种计算机可读存储介质,所述存储介质中存储有多条指令;所述多条指令,用于由处理器加载并执行如权利要求1-3中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210722916.2A CN115225336B (zh) | 2022-06-24 | 2022-06-24 | 一种面向网络环境的漏洞可利用性的计算方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210722916.2A CN115225336B (zh) | 2022-06-24 | 2022-06-24 | 一种面向网络环境的漏洞可利用性的计算方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115225336A CN115225336A (zh) | 2022-10-21 |
CN115225336B true CN115225336B (zh) | 2023-08-08 |
Family
ID=83609948
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210722916.2A Active CN115225336B (zh) | 2022-06-24 | 2022-06-24 | 一种面向网络环境的漏洞可利用性的计算方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115225336B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116070111B (zh) * | 2022-11-17 | 2023-08-04 | 北京东方通科技股份有限公司 | 一种基于ai的大数据挖掘的辅助决策方法及系统 |
CN116561767B (zh) * | 2023-05-19 | 2024-04-02 | 国家计算机网络与信息安全管理中心 | 漏洞评估方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104156403A (zh) * | 2014-07-24 | 2014-11-19 | 中国软件与技术服务股份有限公司 | 一种基于聚类的大数据常态模式提取方法及系统 |
CN110069929A (zh) * | 2019-04-18 | 2019-07-30 | 北京神州绿盟信息安全科技股份有限公司 | 漏洞处置分析方法及其分析模型的构建方法和装置 |
CN111881451A (zh) * | 2020-07-16 | 2020-11-03 | 哈尔滨工业大学(威海) | 一种工业控制系统的漏洞关联挖掘方法 |
CN113392934A (zh) * | 2021-07-09 | 2021-09-14 | 浙江工业大学 | 一种面向深度学习的偏见数据平衡方法及装置 |
CN113468539A (zh) * | 2021-06-15 | 2021-10-01 | 江苏大学 | 一种基于漏洞攻击数据库及决策树的攻击程序识别方法 |
CN114422271A (zh) * | 2022-03-28 | 2022-04-29 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备及可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11388184B2 (en) * | 2019-06-26 | 2022-07-12 | Saudi Arabian Oil Company | Network security system and method for preemptively identifying or remediating security vulnerabilities |
-
2022
- 2022-06-24 CN CN202210722916.2A patent/CN115225336B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104156403A (zh) * | 2014-07-24 | 2014-11-19 | 中国软件与技术服务股份有限公司 | 一种基于聚类的大数据常态模式提取方法及系统 |
CN110069929A (zh) * | 2019-04-18 | 2019-07-30 | 北京神州绿盟信息安全科技股份有限公司 | 漏洞处置分析方法及其分析模型的构建方法和装置 |
CN111881451A (zh) * | 2020-07-16 | 2020-11-03 | 哈尔滨工业大学(威海) | 一种工业控制系统的漏洞关联挖掘方法 |
CN113468539A (zh) * | 2021-06-15 | 2021-10-01 | 江苏大学 | 一种基于漏洞攻击数据库及决策树的攻击程序识别方法 |
CN113392934A (zh) * | 2021-07-09 | 2021-09-14 | 浙江工业大学 | 一种面向深度学习的偏见数据平衡方法及装置 |
CN114422271A (zh) * | 2022-03-28 | 2022-04-29 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备及可读存储介质 |
Non-Patent Citations (1)
Title |
---|
Shaofeng Kai, Jinghua Zheng, Fan Shi and Zhifan Lu.A CVSS-based Vulnerability Assessment Method for Reducing Scoring Error.2021 2nd International Conference on Electronics, Communications and Information Technology (CECIT).2021,全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN115225336A (zh) | 2022-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109347801B (zh) | 一种基于多源词嵌入和知识图谱的漏洞利用风险评估方法 | |
CN115225336B (zh) | 一种面向网络环境的漏洞可利用性的计算方法及装置 | |
CN112235283B (zh) | 一种基于脆弱性描述攻击图的电力工控系统网络攻击评估方法 | |
US7606784B2 (en) | Uncertainty management in a decision-making system | |
CN112311780B (zh) | 一种基于多维度攻击路径与攻击图的生成方法 | |
CN107454105B (zh) | 一种基于ahp与灰色关联的多维网络安全评估方法 | |
CN110008349A (zh) | 计算机执行的事件风险评估的方法及装置 | |
CN109918505B (zh) | 一种基于文本处理的网络安全事件可视化方法 | |
Pierro et al. | Are the gas prices oracle reliable? a case study using the ethgasstation | |
CN106600115A (zh) | 一种企业信息系统运维智能分析方法 | |
KR20190070702A (ko) | 텍스트 마이닝 기반 보안 이벤트 자동 검증 시스템 및 방법 | |
US20210201270A1 (en) | Machine learning-based change control systems | |
Kavallieratos et al. | Attack path analysis for cyber physical systems | |
CN115987544A (zh) | 一种基于威胁情报的网络安全威胁预测方法及系统 | |
CN114625406A (zh) | 应用开发管控方法、计算机设备、存储介质 | |
CN117593142A (zh) | 财务风险评估管理方法及系统 | |
CN116485185A (zh) | 基于比对数据的企业风险分析系统及方法 | |
CN114201199B (zh) | 基于信息安全大数据的防护升级方法及信息安全系统 | |
CN114579761A (zh) | 信息安全知识实体关系连接预测方法、系统及介质 | |
Weber et al. | A principled approach to the analysis of process mining algorithms | |
CN117556425B (zh) | 基于图神经网络的智能合约漏洞检测方法、系统和设备 | |
Mim et al. | Impact of Centrality on Automated Vulnerability Detection Using Convolutional Neural Network | |
KR100992157B1 (ko) | 보안 대응책 결정 방법 및 장치 | |
Wu et al. | Research on Data Mining of Network Security Hazards Based on Machine Learning Algorithms | |
Ling et al. | Graph Attention Mechanism-Based Method for Tracing APT Attacks in Power Systems |
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 |