一种基于攻击图的工业控制系统安全度量方法与流程

文档序号:23394475发布日期:2020-12-22 14:02阅读:101来源:国知局
一种基于攻击图的工业控制系统安全度量方法与流程

本发明涉及一种基于攻击图的工业控制系统安全度量方法,属于网络安全技术领域。



背景技术:

近年来,工业控制系统逐渐向信息化发展,不仅引入了互联网中多样化方法,同时也给工控系统带来了多方面的攻击威胁。高度信息化的工业控制系统需要面对网络环境的变化,以及网络组件对系统的潜在影响。针对工业控制系统运行环境复杂化,攻击方式多样化的问题,提出一种基于攻击图的工业控制系统安全度量方法,通过整合漏洞与拓扑信息,展示工控系统的潜在攻击路径,可视化安全度量过程,为后续系统安全分析提供数据支撑,保护关键任务资产免受潜在威胁源的侵害。

例如,中国专利文献cn110533754a提供了一种基于大规模工控网络的交互式攻击图展示系统及展示方法,展示系统包括json文件构造模块、网络拓扑生成模块、场景漫游处理模块、攻击图生成模块和交互事件处理模块;该方法从攻击目标出发,逆向生成攻击图,极大地降低了攻击图的复杂性和可用性。攻击图展示系统中采用交互形式,允许用户通过点击切换攻击目标,生成基于确定目标的实时关键攻击路径,极大地提高了攻击图的可视化管理。便于安全运维人员和安全分析人员的网络安全分析评估,可以有效地帮助网络安全事件处理人员对网络攻击路径进行及早识别和关键点防御。中国专利文献cn108156114a提供了一种电力信息物理系统网络攻击图的关键节点确定方法及装置,所述方法包括:分别获取攻击图中的所有节点的至少一种特征值;分别确定所述特征值的权重;根据所述至少一种特征值以及所述权重从所述所有节点中确定关键节点。通过获取攻击图中的所有节点的至少一种特征值,可以量化出各节点的重要程度;通过确定各个特征值的权重,可以对特征值进行权衡;最终根据特征值以及相应权重,从所有节点中确定关键节点,将所有节点进行综合考虑,由此从多方面多维度全方位地实现对系统攻击图的关键节点识别,解决了攻击图安全防护侧重点不确定的问题。中国专利文献cn108629474a公开了一种基于攻击图模型的流程安全评估方法,该方法包括如下步骤:根据安全控制系统的安全属性进行安全节点设计;将设计好的节点根据业务流程逻辑形成一个流程方案;以建立树状图的方式实现流程方案的设计;对设计好的流程方案进行评估建模,评估计算生成评估结论;流程方案评价包括建立流程安全评价体系、可靠性评价体系和运行效率评价体系,并基于这三个评价体系指标的评估值,通过综合评分模型给出系统综合评价结果;根据安全薄弱节点的重要程度、可实现性和复杂程度参数等级,给出针对当前流程方案的优化策略。该方法解决了人为干预带来的不确定性,提高了安全评估结果的准确性、可靠性和高效性。

目前,针对工业控制系统的安全度量方法较少,缺乏具有系统全局性的安全度量方案,并且其无法考虑系统设备之间的脆弱性关系。由于工业控制系统拓扑结构较为复杂,并且度量中安全指标的选择及量化较为困难,目前安全度量方案多以定性分析为主。因此,为了解决工控系统的安全量化的全局性度量,亟需设计一种工控系统全局性度量的安全度量方法。



技术实现要素:

针对现有技术的不足,本发明提供一种基于工控系统攻击图的安全度量方法,攻击图以图结构表示工控系统受攻击过程的详细信息,本方法综合考虑工控系统设备的特殊层次结构及其脆弱性和依赖关系,建立设备与漏洞之间、设备与设备之间的关联模型,展示可能的攻击路径,最终本方法将攻击路径与攻击图中各项指标结合起来,能够实现工控系统全局性的安全度量。

术语解释:

1、cve-nvd(commonvulnerabilitiesandexposures-nationalvulnerabilitydatabase),共同脆弱性和风险暴露—国家脆弱性数据库。

2、cnnvd(chinanationalvulnerabilitydatabaseofinformationsecurity),中国国家信息安全脆弱性数据库。

3、ics(industrialcontrolsystem)vulnerabilitydatabase,工业控制系统漏洞数据库。

4、cwe(commonweaknessenumeration),常见弱点枚举。

5、capec(commonattackpatternenumerationandclassification),可用攻击模式枚举和分类。

6、可利用率,表示此漏洞被成功利用达到攻击效果的概率。

7、漏洞危害,表示漏洞成功利用后所带来的影响严重程度。

本发明的技术方案如下:

一种基于攻击图的工业控制系统安全度量方法,包括以下步骤:

步骤一,获取工控网络拓扑结构信息,对特定工控系统的设备进行探测,掌握工控网络内的设备信息,并且对设备关联情况进行分析;

步骤二,针对工控网络内设备的探测结果,对设备漏洞信息进行收集;

步骤三,根据拓扑结构和设备漏洞信息,基于图数据库的方法以图形化格式存储格式,采用节点和关系表示图结构,生成系统攻击图;

步骤四,根据生成的系统攻击图,按照漏洞节点度量、设备节点度量、系统安全度量三个层次,对特定工控系统进行网络安全度量,并对攻击路径进行分析。

优选的,步骤一中,采用grassmarlin工具获取工控网络拓扑结构信息。

优选的,步骤一中,获取工控网络拓扑结构信息包括系统设计文档中的拓扑规划、系统配置以及安全设备的访问控制规则;根据系统设计文档以及安全设备的访问控制规则,读取系统设备间的连接关系并进行提取,以还原系统拓扑结构。

优选的,步骤一中,对特定工控系统的设备进行探测,是指采用grassmarlin工具对工控系统拓扑进行实时监控,以探测新加入工控系统的设备,且grassmarlin工具采用被动探测方式实现对探测系统进行的信息收集,降低探测过程对工控系统中设备工作状态造成的影响。

优选的,步骤一中,掌握工控网络内的设备信息,是指读取系统设计文档和系统配置文件中的设备信息,对设备类型、设备型号、系统版本进行提取,作为后续设备漏洞信息获取的数据依据。

优选的,步骤一中,对设备关联情况进行分析,是指根据从系统设计文档、系统配置文件以及安全设备的访问控制规则处获取的系统拓扑信息,对设备间的关联关系进行格式化处理,统一定义设备间的连接关系为link,alinkb表示设备a存在到设备b的链路,a可以访问b,link为有向关系。

优选的,grassmarlin工具对工控系统拓扑进行实时监控的过程中,其探测结果以xml格式存储,通过低频率定期读取grassmarlin工具探测结果,对更新的设备进行关系提取,将新加入设备添加至系统,并且更新与新设备有信息交互的系统设备,将源ip与目的ip同组的连接关系简化,去除冗余数据,以实现系统拓扑的动态获取;同时,针对原有数据和更新数据,按照探测的顺序进行拓扑数据排序。

优选的,步骤二中,对设备漏洞信息进行收集包括漏洞信息库构建及设备漏洞获取;

漏洞信息库构建包括漏洞信息采集及漏洞信息处理;漏洞信息采集以cve-nvd漏洞库为主体,cnnvd、icsvulnerabilitydatabase为拓展安全库,cwe、capec为漏洞关联信息库,来构建安全知识库,将采集的漏洞信息存储至mysql数据库中;漏洞信息处理以cnnvd和cve漏洞知识库为主体,对导入mysql数据库中的所有漏洞信息进行匹配、关联,引入cwe作为弱点描述和弱点分类以及利用性判别的依据,并结合capec,描述利用漏洞进行攻击的前提、技术储备、方式和造成后果;

设备漏洞获取采用扫描工具对系统设备进行漏洞扫描,根据已获取的系统设备信息,对扫描工具进行配置,完成设备漏洞信息的扫描;然后根据扫描获取到的设备漏洞信息,将设备与漏洞进行关联表示,一个设备可关联一个或多个漏洞,定义设备与漏洞的连接关系为has_vul_at,device1has_vul_atvul1表示该设备1存在编号为vul1的漏洞;将设备漏洞信息与漏洞信息库中信息进行匹配,每一个漏洞都可获得“cnnvd描述-cve漏洞编号-cwe弱点报告-capec攻击方法-cvss评分”的原子攻击模板,为后续攻击图的生成提供输入数据。

优选的,步骤三中,攻击图中的节点包括设备节点以及漏洞节点;

设备节点信息包含了设备漏洞所在的服务信息、开放端口信息和ip信息,设备节点信息作为设备节点的属性,设备节点信息采用五元组即设备ip、设备名称、存在漏洞的服务、服务协议、服务端口进行描述;

漏洞节点信息包含原子攻击规则中的cve\cnnvd编号、cwe分类、提权能力标识和cvss评分,漏洞节点信息作为节点属性集成在以漏洞id为标识的漏洞节点上,漏洞节点信息采用四元组即漏洞id、漏洞编号、漏洞类型、漏洞评分进行描述;

根据网络拓扑分析以及漏洞信息收集的结果,对数据进行预处理,总结为设备信息表、漏洞信息表、设备关系表,作为攻击图生成算法的输入。

优选的,步骤三中,生成系统攻击图,是基于neo4j图数据库生成攻击图,遵循属性图模型来存储和管理数据,攻击图中的节点用于表示实体,关系用于表示实体间的连接;用设备信息表和漏洞信息表填充攻击图的节点属性,用设备关系表填充节点关系,选定起始节点和目标节点,经过多次遍历生成攻击图。

优选的,步骤四中,漏洞节点度量根据扫描的设备漏洞信息对漏洞节点的可利用率以及漏洞危害进行量化;漏洞节点可利用性由capec库中“攻击可能性”字段定义,将攻击可能性的{低,中,高}量化表示为{0.3,0.6,0.9},分数低表示被攻击可能性低,分数高表示被攻击可能性高;漏洞节点的危害分数采用通用安全漏洞评分系统cvss的漏洞评估分数,满分为10分,分数越高,漏洞危害越大,分数越低,漏洞危害越小。

优选的,步骤四中,设备节点度量根据设备节点被攻击概率以及设备节点危险分数进行量化;

a.设备节点被攻击概率

针对每个设备节点相连的漏洞节点,根据其可利用率计算设备节点的被攻击概率,如式ⅰ:

其中,uself表示本设备节点的被攻击概率,ui表示与该设备节点相连的第i个漏洞节点的可利用率,k表示与该设备节点相连的所有漏洞节点数,与设备节点相连的漏洞节点数量越多,该设备节点的被攻击概率越高;

b.设备节点危险分数

以相连漏洞节点的可利用率为依据,对漏洞节点进行加权危害计算,得到设备节点的危险分数,如式ⅱ:

其中,rself表示本设备节点的危险分数,ui、uj表示与该设备节点相连的第i、j个漏洞节点的可利用率,ri表示与该设备节点相连的第i个漏洞节点的漏洞危害。

优选的,步骤四中,系统安全度量包括起始节点度量和非起始节点度量;

a.起始节点度量

由于起始节点已获取权限,其不存在被攻击情况,所以起始设备节点的被攻击概率默认为1,表示以获取该设备全部权限,由于起始节点无前向节点,入度为0,因此,起始节点的危险分数等于本节点的自身危险分数;

b.非起始节点度量

非起始节点在考虑本节点相连漏洞节点的同时,还要结合上层设备节点的被攻击概率和设备危险分数,计算上层设备节点与本层设备节点的累积被攻击概率,以及设备危险分数,系统安全度量根据多层累积的设备节点的危险分数计算获得;

非起始节点的被攻击概率计算如式ⅲ:

其中,di表示该节点入度,um表示与该设备节点相连的第m个上层节点的被攻击概率;本度量方法考虑了节点的入度,以及上层节点被攻击概率对本层节点的影响,节点入度越大,节点被攻击概率越大;上层节点被攻击概率越大,本层节点被攻击概率越大;

非起始节点的危险分数计算如式ⅳ:

其中,um、un表示与该设备节点相连的第m、n个上层节点的被攻击概率,rm表示与该设备节点相连的第m个上层节点的危险分数;

非起始节点的危险分数计算考虑了上层节点被攻击概率对本层节点的影响,同时对上级节点的危险分数进行累积计算,节点入度越大,节点危险分数越大;上层节点被攻击概率越大,本层节点危险分数越大;上层节点的危险分数越大,本层节点的危险分数越大,最后目标节点的危险分数rdest经过多层攻击路径累积计算得到。

优选的,步骤四中,攻击路径包括嵌套路径和并列路径;结合系统安全度量值对关键攻击路径进行定量分析,分析过程中引入资产价值指标进行度量,资产价值由节点出入度以及资产重要性共同决定,资产重要性指标从1-10为资产划分十个等级,10为非常重要,1为非常不重要;同时,根据目前攻击图中出现的节点出入度数,以最高出入度为准,对其余出入度做归一化处理,起始节点和目标节点的出入度默认为1,不做降权处理,最后资产价值由资产重要性及出入度的乘积获得,如式ⅴ:

pvalue=psignificance*dio(ⅴ)

其中,pvalue表示资产价值,psignificance表示资产重要性,dio表示经过归一化处理的节点出入度;

a.嵌套路径分析

嵌套路径的路径集合中节点不包括共同起始节点,对于此种情况的关键路径进行选择,计算如下:

其中,pathsign为路径关键指数,uj表示路径集合中第j个设备节点被攻击概率,ri表示路径集合中第i个设备节点的危险分数,pvaluei表示路径集合中第i个设备节点的资产价值;嵌套路径的关键路径以攻击跳数为主要计算依据,一般情况下攻击跳数较少的路径为关键路径,只有当中间跳节点被攻击率及危险分数都较大时,攻击跳数较多的路径才可能成为关键路径;

b.并列路径分析

并列攻击路径的路径集合表示为除去共同起始节点与终止节点的n个并列节点,对于此种情况的关键路径进行选择,计算如下:

pathsign=max{ui*ri*pvaluei}i=(1,2,...k)(ⅶ)

ui表示路径集合中第i个设备节点被攻击概率,ri表示路径集合中第i个设备节点的危险分数,pvaluei表示路径集合中第i个设备节点的资产价值;最终,关键路径的选择通过比较n个并列路径的关键指数获得;

综合嵌套路径及并列路径的分析结果,通过量化指标对多条路径的重要性进行计算,得出关键攻击路径。

一种服务器,包括:

一个或多个处理器;

存储装置,其上存储有一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述的基于攻击图的工业控制系统安全度量方法。

一种计算机可读介质,其上存储有计算机程序,其中,该计算机程序被处理器执行时实现上述的基于攻击图的工业控制系统安全度量方法。

本发明的技术特点和有益效果:

1、本发明以cve-nvd为主体,以cnnvd、icsvulnerabilitydatabase为拓展安全库,以cwe、capec为漏洞关联信息库,共同构建一个整体的安全知识库。同时结合多种工具扫描结果,将孤立数据进行筛选、关联、融合,生成适用于工业控制系统的攻击图,并分层度量系统安全性,以提供决策支持和态势感知。本方法根据漏洞依赖性,将网络威胁与工控系统设备相关联,最大程度的发现潜在威胁,极大缩短工控系统安全度量的分析周期,提高度量的效率,为工控系统的防护工作打下基础。

2、本方法提出一种基于攻击图的工业控制系统安全度量方法,通过利用资产探测、漏洞扫描、漏洞利用、基于图数据的攻击图生成以及分层安全度量等技术,能够将系统攻击路径可视化,并对待测系统的安全性进行度量,为工业控制系统的安全运行提供保障,可涵盖多种漏洞及工控设备类型;可针对任意起点和攻击目标生成攻击图;可为进一步的系统分析提供数据支撑。实用范围包括支持工业控制系统中针对任意攻击起点和攻击目标攻击图的生成,以及对工控系统安全性的度量,为工控系统的安全分析提供数据支撑,应用前景十分广泛。

附图说明

图1为基于攻击图的安全度量方法架构图;

图2为工业控制系统拓扑结构示意图;

图3为攻击模版的漏洞信息关联示意图;

图4为攻击图生成算法流程图;

图5为攻击图生成示意图;

图6为攻击路径示意图,其中(a)图为嵌套攻击路径示意图,(b)图为并列攻击路径示意图;

具体实施方式

下面通过实施例并结合附图对本发明做进一步说明,但不限于此。

实施例1:

本实施例提供一种基于攻击图的工业控制系统安全度量方法,包括以下四个步骤,本方法的整体架构示意如图1所示:

步骤一,获取工控网络拓扑结构信息,对特定工控系统(即要进行安全度量的目标工控系统)的设备进行探测,掌握工控网络内的设备信息,并且对设备关联情况进行分析;

第一步是基础,主要获取目标工控系统的设备在整个工控网络内的自身信息及关联信息情况;

步骤二,针对工控网络内设备的探测结果,即步骤一中特定工控系统的设备信息及关联情况,对设备漏洞信息进行收集;

步骤三,根据拓扑结构和设备漏洞信息,基于图数据库的方法以图形化格式存储格式,采用节点和关系表示图结构,生成系统攻击图;

步骤四,根据生成的系统攻击图,按照漏洞节点度量、设备节点度量、系统安全度量三个层次,对特定工控系统进行网络安全度量,并对攻击路径进行分析。

具体而言,步骤一中,用grassmarlin工具获取工控网络拓扑结构,获取的工控网络拓扑结构信息包括系统设计文档中的拓扑规划、系统配置以及安全设备的访问控制规则;根据系统设计文档以及安全设备的访问控制规则,读取系统设备间的连接关系并进行提取,以还原系统拓扑结构。同时,读取系统设计文档和系统配置文件中的设备信息,对设备类型、设备型号、系统版本进行提取,作为设备漏洞信息获取的数据依据。

另外,针对工业控制系统脆弱性、实时性的特点,同时采用grassmarlin工具对工控系统拓扑进行实时监控,以探测新加入工控系统的设备(其最终目的是要实现系统攻击图的动态更新),且grassmarlin工具采用被动探测方式实现对探测系统进行的信息收集,降低探测过程对工控系统中设备工作状态造成的影响。即图1中所示拓扑信息收集。

grassmarlin工具对工控系统拓扑进行实时监控的过程中,其探测结果以xml格式存储,通过低频率定期(具体情况要根据每个系统的特殊性来判断,由技术人员设定)读取grassmarlin工具探测结果,对更新的设备进行关系提取,将新加入设备添加至系统,并且更新与新设备有信息交互的系统设备,将源ip与目的ip同组的连接关系简化,去除冗余数据,以实现系统拓扑的动态获取;同时,针对原有数据和更新数据,按照探测的顺序进行拓扑数据排序。

掌握工控网络内的设备信息,是指读取系统设计文档和系统配置文件中的设备信息,对设备类型、设备型号、系统版本进行提取,作为后续设备漏洞信息获取的数据依据。

对设备关联情况进行分析,是指根据从系统设计文档、系统配置文件以及安全设备的访问控制规则处获取的系统拓扑信息,对设备间的关联关系进行格式化处理,统一定义设备间的连接关系为link,alinkb表示设备a存在到设备b的链路,a可以访问b,link为有向关系。

步骤二中,对设备漏洞信息进行收集包括漏洞信息库构建及设备漏洞获取;

漏洞信息库构建包括漏洞信息采集及漏洞信息处理,漏洞信息采集以cve-nvd漏洞库为主体,cnnvd、icsvulnerabilitydatabase为拓展安全库,cwe、capec为漏洞关联信息库,来构建安全知识库,将采集的漏洞信息(漏洞库里的漏洞信息)存储至mysql数据库中;漏洞信息处理以cnnvd和cve漏洞知识库为主体,对导入漏洞信息库(即mysql数据库)中的所有漏洞信息进行匹配、关联,引入cwe作为弱点描述和弱点分类以及利用性判别的依据,并结合capec,描述利用漏洞进行攻击的前提、技术储备、方式和造成后果;

采集的漏洞信息内容项包括:漏洞名称、cnnvd编号、基本分数、cve编号、危害等级、漏洞类型、漏洞发布时间、漏洞更新时间、威胁类型、厂商、漏洞描述、解决方案、受影响实体、补丁、cwe编号、cwe名称、弱点描述、其余相关弱点、弱点引入方式、弱点应用影响、相关攻击方式、攻击可能性、攻击领域、攻击机制、先决条件、所需技能。

攻击模版的漏洞信息关联示意图如图3所示。以cve-nvd漏洞知识库为主体,根据cnnvd漏洞详情页中的信息填充漏洞名称、cnnvd编号、cve编号、危害等级、漏洞类型、漏洞发布时间、漏洞更新时间、威胁类型、厂商、漏洞描述、解决方案、受影响实体、补丁。每一个cnnvd漏洞编号都对应着一个cve编号,根据cve编号可以关联到cve漏洞页中的漏洞信息。cve漏洞页中会提供着关联的cwe编号,以此链接至cwe安全事件库。常见弱点枚举cwe根据弱点分类,对于每一个cwe编号都提供了该弱点的描述。根据获取的弱点描述其余相关弱点、弱点引入方式、弱点应用影响、相关攻击方式,以漏洞为核心填充漏洞的利用条件、利用方式以及攻击结果。同时相关攻击方式中包含的多个capec编号,根据capec页面所提供的攻击可能性、攻击领域、攻击机制、先决条件、所需技能的攻击信息,完成攻击模板中攻击先决条件、以及攻击所需技能的补充。此外,为了给出具体漏洞的可行性分析和严重性判断,可通过cve编号关联至cvss,cvss提供了每个漏洞的严重性分级和危险分数判定。完成多个漏洞信息库的信息整合和关联。

设备漏洞获取采用开源扫描工具(如nessus、openvas等)和工控厂商的定制化扫描工具对系统设备进行漏洞扫描,根据已获取的系统设备信息,对扫描工具进行配置,完成设备漏洞信息的扫描;相比于传统网络,工业控制系统面临更加严格的安全性需求,进行设备漏洞扫描时要考虑工控设备的脆弱性。针对工业控制系统敏感性的特点,依据设备类型的不同,对工控设备的漏洞扫描和通用互联网设备的漏洞扫描采取不同扫描手段。针对工控系统设备,漏洞扫描以低频率进行,而对通用互联网设备以高频率进行扫描,多频率的扫描方案可以降低注入探测数据报送将增加网络的负荷和探测给工控设备带来的风险,同时保证了设备漏洞信息获取的实时性。

然后根据扫描获取到的设备漏洞信息,将设备与漏洞进行关联表示,一个设备可关联一个或多个漏洞,定义设备与漏洞的连接关系为has_vul_at,device1has_vul_atvul1表示该设备1存在编号为vul1的漏洞;将设备漏洞信息与漏洞信息库中信息进行匹配,每一个漏洞都可获得“cnnvd描述-cve漏洞编号-cwe弱点报告-capec攻击方法-cvss评分”的原子攻击模板,为后续攻击图的生成提供输入数据。如图3所示。

步骤三中,攻击图包含节点和边,边即为可攻击路径,攻击图中的节点包括设备节点以及漏洞节点;

设备节点信息包含了设备漏洞所在的服务信息、开放端口信息和ip信息,设备节点信息作为设备节点的属性,设备节点信息采用五元组即设备ip、设备名称、存在漏洞的服务、服务协议、服务端口进行描述;

漏洞节点信息包含原子攻击规则中的cve\cnnvd编号、cwe分类、提权能力标识和cvss评分,漏洞节点信息作为节点属性集成在以漏洞id为标识的漏洞节点上,漏洞节点信息采用四元组即漏洞id、漏洞编号、漏洞类型、漏洞评分进行描述;

根据网络拓扑分析以及漏洞信息收集的结果,对数据进行预处理,总结为设备信息表、漏洞信息表、设备关系表,作为攻击图生成算法的输入。如下表所示,其中,设备关系表中,“y”代表设备具有连接关系,“-”代表设备间不具有连接关系。

表一:设备信息表

表二:漏洞信息表

表三:设备关系表

步骤三中,生成系统攻击图,是基于neo4j图数据库生成攻击图,遵循属性图模型来存储和管理数据,攻击图中的节点用于表示实体,关系用于表示实体间的连接;用设备信息表和漏洞信息表填充攻击图的节点属性,用设备关系表填充节点关系,选定起始节点和目标节点,经过多次遍历生成攻击图。

以上述三个表中的数据作为攻击图生成算法的输入,算法流程图如图4所示。首先,向neo4j图数据库中导入设备信息、漏洞信息、设备关系和漏洞匹配情况。根据原子攻击规则模型,判别不符合模型利用的漏洞节点,以及不符合攻击条件的设备节点。去除不在攻击目标路线上的设备以及孤立漏洞节点。最终限定攻击者和目标,返回当前图数据库中信息,构建针对该系统的攻击图。

以图5工业控制系统为例,限定起始节点为mes系统主机,目标节点为plc1,生成攻击图,包括17个节点和19条边。由于mes系统pc3包括两个可利用漏洞,此攻击图共包含12条攻击路径。

步骤四中,网络安全度量采用分层度量的方式,根据节点种类对工控网络安全进行度量,即漏洞节点度量、设备节点度量、系统安全度量。漏洞节点附加属性分为两种:可利用率和漏洞危害。可利用率表示此漏洞被成功利用达到攻击效果的概率。漏洞危害表示漏洞成功利用后所带来的影响严重程度。设备节点附加属性也分为两种:被攻击概率和设备危险分数。被攻击概率与设备相连的漏洞节点的可利用率相关,表示该设备被攻击成功的概率。设备危险分数与设备相连的漏洞节点的可利用率及漏洞危害相关,表示设备被攻击成功后所带来的影响程度。

针对节点的计算分为起始节点和非起始节点两类。起始节点仅需考虑与本节点相连的漏洞节点的情况;非起始节点在考虑本节点相连漏洞节点的同时,还要结合上层设备节点的被攻击概率和设备危险分数,系统安全度量根据多层累积的设备节点的危险分数计算获得。

(1)漏洞节点度量根据扫描的设备漏洞信息对漏洞节点的可利用率以及漏洞危害进行量化;漏洞节点可利用性由capec库中“攻击可能性”字段定义,将攻击可能性的{低,中,高}量化表示为{0.3,0.6,0.9},分数低表示被攻击可能性低,分数高表示被攻击可能性高;漏洞节点的危害分数采用通用安全漏洞评分系统cvss的漏洞评估分数,满分为10分,分数越高,漏洞危害越大,分数越低,漏洞危害越小。

(2)设备节点度量根据设备节点被攻击概率以及设备节点危险分数进行量化;

a.设备节点被攻击概率

针对每个设备节点相连的漏洞节点,根据其可利用率计算设备节点的被攻击概率,如式ⅰ:

其中,uself表示本设备节点的被攻击概率,ui表示与该设备节点相连的第i个漏洞节点的可利用率,k表示与该设备节点相连的所有漏洞节点数,与设备节点相连的漏洞节点数量越多,该设备节点的被攻击概率越高;

b.设备节点危险分数

以相连漏洞节点的可利用率为依据,对漏洞节点进行加权危害计算,得到设备节点的危险分数,如式ⅱ:

其中,rself表示本设备节点的危险分数,ui、uj表示与该设备节点相连的第i、j个漏洞节点的可利用率,ri表示与该设备节点相连的第i个漏洞节点的漏洞危害。

(3)系统安全度量包括起始节点度量和非起始节点度量;

a.起始节点度量

由于起始节点已获取权限,其不存在被攻击情况,所以起始设备节点的被攻击概率默认为1,表示以获取该设备全部权限,由于起始节点无前向节点,入度为0,因此,起始节点的危险分数等于本节点的自身危险分数。

b.非起始节点度量

非起始节点在考虑本节点相连漏洞节点的同时,还要结合上层设备节点的被攻击概率和设备危险分数,计算上层设备节点与本层设备节点的累积被攻击概率,以及设备危险分数,系统安全度量根据多层累积的设备节点的危险分数计算获得;

非起始节点的被攻击概率计算如式ⅲ:

其中,di表示该节点入度,um表示与该设备节点相连的第m个上层节点的被攻击概率;本度量方法考虑了节点的入度,以及上层节点被攻击概率对本层节点的影响,节点入度越大,节点被攻击概率越大;上层节点被攻击概率越大,本层节点被攻击概率越大;

非起始节点的危险分数计算如式ⅳ:

其中,um、un表示与该设备节点相连的第m、n个上层节点的被攻击概率,rm表示与该设备节点相连的第m个上层节点的危险分数;

非起始节点的危险分数度量方法考虑了上层节点被攻击概率对本层节点的影响,同时对上级节点的危险分数进行累积计算,节点入度越大,节点危险分数越大;上层节点被攻击概率越大,本层节点危险分数越大;上层节点的危险分数越大,本层节点的危险分数越大,最后目标节点的危险分数rdest经过多层攻击路径累积计算得到。

步骤四中,攻击路径包括嵌套路径和并列路径;结合系统安全度量值对关键攻击路径进行定量分析,分析过程中引入资产价值指标进行度量,资产价值由节点出入度以及资产重要性共同决定,资产重要性指标从1-10为资产划分十个等级(资产重要性指标需根据专家经验决定),10为非常重要,1为非常不重要;同时,根据目前攻击图中出现的节点出入度数,以最高出入度为准,对其余出入度做归一化处理,起始节点和目标节点的出入度默认为1,不做降权处理,以图6所示的攻击图为例,出入度={2,5},进行归一化处理后,出入度为5的节点变为1,出入度为2的节点变为0.4。最后资产价值由资产重要性及出入度的乘积获得,如式ⅴ:

pvalue=psignificance*dio(ⅴ)

其中,pvalue表示资产价值,psignificance表示资产重要性,dio表示经过归一化处理的节点出入度;

结合以上指标分析攻击图中关键攻击路径。攻击路径中产生分支路径的情况分为两种,一种是嵌套路径分析,另一种是并列路径分析,如图6所示。

a.嵌套路径分析

如图6中(a)图所示,mespc1-->mespc2-->mespc3的攻击路径中,包含了mespc1-->mespc3路径。嵌套路径的路径集合中节点不包括共同起始节点:path1={mespc2},path2={mespc2,mespc3},对于此种情况的关键路径进行选择,计算如下:

其中,pathsign为路径关键指数,uj表示路径集合中第j个设备节点被攻击概率,ri表示路径集合中第i个设备节点的危险分数,pvaluei表示路径集合中第i个设备节点的资产价值;嵌套路径的关键路径以攻击跳数为主要计算依据,一般情况下攻击跳数较少的路径为关键路径,只有当中间跳节点被攻击率及危险分数都较大时,攻击跳数较多的路径才可能成为关键路径,这要根据不同的目标工控系统,并由技术人员依据长期工作经验进行判断;以图6中(a)图为例,根据实际经验,定义mespc2及mespc3资产重要性为6,其出入度归一化结果均为0.4。path1sign=0.9*9.9*2.4=21.384,path2sign=0.3*0.9*9.9*2.4+0.3*6.9*2.4=11.3832。因此,嵌套攻击路径中的关键路径为path1,即mespc1-->mespc3路径。

b.并列路径分析

如图6中(b)图所示,数据库服务器-->plc1的攻击路径中,包含了并列的三条攻击路径:数据库服务器-->操作员站-->plc1、数据库服务器-->工程师站-->plc1、数据库服务器-->scada系统-->plc1。并列攻击路径的路径集合表示为除去共同起始节点与终止节点的三个并列节点,path{操作员站、工程师站、scada系统}对于此种情况的关键路径进行选择,计算如下:

pathsign=max{ui*ri*pvaluei}i=(1,2,...k)(ⅶ)

ui表示路径集合中第i个设备节点被攻击概率,ri表示路径集合中第i个设备节点的危险分数,pvaluei表示路径集合中第i个设备节点的资产价值;最终,关键路径的选择通过比较三个并列路径的关键指数获得;

以图6中(b)图为例,根据实际经验,定义操作员站资产重要性为8,工程师站资产重要性为7,scada系统资产重要性为9,其出入度归一化结果均为0.4。pathsign=max{0.6*7.8*3.2,0.8*9.8*2.8,0.9*6.9*3.6}=max{14.976,21.952,22.356}。因此,并列攻击路径中的关键路径为path3,即数据库服务器-->scada系统-->plc1路径。

综合嵌套路径及并列路径的分析结果可知,攻击图的一条关键路径为mespc1-->mespc3-->数据库服务器-->scada系统-->plc1。通过量化指标对多条路径的重要性进行计算,得出关键攻击路径。综合考虑资产价值、攻击可能性、漏洞危害的系统关键攻击路径能够体现出系统关键部分的安全情况。同时,根据路径得分、设备得分以及漏洞得分可以对系统脆弱点进行准确定位。另外根据漏洞库中提供的漏洞详细信息,能够快速了解漏洞属性,寻找解决方案,为工业控制系统的安全防护工作提供数据支撑。

实施例2:

一种服务器,包括:

一个或多个处理器;

存储装置,其上存储有一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现实施例1所述的基于攻击图的工业控制系统安全度量方法。

实施例3:

一种计算机可读介质,其上存储有计算机程序,其中,该计算机程序被处理器执行时实现实施例1所述的基于攻击图的工业控制系统安全度量方法。

以上所述,仅为本发明的具体实施方式,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1