APP下载

自动控制系统可信安全防护方案设计

2021-09-10吴波胡璇金先涛

电子产品可靠性与环境试验 2021年4期
关键词:可信性完整性度量

吴波 ,胡璇 ,金先涛

(1.工业和信息化部电子第五研究所,广东 广州 511370;2.智能制造装备通用质量技术及应用工业和信息化部重点实验室,广东 广州 511370)

0 引言

对于信息系统而言,大多数安全隐患来自于终端,所以单纯依靠网络安全防御手段已经不足以应对各类信息安全问题,特别是对于自动控制系统,使用基于硬件的保护措施成为信息安全防护的趋势,只有从芯片、主板等硬件和BIOS、操作系统等底层软件这两个方面综合地采取措施,才能有效地提高其安全性。

可信计算技术作为一种较新的信息系统安全技术,将解决信息安全问题的思路转移到解决终端安全问题上来,从终端计算平台的体系结构入手,结合底层硬件和软件,在整体上采取安全措施以保证信息系统的可信与安全,正是基于这一思想催生了可信计算的迅速发展及其在各个领域的广泛应用[1]。

可信计算特别适用于提高计算机、服务器和嵌入式设备等信息系统的基础设施和平台的可信性。其核心思想是基于“信任根”构造“信任链”和对“信任链”上的转换节点进行“信任度量”[2]。具体的内容包括:首先,以硬件芯片的形式在计算机系统中建立信任根,称为可信平台模块(TPM:Trusted Platform Module)(信任根的可信性由物理安全、技术安全和管理安全共同确保);其次,建立信任链,从信任根开始到硬件平台,到操作系统,到应用,再到网络,一级测量认证一级,一级信任一级,把这种信任扩展到整个计算机系统,从而确保整个计算机系统的可信。

可信计算通过创建硬件安全锚点,即TPM,进而构建一个全新的安全架构,从根本上解决计算机系统存在的基础性安全问题,能够显著地提升信息系统和网络的安全性。目前,已经实现可信PC、可信服务器和可信PLC 等可信计算平台,并广泛地应用于电信、金融、交通、政务和工业控制等领域,其在安全认证、数据安全存储、完整性度量与验证、软件可信属性验证、远程证明和可信网络连接等方面提供了切实的安全保障[3-4]。

当前,基于可信计算的安全防护技术大多针对终端设备进行安全防护,对于由各类终端形成的网络系统,虽然使用远程证明、可信网络连接可以实现完整性度量和验证,但基于可信计算的网络系统安全防护能力有待进一步加强[5];另外,可信计算主要实现终端设备启动过程中软件可信状态的静态度量,保证了终端设备的软硬件运行环境的安全性,但是对系统运行过程中的终端设备、用户等行为的动态安全性无法保证,所以必需对用户实体行为的动态可信性进行度量[6]。本文从实际对象和实际业务应用出发,分析自动控制系统的威胁,探讨可信计算与自动控制系统结合的可行性,最后给出一个整体的防护方案。

1 自动控制系统安全防护需求

当前,我国自动控制系统关键组件对外依存度高,系统安全性不可控,而国产自动控制系统安全性、可靠性低,在高端领域应用受限。特别地,在工业互联网发展趋势下,自动控制系统网络外联现象突出,远程监控、远程运维等应用日益普遍,系统内在漏洞和后门等脆弱性大量暴露在互联网下,导致受攻击面扩大,攻击难度降低,自动控制系统安全风险陡增。

首先,与传统信息系统不同,自动控制系统中的传感器、执行器等仪器仪表,以及控制器、操作面板、工程师站和操作员站等终端设备是系统的核心资产,承载系统核心业务的运行;其次,自动控制系统具有设备分布广泛、通信协议封闭和业务应用固定等特点;另外,自动控制系统具有高可靠、低时延和易使用的要求。因此,以数据中心,即服务器和网络设施为防护重点,采用防火墙、入侵检测和恶意代码检测等“封、堵、查、杀”手段的传统信息安全防护体系无法保障自动控制系统信息安全。现实中,自动控制系统具有的特有信息安全问题依然没有得到解决,包括:1)用户与终端设备身份鉴别;2)状态监测数据、控制数控、系统配置数据等敏感数据的安全保密与完整性保护;3)控制网络行为的检测与识别;4)协议安全等。

特别地,近年来IT 技术不断发展,工业互联网、物联网和移动互联网等新技术和新应用不断涌现,在万物互联和万物感知的环境下,终端成为不可知、不可控的关键因素,终端安全成为自动化控制系统信息安全防护体系中的重点。

一方面,自动控制系统业务应用具有高可靠、低时延和易使用的要求,核心业务应用基本下沉至PLC 控制器、操作面板和操作员站等终端。

另一方面,自动控制系统传感器、执行器和控制器等终端数量多,分布广泛,网络边界模糊,网络结构形式多样。

除此之外,在面向加密数据和大规模网络流量时,网络流量检测和响应时间增加,传统网络安全设备的瓶颈频现。

可以说,信息安全战场已经逐步由对核心与主干的防护,转向网络边缘终端的管理和保护,终端安全俨然已成为了自动控制系统信息安全保障工作的重要环节[7-8]。

2 可信安全防护架构设计

本文针对自动控制系统的信息安全防护需求,结合可信计算技术在身份认证、数据安全存储、完整性度量与验证等方面的信息安全防护优势,围绕自动控制系统中的PLC、计算机和服务器等关键终端设备进行可信安全加固方案设计,同时基于可信网络连接技术,对各类可信计算平台进行集成,形成系统化的可信安全防护方案,如图1 所示。

图1 自动控制系统可信安全防护架构

2.1 可信PLC

控制网络中的PLC 是一个由中央处理器、存储器和输入输出模块等组成的嵌入式系统。PLC 自身几乎没有安全防护措施,其安全防护主要依赖物理安全实现。通过将可信安全芯片TPM 作为信任根嵌入到PLC中,形成可信PLC。在可信安全芯片和只读存储芯片的支持下,可信PLC 对加载运行的系统软件、用户程序进行完整性度量及信任链传递,实现可信PLC 的可信启动;另外,基于可信根中的密钥生成和密钥管理功能,实现对可信PLC 终端设备的可信安全认证,同时对可信PLC中关键数据的加密存储。在本方案中,通过替换的方式,将普通PLC 替换为国产可信PLC,在控制网络构建安全可信的基础控制环境。

2.2 可信计算机

可信计算机以可信安全芯片TPM 为核心,从芯片、主板、BIOS 和操作系统等底层软硬件出发,保障操作系统、应用软件和网络服务等计算环境安全,旨在提供可靠、安全的计算机系统。

TPM 是硬件和固件的集合,可以采用独立封闭的形式,也可以采用IP 核的方式与其他类型芯片集成在一起。TPM 通常与计算机主板上的南桥芯片ICH(I/O Controller Hub)连接来构建可信计算机的信任根,并在主板BIOS中写入TPM 控制程序,为平台提供基于硬件的密码机制(密码算法、密钥管理和证书配置),使计算机从上电启动开始对软硬件环境的完整性进行可信度量验证。

可信计算机以TPM为起点,以信任链的方式度量整个计算机平台资源的完整性,将完整性的度量结果存储在TPM中的平台配置寄存器PCR中,并通过TPM 向询问平台可信状态的实体提供报告,供访问者判定该平台是否可信。同时,可信计算机利用TPM 内置的密码运算部件生成系统中的各种密钥,为应用软件提供加解密服务和安全通信接口,以保证上层应用软件的安全。另外,虽然服务器在处理速度、并发控制和虚拟化机制等方面与PC 不同,但其同样可以采用类似的技术进行可信安全防护,但其TPM 机制会更加复杂,如采用多TPM 机制(物理TPM 和虚拟TPM)。

在本方案中,对于已运行系统,将可信计算根TPM 以板卡的形式嵌入普通计算机,形成可信计算的信任根,对于新建系统,直接使用具有TPM芯片可信计算机,在监控网络中构建安全可信的计算环境。

2.3 可信智能卡

传统的可信计算主要是通过在终端设备中嵌入可信计算模块TPM,通过TPM 与终端设备的绑定,为终端设备提供安全防护能力。但是,对于系统管理员、系统运维人员和系统操作员等用户,没有采用可信计算技术保证其操作和行为的可信性。用户安全和平台安全是“可信”的两个必要方面,任一方面的缺失都会使系统的整体可信度缺失。

智能卡是将具有存储、加密及数据处理能力的集成电路芯片封装于塑料基体中制作而成的。一般智能卡能提供随机数生成、密钥生成、使用哈希算法计算和验证认证数据和用户证书、密钥和其他数据安全存储等功能,被广泛地应用于信息系统中,如双因子认证、数字签名等。

将可信计算与智能卡结合形成可信智能卡,在硬件层级上实现密钥、数字证书等的安全管理,并将引入到自动控制系统可信计算安全防护体系架构中。可信智能卡通过将可信计算的可信度量验证和安全存储等功能移植到安全智能卡中,并通过USB 接口与计算机连接,形成一种便携式TPM[7]。

通常便携式TPM 通过一个封闭的、具有独立计算能力的片上系统(SOC)实现,包含CPU、内存、密码支撑部件和存储部件,实现TCG 设计规范中的TPM 基本运算和存储功能。为用户提供数据安全存储、身份认证和完整性验证等功能,同时存储和管理用户身份标识、密钥和证书。将便携式TPM 与用户身份绑定,建立一种基于便携式TPM的单用户多平台应用模式,实现对系统用户的身份认证和可信性度量验证。同时,可以在系统用户和可信计算平台之间实现双向身份认证和平台完整性验证。

2.4 可信服务平台

在可信安全防护架构中,引入可信服务平台,作为可信第三方,对访问请求者和访问控制器进行集中管理,实现可信PLC、可信计算机和可信智能卡等可信计算平台和可信网络之间的双向身份认证和双向平台可信性验证,可信服务平台在用户身份认证和平台认证过程中充当可信第三方[8]。

可信服务平台与访问请求者和访问控制器进行通信,收集身份认证信息和完整性度量验证信息,形成一个全局的访问决策集,依据访问决策集,对访问请求者和访问控制器进行集中控制和管理。可信服务平台作为可信网络连接中的策略管理者和决策者,按照用户身份认证、平台身份认证和平台完整性验证的顺序对接入网络的设备进行验证,如果有一个环节认证失败,将禁止设备接入网络。

可信服务平台可为网络提供网络接入控制服务、用户身份管理服务、平台身份管理服务和平台完整性管理服务等能力。网络接入控制服务根据网络安全防护策略实施基于用户身份、终端平台身份和完整性状态的细粒度接入控制,支持针对用户和终端的差异化网络接入管理。同时,网络接入控制服务还能提供用户和终端接入审计,为接入用户和终端的动态监控和追踪溯源提供服务支撑。用户身份管理服务和平台身份管理服务负责用户和终端完整性基值管理、完整性度量和验证,以及用户和终端身份凭证的颁发、验证和撤销。

可信服务平台基于可信网络连接整体架构以及平台身份认证和状态完整性验证,对访问网络的终端平台进行身份鉴别和安全状态检查,对网络环境中终端平台的可信性信息和状态完整性信息进行存储与管理,并与防火墙、入侵检测等网络安全防护机制相结合,通过相应的可信验证和网络控制策略,对网络连接进行策略化的主动监控,有效地防止不符合网络安全策略的终端接入网络,将基于TPM 的可信计算思想从终端平台扩展至网络。

3 可信安全防护功能设计

在上述自动控制系统可信安全防护架构设计的基础上,通过可信计算提供的静态度量、实体安全认证、安全传输和安全存储,以及完整性验证和系统行为验证等安全防护能力,对自动控制系统的启动、访问、组态和运行等全生命周期过程进行安全加固,如图2 所示。

图2 可信安全防护功能设计

3.1 可信启动

自动控制系统的计算环境包括可信PLC、可信PC 和可信服务器等嵌入式系统和计算机系统。可信启动保证自动控制系统中的计算环境在初始启动时加载的系统文件是未被篡改的、正确的,是保证自动控制系统安全运行的前提。

可信PLC、可信计算机等可信终端以可信平台模块TPM 为根基,所有终端系统从上电启动开始,依次对BIOS、内存、引导扇区、操作系统内核、系统配置文件和应用程序等软件、硬件环境的完整性进行可信度量验证,系统启动的每一个环节都以上一步启动完成为基础,当某一环节未通过验证,系统将无法启动。即自动控制系统的计算环境以TPM 为根基,将信任进行传递,建立系统的信任链,确保运行的软件和程序未经篡改并通过授权。

在受可信启动保护的终端系统上,只能安装和运行通过完整性验证和授权的软件和程序。通过对软件和程序的识别和保护,未经验证和授权的软件和程序一律被拦截和阻断,防止对系统程序未经授权的修改,实现对病毒、木马等恶意代码的自我免疫,确保作为自动控制系统基础计算平台的终端系统在安全可信的环境下启动运行。

3.2 可信访问控制

可信访问控制主要实现对自动控制系统实体身份的识别和权限控制,可信访问控制包括终端设备网络接入的访问控制和系统用户登录的访问控制。可信访问控制不仅要求鉴别访问实体的自身身份,而且还要求验证访问实体的计算环境和程序的完整性和可信性。

可信访问控制基于TPM 物理介质中的密码算法引擎和密钥管理等部件,使用TPM中的私钥来表示不同实体的身份特征,包括可信PLC、可信PC 和可信服务器等可信计算平台身份,以及使用可信智能卡代表的系统用户身份;另外,使用TPM中的平台配置寄存器PCR 存储的完整性报告来表示不同实体的可信状态。当终端接入自动控制系统网络或用户登录自动控制系统时,部署于可信网络连接服务器上的可信服务平台对访问实体的可信性进行询问,访问实体提供使用私钥签名的完整性报告,供可信服务平台判定访问实体的可信性,可信服务平台通过对访问实体签名、可信性的验证和相应的控制策略,对访问实体进行访问控制,以决定是否允许其接入网络或登录系统,并控制其能够访问的系统资源。

在可信访问控制过程中,基于TPM 物理介质中的密钥和完整性校验功能对访问实体进行身份鉴别和可信性验证,通过身份鉴别和可信性验证的实体,才允许接入网络或登录系统,不合法的终端设备和系统用户无法接入系统网络和访问系统资源,保证自动控制系统整个网络环境的可信。

3.3 可信组态

对自动控制系统的下位机进行控制程序组态和上位机进行监控画面组态是自动控制系统运行的基础。可信启动和可信访问控制虽然能确保自动控制系统的运行环境安全,但无法杜绝利用组态软件伪造或者篡改数据带来的安全隐患,需要基于可信计算的公私钥、签名验签和完整性校验等功能,对生成的组态文件进行可信保护,包括对使用组态软件的角色进行认证和鉴权,对运行组态软件的计算机进行认证和可信性验证,以及对组态软件生成的组态文件进行签名验签。

生成组态文件阶段,只允许具有权限的工程师在具有权限的工程师站上才能生成和编辑组态文件。对于进行组态操作的工程师,增加可信智能卡来对工程师进行安全认证和访问控制,以验证是否具有相应的操作权限;针对运行组态软件的组态计算机,首先,对计算机进行基于TPM 的安全认证,具备组态权限的工程师站才能够运行组态软件;其次,对计算机进行基于TPM 的完整性校验,在确保组态计算机运行环境未受到破坏情况下,才允许运行组态软件。

发布组态文件阶段,发布阶段需要对执行发布操作的工程师权限和组态计算机权限进行认证和鉴权,验证通过时,使用工程师可信智能卡和组态计算机的私钥对组态文件进行签名发布,下位机PLC在收到发布的组态文件后,对组态文件进行验签并验证其完整性,通过验证后,再存储和执行组态文件。

通过可信组态,可以防止操作人员对非自己管理的设备进行误操作;可以防止无权限人员通过组态软件篡改和替换组态文件,执行恶意控制程序;防止恶意程序篡改组态文件或发送操作指令。

3.4 可信运行

自动控制系统在启动、连接与授权动作之后缺乏对设备终端和用户行为发生异常的检测与防控,这意味着自动控制系统运行状态的可信性无法保证,即缺少基于可信计算的动态度量与验证。

可信运行强调自动控制系统行为结果的可预期,通过对自动控制系统进行动态度量与验证,确保自动控制系统运行状态可信。可信运行可通过3种方式实现:对程序进程的动态度量、对内存状态的动态度量和对运行结果的动态度量。

程序进程的动态度量首先分析可执行文件或源代码的函数调用关系得到程序的预期行为,建立程序预期行为规则,然后对实际程序进程的名称、PID、状态、用户名、内存活动、作业对象ID 和调用关系等信息进行监控,判断程序行为是否与预期行为规则一致;内存状态的动态度量定时检查内存正文区、函数堆栈和中断向量表等关键数据结构的完整性,保证计算环境在运行中不被改变;运行结果的动态度量使用形式化语言,对系统每个状态执行的具体动作、状态之间的转换进行描述,并通过系统审计功能,对系统关键行为与后果进行数据分析,然后综合判断系统状态和行为路径是否与预期匹配。

可信运行通过程序进程、内存状态和系统行为等角度,对系统运行状态进行检测和验证,判定系统运行状态、状态之间的转换是否符合预期,进而对系统运行状态进行管理,实现系统可信性的动态度量与验证,是系统静态度量与验证的重要补充。

4 结束语

本方案在现场控制层,通过引入可信PLC,使得现场控制设备在安全可信的运行环境下更加安全、可控,并且,由于可信计算模块的硬件加解密能力,现场控制设备的计算、控制和通信功能也不会受到影响;在过程监控层,通过引入基于可信计算的计算机作为工程师站、操作员站的监控终端,使得系统启动过程安全可信,并且支持对工程师站生成的组态文件、设置的配置参数,以及操作员站执行的关键操作进行数字签名;在系统网络层,通过引入可信服务平台,对网络接入者、网络资源访问者进行基于可信计算的安全认证和访问控制,实现对系统网络可信连接的动态控制,将信任链从终端传递到整个系统,使得自动控制系统从整体上自在安全可控的可信环境下。

当前,可信计算主要采用度量数据完整性来度量和验证系统可信性,在保障系统资源的完整性,抵抗计算机病毒等恶意软件攻击方面提供了出色的保护能力,在很大程度上增强了自动控制系统的安全性,对国产自动控制系统安全性的提升具有重要作用和意义。虽然可信计算是一项拥有广阔应用前景的安全技术,但在现实中它并不能解决所有信息安全问题,需要与操作系统、网络和应用等层面的安全机制不断深入融合。后续,将在可信安全防护技术与防火墙、入侵检测、安全审计等其它安全防护技术的集成和联动方面开展研究,实现基于可信计算的可信性度量、验证与管控。

猜你喜欢

可信性完整性度量
鲍文慧《度量空间之一》
基于可信性的锅炉安全质量综合评价研究
模糊度量空间的强嵌入
石油化工企业设备完整性管理
在区间上取值的模糊变量的可信性分布
迷向表示分为6个不可约直和的旗流形上不变爱因斯坦度量
Five golden rules for meeting management
莫断音动听 且惜意传情——论音乐作品“完整性欣赏”的意义
基于可信性理论的风电场电能质量模糊综合评估
精子DNA完整性损伤的发生机制及诊断治疗