一种适用于工业控制系统的风险评估方法与流程

文档序号:12064458阅读:491来源:国知局
一种适用于工业控制系统的风险评估方法与流程
本发明涉及工业控制
技术领域
,尤其涉及一种适用于工业控制系统的风险评估方法。
背景技术
:工业控制中的安全隐患往往不但存在于工业控制设备中,更潜伏在工业控制系统(或工业控制网络,以下统一用“工业控制系统”代替)里。工业控制系统利用各种配置功能和元件执行要求的任务,该特征决定了难以仅通过评定每一个单独功能和元件的安全特征来综合评估一个系统的信息安全能力。对工业控制系统而言,安全威胁通常是不易察觉的。如果将所有因素集中起来全盘考虑,一些看似无害的小隐患可能会导致可不恢复的灾难性后果,而不仅仅是暂时性的经济损失。因此,需要对系统所有的软硬部件有一个清晰的、系统的认识,在技术上先发制人保护系统免受恶意行为破坏。一个好的工业控制系统应该同时满足操作性和安全性两个要求,但目前的现状是,大部分系统充分考虑操作性,而忽略了安全性。为了提升工业控制系统的安全能力,需要先对其隐患进行充分分析,然后针对性地提出解决方案。由于工业控制系统及设备一旦上线则需长期运行的特殊性,应小心确保隐患分析不会干扰由工业控制系统及设备提供的控制功能。因此,在评估实施前,可能需要使系统离线。而上线系统再离线,必定会对生产产生较大影响。为了规避这种影响,针对在用工业自动化控制系统(评估),应考虑现场测试和引入安全技术措施对正常生产过程的影响。技术实现要素:为了提高工业控制系统的安全评估水平,发现工业控制系统中的安全隐患,本发明提供一种适用于工业控制系统的风险评估方法。本发明的适用于工业控制系统的风险评估方法,包括如下步骤:步骤a,层次化的攻击图自动构建。首先,是对目标网络进行建模,采用基于属性的层次化建模方法。其次,是对攻击者进行建模。主要以攻击模式知识库对攻击者攻击过程中的能力建模。为了构建攻击模式知识库,首先从网络攻击成功的因果条件的角度,抽象攻击者的攻击模式,然后通过分析开放脆弱点数据库中各个脆弱点的描述规范将该脆弱点映射至可 被其利用的攻击模式。为了减少计算复杂度,提出属性压缩技术:利用IP地址的CIDR记法,将目标网络内主机间相互关系压缩成虚拟子网间相互关系。步骤b,图树转化算法,可以统一处理3类含环情况。主要包括三类。第一类:环内没有属性节点或攻击节点能够被攻击者到达,可以完全删除。第二类:环内部分节点可以到达,可以打破。第三类:整体而言既不能删除也不能打破,可用基于逆向搜索的目标最优攻击树生成算法分解。本发明采用基于深度彻底搜索的攻击树生成算法和基于逻辑分析的无解结点标记算法来完成图树分解。攻击图模型中的脆弱性之间的联系复杂,攻击路径难以有效提取,也给量化分析增加了难度;而攻击树模型简单,与复杂的脆弱性之间的联系不能很好对应,难以自动构建。用该攻击图转攻击森林的方案后,能够自动对系统脆弱性进行建模,又能够提取出清晰的攻击路径,便于分析。该攻击图转攻击树算法能够有效处理攻击图中复杂的环,且不丢失有价值的攻击路径。该攻击图转攻击树算法能够分析与或逻辑,去除攻击图分解得到的攻击树中无解的结点。该攻击图转攻击树算法能够对图中多入度的结点进行处理。算法适宜用高效的数据结构实现,如图使用邻接表数据结构,能够有效降低空间和时间复杂度。步骤c,安全风险估算。采用分层指标分析法。工控系统的递阶层次化风险评价指标体系如图6,包括目标层、准则层和指标层。目标层定义了隐患评测的最终目的——计算工控系统隐患评估值。准则层是评价安全隐患所需的综合指标,包括发生概率、影响程度及不可控性。指标层是评价准则层所依赖的基本指标,如威胁动机、攻击能力等。指标层中,需要综合各种不同性质的指标,各类指标权重的赋值是需要丰富的实践经验积累。经过上面步骤,本发明完成了工业控制系统的风险评估。针对这些风险,本发明还能够提供防护建议,并且能够构建测试环境,以对前面的评估结果进行验证和反馈。下面具体说明。步骤d,防护建议。采用基于实时性保护的最小代价防护算法,获得符合工控系统实时性要求的最优防护集。在攻击图和攻击树中,不同的安全防护措施,需要不同的安全成本,且会对系统实时性造成一定影响;符合实时性约束条件的最优防护集的安全成本最低,且不会干扰工控系统的正常工作。步骤e,构建测试环境。为了验证工控安全隐患分析系统的评估指标,本发明构建了工控测试环境。该环境主要基于虚拟机进行构建,描述了一个工业控制网络中的所有主机、设备、及其它节点的情况。整个测试环境由若干(比如10台)服务器(可以采用普通PC服务器)组成,每台服务器上部署若干(比如20个)虚拟主机。每个虚拟主机上随机配置各种操作系统和相关的web服务。为了建立动态的网络拓扑,需要提供配置参数来动态调整各虚拟主机之间的连通度。同时,各虚拟主机可以模拟主流型号的PLC设备。各PLC设备的漏洞 信息由配置文件随机进行分发部署。根据建立的测试环境,可以自动生成相应的网络拓扑结构,漏洞文件及其它配置信息。把这些信息输入到工控安全隐患分析系统,进行网络建模,并生成攻击图。然后,根据攻击图,运行图转树算法,生成需要的攻击树。经过对测评指标的配置,自动生成各种测评指标参数值。然后,根据内部攻击实验和外部攻击捕获结果,对攻击概率做进一步的修正。经过建立这样的测试环境,就可以对前面的评估结果进行验证和反馈。从而,整个系统形成一个闭环,有助于测评结果更加趋于真实情况。本发明是一种无需系统或设备离线的分析方法(可称为离线分析法)。该方法以中华人民共和国国家标准《GB/T30976.1—2014工业控制系统信息安全第1部分:评估规范》为指导,从系统(网络)和设备两个层面对安全隐患进行分析。该方案是一种基于模型的定性与定量分析相结合的风险评估与管理工具,在对系统各组成部分、安全要素充分研究的基础上,对典型系统、威胁、脆弱性建立量化或半量化的模型,根据采集信息的输入,得到评价的结果,从而实现离线的安全测试。本发明能够发现工业控制系统中的安全隐患,提高工业控制系统的安全评估水平。附图说明图1为风险评估机制业务流程图;图2为基于属性的层次化网络构建示意图;图3为攻击图中三种类型的环示意图;图4为攻击图转化成的攻击森林示意图;图5为解决去除回向边和复制多入度结点问题的示意图;图6为递阶层次化风险评价指标体系示意图;图7为风险评估计算机制示意图;图8为基于转换的最优弥补集算法流程图。具体实施方式为使本发明的上述目的、特征和优点能够更加明显易懂,下面通过具体实施例和附图,对本发明做进一步说明。本发明提出的适用于工业控制的风险评估机制和工具,其业务流程如图1所示,主要包括潜在威胁识别、风险估算、防护建议三部分内容。对各部分具体说明如下。1.目标网络建模和攻击者建模潜在威胁识别主要是通过攻击图和攻击树技术,来对安全攻击路径进行识别。首先,本发明采用基于属性的层次化目标网络建模方法,其特征之一是采用基于安全属性的建模方法,对工控系统涉及的安全属性进行提取和汇总;其特征之二是构建层次化模型,增加了子域层,可有效降低风险评估的复杂度。本发明提出了如图2所示的四层网络模型。AI表示工控系统级的属性描述集合,它包括目标网络内业务子域之间逻辑连接关系,子域之间信任关系等。Ad是对工控业务子域的属性描述集合,它包括目标网络内主机之间逻辑连接关系,主机之间信任关系等。Ah是主机级的属性描述集合,其中属性集合Ahi描述了攻击者在主机hi上拥有哪些权限、能否运行任意程序、能否窃取数据以及篡数据等。As是对服务级的属性描述集合,其中属性集合Asi描述了服务si在哪些主机上运行,是否会被拒绝服务攻击,是否存在何种脆弱点等。对攻击者的建模主要是对攻击者攻击能力的建模。实践表明采取攻击模式知识库来对攻击者攻击过程中的能力建模是一种非常有效的建模方式。知识库中的攻击模板以各个脆弱点被利用的前提和产生的后果来描述。Vulnerabilities描述攻击模式所针对的脆弱点集合。Pre-Conditions描述了攻击模式被利用必需的与网络和攻击者属性相关的前提条件,它一般有三部分构成:网络前提条件、主机前提条件和攻击者能力前提条件。Effects描述了攻击模式被成功利用后可能对网络和攻击者属性产生的后果,它一般也有对应的三部分构成:网络影响、主机影响和攻击者能力影响。Variables描述了攻击模式可被实例化的局部变量集合,它们的作用范围只限于该模式内。为了降低目标网络建模的复杂度,本发明从如下几个方面进行了聚类分析:1)基于属性的PLC聚类分析在工业控制系统中,使用了各种各样的PLC设备。这些PLC的属性可以进行归类分析。基于属性的PLC聚类分析法,可以有效的降低要分析的PLC设备数量等级。虽然目前PLC产品种类非常多,但是,可以根据PLC的各种属性进行层次化归类。第一层是从生产地属性看,主流的PLC产品可以分为三大类:一是美国产的PLC产品,二是欧洲产的PLC产品,三是日本产的PLC产品。美国和欧洲的PLC技术是在相互隔离情况下独立研究开发的,因此美国和欧洲的PLC产品有明显的差异性。而日本的PLC技术是由美国引进的,对美国的PLC产品有一定的继承性,但日本的主推产品定位在小型PLC上。美国和欧洲以大中型PLC而闻名,而日本则以小型PLC著称。第二层可以细化到生产厂商,以日本产的PLC为例,主要包括三菱、欧姆龙、松下、富士、日立、东芝等。最后,即第三层可以细化到不同的产品体系。以三菱公司为例。其小型机F1/F2系列是F 系列的升级产品,大中型机有A系列、QnA系列、Q系列,具有丰富的网络功能,I/O点数可达8192点。其中Q系列具有超小的体积、丰富的机型、灵活的安装方式、双CPU协同处理、多存储器、远程口令等特点。另外,根据PLC的内部组成属性,比如主机的微处理器类别,可以分为Z80A、8085、M6800、M6809、8086、M68000。单片机有:8039、8031、M6801等。2)根据PLC的型号及对应的操作系统和关键应用,进行分类聚合以工控主机和采集服务器为代表的节点,会使用不同的操作系统和关键应用。这里的关键应用包括:WEB服务,数据库服务,中间件服务,消息服务等。根据这些主机节点的操作系统不同,可以分类聚合成几种典型的操作系统节点。不同的工控设置支持的操作系统也不完全一样,以西门子工控机为例。它的机架式工控机主要包括547D,847C,547eco,647C,547C;面板式工控机主要包括577C,477D,677C,677B,277D,477C577B;箱式工控机主要包括427C,627C,227D,427eco。从支持的操作系统看,Windows2000操作系统支持的有677B577B,WindowsXP操作系统支持的有以上所有型号都支持,Windowsserver2003操作系统支持的有647C847C,Windowsserver2008操作系统支持的有547D647C847C547C,Windows7操作系统支持的有547D,847C,647C,577C,477D,677C,277D,477C,547eco,427C,627C,227D。这样,我们就可以根据PLC的型号,及对应操作系统具有的漏洞问题,进行分类聚合。对各主机所开放的应用进行分析,根据应用使用的软件聚合成一些典型的应用节点。这些应用节点具有同样的安全属性,可以在目标网络构建时归为一类。在工控系统中,为了提高系统的健壮性,往往大量采用相同型号的设备。而在一般的网络系统中,各种设备差异比较大。因此,在工控系统中,可以更容易的进行聚合。对于同样的PLC设备,可以聚合为一个设备。但是,在具体实施时,也要考虑网络的连通性。同样型号的一个PLC设备,具有不同的网络连接,需要考虑是否能够聚合为一个设备。因此,在网络建模时,需要考虑网络的拓扑结构。2.层次化的攻击图自动构建传统的算法中,攻击模式知识库中绝大部分攻击模式与目标网络中存在脆弱点无关,由这些攻击模式实例化产生的大量原子攻击,攻击者肯定不会执行,但是每次迭代操作都需要不断匹配这些原子攻击,这严重制约了算法性能。本发明提出属性压缩技术:利用IP地址的CIDR(无类别域间路由,ClasslessInter-DomainRouting)法,将目标网络内主机间相互关系压缩成虚拟子网间相互关系。主要以攻击模式知识库对攻击者攻击过程中的能力建模。为了构建攻击模式知识库,首先从网络攻 击成功的因果条件的角度,抽象攻击者的攻击模式,然后通过分析开放脆弱点数据库中各个脆弱点的描述规范将该脆弱点映射至可被其利用的攻击模式。3.低损失高效的图树转化图树转化的关键是消除攻击图中的环路和多入度结点,为此,本发明提出了独有的图树转化算法,能够自动对系统脆弱性进行建模,又能够提取出清晰的攻击路径,便于分析。该算法的特征之一是能够有效处理攻击图中复杂的环,且不丢失有价值的攻击路径。该算法的特征之二是能够分析与或逻辑,去除攻击图分解得到的攻击树中无解的结点。该算法的特征之三是能够对图中多入度的结点进行处理。该算法的特征之四是攻击图使用邻接表数据结构,能够有效降低空间和时间复杂度。具体来说,本发明采用基于深度彻底搜索的攻击树生成算法和基于逻辑分析的无解结点标记算法来完成图树分解。攻击图转攻击树的算法分2个步骤实现:在第一个步骤中,采用基于深度彻底搜索的攻击树生成算法,算法不考虑攻击图的与或逻辑,将攻击图进行分解,直到分解到攻击图的叶子结点或一个分支中出现重复结点。通过这种分解方式,本发明可以去掉攻击图中的环,并对有多个入度的结点进行拆分操作,生成一个可能有无解结点的普通树。该步骤采用的基于深度彻底搜索的攻击树生成算法具体如下:graph2tree(G,v,p)Input:攻击图G,入口结点索引v,入口结点双亲节点索引pOutput:普通树T,存在无解结点1.currentParent←nodeNum2.treeNode.parent←p3.treeNode.type←G[v].type#LEAF/OR/AND4.treeNode.data←G[v].data5.pushtreeNodeintoT6.nodeNum←nodeNum+17.ifG[v]∈LEAF∪G[v].onUsethenreturn8.G[v].onUse←true9.10.graph2tree(G,eachchild,currentParent)11.G[v].onUse←false上述算法用自然语言描述时,包括如下步骤:1)将当前结点索引值nodeNum赋值给表示双亲结点索引值的变量currentParent;2)为当前结点指明入口结点双亲结点索引p,并加入到生成的树T中;3)当前结点索引值nodeNum自增1;4)如果当前结点是叶子结点或当前结点在生成的树中当前分支出现过,则返回;5)标记当前结点在生成的树中当前分支出现过;6)如果当前结点有孩子结点,对每个孩子结点递归执行本算法,传入图G、每个孩子结点索引和表示双亲结点索引值的变量currentParent;7)标记当前结点没有在生成的树中当前分支出现过。在第二个步骤中,采用基于逻辑分析的无解结点标记算法,算法遍历新生成的树,对所有无解结点进行标记。对于树中叶子结点,如果来自攻击图中的与/或结点,那么它是无解的结点。对于树中非叶子结点,如果来自图中的与结点,当子结点存在无解结点时,它就是无解结点;如果来自图中的或结点,那么当结点的所有子结点都是无效结点时,它才是无解结点。树中非叶子结点如果无解,那么它的所有后继都无解。未标记的结点予以保留。该步骤采用的基于逻辑分析的无解结点标记算法具体如下:boolisUnsolved(T,v)Retern:true/false结点是否无解Input:存在无解结点的普通树T,入口结点索引vOutput:有解与或树T上述算法用自然语言描述时,包括如下步骤:1)当前结点如果是树中叶子结点,执行2),否则执行3);2)当前结点如果是图中叶子结点,则返回false,否则标记为无解结点并返回true;3)当前结点如果是图中与结点,递归为每个孩子结点执行本算法,否则执行5);4)当孩子结点中存在无解结点,则标记当前结点为无解结点;5)当前结点如果是图中或结点,递归为每个孩子结点执行本算法;6)当孩子结点中所有结点均为无解结点,则标记当前结点为无解结点;7)如果当前结点被标记为无解结点,那么标记它的所有后继为无解结点,返回true,否则返回false。经过以上两个步骤,本发明得到了结点全部有解的与或攻击树。面临的难点主要是如下几个方面:首先,是攻击图中存在环,在转化成攻击树过程中需要打破环,同时又不能丢失打破部分的攻击路径。本发明的解决方案是:在一般的攻击图分解中,要考虑3种类型的环(如图3),比较复杂。第一类(图3(a)):环e1和e2互为前驱和后继,环中结点不可能到达,可以完全删除。第二类(图3(b)):环内部分节点可以到达,可以打破,环可以通过c2入口到达,只需打破e2指向c2的边。第三类(图3(c)):整体而言既不能删除也不能打破。在本发明的方案中可以统一对3类环进行处理:对于可以删除的环,在第二步的基于逻辑分析的无解结点标记算法中对无解结点进行标注的过程中可以“删除”它们;对于可以打破的环,在第一步的基于深度彻底搜索的攻击树生成算法中可以进行打破;对于既不能删除也不能打破的环,本发明通过打破的方法进行统一处理,即使一条有意义的边在一棵树中被去掉了,也会出现在攻击森林的其它树中,不会遗失可能的攻击路径。图4为图3(c)经过本算法形成的攻击森林,对于图4(c1)来说,e3到c4的攻击路径被去掉了,但它反映在图4(c2)中,对整个攻击森林来说,攻击路径没有减少。其次,攻击图转攻击树的过程中,模型变简单了,却不能丢失有意义的攻击路径。本发明采用的解决方案是:在普通的图转树算法中,往往只进行深度优先搜索来构造攻击树,当搜索到已经访问到的结点时,就停止了这个分支的搜索(为了保证每个结点仅在树中出现1次),这对于攻击树来说会丢掉一些攻击路径。所以本发明的算法会一直搜索到叶子结点(见基于逻辑分析的无解结点标记算法的第7行),而不是仅到已经访问的结点,会出现在攻击树不同分支有攻击图中相同结点的情况。这种算法使所有可能的攻击路径都保留了下来,生成的攻击树变得冗余了,如图5转换后的攻击树结点5到结点7的路径在不同分支重复出现,但攻击路径变得更加清晰。第三,在攻击图中如果遇到在本分支中已经访问过的点,需要停止这一分支的搜索,以避免程序进入这种循环,生成无意义的攻击树。攻击图中存在许多多入度的结点(如图5中转换前结点5入度为2),这在树中是不允许出现的,需要本发明对这些多入度结点进行复制(图5中转换后结点5到结点7的路径被复制成两份,使结点5的入度变成1)。这就要求本发明的算法能够记忆当前分支已经访问过的结点,所以本发明的算法巧妙地利用了递归执行时的栈式过程,在对子结点递归执行算法之前对该结点进行访问标记(见基于深度彻底 搜索的攻击树生成算法的第8行),在对子结点递归执行算法之后对该结点取消访问标记(见基于深度彻底搜索的攻击树生成算法的第11行),这样能够使生成攻击树过程中遇到在本分支中已经访问过的点(如图5路径1→3→5→7→2→5中结点5在攻击树同一分支中访问过)时及时停止(去掉结点5),断开图中的环,防止进入循环,同时遇到在其它分支中已经访问过的点时不受影响,能够对多入度结点(如图5中结点5)进行复制(使结点5出现在两条攻击路径1→2→5→7和1→3→5→7→2→4中)。最后,攻击树属于与或树,存在与或关系,不允许存在无解的结点,需要本发明删除攻击树中无解的结点。在攻击树中,对于叶子结点,只有它们也是攻击图中的叶子结点时才算有解。对于非叶子结点,当它为攻击图中与结点时,只有它的子结点全部有解它才有解;当它为攻击图中或结点时,只要存在有解的子结点就算有解;当该非叶子结点无解时,它的所有后继(子孙)也均无效。在执行完算法第一步时,生成的树存在无解的结点,而第二步算法,正是实现了对上述的无解结点的标记(见基于逻辑分析的无解结点标记算法第2步)。算法第二步,只是对无解的结点进行递归标记,没有操作数据结构进行真正删除,实现了这些结点的去除,所以也能降低开销。从上面的分析可以看出,从攻击图生成到攻击图转攻击树,是一个正向的攻击树生成过程。在许多隐患分析和评估中,需要针对特定的一个或几个关键目标开展安全风险评估。为此,本发明以特定关键设备防守目标,提出了逆向推理的攻击树直接生成算法。首先,用户确定要分析的攻击目标,生成攻击目标集合。用户输入工控网络路由信息,脆弱点信息等数据,或者使用系统提供的扫描工具自动进行目标网络建模。这样,就可以获得网络路由集合和脆弱点关系图。然后,搜索脆弱点关系图,查找可一步达攻击目标的攻击节点,插入攻击节点集合。根据生成的攻击节点集合,采用递归的方法,对脆弱点关系图进行遍历。而每步搜索出的可达攻击节点,都插入攻击节点集合。当遍历完成后,就可以获得相应的攻击路径信息。从而,可以直接生成攻击树。与图转树算法相比,直接生成攻击树算法具有直观性。但该算法主要应用于防守目标明确的环境,对大量节点都需要评估的环境下,需要重复以上计算步骤,从而总体上有较高的计算复杂度。4.网络安全风险估算网络安全风险估算采用分层指标分析法。该方法是通过对分层分析法改造而来。首先,针对工业控制系统,本发明提出了递阶层次化的风险评价指标体系结构,如图6,包括目标层、准则层(也可称为上层指标层)、指标层(也可称为下层指标层)。图6中目标层定义 了隐患评测的最终目的,即给出一个综合评价值。准则层是达到最终目的所需的综合指标,包括发生概率、影响程度及不可控性。指标层是与准则层相关的底层指标。然后,本发明用逐层加权法进行综合评判,如图7所示。从指标层的底层指标开始,本发明依据先验知识和专家函数,为各指标赋上权重值和风险值。相关指标风险值的加权和即为准则层各指标的风险值。然后依据先验知识给各个准则层的指标赋予权重值,所有准则层指标的风险值的加权和即为工控系统的最终评价值。本发明可以对指标进行量化。指标量化的原则是由点到面,先对攻击图、攻击树中的各个节点进行量化,再依据节点量化值对攻击路径乃至整个系统的安全性进行评价。指标量化分两步,第一步是量化指标层的指标(即底层指标),第二步是量化准则层的指标。前文已对准则层指标的量化方法进行描述,即根据底层指标的风险值和指标权重,采用加权方式计算相应的准则层指标。量化指标层中的各个底层指标的方法是:首先判定指标类别,根据该指标是否能依据事实数据赋值,将其判定为事实量化指标或经验量化指标。对事实量化类指标,设计不同算法,根据系统采集到的客观数据计算风险值和指标权重;对经验量化类指标,依据先验知识和专家函数,为各指标赋上风险值。以图6中的递阶层次化风险评价指标体系示例为例,在底层指标中,威胁动机、途径隐蔽性、攻击能力、攻击复杂度、方式多样性、突防能力为经验量化指标,漏洞利用率、漏洞风险值、资产吸引力、利用服务的数量、对正常服务的影响度、网络带宽占用率、恢复时间为事实量化指标。1)经验量化指标经验量化指标需要根据对具体攻击手段、防御手段等进行前期调研,由专家根据先验知识予以赋值。赋值一般站在对系统造成危害大小的角度采用九度评价法进行评分。九度评价法各个分值的含义如下:表1.九度评价法分值含义0没有危害1有轻微危害,带来的损失可忽略不计3有轻微危害,带来的损失不可忽略也无需弥补5有危害,带来的损失可弥补也可忽略7有严重的危害,带来的损失必须弥补9有非常严重的危害,带来的损失不可弥补2,4,6,8介于上述两种相邻判断的中间2)事实量化指标事实量化指标又分为两类,一类是可直接量化指标,另一类是不可直接量化指标。可直接量化指标如漏洞风险值可直接从通用漏洞库读取,漏洞利用率需要全世界范围内的数据支 持,可从相关研究数据中读取。不可直接量化指标则需根据采集到的数据经由一定算法计算得来,不排除某些不可直接量化指标引以为依据的数据也由专家经验提供。比如,某些事实量化指标,如资产吸引力可依据PageRank算法的思想来计算。5.最优防护集(最优弥补集)计算在实际生产环境中,不同的安全防护措施需要不同的成本。这些成本包括时间成本、经济成本、人力成本、资源成本等。对工控系统而言,实时性是最重要的。如果安全防护措施影响了工控系统工作的实时性,会得不偿失。因此,本发明用基于实时性约束的最小代价防护算法来计算出以最小的安全成本保证其目标网络的“适度安全”的最小代价防护措施集。为此,本发明维护攻击防护转换知识库和防护属性知识库。攻击防护转换知识库描述了防护措施与具体攻击方法的对应关系,防护措施与攻击方法形成多对多映射。防护属性知识库描述了防护措施的具体实施方案、花销以及对实时性的影响程度等。在攻击图、攻击树分析出的攻击路径基础之上,找到针对每个攻击方法的所有防护措施组成防护措施集,并通过攻击属性集、防护措施集、以及二者之间的转换集将攻击路径转换为对应的防护措施。然后通过基于实时性约束的最小代价防护算法迭代计算出最优防护集。如图8,包括如下步骤:1)输入全部防护措施集MU、可容忍的实时性影响ΔT和各防护措施对实时性的影响Δt(mi),mi∈MU;2)初始化防护措施对实时性的总影响Δt=0,初始化最优措施集M为空集;3)读取全部防护措施集,如果输入的全部防护措施集为空,则返回当前的最优措施集作为最终防护措施集,程序结束;如果全部防护措施集非空,则找出其中所需代价最小的一个防护措施;4)考量上一步找到的防护措施,计算该措施及其之前所有被选中的防护措施对实时性的影响之和,若超出可容忍范围,则从全部防护措施集中删除该措施,然后重复第3步;若在可容忍范围内,则将该措施加入到最优措施集,并从全部防护措施集中删除该措施,然后重复第3步。依据上述方法,可以建立一种工控安全隐患分析系统,包括模型构建模块、攻击图构建模块、图树转化模块、风险估算模块、安全防护建议模块等。该系统的具体工作流程是,首先在模型构建模块,建立目标网络和攻击者的安全模型,然后把目标网络和攻击者的安全模型作为输入,提供给攻击图构建模块,其输出经过图树转化模块,形成多个独立的攻击树;再通过风险估算模块对安全树做风险估算,剔除风险较低的攻击路径;最后,针对所以剩余的攻击树,通过安全防护建议模块构建最优弥补集。传统的隐患分析系统往往是开环形式的,无法根据风险评估的效果对风险估算进行修正。为此,本发明建立了工控隐患分析测试环境, 测试结果将直接反馈到网络安全风险估算,从而可以对风险估算的信息进行修正。整个系统形成了良好的闭环效应。工控安全隐患分析系统的数据采集模块将外部的资产信息、拓扑结构、漏洞扫描结果、漏洞挖掘结果、基线核查结果、设备重要性、组件信息采集并转存到系统数据库中,数据维护模块再对这些数据作进一步的完善和修订。数据维护模块还会定期更新漏洞库中的安全漏洞,并将最新的智能推理知识更新到知识库中。系统参数配置好后,就依次进入威胁识别,风险估算和安全防护建议模块,最后利用综合报表模块,就可以输出得到安全分析报告和安全防护建议。该系统可以有效降低网络的计算复杂度,同时提高了用户的直观感受,可以实现攻击树的自动绘制和调整,攻击路径的动态显示,并提供实时报警功能。以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求书所述为准。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1