Cybersec Wednesday|工业控制系统与我们的未来生活质素

工业控制系统(Industrial control system)简称ICS,是用在工业运作过程上的多种控制系统以及相关仪器设备的总称。系统的主要目的是自动化和简化工业运营、提高效率并确保关键基础设施安全可靠地运行。较为常见的应用例子包括:
制造控制系统:系统可用于控制和监控装配线,包括机械人、传送带和其他机械的操作,可以规范生产流程、跟踪库存并确保质量控制。
发电厂控制系统:系统被广泛应用于发电厂,以监视和控制各种操作,例如涡轮机控制、发电机控制和配电,有助于优化发电、管理负载平衡并确保电网稳定性。
水和废水处理系统:系统在水和废水处理厂中发挥著至关重要的作用。它们监视和控制泵送、过滤、化学剂量和消毒等过程,有助于维持水质、管理配水并确保高效的处理操作。
交通控制系统:系统亦被应用于交通基础设施,包括交通管理系统、铁路控制系统和机场运营,能调节交通流量、监控信号、管理火车时刻表并控制行李处理和安全系统等机场设施。
那么,ICS一旦遭到黑客攻击,对我们的生活有什么影响呢?
曾经在外国有一个地方的水和废水处理系统遭到黑客攻击和入侵,结果导致当地饮用水中的氢氧化钠浓度处理厂的浓度飙升至危险水平。而如果工业控制系统受到黑客攻击,则可能会导致生产中断和停工、公用服务中断和故障、大量数据损失和泄露,造成严重的经济损失。
可是,几乎每个 ICS 都暴露在互联网上,因为开源框架是 ICS 产品的标准。近年针对关键基础设施的勒索软件攻击数量显著增加,即使是气隙 ICS 也很容易受到攻击,而新的 ICS 硬件包含漏洞甚至恶意软件亦屡见不鲜。因此,我们必须建立适当的代码环境、定义规则集并进行验证以确保 ICS 的安全性。
建立代码环境
防御性编程遵循安全软件开发生命周期的要求和设计开发阶段。首先为 ICS 应用程序建立特定的代码环境。而搭建代码环境需要四个步骤:
1. 比较功能需求中的弱点和易受攻击的漏洞,以消除对软件弱点或已知漏洞的利用。常见弱点枚举 (CWE) 和 ATT&CK ICS 矩阵可用于完成此步骤。
2. 修改要求以消除任何弱点或漏洞。请注意针对无法消除的任何弱点的建议缓解措施。
3. 检查设计是否存在已知的产品或系统漏洞。常见漏洞枚举 (CVE) 和 CISA ICS-CERT Advisories 亦可用于完成此步骤。
4. 为ICS应用建立最安全的代码环境。选择漏洞最少的产品、固件和软件,并与供应和开发链中的每个人进行标准化。
定义规则集
防御性编程的核心是规则集的定义。不仅应该记录技术,还应该开发和验证可重用代码单元,以保护控制逻辑免受利用:
1. 确保开发人员知道什么是允许的,什么是不允许的。这包括在 CWE/CVE 研究中发现薄弱或可利用的特定方法、例程和产品功能。应发布禁止列表和允许缓解列表,包括推荐的缓解技术。
2. 确定与功能需求和设计中的滥用案例相匹配的防御技术,可以采用可编程逻辑控制器 (PLC) 前 20 种编码实践中的适当元素。其中包括防止大多数 ICS 漏洞的各种验证(输入、计时器、计数器、间接引用)。
3. 将防御技术标准化为可重用代码单元。大多数主要 PLC 制造商都能够将复杂的重复代码封装在单个单元中,以便在整个程序中进行实例化。其中最常见的是西门子 PLC 中的功能块 (FB) 和罗克韦尔自动化 PLC 中的附加指令 (AOI)。在整个代码中创建并强制执行标准安全 FB 或 AOI 的实例化,以进行输入验证、访问控制和完整性验证。
4. 严格测试可重用代码单元。在大规模实例化之前校对 FB/AOI 代码将提供一个可用于多个项目的弹性代码库。不要忘记测试和确认代码单元的安全元素,包括使用密码或数字签名锁定以防止修改。
验证初始代码
根据规则集并在已建立的代码环境中开发 ICS 控制逻辑后,是时候对已完成的初始代码进行验证了。当然,这很大程度上是功能需求的验证,但安全控制也需要验证:
1、确认搭建的代码环境的稳定性。ICS 产品中几乎每天都会发现新的漏洞。在部署代码之前,可能需要提升固件或软件版本或修改规则集。
2. 确认遵守所有定义的规则集。如果不应用标准的安全技术,那么它也没有任何好处。检查代码并确保所有适当的 FB/AOI 均已实例化,并且针对功能需求所需的任何薄弱或易受攻击元素的实例都采取了缓解措施。
3. 模拟突破周边防御。尽管可能已采用深度防御,但这工作是假设入侵检测系统的外部防御(网络入侵检测、工作站访问控制、消息身份验证)全部失败,必须测试并确认安全 FB/AOI 的每个实例都在防止控制逻辑被利用。
4. 启用并笔测试子系统边界。尽管它不是 PLC 代码的直接一部分,但子系统的外围防御(实时 I/O [RIO] 网络、操作员工作站、企业网络接口)需要进行测试,以确保深度弹性防御。请特别注意这些失败时对 PLC 环境的影响(例如,在以太网端口上遭受拒绝服务攻击时将处理器从运行模式更改为程序模式)。
无疑,ICS是自动化和简化工业运营、提高生活效率的未来。然而,随著ICS的连接性和数字化增加,相应的安全挑战也需要应对。确保ICS的安全性和防范潜在的攻击至关重要,这需要采取适当的安全措施,包括强大的网络安全措施、安全审计和培训等。
网络安全在很多方面还需要注意,如有任何疑问欢迎加入我们的 Cybersec Infohub 计划,让行业里的网络安全专家为您解决,如果您怀疑自己或公司的电脑被骇或有可疑的行为,亦请尽快联络网络安全专家求助。
关于 Cybersec Wednesday
每逢星期三,HKIRC网络安全团队都会挑选一个网络安全主题,以文章、贴士或最佳实践的形式与大家分享。 请留意每周三的更新,定时掌握最新鲜的网络安全资讯。


















