APP下载

核电厂DCS系统研发过程中的信息安全保护

2018-02-16肖安洪杨大为刘玲霜周俊燚

机械设计与制造工程 2018年11期
关键词:配置管理控系统核电厂

肖安洪,杨大为,曾 辉,张 娜,刘玲霜,周俊燚,郭 文

(中国核动力研究设计院核反应堆系统设计技术重点实验室,四川 成都 610213)

1 核电厂DCS系统信息安全保护的背景和必要性

核电厂仪控系统(DCS)是一个通用的、用于核电厂安全控制保护的系统,可应用于不同类型核反应堆的安全级仪控系统,包括紧急停堆系统(RTS)、专设安全设施驱动系统(ESFAS)、事故后监测系统(PAMS)等。DCS系统如同核电厂的“大脑神经中枢”,在电厂的信息采集、传递与控制的过程中起到非常重要的作用。如今随着计算机技术的应用,逐渐实现了模拟组件被可编程、建立在离散逻辑基础上的数字化系统所取代,因此数字化仪控成为当前仪控领域的发展热点。

主流仪控系统在享受数字化带来的功能和性能上飞跃的同时,也因为数字化引入了一个新的问题——信息安全。仪控系统作为核电厂的“大脑神经中枢”,时刻监视着核电厂、核反应堆的各种仪表状态,收集这些状态信息实时反映给核电厂工作人员,并在各类状态数值超出安全范围时自动启用停堆系统、反应堆冷却系统等安全设施,消除危险状态,保障核电厂安全运行。因核电厂的特殊性,一旦仪控系统中的硬件或软件在运行中发生故障,导致核电厂的安全保护系统失效,将可能引起重大的安全事故,造成巨大的人身伤亡和财产损失,甚至威胁国家安全。数字化仪控系统的安全控制功能更多的是以软件编程方式实现,其运行过程中必然存在信息交互和传递,所以仪控系统的故障失效,一方面可能是因为在系统开发过程中遗留下的程序缺陷所致;另一方面也可能是因为外部的恶意程序“病毒”进入系统后故意为之。显然,后者具有更强的隐蔽性和破坏性。

曾在2010年闹得沸沸扬扬的伊朗“震网”事件便是一个典型例子。一种名为“震网”的病毒通过U盘和局域网的传播,侵入了西门子公司为伊朗布什尔核电站设计的工业控制软件系统,并夺取了一系列核心生产设施的控制权。当核电站的仪控系统被“震网”感染后,它首先会篡改监控的状态信息,让监控人员和操作人员看到的始终是正常状态,然后控制离心机不断加速,最终导致其因高温而损毁。该病毒在2009年底到2010年初这段时间给伊朗布什尔核电站造成严重影响,约1/5的离心机因此报废,并导致放射性物质泄漏。这次事故不仅是给伊朗核电站带来了重大的人身伤亡和财产损失,更是给伊朗的国家战略造成了致命打击,而“震网”病毒的源头则很可能是由美国和以色列制作,作为专门针对伊朗的新一代网络武器,藏身于伊朗为建造核电站而从国外购入的设备中,最终进入到核电厂的仪控系统。由此可见,核电厂仪控系统的信息安全直接关系到国家的核心利益,保护仪控系统的信息安全已经成为数字化核电仪控系统研发中一个至关重要的环节[1]。

2 核电厂仪控系统信息安全保护的法规标准要求

针对核电站仪控系统数字化的趋势和信息安全保护的重要性,国家出具了一批专门适用于核电厂安全设备在研发生产过程中需要满足的安全标准和导则。这些标准和导则对DCS系统研发全流程的各个方面提出了关于安全性的要求,其中对于软件研发的信息安全保护,主要规定了安全防范分析、安全防范设计、用户访问和开发阶段的安全防范4个方面的内容。目前比较常用的关于核电厂仪控系统设备的安全类法规、导则和标准有:

1)HAF 102—2004,核动力厂设计安全规定;

2)HAD 102_16—2004,核动力厂基于计算机的安全重要系统软件;

3)NB-T 20054—2011,核电厂安全重要仪表和控制系统执行A类功能的计算机软件;

4)NB-T 20026—2010,核电厂安全重要仪表和控制系统总体要求。

按照标准要求,信息安全保护的总体目标是保护软件和数据不被未授权的人员和系统读取或修改,不能拒绝授权人员和系统的访问。软件的使用引起了某些潜在的对信息安全的威胁,主要的对策通常在系统层级考虑,如物理隔绝保护措施等。对软件提出信息安全保护要求有助于减少软件的薄弱环节,且能够支持系统层级的保护措施。

为解决核电数字仪控系统的信息安全隐患,在系统的设计开发中必须采取分层次的纵深防御策略,从而使管理者能够在每个层次监视系统。核电数字仪控系统信息安全保护应关注如下几个方面:确保软件开发环境的纯净;用户访问的安全性;文件和数据的完整性、保密性;严格的配置管理和变更控制策略;控制系统网络设备和使用者的验证、认证。

系统层级的核电仪控系统信息安全防御策略应从减少仪控系统网络易受攻击的接口面开始。第一阶段是建立具体的控制系统安全规则,这些规则详细描述哪些设备、协议和应用可以在控制系统上运行;谁有访问这些设备的权限,且从哪里访问是合乎规定的;不同权限的使用者可以被允许执行哪些操作。第二阶段是划分确定适当的区域实施以上规则,可通过在已有的控制系统的设备上或添加的新设备上进行适当的配置来实现。第三阶段是监控规则的实施,定位违规的区域且反馈给规则的制定者,以此来确保规则的有效性。信息安全是一个连续的过程,因此需要连续的监控和调整。可用于确保核电数字仪控系统信息安全的技术措施有:

1)识别安全隐患。系统研发团队首先应识别软件研发环境中可能存在的安全隐患,特别是在不断推进的开发进程中可能引入新问题的接口或操作,应制定相应的规则予以防范。

2)分析网络。为制定综合性的开发环境信息安全保护规则,网络管理者需要能够对所有子网执行信息分析的工具,通常选择被动扫描和辨识工具。

3)创建网络和配置管理规则。一旦辨识了设备、网络、应用和使用者,则可以制定相应的信息安全规则来保护开发环境网络和配置管理库。

4)创建严谨防御边界。在某些情况下,需要从企业网或因特网访问控制系统,因此需要创建严谨的信息安全防御边界。边界防火墙必须创建至少3个安全区域——控制系统网络组件信息安全区、隔离区、不可靠区。

5)确保身份管理和防止设备欺诈。仪控系统的入侵多是由于无意或不当操作导致,如员工使用移动存储设备时引入了蠕虫或木马。因此,为确保区域内的信息安全,必须对接入点进行认证和健康检查。

6)设立安全远程访问。为最小化远程访问使用不当以及可能带来的危害,使用者必须被限制,且使用者只能使用特定的经过授权的功能。

7)监控和汇报。一旦定义了访问规则,防火墙、交换机和入侵检测设备将执行这些规则,同时作为监控站来记录任何违反规则的情况。

8)文件防篡改。使用特征码标注等防篡改措施保存代码和数据文件,确保已归入版本管理的文件不被恶意篡改或替换。

9)针对系统软件,实行安全防范分析和安全防范设计,分析软件潜在的信息安全威胁,要考虑到系统和软件安全生命周期相关阶段的各个方面,制定信息安全保护计划。信息安全保护计划应保证引入的软件能最大限度地减少系统的薄弱环节。

3 利用信息安全分析手段保障DCS系统的信息安全

在DCS系统的研发过程中,验证与确认工作贯穿始终,除确保系统软硬件的功能正确性之外,保障软件研发过程中的信息安全也是验证与确认流程中至关重要的一环[2]。利用信息安全分析的技术手段,按照安全类标准和导则的相关要求,从软件开发环境的保护、项目配置管理、对经过V&V的软件代码进行标识、加强调试过程中的代码修改管理4个方面着手,制定并实施详尽的信息安全保障措施。

3.1 软件开发环境的保护

软件开发环境的安全与所开发DCS系统的信息安全直接相关,DCS系统软件开发所需使用的每一台设备都做到了与互联网物理隔绝,每个开发人员必须使用专有的Key配合密码口令才能打开和使用开发设备,并且对于Key的保护和密码口令的更换周期都做了严格的规定。同时严禁在任何情况下将未经上级审批的移动存储介质与开发设备相连接,包括但不限于各类手机、U盘、光盘和移动硬盘等,并利用后台扫描软件时刻监视记录每台开发设备外部接口的连接状况,从源头上杜绝了外部恶意软件和代码刻意或偶然进入DCS系统软件的开发环境中。

为便于项目团队内部的技术交流和文件传递,日常工作中的常用主机都与单位的内网连接,该内网同样通过技术手段与外部互联网相隔开,并有专业团队对内网的信息安全状态作实时而严格的管控。即便是在DCS项目团队内部进行文件或代码传递,也需要在传递之前标注文件的密级、传递目标和传递用途,经过项目上级管理团队的核查审批后方能从一台设备传递到另一台设备。除此之外,DCS系统由嵌入式结构设计构成,单板调试环节必不可少。基于内网主机不可与外部设备相联接的要求,项目团队配备了专门用于单板调试的单机。这类单机不与任何网络相联接,仅用于联接单板调试。

在开发工具的选择上,DCS系统的开发人员只能使用经过严格审查获得批准的正版软件,避免了木马、蠕虫等恶意代码藏身于工具进入软件开发环境,危及信息安全。

3.2 严格的配置管理措施

配置管理是提升项目开发管理效率的必要方法,也是保障系统信息安全的重要手段,严格到位的配置管理可以有效地防止已经通过安全验证的配置项被随意改动,带来信息安全隐患。

DCS系统开发项目团队制定了详尽的配置管理计划,并配备有专门的配置管理人员。配置管理人员需要为每一个进入配置管理阶段的配置项进行唯一性标识,详细记录下标识时的各种状态属性信息。此后每一次改动都将更新标识,一旦发生预期之外的改动便可及时发现。

配置管理人员还负责为每一个项目工作人员分配不同的配置管理权限,通常一个开发人员只能对自己承担开发的那部分软硬件代码或设计文件等配置项进行修改和保存。而即便是对自己编写的代码配置项进行修改,在登录修改之前也必须经过组合方式的权限认证,包括但不限于密码、钥匙、识别卡、指纹等识别方式。

3.3 利用V&V方法和防篡改手段对软件代码进行需求确认和标识

为了避免软件代码中留有“后门”等可能造成重大信息安全威胁的漏洞,利用V&V方法对软件功能与需求的一致性做了非常细致的分析确认。每一个软件功能需求说明书中罗列出的功能都必须在编写的代码中得以正确实现,同样的,代码具备的任一功能都必须可以反向追溯到功能需求说明书的描述中,只有这种实现功能与需求说明一一对应的代码才被认为是有效代码,才能进入配置管理阶段。

尽管严格的配置管理措施已经可以在很大程度上保障了软件配置项的信息安全,但如果有人刻意为之,利用破译或盗取配置管理权限等方式恶意修改配置项的内容或标识,仍是难以防范。为此利用防篡改技术手段,对经过V&V的软件代码采取MD5特征码等防篡改措施,保证DCS系统采用的软件代码与通过验证的代码之间的一致性,防止被恶意更改或替换。

任何代码经过V&V之后,在进入配置管理库配置标识的同时,还将利用特定的防篡改措施产生一个特征码。该特征码是由软件代码中的全体字符通过一系列复杂的计算而成,如果有人刻意对配置库的代码进行了任意字符的修改,其修改后代码的特征码都将不同于原特征码,使相关人员能够轻易发现被恶意篡改的代码和文件,从而保护了DCS系统软件的信息安全。

3.4 加强调试过程中的代码修改管理

对于任何规模稍大的软件开发过程来说,调试修改都是最费时费力的阶段。此阶段各部分代码都将被频繁修改,而任何一次修改都可能给DCS系统的信息安全埋下隐患。同时,开发人员在对代码进行修改时,很可能因为之前的代码已经通过了信息安全验证而放松警惕,因此加强在调试修改过程中的代码修改管理显得尤为重要。

短期内大量反复的软件代码修改使得单纯使用配置管理措施来保障软件配置项的信息安全变得既繁琐又效率低下,频繁的配置管理入库操作也可能使得配置管理人员发生不可预知的失误。为此,在DCS系统软件的调试修改阶段,规定了任何开发人员都不得将调试设备中的代码直接入库,必须对修改后的代码执行严格V&V流程,确保新代码在功能上和信息安全性上,既没有引入新的隐患,也没有丢失之前正确的部分,才能进入配置管理库并打上新的标识。这样既避免了因频繁修改代码带来的配置管理工作量大增的问题,也极大地保障了DCS系统软件开发在全流程中的信息安全。

4 结束语

在当前信息安全上升到国家安全的形势下,核电厂DCS系统作为核安全的重要组成部分,不管是其研发过程中还是运行时的信息安全,都得到了越来越多的重视。上述信息安全保护策略在DCS系统软件开发过程中的制定和严格执行,保障了DCS系统研发工作安全高效的持续推进,取得了核电DCS系统研发过程中信息安全“零事故”的成绩,为DCS系统能够成功研制并实现多功能、高性能、高安全性的目标要求起到了坚实的支撑作用。但是这还远远不够,应该按照国家发布的信息安全等级保护要求,结合DCS系统生命周期模型,在不同的阶段采取针对性的措施,切实提高信息安全防范技术水平,防范类似“震网”事件在我国的出现,为我国的核安全作出应尽贡献。

猜你喜欢

配置管理控系统核电厂
核电厂蒸汽发生器一次侧管嘴堵板研发和应用
PHM技术在核电厂电气系统中的探索与实践
汽车委托外加工零件自动化配置管理
核电厂起重机安全监控管理系统的应用
关于DALI灯控系统的问答精选
联调联试中列控系统兼容性问题探讨
核电厂主给水系统调试
一种新型列控系统方案探讨
建设CMDB任重道远
配置管理在软件测试中的应用