logo资料库

论文研究-基于攻击树的工业控制系统信息安全风险评估.pdf

第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
资料共4页,全文预览结束
第 32卷第 10期 2015年 10月    计 算 机 应 用 研 究 ApplicationResearchofComputers Vol.32No.10 Oct.2015   基于攻击树的工业控制系统信息安全风险评估  黄慧萍,肖世德,孟祥印 (西南交通大学 机械工程学院 机电测控系,成都 610031) 摘 要:针对如何量化评估系统的信息安全状况这一问题,提出一种基于攻击树的工业控制系统信息安全风险 评估方法。该方法首先运用攻击树对工业控制系统进行信息攻击建模,然后利用概率风险评估技术计算叶节 点、根节点和各攻击序列发生的概率,结合攻击目标实现后所造成的损失即可计算得到根节点的风险值。案例 分析的计算结果不仅表明了根节点和各攻击序列遭受信息攻击风险的概率大小,还揭示了系统攻击树中风险最 大的攻击路径,证明该方法合理可行。该方法有助于风险管理者找到工业控制系统中的信息安全薄弱环节和最 有可能被攻击者利用的攻击路径和方式,从而重点采取防御措施。 关键词:攻击树;工业控制系统;信息安全;风险评估 中图分类号:TP309.2   文献标志码:A   文章编号:10013695(2015)10302204 doi:10.3969/j.issn.10013695.2015.10.033 Attacktreebasedmethodforassessingcyber securityriskofindustrialcontrolsystem HuangHuiping,XiaoShide,MengXiangyin (Dept.ofElectromechanical&Controlling,SchoolofMechanicalEngineering,SouthwestJiaotongUniversity,Chengdu610031,China) Abstract:Inordertoquantifytheindustrialcontrolsystem’sinformationsecurityrisk,thispaperproposedanattacktree basedmethodforassessingthesystem’scybersecurityrisksituation.Thismethodfirstconstructedanattacktree,inwhich theultimateattackgoalpresentedasthetopnodeandtheattackeventspresentedastheleafnodes.Thenitselectedthreein dicesforeachleafnodeandappliedtheprobabilityriskassessmenttechnologytocalculatetheprobabilityofoccurrencefor eachnodeintheattacktree.Lastly,itcalculatedtheriskvalueofthetopnodebasedonthemagnitudeofthepotentialloss whenimplementedtheultimateattackgoal.Calculatingresultsofanapplicationcaseindicatethattheproposedmethodisrea sonableandapplicable.Itcanhelptheriskmanagementpersonstofindtheweakestplacesandthemostdangerousattacksce nariosintheindustrialcontrolsystem. Keywords:attacktree;industrialcontrolsystem;cybersecurity;riskassessment  引言  工业控制系统广泛应用于国家关键基础设施中,包括电 力、石油石 化、铁 路、水 处 理 等 行 业。控 制 系 统 的 功 能 安 全 (functionalsafety)和信息安全(cybersecurity)对于这些行业企 业的生产平稳运行起着举足轻重的作用。长期以来,控制系统 的性能、可靠性、灵活性与控制系统的功能安全一直都得到很 高的重视。然而工业控制系统的信息安全却被忽视。SCADA (supervisorycontrolanddataacquisition)系统[1]是工业控制系 的核设施无法正常工作[3]。因此,如何保障工业控制系统的 信息安全已成为业界必须解决的一个关键问题,是目前的一个 研究热点。国内外学者的研究内容中涉及的一个重要方面就 是对工业控制系统的信息安全风险进行评估,这对于帮助人们 认识系统在信息安全方面的薄弱环节有着重要意义,有利于人 们有针对性地对系统的弱点和漏洞采取相应的防御措施[4,5]。 信息安全风险评估技术主要分为两大类,即定性和定量的 风险评估技术和方法[6]。定性风险评估技术和方法主要依靠 评估者的经验和主观意见来对问题作出高、中、低的定性分析 统的重要组成部分之一。随着网络、通信和计算机技术的迅速 发展,目前许多工业控制 SCADA系统采用了多种多样的通信 和判断,对负面事件发生的可能性以及所带来的后果无法给出 量化的结果。定量风险评估技术和方法能从数值上说明评估 方式,它们与其他信息系统的连接越来越多,因此导致工业控 对象的危险程度,准确描述系统的危险性,因此它是当前工业 制系统中的控制命令和状态数据面临着被网络中不法分子窜 控制系统信息安全风险评估的一个主要研究方向。 改的极大危险,可能出现一系列较严重的控制系统被攻击事 目前,国内外学者应用各种方法来评估工业控制系统的信 件,造成较大的损失[2]。例如,在 2010年 9月 24日,伊朗布什 息安全风险。姜莹莹等人[7]结合应用层次分析法和模糊评判 集来对一个油气田 SCADA系统的信息安全性进行综合评价。 尔核电站的系统受到震网(Stuxnet)病毒的攻击,导致该电站   收稿日期:20140713;修回日期:20140827  基金项目:国家自然科学基金资助项目(51205326);中央高校基本科研业务费专项基金 资助项目(2682013CX022);四川省应用基础研究项目(2014JY0212)   作者简介:黄慧萍(1977),女,湖北武汉人,讲师,博士研究生,主要研究方向为工业控制系统网络技术(hhping2@163.com);肖世德(1967), 男,教授,博导,主要研究方向为机电监控设备可靠性、危险场合工业监控系统;孟祥印(1979),男,副教授,博士,主要研究方向为 SCADA系统监 控技术.
第 10期 黄慧萍,等:基于攻击树的工业控制系统信息安全风险评估 ·3203·     这种系统性的分析方法能对复杂的系统进行分解,无须高深的 击树时,首先由相关专业技术人员对系统进行细致的分析,将 数学工具,所需定量数据信息较少。但是该方法只能得到系统 攻击者的最终攻击目标作为根节点,将攻击者可能采取的具体 整体很安全、安全、基本安全和不安全的评价结果,无法体现系 攻击行为表示为攻击树的叶节点,其他为中间节点,这样就能 统在信息安全方面的薄弱环节,不利于针对系统的弱点和信息 漏洞制定相应的防护措施。Bouchti等人[8]采用着色 Petri网 方法来对一个工业控制 SCADA系统的信息攻击进行建模。该 得到一棵或者多棵确定的攻击树。通过细致地对整个系统的 信息安全事件进行实例化,就能得到由多棵攻击树组成的攻击 森林,森林中每一棵攻击树的根节点表示针对系统信息安全的 方法从信息安全的角度出发,对信息攻击者的行为进行建模, 一个攻击目标,叶节点表示能引起攻击目标安全事件发生的各 能够定量地表示入侵的危害程度,从而帮助管理、技术人员针 对系统的入侵找到最有效的控制措施。但是基于着色 Petri网 的攻击模型比攻击树模型等基于图形化的模型建模更繁琐,模 类攻击事件,每条从叶节点到根节点穿过整棵攻击树的路径表 示对系统的一次具体攻击过程,每条从叶节点到根节点穿过整 棵攻击防御树的路径表示对 SCADA系统的一次具体攻击过 型形式更复杂,在实际应用中受到了限制。 Schneier[9]提出的攻击树建模技术是一种得到了广泛应用 程,即一个攻击序列。 的图形化风险建模和分析方法。攻击树是从可靠性中故障树  形式启发而来,它是一种基于攻击的、形式化分析系统和子系 统安全风险的方法。攻击树模型因其结构简单、表示方法易于 理解的特点,已经成为当前有关安全分析的技术领域中应用得 较多的一种方法[10]。国内外已经有学者将攻击树应用在各种 不同工业控制系统的风险评估工作中,例如,Ten等人[11]使用 攻击树对一个 SCADA系统的信息 安 全 脆 弱 性 进 行 了 评 估; Park等人[12]利用攻击树模型来分析一个反应器保护系统的信 息安全;Byres等人[13]使用攻击树建模方法对一个基于 Modb us协议栈的工业控制 SCADA通信系统进行了漏洞分析;蒋健 雷[14]应用攻击树建模分析了某泵站放江 SCADA系统的安全 性问题及对策。这些研究结果表明,攻击树是一种分析系统威 胁并对系统可能遭受的潜在信息攻击进行建模的方便、有效的 工具。但是他们的研究在建立了系统的攻击树模型之后,只是 定性地判断系统风险的高低程度,缺乏定量的分析。针对此问 题,本文提出一种以攻击树模型为基础、结合概率风险评估技 术的定量分析方法,来对工业控制系统的信息安全风险进行量 化的评估。  攻击树模型的基本概念  攻击树(attacktree)模型是 Schneider在 1999年提出的一 种描述系统可能受到的多种攻击的方法。它采用树型结构来 表示针对系统的各种攻击行为。在一棵攻击树中,树的根节点 表示攻击者的最终攻击目标,叶节点表示具体的攻击事件,即 攻击者可能采取的各种攻击手段,其他为中间节点。攻击树的 各个分支表示为达到最终攻击目标可能采取的各种攻击序列。 除了叶节 点 以 外,攻 击 树 的 各 节 点 分 为 与 (AND)节 点、或 (OR)节点两类。AND节点表示必须全部完成此节点下的各 分支才能到达该节点;OR节点表示只要完成此节点下的一个 分支即可要到达该节点。任何一条从叶节点到根节点的路径 表示实现这个攻击目标而进行的一次完整的攻击过程[10]。遍 历整个攻击树可以生成实现以根节点为攻击目标的所有网络 攻击路径。攻击树可采用图形和文本两种方法来表示,如图 1 所示。攻击树能在一张图内显示所有的攻击路径。 Schneider在其阐述攻击树的文章中指出,攻击树的建立 需要集思广益,需要各方面的技术人员参与。攻击树的建立不 能一蹴而就,需要反复的推想。在构建具体的工业控制系统攻  基于攻击树工业控制系统信息安全风险评估方法 风险评估是风险管理的一个重要过程,经常用事件所造成 的损失和事件发生的概率这两者的乘积来表示风险,即 (1) 攻击树中的根节点代表攻击者的最终目标,因此基于攻击 R=Li×Pi 树的风险评估的最终目的是确定攻击树根节点的风险值,以及 影响该值的攻击路径和最可能被攻击者利用的攻击方法。这 样技术人员能够根据风险评估结果有重点地制定相应的防御 对策。本文所提出基于攻击树的工业控制系统信息安全风险 评估方法的具体步骤如下: a)确定攻击目标,建立系统的攻击树模型; b)选择合适的评判指标,并对攻击树叶子节点的指标进 行量化; c)计算叶子节点(攻击事件)发生的概率 Pi; d)计算攻击树根节点(即攻击者成功实现最终攻击目标) 发生的概率 PG; Itotal,利用式(1)计算根节点的风险值; e)分析攻击树根节点的攻击目标实现后所造成的损失 f)分析攻击序列,并计算各攻击序列发生的概率 Psi; g)根据风险评估的结果判断分析最有可能被攻击者利用 的攻击路径和方法。   攻击树叶子节点的指标量化   由攻击树的相关概念可知,当攻击树的各个叶节点被赋予 一定数值后,就能利用它进行一些数学分析,如风险评估、脆弱 性分析等。工业控制系统信息安全风险值的最终结果就是通 过对叶子节点的分析计算而得到的。因此,叶子节点的赋值和 风险评价对于基于攻击树模型的系统风险值计算结果有很大 的影响。美国工业控制系统安全指南[15]中指出,在工业控制 SCADA系统的信息安全风险评估中,系统风险值取决于系统 发生风险的概率与发生风险所产生的后果。其中,系统发生风 险的概率受到多个因素的影响,包括攻击成本、攻击难度和攻 击被发现的可能性。因此,在计算叶子节点的风险值时,给每 个叶子节点赋予这样的三个属性值。应用多属性效用理论,将 以上属性转换成其实现目标的效用值。那么计算叶子节点风 险概率值的公式如下: Pi=Wcost×U(costi)+Wdiff×U(diffi)+Wdet×U(deti) (2) 其中:i表示任意一个叶子节点,即可能的一种攻击事件;Pi表 示该叶子节点所代表的攻击事件发生的概率;costi表示实现 该叶子节点攻击事件的成本;diffi表示实现该叶子节点的难易 程度;deti表 示 该 叶 子 节 点 的 攻 击 事 件 可 能 被 发 现 的 等 级。 Wcost表示攻击成本参数的权重;Wdiff表示攻击难度参数的权重;
·4203·   Wdet表示攻击被发现的可能性参数的权重,且这三个权重系数 之和为 1。U(costi)表示攻击成本参数的效用值;U(diffi)表示 攻击难度参数的效用值;U(deti)表示攻击被发现可能性参数 运用式(2)求叶子节点攻击事件发生的概率 Pi值涉及到 的效用值。 三个属性,因此需要制定相应的评分标准来对它们进行评价。 本文的重点在于提出一种量化的基于攻击树的工业控制系统 风险评估方法,因此对于评分标准的建立未作深入探讨。在具 体评估时,评估人员可以根据实际情况建立相应的评分标准。 本文所采用的等级评分标准如表 1所示。 表 1 等级评分标准 攻击成本/万元 攻击难度 攻击被发现的可能性 攻击成本 等级 攻击成本 等级 被发现的可能性 等级 >5 2~5 1~2 0.5~1 <0.5 5 4 3 2 1 很难 难 中等 容易 5 4 3 2 1 很难 难 中等 容易 1 2 3 4 5   在实际应用时,叶子节点的属性得分可以采用专家打分法 很容易 很容易 给出,其中攻击成本属性可以直接由专家给出具体值,而攻击 难度和被发现的可能性这两个属性只需要专家作出判断,给出 两两叶子节点之间的比较值。   计算叶子节点发生的概率   为了计算叶子节点所代表的攻击事件发生的概率,需要计 算效用值 U(costi)、U(diffi)、U(deti)。通过分析可知,costi、 diffi、deti与 U(costi)、U(diffi)、U(deti)成反比例关系。为了方 便计算,三组之间的对应关系均取为 U(x)=1/x。运用式(2) 即可求得叶子节点攻击事件发生的概率 Pi值。   计算攻击树根节点发生的概率   在攻击树自底向上由叶节点求根节点概率的过程中,有以 下两种计算情况: a)AND节点发生的概率等于其下各分支子树发生概率的 乘积,如式(3)所示。 Pm=Pm1×Pm2×… ×Pmn (3) 其中:m1、m2、mn代表节点 m下的子树;P(m)代表节点 m发 生的概率;P(mn)代表子树 mn发生的概率。 b)OR节点发生的概率等于其下各分支子树发生概率中 的最大值,如式(4)所示。 Pm=max{Pm1,Pm2,…,Pmn} (4)     计算攻击树根节点的风险值 在分析根节点的攻击目标实现后所造成的损失时,以经济 损失为指标,考虑多方面的因素,如对生产造成的损失、设备损 坏损失、修补成本等。同时应注意不仅要考虑攻击所带来的直 接经济损失,还要考虑各种无形损失,如对公司声誉的影响等。 在确定攻击目标实现后造成的经济损失 LTotal之后,利用式(1) 即可计算得到根节点的量化风险值。   攻击序列分析   攻击序列是指一组攻击行为链,即攻击树中的一系列叶子 节点,发生了这些叶子节点所代表的攻击事件,就会达到攻击 树的根节点,即实现了攻击者的最终目标[16]。在确定攻击序 列之后,可以对它们进行分析。假设 Si是一个攻击序列 Si= (E1,E2,…,En),则攻击序列发生的概率如式(5)所示。 计 算 机 应 用 研 究 Psi=PE1×PE2×… ×PEn 第 32卷   (5)  案例分析  Modbus是广泛应用于当今工业控制领域的一种开放、标 准的网络通信协议,采用主从通信机制。在基于 Modbus的工 业控制 SCADA系统中,各个控制器之间或者控制器与其他设 备之间都可以通过该协议进行通信。由于 Modbus在设计之初 并未考虑信息安全,存在着不验证、不加密、不校验、可编程等 安全问题,所以它缺乏有效的机制来避免来自外界的信息安全 威胁。下面以 Byres等人在文献[13]中分析的一个基于 Mod bus的工业控制系统为例(有关该系统的详细背景信息可参考 文献[13]),构建该系统的一棵攻击树实例,并运用本文所提 方法来对该攻击树进行量化风险评估。 该系统的 11个攻击目标分别为:(a)接入 SCADA系统、 (b)确定 Modbus设备、(c)干扰控制中心与远程工作站之间的 通信、(d)使从站无法工作、(e)读取从站数据、(f)向从站写数 据、(g)对从站编程、(h)危害从站、(i)使主站无法工作、(j)向 主站写数据、(k)危害主站。分别以这 11个攻击目标为根节 点可以建立 11棵攻击树,这 11棵树组成的攻击森林就能表达 整个系统的信息安全问题。在上述 11个攻击目标中,危害主 站设备是最为严重的几类攻击之一,会对系统产生严重的影 响。针对该攻击目标,建立的攻击树如图 2所示。该攻击树的 根节点、中间节点和叶节点的含义如表 2所示。当采用相同的 方法对所有 11棵攻击树进行了量化的风险评估之后,不仅能 根据这些量化的结果分析出每棵攻击树中遭受攻击概率最大 的攻击路径,还能确定 SCADA系统中信息安全风险最大的攻 击目标,为技术人员做后续的 SCADA系统防护工作提供依据。 表 2 攻击树中各节点的含义 含义 攻击 SCADA系统主站 对主站进行物理攻击 对主站进行网络攻击 通过网络接入攻击主站 通过从站接入攻击主站 物理接入从站 接入 SCADA系统的网络链路 物理接入主站 获取主站的管理员密码 通过网络破坏主站的操作系统 通过网络破坏主站的人机接口应用程序 直接控制从站使从站设备不能正常工作 控制从站对来自主站的请求进行错误的响应 利用错误响应来破坏主站 网络接入从站使从站设备不能正常工作 网络接入从站对来自主站的请求进行错误的响应 利用错误响应来破坏主站 节点符号 G M1 M2 M3 M4 M5 M6 E1 E2 E3 E4 E5 E6 E7 E8 E9 E10
黄慧萍,等:基于攻击树的工业控制系统信息安全风险评估 ·5203·     第 10期   应用表 1所示评分标准对该攻击树中各个叶子节点的属 性值进行打分,评分结果如表 3所示。 表 3 各叶子节点的属性得分 攻击 成本 等级 得分 攻击 难度 等级 得分 攻击被 发现的 可能性 等级得分 攻击 攻击 成本 等级 得分 攻击 难度 等级 得分 攻击被 发现的 可能性 等级得分 5 2 3 3 4 2 4 4 3 2 5 2 4 4 5 2 E6 2 E7 3 E8 E9 3 E10 3 3 4 2 3 5 3 2 5 4 2 攻击 E1 E2 E3 E4 E5   然后将各值代入式(2),得到各叶子节点攻击事件的发生 概率,结果如表 4所示。 表 4 叶子节点发生的概率 攻击 发生概率 攻击 发生概率 攻击 发生概率 E1 0.35 E4 0.3167 E7 0.375 E2 0.375 E5 0.365 E8 0.39 E3 0.275 E6 0.3833 E9 0.3167 0.3 E10   基于表 3的数据,利用式(3)(4)对图 2所示的攻击树自 底向上分析计算得到根节点发生的概率值 PG 为 0.3167。 在确定攻击目标实现造成的经济损失 LTotal之后,利用式 (1)即可计算得到攻击树根节点的量化风险值。 分析可知,要实现图 2所示攻击树的最终攻击目标,共有 五种不同的组合,即该攻击树有五组攻击序列,如下所示:S1= {E1,E2};S2={E3};S3={E4};S4={E5,E6,E7};S5={E8, E9,E10}。 采用式(5)计算可得攻击序列发生的概率如表 5所示。 表 5 各攻击序列发生的概率 攻击 S1 S2 S3 发生概率 0.13125 0.275 0.3167 攻击 S4 S5 发生概率 0.0525 0.0371   分析表 5的结果可知,在本文列举的这个攻击树实例中, S3和 S2是发生概率较大的两个攻击序列,对应的攻击事件是 E4、E3。也就是说,攻击者极有可能通过网络来破坏系统主站 的人机接口应用程序和操作系统,从而达到危害 SCADA系统 主站的目的。在制定保护措施时,应该针对这些攻击方式重点 采取防御措施。例如,安装防火墙、入侵检测系统、异常流量分 析工具,还可以提高 SCADA系统主、从站人机接口应用程序自 身的安全性。 采用本文所述方法对该系统中的 11棵攻击树进行信息安 全风险评估之后,即可得到 11项量化的风险值数据。风险值 越大,对系统的危害也就越大。据此可以判断整个系统中危险 程度较为严重的几个攻击目标。针对它们所包含的攻击事件 和发生概率最大的攻击序列,有针对性地来部署防御措施,重 点加以保护,避免攻击者实现攻击目标,对系统造成严重危害。  结束语  工业控制系统的信息安全风险评估是保障系统安全的基 础性工作。只有正确、全面地了解和理解系统的安全风险后, [2] 彭杰,刘 力.工 业 控 制 系 统 信 息 安 全 性 分 析 [J].自 动 化 仪 表, [3] 魏钦志.工业网络控制系统的安全与管理[J].测控技术,2013, 子工业出版社,2010. 2012,33(12):3639. 32(2):8792. 才能决定如何处理安全风险,从而在系统的建设投资、信息安 全措施的选择、信息安全保障体系的建设中作出合理的决策。 本文在简要分析当今信息安全风险评估的主要技术基础之上, 提出了一种基于攻击树的工业控制系统信息安全风险量化评 估方法,并结合一个系统实例进行了计算分析,说明了本方法 的合理性和可行性。使用该方法得到的结果能够指导风险管 理者对系统的信息安全状况进行风险评估,同时帮助技术人员 分析出攻击者最有可能采取的攻击途径,从而有针对性、有重 点地采取相应的防御措施。 本文所采用的这种风险评估方法在量化叶子节点的指标 时,不可避免地受主观因素的干预,例如建立评分标准和赋予 叶子节点属性得分值时,采取专家打分的方式。因此,下一步 工作的重点是研究如何减少主观因素在工业控制系统信息安 全风险评估中的影响。例如,搜集叶子节点的攻击事件发生概 率的影响因素的数据样本,采用神经网络等技术手段来预测叶 子节点的发生概率,从而降低主观因素对评估结果的影响。 参考文献: [1] 王华忠.监控与数据采集(SCADA)系统及其应用[M].北京:电 [4] 熊琦,彭勇,戴忠华.工控系统信息安全风险评估初探[J].中国信 息安全,2012,27(3):5759. [5] 彭勇,江常青,谢丰.工业控制系统信息安全研究进展[J].清华大 学学报:自然科学版,2012,52(10):13961408. [6] 朱信铭.信息安全风险评估风险分析方法浅谈[J].信息安全与技 术,2010,28(8):8789. [7] 姜莹莹,曹谢东,白琳.基于层次分析法的 SCADA系统安全评价 [J].物联网技术,2013,32(12):7175. [8] BouchtiAE,HaqiqA.ModelingcyberattackforSCADAsystems usingCoPNetapproach[C]//ProcofInternationalSymposiumonSe curityandSafetyofComplexSystems.2012:125133. [9] SchneierB.Attacktrees[J].Dr.Dobb’sJournalofSoftware Tools,1999,24(12):2129. [10]王华忠,颜秉勇,夏春明.基于攻击树模型的工业控制系统信息安 全分析[J].化工自动化与仪表,2012,40(2):219222. [11]TenCW,LiuCC,GovindarasuM.Vulnerabilityassessmentofcyber securityforSCADAsystemusingattacktrees[C]//ProcofIEEECon ferenceonPowerEngineeringSocietyGeneralMeeting.2007:18. [12]ParkGY,LeeCK,ChoiJG,etal.Cybersecurityanalysisbyat tacktreesforareactorprotectionsystem[C]//ProcofKoreanNucle arSociety(KNS)FallMeeting.2008:268279. [13]ByresEJ,FranzM,MillerD.Theuseofattacktreesinassessing vulnerabilitiesinSCADAsystems[C]//ProcofInternationalInfra structureSurvivabilityWorkshop.2008:761770. [14]蒋健雷.某泵站放江 SCADA系统及其安全性研究[D].上海:华 东理工大学,2011. [15]NISTSP80082,Guidetoindustrialcontrolsystem (ICS)security [S].Gaithersburg:NationalInstituteofStandardsandTechnology (NIST).2011. [16]任丹丹,杜素果.一种基于攻击树的 VANET位置隐私安全风险评 估的新方法[J].计算机应用研究,2011,28(2):728732.
分享到:
收藏