2. 国家电网先进计算及大数据技术实验室, 北京 102209
2. Advanced Computing and Big Data Technol. Lab. of SGCC, Beijing 102209, China
电力系统是国家重要基础设施,控制电网运行的调度控制系统是国家级网络对抗中重点攻击目标。中国电力系统已建成以网络隔离及边界防护为主的网络安全纵深防护体系,但近年来,高级攻击手段层出不穷,以“震网”“火焰”和“Black Energy”[1]等恶意代码为主要技术手段的高级持续性威胁 (advanced persistent threat,APT) 对能源等工业控制系统造成了巨大危害,其扩散和破坏过程非常隐蔽,可以突破现有以“隔离、检测、查杀”为主的安全防护措施,给系统致命一击。
可信计算[2-5]是一种计算平台的运算操作保护技术,使得计算全程不被干扰,保证计算的结果始终与预期一样。
国际上,20世纪90年代末由IBM、HP等企业共同发起成立了可信计算组织 (Trusted Computing Group,TCG),其宗旨和目标是通过制定和开放可信计算工业标准以确保计算安全。TCG已发布可信平台模块 (trusted platform module,TPM)[6]、可信软件栈 (trusted software stack,TSS)[7]、可信网络连接 (trusted network connection,TNC)[8]和移动可信模块 (mobile trusted module,MTM)[9]等系列规范。以TCG系列规范为指导,可信计算近年来取得了较快发展。微软发起了NGSCB[10]可信计算研究计划,采用微内核机制建立可信执行环境 (trusted execution environment,TEE),为其Windows8、Windows10等操作系统安全和隐私保护提供支撑;与此同时,Intel也着力研究可信执行技术 (trusted execute technology,TXT)[11],在微处理器、芯片组、I/O系统等硬件层面上支持可信计算。在具体应用领域,微软利用TPM构建了安全存储应用BitLocker[12]用于保证用户的数据安全;利用可信计算技术可进行数字版权管理 (digital rights management,DRM),实现了对数字多媒体内容的版权保护与安全分发[13];在移动金融领域,随着安全芯片在智能手机中占比的不断扩大,利用TEE和TrustZone[14]技术实现的安全在线支付技术已得到广泛应用。从技术发展趋势上看,TCG所倡导的可信计算技术正在向部件化和强隔离性的方向进行发展,且需要对上层安全应用进行一定程度的改造。
2016年,中国学者在传统可信计算技术基础上提出了“运算和防御并行的双体系架构”[5],成为中国可信计算技术“3.0时代”标志。该架构将可信保护节点视为独立的主动控制防护节点,与计算资源节点共用同一套软硬件计算平台,共同构成可信计算的双系统体系架构模式。该体系结构以国产密码体系为基础,以可信平台控制模块为信任根,以可信主板为平台,以可信软件为核心,以可信网络作为纽带,从而保障应用执行环境和网络环境安全。可信计算3.0的基本原理如图 1所示,自平台加电开始,构建由可信保护节点主动监控计算资源节点的信任链,从源头上确保整个计算机系统可信。
![]() |
图1 可信计算3.0原理 Fig. 1 Theory of Trusted Computing 3.0 |
在可信计算技术工程化应用方面,中央电视台采用可信计算技术,开展了可信制播环境的建设[15]。中国电力行业学者提出了“以可信计算为基础、安全免疫为特征、安全可控为目标”的电力监测控制系统网络安全主动防御体系,在电网调度控制系统中工程应用[16-20]。本文全面阐述主动防御体系中安全免疫系统结构、主要功能,以及电力可信计算平台独特的信任链构建机制,提出控制系统应用代码预期值安全管理方案。
1 电网控制系统网络安全风险与挑战电力工业控制系统典型结构为由下至上的3层架构:现场测控终端层、通信网络层和主站控制系统层。现场测控终端负责采集工业过程设备运行工况数据,通过通信网络发送给主站系统,主站系统接收终端上报的监测数据,进行计算分析,制定控制命令下发给终端执行。
电力工业控制系统已全面建成以“安全分区、网络专用、横向隔离、纵向认证”为主要安全策略的纵深防御体系,目前其主要安全风险包括:在主站控制系统层面,“震网”等定制化的恶意代码通过隐蔽通道或社会工程学等手段穿透网络隔离措施进入系统内部计算环境,篡改系统程序、数据,甚至可通过精确篡改控制指令导致大规模停电;在现场测控终端层面,自近场接入破坏,篡改其控制逻辑,甚至可以通过终端设备发起向主站系统的回溯攻击;在通信网络层面,通过非法接入,对主站及终端进行仿冒攻击,上传虚假监测数据,伪造下行控制命令。
电网控制业务的实时性非常高,控制指令时延要求控制在秒级甚至毫秒级,同时业务连续性要求高,业务系统运行多年不中断。另一方面,电网控制系统控制着电网的运行,按照国家等级保护制度,安全等级达四级或三级,防护强度要求高。
传统的以隔离、检测、查杀为主的防护措施主要立足于对已知威胁能力的削减。面对数量规模数万级且快速增长的恶意代码,由于特征库快速膨胀导致其防护效率低下,对系统资源耗费多。对于未知、特种恶意代码,更是难以提前获得特征码。另外,众多的安全产品部署对业务连续性的影响较大,很多隔离措施、防火墙策略也不可避免地制约系统功能。
2 基于可信计算的电网安全免疫系统 2.1 可信计算技术的适用性可信计算技术通过“计算+保护”的双体系结构,有效弥补了计算平台本体的安全漏洞,从而保障电网调度控制系统各计算单元的操作系统、中间件等基础软件及上层业务程序、操作逻辑的完整性,使其免受恶意代码和操作的干扰,达到类似生物体的安全免疫系统功效。对于电力控制系统,该技术具有良好的适用性:
1) 易于工程实施
通过利用内置在平台计算组件中的原生信息安全功能,无需对应用业务逻辑和系统资源进行任何改动,避免了对在运业务应用系统进行大规模改造,因此在工程上是一种切实有效的实施方案。
2) 防护效率高
可信计算增加的系统开销主要来自于完整性度量,而完整性度量是一种一次性哈希密码操作,计算资源占用极少,计算速度快。绝大部分度量操作发生在程序加载时,少数情况需要在运行期间对特定内存代码段进行动态度量。相比传统入侵检测、病毒扫描等防护手段,可信计算技术在系统计算资源消耗、对实时性的影响方面具有极大优势。
综上所述,可信计算是一种高效率、高安全防护手段,其适用于业务逻辑单一、运行稳定、软件更新不频繁、安全等级要求高的系统,对于电力系统业务场景尤其是高安全等级工业控制系统尤为适用。
2.2 基于可信计算的安全免疫系统基于典型3层结构的电力工业控制系统,对应的电网控制系统的安全免疫系统由以下3部分构成:现场可信测控终端、可信网络通信、主站可信计算平台,分别实现对测控终端的保护、对监测控制报文传输的保护, 以及对主站控制系统计算环境和业务应用的保护。对以上3个环节的安全策略,采用一个统一的安全管理中心进行集中管理。免疫系统框架如图 2所示。
![]() |
图2 电力监测控制系统安全免疫系统框架 Fig. 2 Framework of immune system of cyber security for electric power supervise and control system |
2.3 主站系统可信计算平台关键技术
电网调度控制主站系统主要由通信前置机、数据采集与监视控制 (supervisory control and data acquisition, SCADA) 平台,以及调度控制高级应用服务器构成。通过在上述服务器中部署电力可信计算平台,从而构建服务器节点的免疫机制。
电力可信计算平台核心组件包括:可信密码模块硬件、可信软件基。可信软件基嵌入到操作系统内核中,完成操作系统对应用程序的度量、强制访问控制和强制执行控制。平台结构及主要安全功能如图 3所示。
![]() |
图3 可信平台体系结构 Fig. 3 Trusted platform system architecture |
主站系统可信计算平台关键技术包含以下4部分:
1) 可信密码模块硬件
可信计算平台需要一个硬件形式的信任根作为信任链的初始起点。目前,国内外计算机厂商通常采用密码芯片作为信任根。
对于电力控制系统,采用该方案面临的主要问题是:需要改造或者废弃现有服务器主板以集成密码芯片,不具备规模化应用的条件。综合考虑计算性能、经济性及工程实施难度,电力服务器版的可信计算平台采用了一种具备实模式驱动功能的PCI-E密码卡实现信任根,通过服务器主板上的PCI-E接口与主板集成。该板卡工作于CPU实模式状态,在系统启动前通过其ROM中的特定程序调用CPU指令,通过内存读取服务器存储设备中的引导程序,对引导程序进行完整性度量,确保了系统引导阶段的初态安全。
2) 信任链传递
理论上的信任链建立流程以可信芯片为信任根,从信任根开始,到硬件平台,到操作系统,再到应用,一级测量认证一级,一级信任一级,把这种信任扩展到整个计算机系统[8]。在工程实现中,大规模改造现有计算机主板以集成可信芯片,改造BIOS几乎不可行。因此目前通用的实现方式是以外置的硬件 (如USB设备) 或软件为信任根,从操作系统度量作为信任链的第一链条。电力可信计算平台采用可信密码模块为信任根,信任链建立从系统引导程序开始,在操作系统引导器中嵌入度量代码形成引导度量器,实现对操作系统引导器代码自身的度量,确保引导环境的初态安全。然后由引导器对操作系统进行度量,再由操作系统对应用程序进行度量。与当前通用的可信计算技术实现方式相比,电力可信计算平台将完整性度量的起点从操作系统前推到操作系统引导器,从而使得系统安全性大幅度提升。信任链构建方案如图 4所示。
![]() |
图4 信任链传递方案 Fig. 4 Transportation scheme of trusted chain |
其中:
① 系统引导阶段
装载操作系统引导器,启动度量器,通过可信密码模块CPU实模式驱动调用密码模块,先后对操作系统系统引导器的内存初始化代码及引导程序代码程序进行完整性度量,构建信任链的起点。
② 操作系统启动阶段
引导程序对操作系统内核模块及可信软件基模块进行完整性度量并加载,度量操作需要通过可信密码模块CPU实模式驱动调用密码模块。
③ 业务应用程序
由操作系统内核层的可信软件基在应用程序安装和启动阶段完成对其度量,确保应用程序运行的初态安全。
3) 强制执行控制
可信计算平台的强制执行控制机制参考了中国国家军用标准《军用安全操作系统安全评估等级要求》(GJB4936—2003),在业务程序 (进程) 被调用时进行安全策略裁决,防护恶意程序对其的非法调用。通过安全策略裁决后,对被调用程序 (进程) 进行度量,对非运行态的程序进行静态度量;对已经运行的进程进行特定内存代码段的动态度量。
一种简化的安全策略为:将服务器上的进程进行分类,将基础平台进程归为公有域,每个高级应用进程定义为独立的私有域,只允许私有域对公有域进程的调用,禁止公有域对私有域进程的调用及私有域进程之间的调用。如图 5所示。
![]() |
图5 强制执行控制 Fig. 5 Mandatory execute control |
4) 双重强制访问控制
在电网调度控制系统应用中,根据文件等资源的属性、进程的权限,为每个主体、客体都分配了安全标签,用于应用进程的访问控制。同时,在操作系统内核层,由可信软件基维护并且执行着另外一种基于端口和服务的内核层访问控制策略。两者共同形成了应用层和内核层的双重强制访问控制机制,如图 6所示。
![]() |
图6 双重强制访问控制机制 Fig. 6 Dual mandatory access control |
3 电力可信计算技术实验验证与工程实践 3.1 测试验证
由于可信计算技术在内核模块、动态库、可执行程序等带有执行属性或权限的文件加载或执行时引入了完整性度量和主动裁决,无可避免地对在运业务系统实时性和性能产生影响。为精确评估该影响,需要全面完整的测试。测试采用了与实际系统运行环境完全一致的仿真环境,部署当前电网控制系统普遍使用的4类国产服务器与3类国产安全操作系统所构成的12种使用组合。
测试结果表明,可信计算平台自身占用系统资源极低,对业务程序的性能影响处于毫秒级别,满足电网调度控制应用实时性要求。具体测试结果如表 1所示。
表1 对系统的性能影响 Tab. 1 Performance impact |
![]() |
3.2 工程实践
自2014年起在中国国家发改委信息安全示范工程和国家电网公司科技项目支持下,电力可信平台相关产品已成规模应用于中国电网调度控制系统中。具体应用如下:
1) 透明支撑应用
对业务的透明支撑机制是电力可信平台产品在不改造在运控制业务应用情况下,得以规模化工程应用的先决条件。通过将可信软件基编译入操作系统内核,实现基于可信计算硬件模块支撑的对系统内核、应用程序完整性的度量与保护机制。重新编译的内核通过操作系统补丁升级的方式安装生效。整个过程不对应用程序进行任何修改。
2) 部署实施
电力可信平台现场部署过程包括以下环节:首先备份系统文件,安装含有可信软件基的系统内核补丁;其次,安装可信计算模块硬件驱动;再次,安装可信密码模块硬件;最后,重新启动服务器,全盘扫描形成可信安全策略。整个过程需要约1~2 h。
电力可信计算平台目前已在中国国家级、区域级、省及地市级电网调度控制系统中 (其中包括17个等级保护四级系统) 部署700余套,稳定运行至今已近2年时间,未来将全面覆盖电网调度控制系统的核心业务计算单元。在可信计算平台提供的安全免疫机制保护下,调度控制系统未发生恶意代码入侵、控制指令篡改等网络安全事故,有效保护了控制系统的安全。
3) 预期值安全管理
代码完整性度量的基准是提前预设的预期值。预期值本身的权威性、真实性决定了度量结果的可信性。电力可信计算平台充分结合电网调度数字证书系统及控制系统软件入网检测管理体系,对预期值进行安全管理。电网调度数字证书是全国电力监控系统网络安全防护体系的基础设施,目前已覆盖所有监控业务,为调控操作人员、关键应用程序、关键服务器和设备,以及控制系统软件开发商和检测机构等安全管理体系中相关单位发放数字证书,支撑高强度的身份认证、控制命令等关键数据保护和安全管理。
预期值安全管理方案 (见图 7) 如下:
![]() |
图7 预期值安全管理方案 Fig. 7 Security management program of expected value |
① 调度控制系统开发商对即将交付的系统执行代码生成预期值,并对预期值进行签名。
② 软件入网检测机构对开发商送检的代码预期值进行签名验证,确保代码来源的真实合法性。并且对通过检测的代码进行签名,证明软件的安全性。
③ 电网调度控制中心作为应用系统的运行使用单位,通过相关管理程序获得带有以上双重签名的代码预期值,注入到电力可信计算平台中。平台对以上两个签名进行验签,确保预期值的来源可信、权威。
④ 在系统软件安装过程中,由平台使用通过上述验证的有效预期值进行完整性度量。如果软件执行代码升级变化,需要通过以上完整管理过程。
通过预期值安全管理,保证了预期值的安全与可信,同时也实现了控制系统代码版本的安全管理,确保上线运行的版本经过严格的安全检测。
4 结语作为国家关键信息基础设施的电力控制系统面临的主要风险是国家级的APT攻击,而恶意代码是目前APT的主要技术手段。传统的以“隔离、检测、查杀”为主要手段的安全防护既无法应对APT,又存在制约业务功能、影响业务实时性等问题。可信计算技术通过基于可信硬件的强制的完整性度量,可有效防止恶意代码、非法操作对控制程序、业务逻辑、控制指令的篡改,从而形成系统自身的免疫机制。基于该技术,实现控制系统主站可信计算平台、可信网络通信、现场可信测控终端,构成一个完整的安全免疫系统。采用基于PCI-E密码模块的信任根及优化的信任链构建技术研发的电力可信计算平台,为控制程序及指令提供了完整性保护、MAC/MEC等安全功能,同时对实时性的影响极小,在控制业务容忍范围内。结合调度数字证书系统,实现了对控制系统软件执行代码的预期值安全管理。目前,电力可信计算平台已经在中国电网各级调度控制中心大规模部署应用,成为电力控制系统行之有效的主动防御手段。
电网调度中心是电力监测控制系统的大脑,现场测控终端则是电力监控系统控制命令的具体执行单元。由于受到终端数量巨大、硬件体系结构多样、计算资源有限,并且大部分终端处于物理环境不可控的现场等问题的制约,如何合理应用可信计算技术研制适应上述制约条件的电力可信测控终端将是进一步研究的重点之一。另外,可信计算平台因其防护强度、防护效率方面的优势,在电力监控系统以外的电力企业经营管理系统中也将得到广泛应用。这些系统目前正逐步过渡到云计算架构,因此如何将当前面向单个物理计算节点的可信计算技术扩展到云环境,构建电力可信云,也是未来的重点研究方向。
[1] |
沈昌祥. 用可信计算构筑网络安全[J]. 求是, 2015(20): 33-34. |
[2] |
Shen Changxiang, Chen Xingshu. Construction of the information security infrastructure based on trusted computing[J]. Journal of Sichuan University (Engineering Science Edition), 2014, 46(1): 1-7. [沈昌祥, 陈兴蜀. 基于可信计算构建纵深防御的信息安全保障体系[J]. 四川大学学报 (工程科学版), 2014, 46(1): 1-7.] |
[3] |
Shen Changxiang, Zhang Huanguo, Wang Huaimin, et al. Research on trusted computing and its development[J]. Science in China (Information Science), 2010, 40(2): 139-166. [沈昌祥, 张焕国, 王怀民, 等. 可信计算的研究与发展[J]. 中国科学 (信息科学), 2010, 40(2): 139-166.] |
[4] |
Feng Dengguo, Qin Yu, Wang Dan, et al. Research on trusted computing technology[J]. Journal of Computer Research and Development, 2011, 48(8): 1332-1349. [冯登国, 秦宇, 汪丹, 等. 可信计算技术研究[J]. 计算机研究与发展, 2011, 48(8): 1332-1349.] |
[5] |
Shen Changxiang, Gong Bei. The Innovation of trusted computing based on the domestic cryptography[J]. Journal of Cryptologic Research, 2015, 2(5): 381-389. [沈昌祥, 公备. 基于国产密码体系的可信计算体系框架[J]. 密码学报, 2015, 2(5): 381-389.] |
[6] |
Trusted Computing Group.TCG Specification architecture overview, version 1.2[EB/OL].[2017-01-25].https://www.trustedcomputinggroup.org.
|
[7] |
Trusted Computing Group (TCG).TCG software stack (TSS) specification, version 1.10[EB/OL].[2017-01-25].http://www.trustedcomputinggroup.org/developers/software_stack.
|
[8] |
Trusted Computing Group.TNC architecture for interoperability[EB/OL].[2017-01-25].http://www.trustedcomputinggroup.org/resources/tnc_architecture_for_interoperability_specification.
|
[9] |
Trusted Computing Group.Mobile trusted module specification reversion1[EB/OL].[2017-01-25].https://www.trustedcomputinggroup.org/specs/mobilephone.
|
[10] |
Microsoft. Security model for the next-generation secure computing base[EB/OL].[2017-01-25].http://www.microsoft.com/resources/ngscb/documents/ngscb_security_model.doc.
|
[11] |
Intel.Trusted Execution technology architecture overview[EB/OL].[2017-01-25] http://www.intel.com/technology/security/arch-overview.pdf.
|
[12] |
Olzak T.Recipe for mobile data security:TPM, Bitlocker, Windows Vista and active directory[DB/OL].[2017-01-25].http://www.infosecwriters.com/text_resources/pdf/TOlzakMobile_Data_Secmity.pdf.2007.
|
[13] |
Yu Aimin, Feng Dengguo, Liu Ren.TBDRM:A TPM-based secure DRM architecture[C]//Proceedings of the 2009 International Conference on Computational Science and Engineering.Washington, DC:IEEE, 2009:671-677.
|
[14] |
Geater J.ARM, TrustZone[M]//Trusted Computing for Embedded Systems.Switzerland:Springer International Publishing, 2015:35-45.
|
[15] |
中央电视台实施可信制播环境建设[J].信息安全与通信保密, 2015(12):62-63. http://www.cnki.com.cn/Article/CJFDTOTAL-TXBM201512028.htm
|
[16] |
Gao Kunlun, Xin Yaozhong, Li Zhao, et al. Development and process of Cybersecurity protection architecture for smart grid dispatching and control system[J]. Automation of Electric Power Systems, 2015, 39(1): 48-52. [高昆仑, 辛耀中, 李钊, 等. 智能电网调度控制系统安全防护技术及发展[J]. 电力系统自动化, 2015, 39(1): 48-52.] |
[17] |
Wang Z H, Wang X P. Behavior measure method based on clustering algorithm[J]. Applied Mechanics & Materials, 2014, 696: 229-232. |
[18] |
Gao Kunlun, Zhao Baohua, Wang Zhihao. Research and application discussion of trusted computing technology under the global energy internet environment[J]. Smat Grid, 2015, 3(12): 1103-1107. [高昆仑, 赵保华, 王志皓, 等. 全球能源互联网环境下可信计算技术研究与应用探讨[J]. 智能电网, 2015, 3(12): 1103-1107.] |
[19] |
An Ningyu, Xu Zhibo, Zhoufeng. Application of trusted computing technology in global energy interconnection cyber security[J]. Electric Power and Communication Technology, 2016, 14(3): 84-88. [安宁钰, 徐志博, 周峰. 可信计算技术在全球能源互联网信息安全中的应用[J]. 电力信息与通信技术, 2016, 14(3): 84-88.] |
[20] |
王志皓. 基于可信PDA的智能电网标准化移动作业管理系统[C]//2012年电力通信管理暨智能电网通信技术论坛论文集. 北京: 中国通信学会普及与教育工作委员会, 2013: 464-467.
|