工业自动化和控制系统中IEC 62443 标准的解析及应用
2023-11-17肖曼茜王剑亮
肖曼茜,王剑亮
(工业和信息化部电子第五研究所,广东 广州 511370)
0 引言
工业自动化和控制系统(IACS:Industrial Automation and Control Systems)是指能够影响或改变工业过程的安全、信息安全和可靠操作的人员、硬件和软件的集合[1]。IACS 的设备通常是和工艺过程相连的,信息安全被破坏不仅会导致信息传输的中断,还会导致潜在的人员或生产的损失,甚至可能会对所在地区或国家的基础设施造成破坏。
传统的信息安全关注3 个目标,即:保密性、完整性和可用性[2]。一般用途的信息技术(IT)系统最关注的是机密信息泄露问题,所以保密性排在最前面。然而在IACS 中,这些目标的优先级恰恰相反,IACS 最关注的是所有部件的可用性,在生产正常运行的情况下,需要保证生产数据完整且不泄露。例如:在核电站的环境中,数据的可用性(如核心的温度)比其机密性更重要。IACS 和一般IT 系统的比较如图1 所示。
图1 IACS 和一般IT 系统的比较
IEC 62443 是一套国际公认的用于IACS 安全开发的标准,它提供了一套全面且系统的网络安全建议,用于解决IACS 中目前和将来的安全漏洞,保护工业网络免受网络安全威胁。
1 IEC 62443 标准体系介绍
IEC 62443系列标准由通用、策略和规程、系统和组件4 个部分组成。
1.1 通用-其他标准的基础
IEC/TS 62443-1-1:描述了用于IACS 信息安全的术语、概念和模型。其中,TS 表示技术规格书(Technical Specification)[2]。
1.2 策略和规程-面向资产所有者
a)IEC 62443-2-1:描述了在IACS 中建立网络安全管理系统(CSMS)所需的元素,并且提供了如何开发这些元素的指南[3]。
b)IEC/TR 62443-2-3:描述了如何在IACS中进行补丁管理,目标受众包括任何负责设计和实现补丁管理程序的人。其中,TR 表示技术报告(Technical Report)[4]。
c)IEC 62443-2-4:规定了IACS 服务提供商在自动化解决方案的集成或维护期间向资产所有者提供的一整套安全能力要求,并且IACS 服务提供商可以使用IEC 62443-2-4 来构建和改进其安全程序[5]。
1.3 系统-面向系统集成商
a)IEC/TR 62443-3-1:描述了各种网络安全技术在IACS 环境中的应用[6]。
b)IEC 62443-3-2:描述了系统设计的安全风险评估,将IACS 考虑中的系统(SUC)划分为区域和管道,评估每个区域和管道的风险,并建立其各自的目标安全等级,记录安全要求[7]。
c)IEC 62443-3-3:规定了详细技术类控制系统要求(SR)和控制系统安全能力等级(SL-C)要求[8]。
1.4 组件-面向组件供应商
a)IEC 62443-4-1:描述了IACS 所用产品的安全开发生命周期要求[9]。
b)IEC 62443-4-2:规定了详细技术类控制系统组件要求(CR)和安全能力等级(SL-C)要求[10]。
目前部分IEC 62443 标准已经转化为国标并实施,如图2 所示。
图2 IEC63443 系列标准与对应国标
2 安全要求
IEC 62243 系列标准规定了工业自动化信息安全的7 个基本要求(FR:Foundational Requirement)。
a)FR1 标识和鉴别控制(IAC:Identification and Authentication Control),在允许访问系统或资产之前,标识和鉴别所有使用者(人员,软件进程和设备)。
b)FR2 使用控制(UC:Use Control),对已授权的使用者(人员、软件进程或设备),强制指定权限以在IACS 中执行所需动作,并监视这些权限的使用。在允许使用者执行操作之前验证准予其必要的权限,保护控制系统资源免受未经授权的操作。
c)FR3 系统完整性(SI:System Integrity),确保IACS 的完整性,防止非授权操控。一旦IACS运行,资产所有者有责任保持IACS 的完整性。在运行和非运行状态下都宜保持物理资产的完整性。
d)FR4 数据保密性(DC:Data Confidentiality),确保通信信道和数据存储库的信息保密性,防止窃听和未经授权的访问。
e)FR5 受限数据 流(RDF:Restricted Data Flow),通过区域与管道划分,对控制系统进行分段来限制非必需的数据流。资产所有者需要使用风险评估的方法来确定必要的信息流量限制,进而确定传递信息的管道配置。
f)FR6 对事件的及时响应(TRE:Timely Response to Events),在事故被发现时,对安全违规的响应包括通知权利部门,汇报所需的安全违规证据,并及时采取纠正措施。
g)FR7 资源可用性(RA:Resource Availability),确保控制系统的可用性,以应对基本服务降级或被拒绝。
其中,IEC62443-3-3 标准基于IEC 62443-1-1 标准提出的7 个基本要求(FR),提出了相对应 的系统要求(SR);IEC62443-4-2 标准基于IEC 62443-1-1 标准提出的7 个基本要求(FR),提出了相对应的组件要求(CR)。系统要求和组件要求大体上是一致的,只是IEC 62443-4-2 标准比IEC 62443-3-3 标准多了一些特有的组件安全技术要求。
3 安全等级
IEC62443 系列标准中将信息安全等级分为3种不同类型。
a)目标安全等级(SL-T),是特定系统中所需的信息安全等级,它们是根据系统风险评估(IEC 62243-3-2)的结果确定的,并且并记录在网络安全要求规范中。在IACS 安全生命周期的集成阶段会使用SL-T 来选择产品和设计额外的安全措施。
b)已实现的安全等级(SL-A),是特定自动化解决方案的实际安全级别,它们都是在自动化解决方案的调试和运行后进行测量的。
c)能力安全等级(SL-C),是系统(IEC 62243-3-3)或组件(IEC 62243-4-2)在合适配置的条件下可以提供的信息安全等级。这些等级表明,一个特定的系统或组件能够在合适的配置条件下满足SL-T,而无需额外的补偿对抗措施。
对于一个工业控制系统来说,在系统设计阶段需要确定SL-T,在系统开发阶段,组织会根据SL-T 确定所选的系统和组件,再根据系统和组件的SL-C 进行评估和验证,来确定所选系统和组件是否满足对应的SL-T 要求(当这样的系统和组件不可用时,可以补充使用具有补偿对抗措施的系统或组件);在系统运行阶段,通过评估和验证来确定SL-A,并与SL-T 相比,确保在任何时候SL-A大于或等于SL-T。
同时IEC 62443 系列标准还定义了5 种不同级别(0,1,2,3 和4)的SL,每个安全级别的安全要求逐步递增。通常,SL0表示不需要进行特定的安全保护,SL1表示防止因为员工的错误而意外泄漏,SL2表示防止一些低级黑客的简单攻击,SL3表示防止精英黑客或恐怖分子的复杂攻击,而SL4将防止来自国家层面上的具有最高水平的资源和动机的最复杂的攻击。
4 基于IEC 62443-4-2 标准的检测方法示例
IEC 62443-4-2 标准定义的IACS 的组件要求包括4 大类,即:软件应用程序要求(SAR:Software Application Require ments)、主机设备要求(HDR:Host Device Requirements)、嵌入式设备要求(EDR:Embedded Device Requirements)和网络设备要求(NDR:Network Device Requirements)[10]。大部分组件要求和增强要求适用于所有4 种类型的组件,只是某些组件要求和增强要求是特定类型的组件所独有的。本文举例说明标准中部分要求的检测方法。
4.1 CR 3.5-输入验证
输入验证的要求包括验证输入数据的语法、长度和内容,检测方法如下所述。
a)检查是否存在输入数据的有效语法的检查规则,例如:设置检查点,在输入不合规数据时验证该信息是否能被解析。不合规数据包括但不限于预定义字段值超出范围、数据字段的无效字符、缺失或不完整的数据、缓冲区溢出或畸形数据包(通常由协议模糊器生成)。
b)使用专业的漏洞扫描工具(如:绿盟工控漏洞扫描系统)进行扫描,验证组件是否对协议不合规数据包不响应。如图3 所示,主机169.254.15.100 接收到协议不合规的数据包,由于所接收的数据与协议格式不符,所以其并没有返回数据。
图3 绿盟漏洞扫描结果示意图
图4 Wireshark 抓包结果示意图
4.2 CR 4.1 信息保密性
信息保密性包括存储的保密性和传输的保密性。
a)存储保密性的检测方法
1)识别支持明文读取授权的所有存储信息。
2)审查设计文档,并验证所有此类信息都包括保护机密性的方法,例如:加密数据或限制用户访问数据存储位置。如果用户可以通过某种方式配置或设置组件来保护机密性,需要验证用户手册中是否清楚记录了这一点。
3)尝试访问机密信息的样本,以验证未经授权的用户无法访问该信息。
b)传输保密性的检测方法
1)识别传输中支持明文读取授权的所有信息。
2)审查设计文档,并验证所有此类信息包括保护机密性的方法,例如加密数据或限制用户对用于传输的物理介质数据的访问。
3)如果用户可以访问用于传输的物理介质,则在系统执行正常操作时,使用网络抓包分析工具(如Wireshark)查看通信采样,通过分析抓包数据来确认网络上看不到机密信息。
5 结束语
近年来IACS 正在经历呈指数级增长的网络攻击,为了应对各种网络安全的威胁,相关行业制定了不少标准来保护IACS,其中IEC 62443 系列标准作为一套国际公认的标准,在工控系统中的重要性越来越明显,因此对于IEC 62443 标准的研究和应用也是迫在眉睫。