PLC工控系统可信构建技术研究

2017-12-02 16:57李孟君王乐东熊伟丁涵
软件导刊 2017年11期
关键词:可编程逻辑控制器

李孟君 王乐东 熊伟 丁涵

摘要:有效增强工业控制系统安全是信息安全领域研究热点和难点之一,将可信计算技术引入到工控系统是有效解决安全问题的新思路。以PLC工控系统为研究对象,阐述了PLC系统的体系架构和安全威胁,分析了将可信计算与PLC系统结合面临的问题和挑战。从上位机和下位机提出了基于TPM的可信PLC系统构建方案,该方案运用可信计算技术对上位机进行了安全增强,确保上位机运行环境的安全可控;运用身份认证机制,实现对上位机组态软件进行权限管理,防止攻击者恶意篡改和替换;运用数字签名技术,实现对逻辑组态和监控组态的可信软件分发管理。

關键词关键词:工业控制系统;可编程逻辑控制器;可信计算

DOIDOI:10.11907/rjdk.172707

中图分类号:TP319

文献标识码:A文章编号文章编号:16727800(2017)011016804

0引言

随着工业4.0的深入推进,越来越多的互联网技术应用到工业控制系统,随之产生的工控系统安全问题变得越来越重要。

工业控制系统(ICS, Industrial Control System)是由计算机软硬件与工业过程控制部件组成的自动控制系统,主要通过工业过程控制部件对实时数据进行采集、监测,在计算机的调配下,实现自动化和业务流程的管理与监控,包括监控和数据采集系统(SCADA)、可编程控制器(PLC)、分布式控制系统(DCS)等 [1]。现阶段工业控制系统被控对象包括生产过程、机械装置、交通工具、实验装置、仪器仪表,以及家庭生活设施、家用电器等。国家核设施、钢铁、有色金属、化工、石油石化、电力、天然气、先进制造、水利枢纽、环境保护、铁路、城市轨道交通、民航、城市供水供气供热等都是工业控制系统信息安全管理的重点领域[2]。

与互联网信息安全不同,工业控制系统更为注重物理世界的安全与设备安全稳定运行。早期孤岛式的工控系统在通讯协议、操作系统、安管策略与管理流程、应用软件等方面埋下的安全隐患,使工控系统联网之后信息安全问题愈加突出,体现在普遍缺乏网络准入和控制机制,缺乏身份鉴别和认证鉴权机制,导致只要从协议层建立连接,就可对下位机进行修改;缺乏最高权限限制,高权限账号往往掌握着数据库和业务系统命脉,任何一个操作都可能导致数据的修改和泄露[3]。

工业控制网络安全事件数量逐年上升。数据表明,自2010年起,重大工控网络安全事件呈现爆炸式增长,由2010年的52起增加到341起,上报的漏洞数为前10年的总和。自2011年之后,漏洞数量持续保持快速增长势头,2013年公开的漏洞数高达177个,2014年上半年又新增了64个,其中高危漏洞占比超过一半,达到了51%。这些漏洞可直接造成设备停机、进入故障模式、自动重启、程序崩溃、破坏数据区等严重危害,此类危害对高实时性的工控系统无疑是致命的。震网、duqu、火焰、havex等病毒的出现说明,工控系统已经成为黑客的重点目标[4]。

工控安全问题受到越来越多的关注。现有解决方案中,工业控制系统的安全防护技术仍然采取传统信息安全防护手段,主要分为两个层面:工控计算节点安全防护和工控边界安全防护[5]。对于节点防护集中于防病毒软件和工控系统漏洞扫描工具;对于边界防护集中于对工控协议格式和工控协议内容的监控与过滤。由于工业控制系统是一个由现场设备、过程控制设备、网络设备和工控机组成的复杂系统,采用传统手段只会让病毒库、漏洞扫描库越来越大、入侵检测系统越来越复杂、防火墙越砌越高,但无法应对不断出现的新病毒、新漏洞和新攻击。

信息安全领域研究中,密码技术是安全信息系统的基石。只有在信息系统硬件和软件的底层采用基于密码的安全防护措施,才能有效确保信息系统安全。解决工业控制系统安全问题,可信计算技术行之有效,其主要思路是建立可信根和信任链来保证系统的完整性和安全性,由可信根提供与信息系统独立并且隔离的可信度量、可信存储以及可信报告等服务,确保整个系统运行环境和网络接入环境完整可信[6]。

1PLC工控系统安全威胁分析

1.1体系架构组成

典型的PLC工控系统分为站控层、现场控制层和过程层,如图1所示。其中站控层部署在上位机,现场控制层部署PLC下位机,过程层主要包括现场设备如传感器、开关阀门等。上位机与PLC下位机之间通过工业以太网进行互联通信,PLC下位机与现场设备通过现场总线通信[7]。

图1PLC工控系统架构组成

站控层包括工程师站和操作员站,用于生成PLC下位机执行的控制和监视代码,通过在普通计算机上部署逻辑或监控组态软件,并安装到下位机执行。上位机可将下位机收集的数据通过图形、报表等形式反馈给用户,直接发送操作指令到下位机,修改下位机的运行状态。

PLC是以可编程存储器为核心构件的逻辑控制器,通过对存储程序、顺序控制、逻辑运算等面向用户的指令执行,进而以数字或模拟输入、输出形式形成对机械设备及生产过程的控制。随着嵌入式技术的广泛应用,PLC逐步发展为具有控制和通信功能的嵌入式系统。

PLC下位机负责直接控制现场设备,同时与主控中心通信,是整个系统的核心。一般由处理单元(CPU)、存储器、输入/输出接口、电源、扩展接口和编程接口组成。下位机主要功能是监测和控制现场设备并与上位机进行通信。上位机与PLC下位机之间通过编程接口来传送组态程序。

1.2安全威胁分析

工控信息安全是一个复杂的系统工程,在工业应用多元化发展需求的强劲推动下,工业自动化控制网络逐步演变为开放系统,其集成化网络系统与IT网络基础设施充分互联,PLC工控系统既面临上位机暴露在互联网上所带来的攻击渗透,又面临针对PLC下位机的深层控制与破坏威胁[8]。与传统IT信息安全相比,工控信息安全有其自身特点[9]:①网络通信协议不同,采用OPC、Modbus等私有协议;②网络结构与行为稳定性高,投运之后基本不会发生改变;③对系统实时性和可用性要求高,要求持续运行不能间断;④升级不方便,更新代价高,补丁难完善。endprint

对工业信息安全而言,首先需要满足控制系统的高可用性要求,其次是完整性 [10]。

工控系统的攻击目标包括控制底层现场总线与设备、截获数据情报、造成物理感染或破坏等,有以下几种典型的攻击方式:

(1)非法获取权限。多数工控厂家系统软件采用口令认证方式,且设有默认密码,攻击者很容易非法获取PLC权限进行破坏活动。例如获取下装权限,下装恶意逻辑或系统软件至PLC;获取一些关键设备的控制权限进行危险操作等。

(2)篡改工程组态文件。通过入侵上位机直接修改本地保存的工程組态文件,通过合法途径正常下装至PLC运行。

(3)伪造控制指令。伪装成操作员,发送虚假控制指令至PLC,导致设备偏离正常工作状态,系统停机等。

(4)实时欺骗。制造假数据、虚假状态欺骗操作人员或运行系统,导致误操作或使操作者不能及时有效处理危险工控。

(5)干扰和破坏控制功能和机制。直接攻击控制系统,干扰、破坏控制任务的执行。

(6)信息外泄。将内部信息通过网络、无线通讯方式、电磁辐射、电源线、移动介质等传输出去,尤其是敏感的重大事件启动、暂停、继续、终止、撤销等有关信息。

传统的信息安全防范方式的被动性以及信息系统存在的固有缺陷,难以通过查、杀、堵、截应付以上多种攻击方式。可信计算作为新一代主动免疫防御体系,对硬件结构、操作系统、应用软件以及网络连接等多方面加强安全防范,并提供独立密码服务和可信存储调用,可从根源、整体上提高工业控制系统的安全防御能力。

针对工控系统,可信计算技术防御面临的问题和挑战主要有:①通过构建上位机可信计算平台,确保组态软件运行环境安全可信;②通过对下位机PLC工控系统进行可信增强,确保PLC系统软件、逻辑组态、监控组态运行环境完整;③通过实现上位机与下位机的身份认证,确保上位机接入及操作指令下发的完整性和认证性。

2上位机可信平台构建

上位机可信计算平台以TPM为核心,由计算机硬件、操作系统、可信软件和应用软件组成。其以可信度量为起点,以信任链的方式来度量整个平台资源的完整性,将完整性的度量结果存储在TPM中的平台寄存器PCR中,并通过TPM向询问平台可信状态的实体提供报告,供访问者判定该平台是否可信,以决定是否与其交互[1113],这是可信计算平台与普通计算机在组成结构与安全机制方面最主要的区别。上位机可信计算平台体系结构如图2所示。

TPM集成了可信计算所需的安全模块功能,通过密码协处理器、HMAC引擎、SHA1引擎、密钥产生部件、随机数发生器为平台提供密码运算的硬件,以此作为整个平台的密码基础。密码协处理器用来实现加密、解密、签名和验签的硬件加速。TPM作为整个平台的硬件信任根基,必须确保自身安全。正是其基于硬件的属性,同时提供多种密码和访问控制技术,保证了TPM自身及内部数据不被非法攻击。

可信软件栈(Trust Software Stack,TSS)是一种分层的软件架构,共分3层,自下而上分别为设备驱动库TDDL、核心服务层TCS和核心服务层TSP。TSS作为可信计算平台的中间核心部分,在整个架构中将TPM的硬件功能进行了展现,同时给上层的资源提供服务基础。TSS设计目的是提供使用TPM功能的入口点、提供对TPM的同步访问、对TPM的字节流进行处理、管理TPM资源。可信软件栈不依赖任何平台与操作系统,模块相互之间的通讯与连接不会根据平台或操作系统的不同而改变[14]。

可信软件基是基于可信计算,以TPM为可信根,通过可信硬件的杂凑算法和加密算法,为信息系统构建安全可靠的防护体系,确保系统中重要信息的机密性和完整性不会遭受攻击。可信软件基安全功能模块由初始化、身份认证、文件完整性校验和审计4个模块组成,通过向内核驱动程序请求计算度量值及接收度量值,并在用户态调用TSS接口,实现可信存储认证和可信认证工作。各模块通过TCSI服务提供的接口,获得底层TPM的密码服务和可信存储支撑,然后各模块相互协作,实现安全增强操作系统所要求的安全功能和保障功能。

图2上位机可信平台系统架构

3组态软件可信管理

可信软件基虽然能确保上位机中组态软件的运行环境安全,但无法完全杜绝利用组态软件伪造或篡改数据带来的威胁,需要从输入和输出两端进行可信增强,包括对组态软件的使用角色进行鉴权,以及对组态软件生成的工程文件进行签名发布。

基于角色的权限管理技术能够解决组态软件工程缺乏权限管理的弊端,使工控系统的安全不仅仅依赖于计算机与人的制度管理,而要具有基于密码的识别与防御能力。

将组态软件操作者分为以下几种角色,分别对应不同的操作权限,如表1所示。

权限管理系统分别对工程组态软件和操作监控软件进行安全增强,增加权限配置和权限认证两个子模块。权限配置用于设置不同的人的对应角色、分管区域以及对此区域内设备的操作权限。权限认证实现对身份的识别以及权限功能。在整个控制过程中涉及到人的操作,都增加物理介质来对人进行身份鉴别,并验证是否具有相应的操作权限,以实现以下保护策略:防止操作者对非自己管理区域的设备进行误操作;防止无权限人员通过该组态软件生成恶意组态逻辑工程;防止恶意程序伪造成操作者,修改工程或发送操作指令。

权限认证阶段包括:

(1)打开工程。打开、编辑、保存工程这部分的权限控制依靠固定密码实现。打开组态软件时,要求使用者输入该工程密码。密码的安全性通过管理和软件技术双方配合:一方面加强密码管理,防止弱口令、防止人为泄露、定期更换密码等;另一方面做到本地保存密码的安全性、修改密码过程中对权限的认证等。

(2)发布工程。为了使用上的方便,工程编辑时不验证操作权限,但只允许具有工程师权限的人才能对下位机PLC系统进行发布下装。发布权限需要专用的物理认证设备,如UKEY。预先将在UKEY写入可允许操作的设备信息,以及此UKEY具有的操作权限。当插入UKEY时,主机对其身份进行验证,确认该角色是否可以发布该逻辑组态工程。只有验证通过了,才调用TPM的签名接口对工程文件进行签名发布。endprint

(3)发送操作指令。发送操作指令可能在工程师站发生,例如通过组态软件在线写值,也可能在操作员站发生,例如在监控软件上直接操控某个设备。这些指令都会直接写入PLC参与运行,所以发送指令时需要对操作者的身份和权限进行验证。只有验证通过时,组态软件或监控软件才能真正地将指令发送至PLC进行运算。操作指令包括:工程下装、状态读取、变量监视、写变量、变量强制、运行、停止以及暂停等。

4下位机PLC可信增强

下位机PLC是一个由处理器主控模块、外部存储部件、总线耦合器以及輸入输出模块等组成的嵌入式系统。其中,处理器主控模块实现现场总线主站功能,轮询现场设备从站数据、管理从站信息;与上位机组态管理软件通信并完成总线的配置下装及诊断上报。

PLC嵌入式实时控制系统由操作系统核心层和应用支撑层构成,核心层主要包括嵌入式操作系统板级内核及驱动包,应用支撑层包括用于处理组态逻辑和操作指令的实时控制运行系统,其可信系统架构如图3所示,通过板级扩展TPM提供可信支撑。

PLC实时控制运行系统(RCRS)包括主任务模块、通信模块、加载运行模块、IO管理模块、辅助功能模块等。主任务系统实现事务处理、状态切换、故障诊断、系统配置及初始化等功能。IEC加载运行模块主要实现任务管理、IO刷新、用户逻辑运行、变量修改生效、过程快照、交互变量刷新等功能,由于RCRS将中断处理任务视为一个特殊任务,因此,中断管理和中断代码执行也归入任务系统。通信模块主要实现过程数据同步、状态数据同步、发送命令等功能。IO管理模块提供读变量和写变量等功能。各模块主要功能如表2所示。

RCRS通过三方面进行安全增强:①对通信模块进行可信改造,使其支持上位机的可信认证及对操作指令加密保护,只有认证通过才运行通信;②对加载运行模块进行可信增强,在加载运行组态工程文件之前,先进行签名验签,只有通过验签的组态工程才允许运行;③增加用户身份权限管理,通过身份验证确定该用户是否具有对资源的访问和使用权限,进而使系统的访问策略能够可靠、有效地执行,防止攻击者假冒合法用户获得资源访问权限,保证系统和数据的安全,如图4所示。

图4PLC嵌入式实时控制系统可信增强

5结语

工业控制系统面临着日益严峻的安全威胁,必须采取相应的软硬件措施预防任何破坏性攻击。可信计算作为一种新兴的安全计算机平台构建技术,是工业控制系统安全问题较好的解决方案。本文针对工控环境中的PLC系统体系结构进行了研究,设计了一种基于TPM的可信PLC工控系统解决方案。通过运用可信计算技术对上位机进行安全增强,构建从操作系统、可信软件基到应用软件的信任链,确保上位机运行环境安全可控;通过运用身份认证机制,实现对上位机组态软件进行权限管理,防止攻击者恶意篡改和替换;运用数字签名技术,实现对逻辑组态和监控组态的可信软件分发管理。

本研究侧重于PLC工控环境下可信平台构建技术的功能性设计,对适用于PLC系统的专用可信平台模块设计尚缺乏考虑,今后将在这方面展开深入研究。

参考文献参考文献:

[1]许子先,罗建,孟楠,等.工业控制系统组态软件安全研究[J].信息网络安全,2017(7):7379.

[2]曾瑜,郭金全.工业控制系统信息安全现状分析[J].信息网络安全,2016(9):169172.

[3]宋国江,肖荣华,晏培.工业控制系统中PLC面临的网络空间安全威胁[J].信息网络安全,2016(9):228233.

[4]彭勇,江常青,谢丰,等.工业控制系统信息安全研究进展[J].清华大学学报:自然科学版,2012(10):13961408.

[5]钟梁高.基于可信计算的工业控制系统信息安全解决方案研究[D].大连:大连理工大学,2015.

[6]吴欢.工业控制环境计算节点安全防护技术研究[D].北京:北京工业大学,2016.

[7]李鸿培,忽朝俭,王晓鹏.工业控制系统的安全研究与实践[J].计算机安全,2014(4):3659.

[8]何之栋,裘坤,钟晨,等.工业控制系统的信息安全问题研究[J].工业控制计算机,2013,26(10):14.

[9]魏可承,李斌,易伟文,等.工业控制系统信息安全防护体系规划研究[J].自动化仪表,2015,36(2):4950.

[10]周黎辉.工业控制系统信息安全保护体系研究与探讨[J].信息安全与技术,2015,6(6):4647.

[11]TRUSTED COMPUTING GROUP. TPM main part l design principles specification version 1.2[EB/OL]. http://www.trustedeomputinggroup.org,2003.

[12]TRUSTED COMPUTING GROUP.TCG Specification architecture overview,version l.2[EB/OL]. http://www.trustedcomputinggroup.org,2003.

[13]SAILER R, ZHANG X, JAEGER T, et al. Design and implementation of a TCGbased integrity measurement architecture[C]. USENIX Security Symposium.2004(13):223238.

[14]TCG GROUP. TCG specification architecture overview[J]. TCG Specification Revision,2007(1):124.

责任编辑(责任编辑:杜能钢)endprint

猜你喜欢
可编程逻辑控制器
PLC在移动式膜法提纯沼气生产生物天然气工程中的应用
基于PLC的城市给排水控制系统研究
基于中药自动配药PLC系统的设计方案的研究
浅谈城市供水调度系统的建设与维护