工业自动化和控制系统中IEC 62443标准的解析及应用

工业自动化和控制系统(IACS)是指能够影响或改变工业过程的安全、信息安全和可靠操作的人员、硬件和软件的集合。IACS的设备通常是和工艺过程相连的,信息安全被破坏不仅会导致信息传输的中断,还会导致潜在的人员或生产的损失,甚至可能会对所在地区或国家的基础设施造成破坏。


传统的信息安全关注3个目标,即:保密性、完整性和可用性。一般用途的信息技术(IT)系统最关注的是机密信息泄露问题,所以保密性排在最前面。然而在IACS中,这些目标的优先级恰恰相反,IACS最关注的是所有部件的可用性,在生产正常运行的情况下,需要保证生产数据完整且不泄露。例如:在核电站的环境中,数据的可用性(如核心的温度)比其机密性更重要。IACS和一般IT系统的比较如图1所示。

图1 IACS和一般IT系统的比较

IEC62443是一套国际公认的用于IACS安全开发的标准,它提供了一套全面且系统的网络安全建议,用于解决IACS中目前和将来的安全漏洞,保护工业网络免受网络安全威胁。


1 IEC62443标准体系介绍


IEC62443系列标准由通用、策略和规程、系统和组件4个部分组成。


1.1 通用-其他标准的基础


IEC/TS62443-1-1:描述了用于IACS信息安全的术语、概念和模型。其中,TS表示技术规格书。


1.2策略和规程-面向资产所有者


a)IEC62443-2-1:描述了在IACS中建立网络安全管理系统(CSMS)所需的元素,并且提供了如何开发这些元素的指南。


b)IEC/TR62443-2-3:描述了如何在IACS中进行补丁管理,目标受众包括任何负责设计和实现补丁管理程序的人。其中,TR表示技术报告。


c)IEC62443-2-4:规定了IACS服务提供商在自动化解决方案的集成或维护期间向资产所有者提供的一整套安全能力要求,并且IACS服务提供商可以使用IEC62443-2-4来构建和改进其安全程序。


1.3系统-面向系统集成商


a)IEC/TR62443-3-1:描述了各种网络安全技术在IACS环境中的应用。


b)IEC62443-3-2:描述了系统设计的安全风险评估,将IACS考虑中的系统(SUC)划分为区域和管道,评估每个区域和管道的风险,并建立其各自的目标安全等级,记录安全要求。


c)IEC62443-3-3:规定了详细技术类控制系统要求(SR)和控制系统安全能力等级(SL-C)要求。


1.4 组件-面向组件供应商


a)IEC62443-4-1:描述了IACS所用产品的安全开发生命周期要求。


b)IEC62443-4-2:规定了详细技术类控制系统组件要求(CR)和安全能力等级(SL-C)要求。


目前部分IEC62443标准已经转化为国标并实施,如图2所示。

图 2 IEC63443 系列标准与对应国标


2 安全要求


IEC62243系列标准规定了工业自动化信息安全的7个基本要求(FR)。


a)FR1标识和鉴别控制(IAC),在允许访问系统或资产之前,标识和鉴别所有使用者(人员,软件进程和设备)。


b)FR2使用控制(UC),对已授权的使用者(人员、软件进程或设备),强制指定权限以在IACS中执行所需动作,并监视这些权限的使用。在允许使用者执行操作之前验证准予其必要的权限,保护控制系统资源免受未经授权的操作。


c)FR3系统完整性(SI),确保IACS的完整性,防止非授权操控。一旦IACS运行,资产所有者有责任保持IACS的完整性。在运行和非运行状态下都宜保持物理资产的完整性。


d)FR4数据保密性(DC),确保通信信道和数据存储库的信息保密性,防止和未经授权的访问。


e)FR5受限数据流(RDF),通过区域与管道划分,对控制系统进行分段来限制非必需的数据流。资产所有者需要使用风险评估的方法来确定必要的信息流量限制,进而确定传递信息的管道配置。


f)FR6对事件的及时响应(TRE,在事故被发现时,对安全违规的响应包括通知权利部门,汇报所需的安全违规证据,并及时采取纠正措施。


g)FR7资源可用性(RA),确保控制系统的可用性,以应对基本服务降级或被拒绝。


其中,IEC62443-3-3标准基于IEC62443-1-1标准提出的7个基本要求(FR),提出了相对应的系统要求(SR);IEC62443-4-2标准基于IEC62443-1-1标准提出的7个基本要求(FR),提出了相对应的组件要求(CR)。系统要求和组件要求大体上是一致的,只是IEC62443-4-2标准比IEC62443-3-3标准多了一些特有的组件安全技术要求。


3 安全等级


IEC62443系列标准中将信息安全等级分为3种不同类型。


a)目标安全等级(SL-T),是特定系统中所需的信息安全等级,它们是根据系统风险评估(IEC62243-3-2)的结果确定的,并且并记录在网络安全要求规范中。在IACS安全生命周期的集成阶段会使用SL-T来选择产品和设计额外的安全措施。


b)已实现的安全等级(SL-A),是特定自动化解决方案的实际安全级别,它们都是在自动化解决方案的调试和运行后进行测量的。


c)能力安全等级(SL-C),是系统(IEC62243-3-3)或组件(IEC62243-4-2)在合适配置的条件下可以提供的信息安全等级。这些等级表明,一个特定的系统或组件能够在合适的配置条件下满足SL-T,而无需额外的补偿对抗措施。


对于一个工业控制系统来说,在系统设计阶段需要确定SL-T,在系统开发阶段,组织会根据SL-T确定所选的系统和组件,再根据系统和组件的SL-C进行评估和验证,来确定所选系统和组件是否满足对应的SL-T要求(当这样的系统和组件不可用时,可以补充使用具有补偿对抗措施的系统或组件);在系统运行阶段,通过评估和验证来确定SL-A,并与SL-T相比,确保在任何时候SL-A大于或等于SL-T。


同时IEC62443系列标准还定义了5种不同级别(0,1,2,3和4)的SL,每个安全级别的安全要求逐步递增。通常,SL0表示不需要进行特定的安全保护,SL1表示防止因为员工的错误而意外泄漏,SL2表示防止一些低级黑客的简单攻击,SL3表示防止精英黑客或的复杂攻击,而SL4将防止来自国家层面上的具有最高水平的资源和动机的最复杂的攻击。


4 基于IEC62443-4-2标准的检测方法示例


IEC62443-4-2标准定义的IACS的组件要求包括4大类,即:软件应用程序要求(SAR)、主机设备要求(HDR)、嵌入式设备要求(EDR)和网络设备要求(NDR)。大部分组件要求和增强要求适用于所有4种类型的组件,只是某些组件要求和增强要求是特定类型的组件所独有的。本文举例说明标准中部分要求的检测方法。


4.1 CR3.5-输入验证


输入验证的要求包括验证输入数据的语法、长度和内容,检测方法如下所述。


a)检查是否存在输入数据的有效语法的检查规则,例如:设置检查点,在输入不合规数据时验证该信息是否能被解析。不合规数据包括但不限于预定义字段值超出范围、数据字段的无效字符、缺失或不完整的数据、缓冲区溢出或畸形数据包(通常由协议模糊器生成)。


b)使用专业的漏洞扫描工具(如:绿盟工控漏洞扫描系统)进行扫描,验证组件是否对协议不合规数据包不响应。如图3所示,主机169.254.15.100接收到协议不合规的数据包,由于所接收的数据与协议格式不符,所以其并没有返回(如Wireshark)查看通信采样,通过分析抓包数据来确认网络上看不到机密信息。

图 3 绿盟漏洞扫描结果示意图

图 4 Wireshark 抓包结果示意图


5 结束语


近年来IACS正在经历呈指数级增长的网络攻击,为了应对各种网络安全的威胁,相关行业制定了不少标准来保护IACS,其中IEC 62443系列标准作为一套国际公认的标准,在工控系统中的重要性越来越明显,因此对于IEC 62443标准的研究和应用也是迫在眉睫。


作者:工业和信息化部电子第五研究所 肖曼茜 王剑亮

标签: 智能装备方案

猜你喜欢