9.3控制系统中的梯形逻辑和设定点
可编程逻辑控制器 (PLC)、远程终端装置 (RTU) 和类似的 OT 设备可运行基本的自动化程序。通常使用梯形逻辑、功能块图或其他方法进行编程。它们描述了一系列输入和输出,包括用于决策的逻辑或参数。这些程序可能仅仅是简单的开关控制,也可能包括条件逻辑,例如使用诸如温度、每分钟转数、电压、压力或其他传感器输入作为逻辑条件的辅助输入。这个程序通常会定义一系列可接受的数值范围,设定点的概念用于确定正常(或异常)的状态。
讨论动能软件效应时,值得注意的是讨论漏洞的定义。我们是否需要利用漏洞或 Metasploit 模块来造成破坏?如果一个简单的数据完整性条件就能引发灾难性影响呢?我们不需要 "常见漏洞和暴露"(CVE)、 但也许我们可以操纵传感器数据,使其报告错误情况。或者,我们可以操纵定义正常值的设定点。如果我们知道超压事件的故障条件是每平方英寸 500 磅(PSI),而设定点安全地低于 350 PSI,但未经授权的更改却将设定点修改为 1,000 PSI,这可能比 Log4Shell 漏洞利用导致锅炉爆炸的后果更为灾难性。
可编程逻辑控制器 (PLC) 通常包括基本的安全机制,如物理按键,用于确定设备是处于运行状态还是程序状态,以便进行更改。例如,影响施耐德电气 Triconex 安全仪表系统的 Trisis 恶意软件众所周知的首次针对安全系统的攻击之一。这种攻击 的部分原因是设备被设置为程序模式,因此可以进行更改,另一部分原因是组织没有完全理解正常状态是什么样的,因此忽略了故障。但作者们也见过固件更改可以实施到许多OT设备上,绕过物理键来进行编程控制的情况。虽然最佳做法是保持设备处于运行状态,但这并不能保证将来供应链中固件的联合受损不会促成类似的攻击。
在Triton案例中,攻击是通过多阶段活动交付的,这一情况由爱达荷国家实验室的运营技术环境网络安全(CyOTE)记录和文档化。CyOTE旨在处理可观察指标的分类方法,并根据这些指标采取行动。在他们对Triton的案例研究中,CyOTE建立了以下事件链:
步骤 1-IT 网络入侵:这一步骤是通过允许访问 IT 网络的配置不当的防火墙实现的。
步骤 2--从 IT 网络转向 OT 网络:工程工作站 在 OT 网络内的工程工作站被入侵,并部署了有效载荷、 模仿合法的 Triconex 应用程序 trilog.exe。
步骤 3-OT 攻击能力开发:攻击者随后建立控制点,确定进一步攻击的目标系统、 包括确定目标安全仪表系统 (SIS) 的运行状态。
步骤 4-OT 攻击能力传送:未经授权的代码多次传输到 Triconex 设备,先是测试,然后最终注入恶意 shellcode 和新的梯形图逻辑,从而改变设备的行为。
步骤 5-支持攻击-隐藏:利用规避检测的机制,恶意软件禁用了随机存取存储器/只读存储器(RAM/ROM)检查,并且只针对处于程序模式的设备进行攻击。这种攻击发生在感染修改固件后,允许即使在运行状态下也能执行恶意指令的情况下。
步骤 6-OT 攻击的执行和影响:最终结果是系统安全控制完全被禁用,根据程序逻辑可以选择是否禁用这些控制。
虽然这次攻击采用了首先侵入信息技术(IT)再渗透到运营技术(OT)的传统方法,但是这与我们所见过的大量软件供应链攻击无异,都是固件和代码验证的缺失为这次攻击提供了便利。作者认为这是一个具有里程碑意义的案例,展示了软件和固件验证不足如何可能导致下游的安全影响,甚至可能导致人员伤亡。从这个案例中还可以得到许多其他启示,例如需要适当的分段、有效的监控和基线环境来进行异常检测和事件响应。但是,如果产品要求执行已签名的二进制文件,那么就很有可能避免这次攻击。
No Comments