APP下载

电力行业工业控制系统信息安全风险评估研究

2018-10-18魏晓雷刘龙涛

信息安全研究 2018年10期
关键词:工控脆弱性威胁

魏晓雷 刘龙涛

1(中航国际金网 北京 100176)

2(国家信息中心信息与网络安全部 北京 100045)

(weixiaolei@avic-intl.cn)

火电、水电作为我国发电的主流类型,是国民经济的支柱产业之一,工业控制系统对于电厂安全至关重要.在两化融合的大趋势下,行业中工控网络与办公网络的互联互通是一个必然趋势.从行业普遍性角度来看,工控网络与办公网络的边界基本上仅靠防火墙进行安全防护,控制粒度非常粗糙,具有很大的安全隐患,工控网络基本上不具备任何发现、防御外部攻击行为的手段,外部威胁源一旦进入公司的办公局域网,就可以连接到工控网络的控制层,直接影响企业工业生产.另一方面工控网络设备如各类终端等,大部分采用Windows系统,为保证工业控制系统软件的稳定运行,无法进行升级甚至不能安装杀毒软件,存在着大量操作系统或软件漏洞.

本文简要地分析了电力行业工业控制系统面临的信息安全威胁,并在此基础上建立了工业控制系统信息安全风险评估与管理模型[1],提出了工业控制系统信息安全风险评估的方法和流程、思路.

1 电力行业工业控制系统面临的主要安全问题

工业信息化的发展给工业控制行业带来了极大的便利,但同时也带来了许多网络安全方面的隐患[2],主要包括以下几个方面的内容:

1)目前大多数工业控制系统的组件都采用通用的Windows操作系统,且在正式上线后不再安装任何补丁,极易受到攻击.

2)工业控制系统缺乏完整、有效的安全管理策略与安全管理流程,例如工业控制系统中移动存储介质,如U盘等设备缺乏管理规范等,会给工业控制系统带来外部病毒入侵的安全隐患.

3)发电企业一般会关注生产现场的关键数据,生产环境网络要把这些数据发布到办公环境网络,2套环境连接处使用 OPC(OLE for Process Control)协议[2],因为 OPC是动态协商端口,且基于 Windows平台,服务器很容易被探测到.

4)工业控制系统的远程运维依然存在,运维过程无审计和访问控制措施.

5)出现系统故障后,不能判断是否有外部网络入侵行为、感染病毒、业务访问中断等异常等问题,不能快速准确定位网络安全问题.

2 电力行业工业控制系统风险评估与管理模型

电力行业工业控制系统的风险评估与管理模型参考了多个国际风险评估标准,在消化吸收基础上,本文通过总结研究建立了符合电力行业安全风险管理模型、安全风险关系模型和安全风险计算模型[3],组成安全风险模型.该模型分别从风险管理,描述风险评估、风险管理的标准规范;从安全风险的所有要素:资产、影响、威胁、弱点、安全控制、安全要求、风险等方面形象地描述它们内部之间的关系;在安全风险计算模型中提供了风险计算的方法,通过威胁级别、威胁发生的概率,通过风险评估得出安全风险[4].

风险管理关系模型如图1所示.在该关系图中:

资产是构成整个系统多种元素的组合,它直接地体现了整个系统的业务或任务的重要性,这种重要性转化为资产应该具有被保护的价值.它包括硬件、通信设备、线路、数据、软件、服务水平、人员及知识等等.

弱点是物理结构、组织、规范、人员、管理、硬件、软件或数据中存在的瑕疵与不足,它们虽然不直接造成危害,但可能被环境中的威胁所利用从而间接危害资产的安全.因此弱点也称为“脆弱性”或“漏洞”.

威胁是引起不希望事件从而对资产造成损害的潜在可能性.威胁可能来自对工业控制系统直接或间接的攻击,例如非正常的停机、数据泄露、被篡改、删除等,在可用性、机密性、完整性等方面造成损害.一般来说,威胁总是要利用网络中的系统、应用或服务的弱点才能对资产造成伤害.从宏观上讲,威胁按照产生的来源可分为未经许可蓄意行为、不可抗力、人为错误以及设备错误等.

图1 风险管理关系模型

安全风险[3]是环境中的威胁利用弱点造成资产毁损的潜在可能性.风险的大小主要表现为:事件发生的可能性及事件造成影响的大小.资产、威胁、弱点及防护的任何变化都可能带来较大的风险,所以,为了降低安全风险,应对环境或系统的变化进行检测,以便及时采取必要措施加以防范.

安全防护举措是阻止威胁、降低风险、控制事件影响、检测事故及实施恢复的实践、程序或机制.安全防护措施主要体现在检测、阻止、防护、限制、修正、恢复和监视等多方面.一个完整的安全防护体系应建立于物理、技术、人员和管理4个方面.

通常安全防护举措只是降低了安全风险而并未杜绝风险,而且风险降低得越多所需的成本就越高.因此,在系统中就总是有残余风险的存在,所以,确定系统安全需求客观上也是对残余风险及其允许程度的确定.

1)风险评估过程

系统的安全评价包括技术评价和管理评价.风险评估包括资产评价、威胁分析、弱点分析、风险计算等.

2)安全风险报告

提交系统安全风险报告,获知系统安全风险状况是安全评价的主要目标.通过以上阐明的重要过程,提交系统风险评估综合报告,主要目标是提供风险列表和风险等级类别.

3)安全需求分析

根据系统安全风险评估报告,确定系统的有效安全需求.得到需要即刻解决的安全问题,获知系统面临的巨大安全威胁,获悉将有可能面临的巨大经济损失和隐藏的重要安全影响等.同时考虑安全建设投入成本的合理性、针对性、适当性和有效性.

4)安全建议

依据风险评估结果,提出相关整改建议,帮助构建系统安全体系结构,结合系统本地、异地网络架构,依据安全策略,制定全面动态的安全解决方案提供参考.包括物理、网络结构、网络服务、网管系统、主机、数据、安全系统、安全人员、事件处理流程、安全管理制度、安全策略等内容,并且高度关注高可用性、动态性、整体性.

5)风险控制

根据系统安全报告,结合系统本身特点、面对的安全风险,分析将要面临的安全影响,提供相应的风险控制意见.风险控制包括降低、控制、转移风险以及不受控制的残余风险.通过风险控制最终使系统风险转变为可以接受的残余风险.在降低风险的需求和风险控制的成本之间取得平衡.风险控制举措通常也可以放在安全风险评估报告中,与相应安全风险一一对应,告知用户为什么选择该举措.

6)监控审核

在整个安全风险管理流程中,每一步都需要进行监控和审核,从而保证整个评估流程的规范、安全、可信.监控和审核任务将由组建的安全风险评估项目组以及专家组执行.

7)沟通、咨询与文档管理

相对于整个安全风险管理流程的沟通、咨询是保证项目成功实施最为关键的因素.在整个安全风险管理、评估过程中,针对每一步都应该交流安全风险管理经验,形成相关文档,留存资料.在项目进展过程中,安全风险评估的方法和结果可能会发生改变,所以,完整的文档和材料尤为重要.

3 电力行业工业控制系统风险评估工作方法

风险评估将从工控设备识别和整理、工控网络架构安全性分析、控制系统运行逻辑安全性分析和工控业务信息管理安全性分析几个方面调研,利用资产识别、网络架构分析、数据流分析、文档审阅、人员访谈、渗透测试、漏洞扫描、控制台审计、现场观测、专家会诊等多种形式,遵循PDCA的循环思想,开展调研工作,充分挖掘工业控制系统中存在的安全风险隐患及梳理安全防护思路,帮助构建全面、有效的工业控制系统网络安全防护体系[5],如图2所示:

图2 工控系统风险评估流程

3.1 资产识别

项目组通过资产调查表采集工控设备资产信息,在获得资产信息后,项目组将与组织相关技术人员、管理人员进行交流,根据评估的需求对资产进行归类,并依据资产在整个工业控制系统中的重要程度对资产安全属性进行赋值.

1)资产分类

资产分类如表1所示:

表1 资产分类

续表1

2)资产分级

资产分级如表2所示:

表2 资产分级

3.2 脆弱性分析

1)人员访谈

人员访谈对象包括信息部门和生产部门的建设、运维、管理人员进行沟通,详细了解工业控制系统在建设、运营、维护等方面的信息,清楚各级领导及员工对工业控制系统信息安全的需求,确定行业工控信息安全的目标和实现方法.

2)远程会议

利用远程会议系统,与地理位置分散的下属企业开会讨论其工业控制系统情况,会议前需准备好会议讨论议题,每次会议作好记录,形成会议纪要.

3)专家会诊

聘请了解行业业务和工业控制系统的专家,就调研问题和结果进行讨论,以更多、更准确发现工控信息安全需求,满足安全防护需求.专家会诊将贯穿在项目的整个执行阶段.

4)现场观测

现场观测是指有针对性的观察与工业控制系统安全有关的机制、配置现状;现场巡视机房室内室外实际环境,查找出物理存在的风险.

5)控制台审计

控制台审计是针对网络设备、主机、数据库采用脚本工具或人工参照系统安全配置基线进行.系统安全配置基线核查通常以检查列表(checklist)的形式存在,人工检查系统存在的各种安全漏洞,针对不同的系统列出待检查的明细,以保证人工审计结果数据的完整性.

6)漏洞扫描

漏洞扫描主要是根据已有的安全漏洞知识库,利用漏洞扫描评估工具,扫描整个网络中的网络设备、工控设备、工作站、服务器、数据库等,以发现它们所存在的漏洞,识别出能被入侵者用来非法或未经授权就能进入网络或者非法获取信息资产的漏洞.

扫描工业网络时需要特别注意:由于许多工业网络协议对延时及延迟变化非常敏感,大量引入网络流量可能会导致工业网络崩溃.漏洞扫描可以在仿真环境下应用,对于在线系统可以采用检查路由器表与被动嗅探流量查验漏洞的方式检查漏洞.

对于生产仿真环境,我们采取漏洞扫描主要用来发现技术方面的弱点,包括网络层面、系统层面及工控应用层面.

7)渗透测试

渗透测试是完全模拟黑客可能使用的攻击技术和漏洞发现技术,对工业控制系统的安全作深入的检查,发现系统最脆弱的方面,能够直观地让生产管理人员了解工业控制系统所面临的问题.

渗透测试如表3所示:

表3 渗透测试

3.3 安全管理措施分析

该项工作主要包括安全控制措施分析与客户端安全管理需求分析.

1)安全控制措施分析

安全控制措施分析如表4所示:

表4 安全控制措施分析

2)安全管理需求分析

安全管理需求分析如表5所示:

表5 安全管理需求分析

4 电力行业工业控制系统风险评估工作流程

电力行业工业控制系统风险评估项目划分为6个阶段:项目准备、资产评估、威胁评估、脆弱性评估、风险综合分析和项目验收,如图3所示:

图3 项目实施流程图

4.1 阶段1:项目准备阶段

1)成立项目组

成立项目组,通过与用户方沟通,初步了解工业控制系统的基本信息,包括工业控制系统数量与类别、承载业务、服务范围、部署方式等内容.

2)明确工作思路

在项目初期,项目组成员结合国家工控安全相关政策要求,梳理用户方组织架构、业务要求、工业控制系统现状等内容,明确用户方信息安全建设工作实际需求.

3)制定工作计划

准备现场工作所需要的材料,包括《资产调查表》《现场工作计划》等,确定所需要访谈的部门及人员、所需要搜集的文档列表等,并与用户方沟通确认.

4)阶段输出

本阶段完成后输出如下文档:

《项目实施计划》

《项目启动会议纪要》

《保密协议书》

《项目组织结构和人员职责》

《项目范围确认书》.

4.2 阶段2:资产评估阶段

1)工作目标

资产识别的目标就是要对系统的关联资产作潜在价值分析,掌握其资产利用、维护和管理现状,确定各类资产具备的保护价值和需要的保护层级,从而使企业能够更合理地利用现有资产,更有效地进行资产管理,更有针对性地进行资产保护,最有效地进行新的资产成本投入.

2)工作步骤

阶段1:根据项目范围进行资产分类与标识,包括工作站、控制器、服务器设备、网络设备、数据库系统、工业控制系统[6]、文档资料、人员情况等等.

阶段2:进行资产标识、分类并赋值.

3)工作方法

按工艺梳理工控设备清单,包括传感器、电动机、测量仪器以及其他智能电子设备;远程终端单元(RT U)、可编程逻辑控制器(PLC)、DCS控制器;操作员站、工程师站、监控管理工作站、历史数据库等.将这些信息梳理成工控设备资产表,包括资产名称、硬件型号、IP地址、操作系统及版本、应用程序及版本、部署位置、管理人员等信息.

通过分析资产的各种属性进而对资产进行安全价值分析.资产赋值是为资产及其支撑的工业控制系统从安全角度量化价值的行为.资产的价值可以从保密性、完整性、可用性等角度判断.可参考的资产赋值方法如表6所示:

表6 赋值方法

4)阶段输出

本阶段完成后输出如下文档:

《资产详细清单》

《资产赋值列表》.

4.3 阶段3:威胁评估

1)工作目标

通过威胁分析了解工业控制系统潜在安全风险现状,并进行统计、赋值,列出风险明细.

2)工作步骤

威胁识别采用人工审计、安全策略文档收集审查、人员访谈、安全检查工具收集的信息和人工分析.

步骤1.把已经发现的威胁分类明细.

步骤2.把发现的威胁事件进行分析.

3)工作方法

使用技术手段分析工业控制系统可能面临的所有安全威胁和风险.全面获知工业控制系统可能面临的所有安全威胁和风险.对威胁进行赋值并确定威胁等级.

4)阶段输出

本阶段完成后输出如下文档:《威胁调查单》

《威胁赋值列表》.

4.4 阶段4:脆弱性评估

脆弱性评价是对1个或多个资产脆弱点的总结,脆弱性评估是对技术脆弱性和管理脆弱性进行标识和赋值的过程.

1)工作目标

技术脆弱性[7]主要是采用工具扫描、人工检查(checklist)、渗透测试、人工访谈等方式对物理、网络结构、业务软件、监控软件、数据库、业务流程等进行脆弱性分析并赋值;管理脆弱性主要是通过管理访谈、文档查阅等方式对安全管理制度、安全管理机构、人员安全管理、安全建设管理、安全运维管理等进行脆弱性分析并赋值.

2)工作步骤

脆弱性分析步骤主要是通过技术脆弱性和管理脆弱性来进行识别.

技术脆弱性主要包括物理环境评估、工控网络架构安全性分析、控制系统运行逻辑安全性分析、工业控制系统自身安全性分析(服务器、工作站安全性评估,上位机软件安全性评估,数据库安全性评估,渗透测试)、工业控制系统信息安全管理分析.

工业控制系统信息安全管理从安全管理机构、安全管理制度、人员安全管理、系统建设管理和系统运维管理几个方面调研,分别设置调研表,如表7所示:

表7 工控信息安全组织体系调研表

3)已有安全措施识别

在脆弱性识别中,发现已经实施的安全脆弱性防护手段,进行整理.

4)阶段输出

本阶段完成后输出如下文档:

《脆弱性赋值列表》

《已有安全措施列表》.

4.5 阶段5:风险综合分析

1)工作目标

本阶段工作目标是对当前存在的安全风险进行分析,包括安全风险的统计、风险的处置和风险的安全控制方法选择.

根据计算出的安全风险值对安全风险进行优先级划分,并与用户方共同选择安全风险的处置方式和风险的安全控制策略.

2)工作步骤

步骤1.风险计算.

在完成资产分析、威胁分析、脆弱性分析后,将采用可行的措施确定威胁利用脆弱性导致安全事件发生的可能性,结合资产价值及脆弱性的严重级别判断安全事件一旦发生造成的损害,最终得到安全风险值,风险计算原理如图4所示.

对安全风险计算原理可以采用下面的公式形式化加以阐明:

风险值=R(A,T,V)=R(L(Ta,Vb),F(Ia,Va)),其中,R表示安全风险计算函数,A表示资产,T表示威胁,V表示脆弱性,Ta表示威胁出现的频率,Ia表示安全事件所作用的资产价值,Va表示脆弱性严重级别,Vb表示存在的脆弱性,L表示威胁利用资产存在的脆弱性导致安全事件发生的可能性,F表示安全事件发生后产生的损害.有下面3个关键计算点:

① 计算安全风险事件发生的可能性

根据威胁出现频度及脆弱性现状,计算威胁利用脆弱性导致安全事件发生的可能性,即:

安全事件发生的可能性=L(威胁出现频度,脆弱性)=L(Ta,Vb).

在具体评估工作中,应结合攻击者技术能力(专业技术程度、攻击设备等)、脆弱性被利用的难易程度(可访问时间、设计和操作知识公开程度等)、资产受欢迎程度等因素来判断安全事件发生的可能性.

② 计算安全风险事件的损失

根据资产价值及脆弱性严重级别[7],计算安全风险事件一旦发生造成的损害,即安全事件的损害=F(资产价值,脆弱性严重程度)=F(Ia,Va).

有些安全事件发生造成的损失不仅仅是针对该资产本身,还可能影响其提供业务稳定的连续性.不同安全事件对系统造成的影响也是不一样的,在计算有的安全事件的损失时,应对系统的影响也一并考虑.

图4 风险计算原理

③ 计算风险值

根据计算出的安全事件发生的可能性以及安全事件的损失,计算风险值[6],即:

风险值=R(安全事件发生的可能性,安全事件的损失)= R(L(Ta,Vb),F(Ia,Va)).

步骤2.风险结果判定.

确定安全风险数值的大小不是系统安全风险评估的最终目的,最重要的是确定不同威胁对资产所产生的风险的相对值,即要确定不同风险的优先次序或等级,对于安全风险级别高的资产应优先分配资源进行防护.

安全风险等级建议从1~5划分为5级.等级越大风险越高.评估者也可以根据被评估系统的实际情况自定义风险的等级.表8提供了一种风险等级划分方法.

步骤3.选择控制措施.

根据安全风险评价的结论,全面分析用户方工业控制系统的现状、成本因素等,选择相应的管理或技术控制措施,考虑已经发现的业务系统安全风险,出具整改建议.

步骤4.残余风险处置.

对于不可接受的安全风险,应在选择适当的控制方法后,对残留安全风险进行评价,判定风险是否已经降低到最低的水平,为风险管理提供输入.残余风险的评价可以根据系统风险评估的准则进行,参考选择的控制方法和已有的控制措施,降低威胁发生的可能性.部分风险可能在选择适当的控制措施后仍处于不可接受的安全风险程度内,应考虑管理层风险接受的原则,分析是否接受此类风险或增加控制措施.为确保所选择控制措施的有效性,关键时可进行再评估,用以判断实施控制措施后的残余风险是否为可被接受的.

表8 风险等级划分

3)阶段输出

本阶段完成后输出如下文档:

《风险计算列表》

《风险处置计划方案》

《风险评估综合报告》.

4.6 阶段6:验收阶段

项目组在项目的每个阶段向用户方提供阶段工作确认报告.该报告的内容包括本阶段的开始及结束时间、阶段工作内容、阶段工作成果、相关参与人员、问题及解决办法等.

阶段工作确认报告需要项目组各方配合人员签字确认.

终验提交内容如表9所示:

表9 终验提交内容

用户方负责人组织相关人员对上述验收项目进行检查,确认项目组已按合同要求完成相应工作,各项验收通过后形成终验验收报告.

5 结束语

本文研究重点是面向工业控制系统信息安全风险评估这一研究热点来分析电力行业工业控制系统面临的信息安全风险,建立工业控制系统信息安全风险评估与管理模型,提出了工业控制系统信息安全风险评估的方法和流程,形成了一系列针对工业控制系统信息安全风险评估的解决方案.为了使该方案更趋完善,需要在以后的工作实践中进一步论证风险评估与管理模型、风险评估方法、险评估流程的可行性以及适用性.

猜你喜欢

工控脆弱性威胁
工控系统脆弱性分析研究
人类的威胁
受到威胁的生命
基于DWT域的脆弱性音频水印算法研究
锐翔工控(天津)自动化机械设备有限公司
工控速派 一个工控技术服务的江湖
煤矿电网脆弱性评估
工控速浱 一个工控技术服务的江湖
基于攻击图的工控系统脆弱性量化方法
搞笑图片