CN112818351B - 一种面向工控系统的漏洞优先级分析方法、系统、设备及存储介质 - Google Patents

一种面向工控系统的漏洞优先级分析方法、系统、设备及存储介质 Download PDF

Info

Publication number
CN112818351B
CN112818351B CN202110061069.5A CN202110061069A CN112818351B CN 112818351 B CN112818351 B CN 112818351B CN 202110061069 A CN202110061069 A CN 202110061069A CN 112818351 B CN112818351 B CN 112818351B
Authority
CN
China
Prior art keywords
vulnerability
poc
scene
availability
similarity
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
Application number
CN202110061069.5A
Other languages
English (en)
Other versions
CN112818351A (zh
Inventor
程晟滔
王佰玲
张格�
张哲宇
王子博
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Harbin Institute of Technology Weihai
China Industrial Control Systems Cyber Emergency Response Team
Original Assignee
Harbin Institute of Technology Weihai
China Industrial Control Systems Cyber Emergency Response Team
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Harbin Institute of Technology Weihai, China Industrial Control Systems Cyber Emergency Response Team filed Critical Harbin Institute of Technology Weihai
Priority to CN202110061069.5A priority Critical patent/CN112818351B/zh
Publication of CN112818351A publication Critical patent/CN112818351A/zh
Application granted granted Critical
Publication of CN112818351B publication Critical patent/CN112818351B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及一种面向工控系统的漏洞优先级分析方法、系统、设备及存储介质,是指:通过探测扫描得到的场景与漏洞信息,结合PoC给出结合场景的漏洞可利用性度量,再基于CVSS框架,该度量值结合漏洞报告中的CVSS评分,给出漏洞的优先级评分。本发明缓解了工控系统中CVSS评分因为只考虑漏洞本身属性而导致的偏差。该系统有效地缓解了工控系统下漏洞验证的压力,并基于CVSS高效地、自动地给出了在漏洞所在场景下的漏洞优先级评分,同时提供推荐的PoC,方便进行下一步的验证。

Description

一种面向工控系统的漏洞优先级分析方法、系统、设备及存储 介质
技术领域
本发明涉及一种面向工控系统的漏洞优先级分析方法、系统、设备及存储介质,属于网络安全技术领域。
背景技术
随着物联网的发展,工业控制系统与互联网的融合程度逐渐加深,但传统工控系统的在设计时重在追求功能,对安全方面的考虑较为欠缺,导致工控系统中大量网络安全漏洞暴露于互联网中,使得工控系统网络安全事件频发。而且工控系统是与国家重要基础设施行业,比如能源、交通运输、关键制造、电力电网等行业紧密相关,一旦发生工控网络安全事件,可能造成非常严重的后果,所以及时发现并处理工控系统中存在的漏洞有着重要意义。
但工控网络与传统互联网不同,适用于传统互联网的漏洞扫描管理方法不一定适用于工控网络。工控的生产设备要求长时间连续运行,停机成本高昂,而且工控设备对扫描敏感,短时间涌现大量的探测扫描包影响工控设备之间通信的实时性,易导致出错。所以对工控系统进行漏洞扫描、验证与修复要有科学的策略。当前工控系统中的漏洞管理一般采用通用漏洞评分系统(Common Vulnerability Scoring System,CVSS)评分,以此来判断漏洞的严重程度,帮助确定所需反应的紧急度和重要度。但是要真正理解漏洞及其对系统或产品的影响,只考虑漏洞本身属性的CVSS并不够,因为CVSS评分系统本身仍在不断发展改进中,还存在很多不足,而且它所强调的是漏洞的严重性而不是风险。但是漏洞风险评估与漏洞暴露时间、利用难度、利用工具进化程度、漏洞依赖关系还有网络配置等因素相关。目前的漏洞扫描并不能体现出这些因素。而且对于漏洞扫描的结果,目前还缺乏验证漏洞可利用性的应用方法,若确定当前对该漏洞没有可利用方法,则可节省相应的资源和成本,并减小对工控网络的压力。
发明内容
针对现有技术的不足,本发明提供了一种面向工控系统的漏洞优先级分析方法;
本发明还提供了一种面向工控系统的漏洞优先级分析系统、设备及存储介质;
本发明结合了漏洞信息报告、漏洞对应的概念验证(Proof of Concept,PoC)、漏洞场景信息,来对漏洞的可利用性进行验证,并进一步分析结合场景的漏洞可利用性,最终给出漏洞在该场景下的优先级评分。
本发明可以有效地提高工控系统中漏洞有效性验证的工作效率,减少工控系统中漏洞验证压力,深度学习模型只需根据漏洞报告在就可快速地判断当前漏洞的可利用性。而且该系统能高效地给出结合场景的漏洞可利用性度量,并在此基础上计算出漏洞的优先级评分,同时给出与当前场景最匹配的PoC,方便后续的验证工作。
术语解释:
word2vec技术,是一群用来产生词向量的相关模型。这些模型为浅而双层的神经网络,用来训练以重新建构语言学之词文本。网络以词表现,并且需猜测相邻位置的输入词,在word2vec中词袋模型假设下,词的顺序是不重要的。训练完成之后,word2vec模型可用来映射每个词到一个向量,可用来表示词对词之间的关系,该向量为神经网络之隐藏层。
本发明的技术方案为:
一种面向工控系统的漏洞优先级分析方法,是指:通过探测扫描得到的场景与漏洞信息,结合PoC给出结合场景的漏洞可利用性度量,再基于CVSS框架,该度量值结合漏洞报告中的CVSS评分,给出漏洞的优先级评分。
根据本发明优选的,所述漏洞优先级分析方法,包括步骤如下:
(1)资产探测与漏洞扫描:这是漏洞分析必须经过的基础性步骤,经过资产探测与漏洞扫描得到基础性信息,基础性信息包括漏洞报告、与漏洞对应的场景信息、CVSS评分;漏洞报告中含有对漏洞的简要描述,比如在某个系统或服务,它们的某些版本上,可以在一定的网络条件下,某种操作会导致某种问题,还包括该漏洞发布时间、修改时间、漏洞的类型等信息。与漏洞对应的场景信息有主机的系统、可能存在漏洞的服务、以及相应的版本等信息;分别为漏洞可利用性判别模型提供漏洞报告,为场景相似度度量模块提供与漏洞对应的场景信息、为漏洞优先级评分模块提供CVSS评分;
(2)基础可利用性度量:将漏洞报告输入基于深度学习的漏洞可利用性判别模型,过滤掉可利用性低的漏洞,得到有足够可利用性的漏洞及其基础可利用性度量。
(3)漏洞场景相似度度量:将与漏洞对应的场景信息与对应的PoC输入漏洞场景相似度度量模块进行相似度计算,得到该漏洞的场景相似度,同时获得了与当前场景匹配程度最高的PoC;可以应用于之后漏洞验证。
(4)根据基础可利用性度量和漏洞场景相似度度量得到结合场景的漏洞可利用性度量。
(5)漏洞优先级评分:将结合场景的漏洞可利用性度量输入基于CVSS的漏洞优先级评分模块,基于CVSS框架,根据结合场景的漏洞可利用性度量与CVSS评分计算得到漏洞优先级评分。
根据本发明优选的,所述基于深度学习的漏洞可利用性判别模型的生成过程如下:
1)从漏洞库中获取漏洞信息,根据漏洞信息收集模块的方法生成漏洞报告;
2)对漏洞报告进行标记,利用PoC库查询该漏洞报告中的漏洞是否有对应的PoC,进行可利用性标记,如果存在对应的PoC,将该漏洞报告标记为1,若不存在对应PoC,则标记为0;
3)对漏洞报告进行文本预处理,包括:分词、去除标点符号、去除停用词以及词形还原;
4)对漏洞报告使用word2vec技术进行漏洞文本向量化,得到带标记的漏洞文本向量;
5)将带标记的漏洞文本向量输入到基于门控循环单元神经网络的文本分类模型中进行训练;
基于深度学习的漏洞可利用性判别模型基于门控循环单元(Gate RecurrentUnit,GRU)神经网络的文本分类模型,该基于门控循环单元神经网络的文本分类模型包括GRU层、全连接层以及软最大(Softmax)层;这里的漏洞描述都是结合了已发布时间的文本,以下简称漏洞描述。输入的带标记的漏洞文本向量经过GRU层获得众多特征;这些特征输入到全连接层,与全连接层的权重矩阵相乘,权重矩阵代表每个维度特征的重要程度,全连接层就对这些特征进行加权求和得到两个类别的分数,基于深度学习的漏洞可利用性判别模型是两分类问题,就得到两个类别的分数;软最大层将两个类别的分数映射为概率,概率大的即为所分类别。
根据本发明优选的,步骤(2)中,基础可利用性度量,具体是指:
6)对步骤(1)得到的漏洞报告进行文本预处理,包括:分词、去除标点符号、去除停用词以及词形还原;
7)对漏洞报告使用word2vec技术进行漏洞文本向量化,得到带标记的漏洞文本向量;
8)将处理好的带标记的漏洞文本向量输入到基于门控循环单元神经网络的文本分类模型中进行分类,得到所分类别,同时输出所分类别的对应概率PE(vul)。
分类概率PE(vul)可为后面部分的漏洞可利用性评分所用,这也是将有对应PoC的漏洞报告也输入到漏洞可利用性判别模型中的原因。
根据本发明优选的,步骤(3),通过余弦相似度度量方法进行漏洞场景相似度度量,具体是指:
9)将资产探测与漏洞扫描得到的与漏洞对应的场景信息给定操作系统、操作系统版本、服务、服务版本、可用的攻击方式五个维度的具体类型,为计算方便,直接给每个维度赋值为1,作为资产探测与漏洞扫描到的信息向量;比如,根据漏洞扫描得到的信息,形成的与某个漏洞相关的5个维度的向量类型分别是(WindowsNT,10.0,Microsoft SQL Server,2010 32-bit SP1,remote code execution),为计算方便该向量在后面计算中直接赋值为(1,1,1,1,1)。
10)对于PoC,进行分词、去除标点符号以及词形还原;
11)对步骤10)处理好的PoC提取关键信息,即包括操作系统、操作系统版本、服务、服务版本、攻击方式的关键词,将提取出的关键词与资产探测与漏洞扫描得到的与漏洞对应的场景信息比对,若与资产探测与漏洞扫描得到的与漏洞对应的场景信息一致,则对应维度赋值为1,若不一致,则将对应维度赋值为0,得到PoC的对应信息向量;
12)计算漏洞的场景相似度,漏洞的场景相似度度量公式如式(I)所示:
Figure BDA0002902374080000041
式(I)中,对于有多个PoC的漏洞,漏洞场景的相似度计算为:
S(vul,scan)=maxpoc in vul.pocsSC(scan,poc);
vul代表漏洞,vul.pocs则表示vul对应的PoC,式(Ⅱ)对漏洞所对应的所有PoC进行一次相似度度量,取其中最大值,同时输出对应的PoC,这是与当前漏洞场景最匹配的PoC,根据相似度度量值判断,用户选择直接利用该PoC即与当前场景匹配程度最高的PoC对漏洞进行验证;
对于没有PoC的漏洞,其漏洞场景的相似度采用平均情况,提前在多个不同类型的工控设备上扫描漏洞,计算并记录这些漏洞的场景相似度的值(前提是这些漏洞有着对应的PoC,没有的则先跳过计算),当这个些值达到50个时,就计算它们的平均值M,以此作为给没有PoC的漏洞的场景相似度度量值;
SC(scan,poc)表示与漏洞对应的场景信息与PoC的相似度,
Figure BDA0002902374080000042
scan表示资产探测与漏洞扫描得到的与漏洞对应的场景信息,poc代表PoC文本,Vscan和Vpoc分别表示资产探测与漏洞扫描到的信息向量与PoC的对应信息向量,SC(scan,poc)的取值范围从0到1,越大表示相似度越高,即该PoC直接用于该漏洞场景的概率越大。
根据本发明优选的,步骤(4),根据基础可利用性度量和漏洞场景相似度度量得到结合场景的漏洞可利用性度量,是指:根据基础可利用性度量和漏洞场景相似度度量得到漏洞可利用性评分,计算公式如式(Ⅱ)所示:
Figure BDA0002902374080000043
式(Ⅱ)中,PE(vul)表示所分类别的对应概率即漏洞文本可利用性概率,这里的漏洞文本都已被判定为是可利用的,所以该值的取值范围是0.5-1.0,S(vul,scan)表示漏洞场景的相似度,该值的取值范围为0-1.0,PE(vul)·S(vul,scan)的取值范围为0-1.0,漏洞可利用性评分ES的取值范围是0-0.7916,
Figure BDA0002902374080000044
根据本发明优选的,步骤(5),漏洞优先级评分,具体是指:
求取代码的成熟度E,计算公式如式(Ⅲ)所示:
Figure BDA0002902374080000045
求取漏洞优先级评分VPS,计算公式如式(Ⅳ)所示:
VPS=CVSS×E (Ⅳ)。
一种面向工控系统的漏洞优先级分析系统,包括库管理模块、漏洞信息收集扫描模块、结合场景的漏洞可利用性度量模块、基于CVSS的漏洞优先级评分模块;
所述库管理模块包括漏洞库和PoC库,用于对漏洞库和PoC库管理和维护,并定期从网络上的公开数据库收集新数据并更新漏洞库与PoC库;所述漏洞信息收集扫描模块包括资产探测模块和漏洞扫描模块,用于获取漏洞报告、与漏洞对应的场景信息、CVSS评分,即用于实现步骤(1);为后续模块提供所需信息与数据;所述结合场景的漏洞可利用性度量模块用于验证漏洞有效性,并给出结合场景的漏洞可利用性度量,即用于实现步骤(2)-(4);所述基于CVSS的漏洞优先级评分模块用于给出最终的结合漏洞场景的漏洞优先级评分,即用于实现步骤(5)。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现面向工控系统的漏洞优先级分析方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现面向工控系统的漏洞优先级分析方法的步骤。
本发明的有益效果为:
本发明利用漏洞可利用性判别模型,只需根据漏洞报告,深度学习模型可自动高效地进行漏洞的有效性性验证并给出其度量值;计算漏洞场景信息与该漏洞对应PoC的相似度,在此基础上计算结合场景的漏洞可利用性度量;基于CVSS框架与漏洞CVSS评分,计算结合场景的漏洞优先级评分的方法。给出结合漏洞场景的漏洞优先级评分,缓解了工控系统中CVSS评分因为只考虑漏洞本身属性而导致的偏差。该系统有效地缓解了工控系统下漏洞验证的压力,能减小工控系统中CVSS评分因为只考虑漏洞自身属性,而与实际环境中的漏洞威胁程度之间存在的偏差。该系统不需实际地进行PoC验证工作,可以有效缓解工控系统下的漏洞验证的压力,并基于CVSS高效地、自动地给出了在漏洞所在场景下的漏洞优先级评分,同时提供推荐的PoC,方便进行下一步的验证。
附图说明
图1为本发明一种面向工控系统的漏洞优先级分析系统的结构框图;
图2为本发明一种面向工控系统的漏洞优先级分析方法的流程框图;
图3为本发明门控循环单元神经网络的简要结构示意图;
图4为本发明基于深度学习的漏洞可利用性判别模型的训练与分类过程示意图;
图5为本发明一种面向工控系统的漏洞优先级分析方法的总的流程示意图。
具体实施方式
下面结合说明书附图和实施例对本发明作进一步限定,但不限于此。
实施例1
一种面向工控系统的漏洞优先级分析方法,是指:通过探测扫描得到的场景与漏洞信息,结合PoC给出结合场景的漏洞可利用性度量,再基于CVSS框架,该度量值结合漏洞报告中的CVSS评分,给出漏洞的优先级评分。
实施例2
根据实施例1所述的一种面向工控系统的漏洞优先级分析方法,如图2、图5所示,其区别在于:包括步骤如下:
(1)资产探测与漏洞扫描:这是漏洞分析必须经过的基础性步骤,经过资产探测与漏洞扫描得到基础性信息,基础性信息包括漏洞报告、与漏洞对应的场景信息、CVSS评分;漏洞报告中含有对漏洞的简要描述,比如在某个系统或服务,它们的某些版本上,可以在一定的网络条件下,某种操作会导致某种问题,还包括该漏洞发布时间、修改时间、漏洞的类型等信息。与漏洞对应的场景信息有主机的系统、可能存在漏洞的服务、以及相应的版本等信息;分别为漏洞可利用性判别模型提供漏洞报告,为场景相似度度量模块提供与漏洞对应的场景信息、为漏洞优先级评分模块提供CVSS评分;
(2)基础可利用性度量:将漏洞报告输入基于深度学习的漏洞可利用性判别模型,过滤掉可利用性低的漏洞,得到有足够可利用性的漏洞及其基础可利用性度量。
(3)漏洞场景相似度度量:将与漏洞对应的场景信息与对应的PoC输入漏洞场景相似度度量模块进行相似度计算,得到该漏洞的场景相似度,同时获得了与当前场景匹配程度最高的PoC;可以应用于之后漏洞验证。
(4)根据基础可利用性度量和漏洞场景相似度度量得到结合场景的漏洞可利用性度量。
(5)漏洞优先级评分:将结合场景的漏洞可利用性度量输入基于CVSS的漏洞优先级评分模块,基于CVSS框架,根据结合场景的漏洞可利用性度量与CVSS评分计算得到漏洞优先级评分。
实施例3
根据实施例2所述的一种面向工控系统的漏洞优先级分析方法,其区别在于:
如图4所示,基于深度学习的漏洞可利用性判别模型的生成过程如下:
在工控系统中,对漏洞进行实际验证需要花费比较高的成本。若能预先将一些可利用性低的漏洞从待验证漏洞集中筛选出来,在实际生产过程中也有很大的意义。在本发明中提出根据漏洞是否存在对应的PoC,来判断该漏洞的可利用性。对于新漏洞,因为出现时间短,人们对该漏洞的了解不足,所以还没有针对该漏洞的利用方法,或者利用方法还不够成熟,这种情况也属于可利用性低。这也符合漏洞生命周期,早期漏洞利用方法少,相对安全;中期利用方法成熟,只有简单的缓解措施或临时补丁,是发生安全事件频率最高的阶段;后期有了稳定的补丁,安全事故较少,当然前提是绝大部分用户都检测出该漏洞并打上了补丁,若没有补丁,可利用性仍旧是高的。该基于深度学习的漏洞可利用性判别模型的目的是,在不考虑补丁的情况下,对任意漏洞基于其描述以及已发布时间,判断其可利用性。之所以不直接查询该漏洞是否有对应的PoC,来判断其可利用性,是因为有时比较严重的漏洞发布了一段时间后,黑客先于安全人员有了针对该漏洞的PoC,黑客不会很快就公布该PoC,但该基于深度学习的漏洞可利用性判别模型根据漏洞描述中体现出的严重性以及漏洞已发布的时间,可以判断出当前该漏洞的可利用性是较高的。
在整个系统正常工作之前,基于深度学习的漏洞可利用性判别模型需要先进行训练,经过良好训练与调参后才能对漏洞描述进行基础可利用性(即不考虑具体场景的可利用性)进行度量并给定其分类,这样整个系统才能正常工作。
1)从漏洞库中获取漏洞信息,根据漏洞信息收集模块的方法生成漏洞报告;
2)对漏洞报告进行标记,利用PoC库查询该漏洞报告中的漏洞是否有对应的PoC,进行可利用性标记,如果存在对应的PoC,将该漏洞报告标记为1,若不存在对应PoC,则标记为0;
3)对漏洞报告进行文本预处理,包括:分词、去除标点符号、去除停用词以及词形还原;
4)对漏洞报告使用word2vec技术进行漏洞文本向量化,得到带标记的漏洞文本向量;
5)将带标记的漏洞文本向量输入到基于门控循环单元神经网络的文本分类模型中进行训练;
基于深度学习的漏洞可利用性判别模型基于门控循环单元(Gate RecurrentUnit,GRU)神经网络的文本分类模型,该基于门控循环单元神经网络的文本分类模型包括GRU层、全连接层以及软最大(Softmax)层;这里的漏洞描述都是结合了已发布时间的文本,以下简称漏洞描述。输入的带标记的漏洞文本向量经过GRU层获得众多特征;这些特征输入到全连接层,与全连接层的权重矩阵相乘,权重矩阵代表每个维度特征的重要程度,全连接层就对这些特征进行加权求和得到两个类别的分数,基于深度学习的漏洞可利用性判别模型是两分类问题,就得到两个类别的分数;软最大层将两个类别的分数映射为概率,概率大的即为所分类别。该GRU神经网络简要结构如图3所示。
实施例4
根据实施例2所述的一种面向工控系统的漏洞优先级分析方法,其区别在于:
如图4所示,步骤(2)中,基础可利用性度量,具体是指:
6)对步骤(1)得到的漏洞报告进行文本预处理,包括:分词、去除标点符号、去除停用词以及词形还原;
7)对漏洞报告使用word2vec技术进行漏洞文本向量化,得到带标记的漏洞文本向量;
8)将处理好的带标记的漏洞文本向量输入到基于门控循环单元神经网络的文本分类模型中进行分类,得到所分类别,同时输出所分类别的对应概率PE(vul)。
分类概率PE(vul)可为后面部分的漏洞可利用性评分所用,这也是将有对应PoC的漏洞报告也输入到漏洞可利用性判别模型中的原因。
实施例5
根据实施例2所述的一种面向工控系统的漏洞优先级分析方法,其区别在于:
步骤(3),通过余弦相似度度量方法进行漏洞场景相似度度量,具体是指:
虽然PoC由安全领域中众多不同的人编写,PoC的风格迥然不同,而且PoC的编写各种不同的9编程语言,但其中都包含漏洞相关信息,比如所涉及软件、版本号以及该PoC适用的系统及其版本,而且PoC标题也会体现出的攻击方式,这个攻击方式可与漏洞的CVE报告中的漏洞描述中提取的关键信息(比如Denialofservice或者Remotecodeexecution)对应上。如果这些相关信息与资产探测步骤获得的当前漏洞场景信息相似度高,那么说明该PoC有更高的概率可直接用于该场景下的漏洞,而且更进一步地体现出了该漏洞的高可利用性。
9)将资产探测与漏洞扫描得到的与漏洞对应的场景信息给定操作系统、操作系统版本、服务、服务版本、可用的攻击方式五个维度的具体类型,为计算方便,直接给每个维度赋值为1,作为资产探测与漏洞扫描到的信息向量;比如,根据漏洞扫描得到的信息,形成的与某个漏洞相关的5个维度的向量类型分别是(WindowsNT,10.0,Microsoft SQL Server,2010 32-bit SP1,remote code execution),为计算方便该向量在后面计算中直接赋值为(1,1,1,1,1)。
10)对于PoC,进行分词、去除标点符号以及词形还原;
11)对步骤10)处理好的PoC提取关键信息,即包括操作系统、操作系统版本、服务、服务版本、攻击方式的关键词,将提取出的关键词与资产探测与漏洞扫描得到的与漏洞对应的场景信息比对,若与资产探测与漏洞扫描得到的与漏洞对应的场景信息一致,则对应维度赋值为1,若不一致,则将对应维度赋值为0,得到PoC的对应信息向量;
12)计算漏洞的场景相似度,漏洞的场景相似度度量公式如式(I)所示:
Figure BDA0002902374080000081
式(I)中,对于有多个PoC的漏洞,漏洞场景的相似度计算为:
S(vul,scan)=maxpoc in vul.pocsSC(scan,poc);
vul代表漏洞,vul.pocs则表示vul对应的PoC,式(Ⅱ)对漏洞所对应的所有PoC进行一次相似度度量,取其中最大值,同时输出对应的PoC,这是与当前漏洞场景最匹配的PoC,根据相似度度量值判断,用户选择直接利用该PoC即与当前场景匹配程度最高的PoC对漏洞进行验证;
对于没有PoC的漏洞,其漏洞场景的相似度采用平均情况,提前在多个不同类型的工控设备上扫描漏洞,计算并记录这些漏洞的场景相似度的值(前提是这些漏洞有着对应的PoC,没有的则先跳过计算),当这个些值达到50个时,就计算它们的平均值M,以此作为给没有PoC的漏洞的场景相似度度量值;
SC(scan,poc)表示与漏洞对应的场景信息与PoC的相似度,
Figure BDA0002902374080000091
scan表示资产探测与漏洞扫描得到的与漏洞对应的场景信息,poc代表PoC文本,Vsc3n和Vpoc分别表示资产探测与漏洞扫描到的信息向量与PoC的对应信息向量,SC(scan,poc)的取值范围从0到1,越大表示相似度越高,即该PoC直接用于该漏洞场景的概率越大。
将提取出的关键词与资产探测与漏洞扫描得到的与漏洞对应的场景信息比对,是指:分别将提取出的关键词中的操作系统、操作系统版本、服务、服务版本、攻击方式与资产探测与漏洞扫描得到的与漏洞对应的场景信息中的操作系统、操作系统版本、服务、服务版本、攻击方式进行对比,若相同,则对应维度赋值为1,否则,对应维度赋值为0。
例如,获得与步骤9)对应漏洞的PoC——”Microsoft SQL Server ReportingServices 2016-Remote Code Execution”,从这个PoC文件中提取到了如下的信息,(WindowsNT,10.0,Microsoft SQL Server,(2012 32-bit|x64 SP2)|(2014 32-bit|x64SP3),remote code execution),与步骤9)得到的向量类型比较,其中只有服务版本号不一致,那么得到的该PoC的信息向量就是(1,1,1,0,1)。
实施例6
根据实施例2所述的一种面向工控系统的漏洞优先级分析方法,其区别在于:
步骤(4),根据基础可利用性度量和漏洞场景相似度度量得到结合场景的漏洞可利用性度量,是指:根据基础可利用性度量和漏洞场景相似度度量得到漏洞可利用性评分,计算公式如式(Ⅱ)所示:
Figure BDA0002902374080000092
式(Ⅱ)中,PE(vul)表示所分类别的对应概率即漏洞文本可利用性概率,这里的漏洞文本都已被判定为是可利用的,所以该值的取值范围是0.5-1.0,S(vul,scan)表示漏洞场景的相似度,该值的取值范围为0-1.0,PE(vul)·S(vul,scan)的取值范围为0-1.0,漏洞可利用性评分ES的取值范围是0-0.7916,
Figure BDA0002902374080000093
实施例7
根据实施例2所述的一种面向工控系统的漏洞优先级分析方法,其区别在于:
步骤(5),漏洞优先级评分,具体是指:
基于CVSS的漏洞优先级评分模块的优先级评分基于CVSS,CVSS包括基础(Base)评价、生命周期(Temporal)评价、环境(Environmental)评价三部分,三个部分并非并列关系,而是递进关系,首先计算得基础分值,它代表着漏洞的原始属性,不受时间与环境的影响,由可利用度指标和影响程度指标决定;基础分值与生命周期评价的三个指标相乘得到生命周期分值,它表示随着时间推移,漏洞利用代码以及漏洞补丁的成熟情况;在生命周期评价的基础上,根据公式加权修订或直接更改计算式中基础评价部分指标,得到环境评价分值,该部分由用户根据自身需求给定。
生命周期评价与环境评价是可选项,根据漏洞设备所在具体环境场景来选择,默认情况下这些指标值都是1。所以在漏洞CVE报告中,漏洞都只给定了基础评分,没有考虑漏洞的实际可利用度与具体环境场所。所以本发明的漏洞可利用上一部分得到的结合场景的漏洞可利用性度量,基于CVSS基础评分,可以给出与具体场景相关的漏洞的优先级评分。因为CVSS框架是业界内的众多权威专家商讨分析研究得出的一个比较成熟的漏洞评分框架,所以这里是在该框架下对CVE报告中的CVSS评分进行改进。
对于结合场景的漏洞可利用性度量,相当于CVSS的生命周期评价部分。利用代码的成熟度(E)完全可以用被结合场景的漏洞可利用性度量来计算,其值可能的范围大致为0-0.7616,而根据CVSS,该项对应的分数范围大致是0.9-1,那么可以将0-0.7616的度量值映射到0.9-1的范围上。
求取代码的成熟度E,计算公式如式(Ⅲ)所示:
Figure BDA0002902374080000101
对于修复方案(RL)指标,认为当前场景没有对应的修复方案,即保持默认值1;对于来源可信度(RC),也保持默认值1。对环境评价部分的指标也都保留默认,因为对有基本指标并不需要更改,对于机密性、完整性、可用性等要求需要根据厂商企业自己的需求而定。
求取漏洞优先级评分VPS,计算公式如式(Ⅳ)所示:
VPS=CVSS×E (Ⅳ)。
本发明实用范围为对工控系统适用场景下,漏洞的可利用性验证,结合漏洞所在场景的漏洞可利用性度量,结合漏洞所在场景的漏洞优先级评分。
实施例8
一种面向工控系统的漏洞优先级分析系统,如图1所示,包括库管理模块、漏洞信息收集扫描模块、结合场景的漏洞可利用性度量模块、基于CVSS的漏洞优先级评分模块;
库管理模块包括漏洞库和PoC库,用于对漏洞库和PoC库管理和维护,并定期从网络上的公开数据库收集新数据并更新漏洞库与PoC库;漏洞信息收集扫描模块包括资产探测模块和漏洞扫描模块,用于获取漏洞报告、与漏洞对应的场景信息、CVSS评分,即用于实现实施例1-7任一所述步骤(1);为后续模块提供所需信息与数据;结合场景的漏洞可利用性度量模块用于验证漏洞有效性,并给出结合场景的漏洞可利用性度量,即用于实现实施例1-7任一所述步骤(2)-(4);基于CVSS的漏洞优先级评分模块用于给出最终的结合漏洞场景的漏洞优先级评分,即用于实现实施例1-7任一所述步骤(5)。
资产探测模块主要基于Nmap,P0f、Masscan、Zmap为补充工具。漏洞扫描模块以Nessus为主要工具,OpenVAS为补充工具。
资产探测模块、漏洞扫描模块都有日志记录模块,会记录每次扫描的扫描对象、扫描时间、操作者以及对应的探测或扫描报告。资产探测模块中有资产探测信息收集管理库,其中的内容项包括:主机ip、主机系统及其版本、开放端口、服务及其版本、当前状态。每次扫描会生成对应的探测信息表,根据这些内容可为后续模块提供漏洞场景信息文本。
漏洞扫描模块中有漏洞扫描信息收集管理库,其中的内容项包括:漏洞名称、CVE编号、CNNVD编号、CVSS评分、漏洞类型、危害等级、漏洞发布时间、漏洞更新时间、厂商、漏洞描述、相关攻击方式。每次扫描会根据这些内容生成漏洞信息表,并对每个漏洞生成漏洞报告,提供给后续模块。
库管理模块包括漏洞库与PoC库。漏洞库即CVE-NVD漏洞库为主体,CNNVD、ICS-CERT为拓展,库中的内容项包括:漏洞名称、CVE编号、CNNVD编号、CVSS评分、漏洞类型、危害等级、漏洞发布时间、漏洞更新时间、厂商、漏洞描述、相关攻击方式。这些内容项与漏洞扫描模块中的内容项一致,方便数据收集与管理。
PoC库以exploit-db、Seebug为数据来源,库中的内容项包括:PoC标题、CVE编号、PoC内容。PoC标题能提供漏洞信息,CVE编号确定对应漏洞,PoC内容是后续分析模块的必需项。
该模块负责对漏洞库和PoC库进行管理,并且定期从上述数据来源网站更新数据库。
实施例9
一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行所述计算机程序时实现实施例1-7任一所述面向工控系统的漏洞优先级分析方法的步骤。
实施例10
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现实施例1-7任一所述面向工控系统的漏洞优先级分析方法的步骤。

Claims (8)

1.一种面向工控系统的漏洞优先级分析方法,其特征在于,通过探测扫描得到的场景与漏洞信息,结合PoC给出结合场景的漏洞可利用性度量,再基于CVSS框架,该度量值结合漏洞报告中的CVSS评分,给出漏洞的优先级评分;
所述漏洞优先级分析方法,包括步骤如下:
(1)资产探测与漏洞扫描:经过资产探测与漏洞扫描得到基础性信息,基础性信息包括漏洞报告、与漏洞对应的场景信息、CVSS评分;
(2)基础可利用性度量:将漏洞报告输入基于深度学习的漏洞可利用性判别模型,过滤掉可利用性低的漏洞,得到有足够可利用性的漏洞及其基础可利用性度量;
(3)漏洞场景相似度度量:将与漏洞对应的场景信息与对应的PoC输入漏洞场景相似度度量模块进行相似度计算,得到该漏洞的场景相似度,同时获得了与当前场景匹配程度最高的PoC;
(4)根据基础可利用性度量和漏洞场景相似度度量得到结合场景的漏洞可利用性度量;
(5)漏洞优先级评分:将结合场景的漏洞可利用性度量输入基于CVSS的漏洞优先级评分模块,根据结合场景的漏洞可利用性度量与CVSS评分计算得到漏洞优先级评分;
所述基于深度学习的漏洞可利用性判别模型的生成过程如下:
1)从漏洞库中获取漏洞信息,生成漏洞报告;
2)对漏洞报告进行标记,利用PoC库查询该漏洞报告中的漏洞是否有对应的PoC,进行可利用性标记,如果存在对应的PoC,将该漏洞报告标记为1,若不存在对应PoC,则标记为0;
3)对漏洞报告进行文本预处理,包括:分词、去除标点符号、去除停用词以及词形还原;
4)对漏洞报告使用word2vec技术进行漏洞文本向量化,得到带标记的漏洞文本向量;
5)将带标记的漏洞文本向量输入到基于门控循环单元神经网络的文本分类模型中进行训练;
基于深度学习的漏洞可利用性判别模型基于门控循环单元神经网络的文本分类模型,该基于门控循环单元神经网络的文本分类模型包括GRU层、全连接层以及软最大层;输入的带标记的漏洞文本向量经过GRU层获得众多特征;这些特征输入到全连接层,与全连接层的权重矩阵相乘,权重矩阵代表每个维度特征的重要程度,全连接层就对这些特征进行加权求和得到两个类别的分数,软最大层将两个类别的分数映射为概率,概率大的即为所分类别。
2.根据权利要求1所述的一种面向工控系统的漏洞优先级分析方法,其特征在于,步骤(2)中,基础可利用性度量,具体是指:
6)对步骤(1)得到的漏洞报告进行文本预处理,包括:分词、去除标点符号、去除停用词以及词形还原;
7)对漏洞报告使用word2vec技术进行漏洞文本向量化,得到带标记的漏洞文本向量;
8)将处理好的带标记的漏洞文本向量输入到基于门控循环单元神经网络的文本分类模型中进行分类,得到所分类别,同时输出所分类别的对应概率PE(vul)。
3.根据权利要求2所述的一种面向工控系统的漏洞优先级分析方法,其特征在于,步骤(3),通过余弦相似度度量方法进行漏洞场景相似度度量,具体是指:
9)将资产探测与漏洞扫描得到的与漏洞对应的场景信息给定操作系统、操作系统版本、服务、服务版本、可用的攻击方式五个维度的具体类型,直接给每个维度赋值为1,作为资产探测与漏洞扫描到的信息向量;
10)对于PoC,进行分词、去除标点符号以及词形还原;
11)对步骤10)处理好的PoC提取关键信息,即包括操作系统、操作系统版本、服务、服务版本、攻击方式的关键词,将提取出的关键词与资产探测与漏洞扫描得到的与漏洞对应的场景信息比对,若与资产探测与漏洞扫描得到的与漏洞对应的场景信息一致,则对应维度赋值为1,若不一致,则将对应维度赋值为0,得到PoC的对应信息向量;
12)计算漏洞的场景相似度,漏洞的场景相似度度量公式如式(Ⅰ)所示:
Figure FDA0003803529490000021
式(Ⅰ)中,对于有多个PoC的漏洞,漏洞场景的相似度计算为:
S(vul,scan)=maxpoc in vul.pocsSC(scan,poc);
vul代表漏洞,vul.pocs则表示vul对应的PoC,式(Ⅱ)对漏洞所对应的所有PoC进行一次相似度度量,取其中最大值,同时输出对应的PoC,这是与当前漏洞场景最匹配的PoC,根据相似度度量值判断,用户选择直接利用该PoC即与当前场景匹配程度最高的PoC对漏洞进行验证;
对于没有PoC的漏洞,其漏洞场景的相似度采用平均情况,提前在多个不同类型的工控设备上扫描漏洞,计算并记录这些漏洞的场景相似度的值,当这个些值达到50个时,就计算它们的平均值M,以此作为给没有PoC的漏洞的场景相似度度量值;
SC(scan,poc)表示与漏洞对应的场景信息与PoC的相似度,
Figure FDA0003803529490000022
scan表示资产探测与漏洞扫描得到的与漏洞对应的场景信息,poc代表PoC文本,Vsc2n和Vpoc分别表示资产探测与漏洞扫描到的信息向量与PoC的对应信息向量,SC(scan,poc)的取值范围从0到1,越大表示相似度越高,即该PoC直接用于该漏洞场景的概率越大。
4.根据权利要求1所述的一种面向工控系统的漏洞优先级分析方法,其特征在于,步骤(4),根据基础可利用性度量和漏洞场景相似度度量得到结合场景的漏洞可利用性度量,是指:根据基础可利用性度量和漏洞场景相似度度量得到漏洞可利用性评分,计算公式如式(Ⅱ)所示:
Figure FDA0003803529490000031
式(Ⅱ)中,PE(vul)表示所分类别的对应概率即漏洞文本可利用性概率,该值的取值范围是0.5-1.0,S(vul,scan)表示漏洞场景的相似度,该值的取值范围为0-1.0,PE(vul)·S(vul,scan)的取值范围为0-1.0,漏洞可利用性评分ES的取值范围是0-0.7916,
Figure FDA0003803529490000032
5.根据权利要求1-4任一所述的一种面向工控系统的漏洞优先级分析方法,其特征在于,步骤(5),漏洞优先级评分,具体是指:
求取代码的成熟度E,计算公式如式(Ⅲ)所示:
Figure FDA0003803529490000033
求取漏洞优先级评分VPS,计算公式如式(Ⅳ)所示:
VPS=CVSS×E(Ⅳ)。
6.一种面向工控系统的漏洞优先级分析系统,其特征在于,包括库管理模块、漏洞信息收集扫描模块、结合场景的漏洞可利用性度量模块、基于CVSS的漏洞优先级评分模块;
所述库管理模块包括漏洞库和PoC库,用于对漏洞库和PoC库管理和维护,并定期从网络上的公开数据库收集新数据并更新漏洞库与PoC库;所述漏洞信息收集扫描模块包括资产探测模块和漏洞扫描模块,用于获取漏洞报告、与漏洞对应的场景信息、CVSS评分,即用于实现权利要求2-5任一所述步骤(1);所述结合场景的漏洞可利用性度量模块用于验证漏洞有效性,并给出结合场景的漏洞可利用性度量,即用于实现权利要求2-5任一所述步骤(2)-(4);所述基于CVSS的漏洞优先级评分模块用于给出最终的结合漏洞场景的漏洞优先级评分,即用于实现权利要求2-5任一所述步骤(5)。
7.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1-5任一所述面向工控系统的漏洞优先级分析方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-5任一所述面向工控系统的漏洞优先级分析方法的步骤。
CN202110061069.5A 2021-01-18 2021-01-18 一种面向工控系统的漏洞优先级分析方法、系统、设备及存储介质 Active CN112818351B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110061069.5A CN112818351B (zh) 2021-01-18 2021-01-18 一种面向工控系统的漏洞优先级分析方法、系统、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110061069.5A CN112818351B (zh) 2021-01-18 2021-01-18 一种面向工控系统的漏洞优先级分析方法、系统、设备及存储介质

Publications (2)

Publication Number Publication Date
CN112818351A CN112818351A (zh) 2021-05-18
CN112818351B true CN112818351B (zh) 2022-09-30

Family

ID=75869656

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110061069.5A Active CN112818351B (zh) 2021-01-18 2021-01-18 一种面向工控系统的漏洞优先级分析方法、系统、设备及存储介质

Country Status (1)

Country Link
CN (1) CN112818351B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113221108B (zh) * 2021-05-28 2023-02-07 西安热工研究院有限公司 一种工控系统漏洞扫描工具综合评价方法
CN113326853A (zh) * 2021-06-16 2021-08-31 西安隆基智能技术有限公司 一种基于神经网络的工艺参数分析方法、设备以及计算机存储介质
CN114021151B (zh) * 2021-11-17 2022-07-01 山东云天安全技术有限公司 基于Summary长度特征预测工控网漏洞的系统
WO2023152880A1 (ja) * 2022-02-10 2023-08-17 三菱電機株式会社 脆弱性解析装置及び脆弱性解析方法
CN114676438B (zh) * 2022-04-15 2023-06-09 电子科技大学 面向硬件系统多维脆弱性的快速探测方法
CN117113363B (zh) * 2023-10-24 2024-02-06 深圳海云安网络安全技术有限公司 一种基于场景化多因子的第三方组件漏洞排名方法
CN117692252B (zh) * 2024-01-31 2024-04-16 鹏城实验室 渗透测试路线规划方法和装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110912890A (zh) * 2019-11-22 2020-03-24 上海交通大学 一种面向内网的新型漏洞攻击检测系统
CN112035846A (zh) * 2020-09-07 2020-12-04 江苏开博科技有限公司 一种基于文本分析的未知漏洞风险评估方法
EP3746891A1 (en) * 2018-01-31 2020-12-09 Aon Risk Consultants, Inc. System and methods for vulnerability assessment and provisioning of related services and products for efficient risk suppression

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8789192B2 (en) * 2011-05-23 2014-07-22 Lockheed Martin Corporation Enterprise vulnerability management
US10754958B1 (en) * 2016-09-19 2020-08-25 Nopsec Inc. Vulnerability risk mitigation platform apparatuses, methods and systems
CN107220549B (zh) * 2017-05-26 2020-12-01 中国民航大学 基于cvss的漏洞风险基础评估方法
CN111343154A (zh) * 2020-02-10 2020-06-26 Oppo广东移动通信有限公司 漏洞检测方法、装置、终端设备以及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3746891A1 (en) * 2018-01-31 2020-12-09 Aon Risk Consultants, Inc. System and methods for vulnerability assessment and provisioning of related services and products for efficient risk suppression
CN110912890A (zh) * 2019-11-22 2020-03-24 上海交通大学 一种面向内网的新型漏洞攻击检测系统
CN112035846A (zh) * 2020-09-07 2020-12-04 江苏开博科技有限公司 一种基于文本分析的未知漏洞风险评估方法

Also Published As

Publication number Publication date
CN112818351A (zh) 2021-05-18

Similar Documents

Publication Publication Date Title
CN112818351B (zh) 一种面向工控系统的漏洞优先级分析方法、系统、设备及存储介质
US20210056211A1 (en) System and method for automatically detecting a security vulnerability in a source code using a machine learning model
CN112131882A (zh) 一种多源异构网络安全知识图谱构建方法及装置
CN101950271B (zh) 一种基于建模技术的软件安全性测试方法
CN113821804B (zh) 一种面向第三方组件及其安全风险的跨架构自动化检测方法与系统
CN105975863A (zh) 一种配电自动化终端设备信息安全风险测评与计算方法
CN114757468B (zh) 一种面向流程挖掘中流程执行异常的根源分析方法
CN110636066A (zh) 基于无监督生成推理的网络安全威胁态势评估方法
CN113901484A (zh) 一种基于风险的漏洞管理方法和装置
Lin et al. Machine learning in vulnerability databases
CN115982012A (zh) 一种接口管理能力成熟度的评估模型及方法
CN113779573B (zh) 一种基于系统溯源图的大规模勒索软件分析方法和分析装置
Bai et al. Dynamic k-gram based software birthmark
US20220046039A1 (en) Method, device, and computer program product for abnormality detection
CN114968750A (zh) 基于人工智能的测试用例生成方法、装置、设备和介质
Qu Research on password detection technology of iot equipment based on wide area network
CN116827656A (zh) 网络信息安全防护系统及其方法
CN116248393A (zh) 一种内网数据传输漏洞扫描装置及系统
CN116739408A (zh) 基于数据标签的电网调度安全监控方法、系统及电子设备
CN116383832A (zh) 一种基于图神经网络的智能合约漏洞检测方法
CN115599345A (zh) 一种基于知识图谱的应用安全需求分析推荐方法
CN115270136A (zh) 一种基于二元组的漏洞克隆检测系统及方法
Deptula Automation of cyber penetration testing using the detect, identify, predict, react intelligence automation model
Zeng et al. CVulDetector: Cross-domain Vulnerability Detection Based on Transfer Learning
Zhan et al. An SG-CIM Verification Method Based on Schema Comparison

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
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Wang Bailing

Inventor after: Cheng Chengtao

Inventor after: Zhang Ge

Inventor after: Zhang Zheyu

Inventor after: Wang Zibo

Inventor before: Cheng Chengtao

Inventor before: Wang Bailing

Inventor before: Zhang Ge

Inventor before: Zhang Zheyu

Inventor before: Wang Zibo