Design and Usage of the Human-Machine Interfaces (HMI) for a Land-Based Railway Cyber Range

English 简体中文 繁体中文 ภาษาไทย Tiếng Việt
Summary

Moving from conceptual design to practical implementation, specialized Human-Machine Interfaces (HMIs) are detailed for a land-based railway cyber range. These HMIs leverage a modular, multithreaded software architecture to ensure real-time data processing, robust communication, and intuitive user interaction. Their tailored UI designs offer granular visibility into PLC states, sensor-signal relationships, and system-wide dynamics, crucial for both routine operations and cybersecurity exercises. The system empowers OT engineers to detect and mitigate sophisticated attacks, such as false command injection, false data injection, and ARP spoofing, through real-time verification, cross-HMI consistency checks, and anomaly-driven alerts. Ultimately, these interfaces bridge the gap between physical operations and cyber defense, enhancing resilience in critical railway infrastructure.

title23.png

介绍

在前一篇文章《为陆基铁路网络靶场实施不同的人机界面 (HMI)》中,我们探讨了为陆基铁路模拟网络靶场开发的四种专用 SCADA HMI。该文章介绍了 SCADA HMI 背后的基本概念、它们在信息物理环境中的实施理由,以及为该铁路系统的特定用例量身定制的功能架构。最后,我概述了每个 HMI 的网络拓扑和通信设计。

s_012.png

# Author:      Yuancheng Liu
# Created:     2025/06/20
# Version:     v_0.0.3
# Copyright:   Copyright (c) 2025 Liu Yuancheng

本文是 HMI 文档系列的第二篇。在前一篇文章中,我以介绍每个 HMI 的详细网络和通信设计作为结尾。在这里,我将从概念设计转向实际的软件实施,详细了解这四个 HMI 如何在网络靶场中运行,并支持实践网络安全演习。

本文分为四个主要部分:

  • 软件设计:HMI 内部架构的分解,包括控制流、模块化设计、线程管理、异步处理和数据处理。

  • 网络靶场 UI 设计:界面布局和用户体验 (UX) 增强功能的概述,这些增强功能是为网络演习场景量身定制的。

  • HMI 使用介绍:操作 HMI 的实用指南,用于系统监控、控制以及在网络模拟期间响应异常情况。

  • 防御案例研究:演示了 HMI 在与入侵检测系统 (IDS) 集成时,如何帮助识别和缓解 OT 特定的网络攻击和威胁。

澄清一个常见问题

在深入探讨技术细节之前,让我们先澄清一个常见问题,这个问题可能在我介绍 OT 网络靶场时会被问到:

一旦黑客进入 OT 环境,就已经太晚了——防御是徒劳的,战争已经结束。OT 工程师没有必要成为网络安全专家,检测和防御网络攻击纯粹是 IT 的责任,而不是 OT 工程师的责任。

这种观点在 OT 操作员中可能很常见,但从 OT 系统管理者的角度来看,它低估了现代 OT 系统中存在的防御能力以及 OT 工程师的关键作用。实际上,OT 系统包括复杂的保护、容错和冗余机制,以避免因包括网络攻击在内的不同异常情况造成的损害。例如,PLC-IP 白名单、静态 ARP 条目的使用以及严格控制的通信协议使得 ARP 欺骗、MITM 攻击几乎不可能发生。即使在初始入侵之后,了解物理过程和安全原则的 OT 工程师仍然可以及时识别、分析和响应攻击。

从防御者的角度来看,与 IT 环境(流量通常经过加密和混淆)不同,OT 网络表现出高度确定性的行为。这种可预测性使得异常流量(例如意外的 mDNS 查询、未经请求的 HTTP 请求或恶意 ping)能够清晰地突出显示。因此,通过正确的工具和培训,OT 工程师可以成为抵御网络威胁的第一道防线,从而使通过 HMI 进行的实时可见性成为事件响应的关键组成部分。


HMI 软件设计

为了支持铁路网络靶场所需的模拟、监控和事件响应能力,所有人机界面 (HMI) 程序都使用模块化、多线程架构开发。这种设计确保了高效的数据处理、实时响应以及不同功能模块之间的职责分离。整体软件结构如下图所示:

s_024.png

Figure-00: HMI 软件结构图,版本 v_0.0.3 (2025)

HMI 应用程序的核心是主线程,它协调五个关键的子线程,这些子线程负责管理数据流、用户交互、系统通信和实时控制。

主线程和核心模块

主线程通过控制所有子模块和线程的生命周期和交互来初始化和管理整个 HMI 应用程序。主线程包括 6 个子模块:

  • 程序控制模块:协调所有子线程的启动和关闭,确保有序的程序执行和系统同步。

  • 程序时钟控制模块:管理所有线程的定时机制和循环频率(例如,UI 渲染的 FPS,通信线程的数据轮询间隔)。

  • 程序数据控制模块:监督线程间数据流,确保状态处理、分析和存储的正确排序。

  • 警报管理模块:监控系统状态,并响应异常事件或阈值违规触发警报。

  • 预配置实例响应模块:根据警报类型和用户定义的条件自动执行预定义的响应(例如,关闭、通知、发送断电命令)。

  • 操作验证模块(Operational):此模块仅供蓝队使用,它允许 HMI 也运行与目标 PLC 相同的梯形图逻辑,基于 PLC 输入并比较读取值和计算结果,以检测可能的数据注入攻击。

1. IT 数据管理器线程

此线程处理 IT 层上的通信,包括与数据库的交互和 HMI 之间的消息交换,并对传入数据进行初步过滤:

  • 数据库通信客户端:与网络靶场 ICS 数据库 (SQLite3) 交互以获取数据(监控级 HMI)或插入数据(机器级 HMI)。

  • HMI 通信客户端/服务器:促进 HMI 之间的基于 UDP 的通信。在主 HMI 模式下充当服务器,在从模式下充当客户端。

  • IT 数据存储模块:管理来自数据库或对等 HMI 的传入数据。它过滤冗余数据,组织记录,并将预处理的信息发送到数据处理线程,并将原始数据发送到本地 I/O 管理器以进行日志记录。

2. OT 数据管理器线程

线程负责从 OT 现场设备(如 PLC、RTU 和 IED)收集和准备操作数据:

  • OT 通信客户端:为各种协议实现连接器,包括 Modbus-TCP、Siemens S7Comm、IEC 60870-5-104、OPC-UA。连接器的数量将与 HMI 连接的 PLC 的数量相同。

  • 原始 OT 数据存储和处理模块:在每个轮询周期中收集原始数据,将其组织成特定于设备的字典,过滤不相关的条目,并通过本地 I/O 管理器线程记录未处理的数据。

3. 数据处理线程

此线程充当 HMI 的数据细化和分析中心:

  • OT 数据转换模块:将原始控制器信号(例如,NC/NO 状态)转换为逻辑值(例如,True/False0/1)。

  • 数据映射模块:将系统值转换为人类可读的指标(例如,将内存整数映射到电压读数或 LED 颜色)。

  • 数据过滤器模块:从 IT 和 OT 数据流中删除重复或过时的条目。

  • 数据验证模块:验证传入数据是否在预期的操作范围内。如果检测到违规,则会触发警报。

  • 数据处理模块:聚合和准备最终输出以进行可视化和存储,与主线程的程序数据控制模块交互。

4. UI 显示管理器线程

管理操作员和系统之间的可视化界面和交互逻辑:

  • UI 组件管理器:实时渲染可视化元素,如指示器、警报、仪表和动画效果。

  • 显示刷新管理器:显示面板刷新可视化周期,以保持稳定和响应迅速的 UI。

  • 用户操作和事件处理程序:捕获用户输入(例如,按钮点击、切换开关),并将控制命令中继到程序控制模块以供执行。

5. 本地 I/O 管理器线程

处理程序配置、日志记录和全局状态变量:

  • 配置加载器:解析配置文件以初始化和动态更新系统设置。

  • 日志和记录生成器:将所有数据记录到相关的日志文件中,如果日志文件很大(10MB),则滚动覆盖,并在出现异常情况时创建 HMI 屏幕截图。

  • 全局变量模块:管理整个应用程序中使用的共享变量,并与程序数据控制模块交互以进行同步。


HMI UI 设计介绍

本节将介绍每个 HMI 程序的用户界面设计。

PLC 显示面板设计

在机器级 HMI 中,每个 HMI 都具有多个 PLC 显示面板,以可视化实时原始 PLC 数据(这些数据始终隐藏在真实世界的 HMI 或数字孪生 HMI 中)。每个机器级 HMI 显示不同数量的 PLC 面板,具体取决于其监控范围:

  • 信号系统监控 HMI:6 个 PLC 面板

  • 铁路区段监控 HMI:2 个 PLC 面板

  • 铁路列车控制 HMI:2 个 PLC 面板

每个面板都呈现来自特定PLC的详细实时信息,并映射到其相关的梯形逻辑和连接的物理组件。设计结构如下图所示:

s_0313.png

Figure-01: PLC display panel details, version v_0.0.3 (2025)

每个PLC面板分为两个主要部分:PLC信息PLC状态显示

PLC信息部分提供有关连接的PLC的元数据和通信详细信息:

  • PLC ID:分配给SCADA系统中每个PLC的唯一标识符。

  • Position:PLC所属的逻辑位置或子系统。

  • Mode:PLC模式(主/从)

  • IP Address:PLC使用的网络IP。

  • Port:用于通信的端口号(例如,502用于Modbus-TCP)。

  • Connection State:显示HMI当前是否已连接到PLC。(绿色=已连接,黄色=高延迟,灰色=已断开连接)

PLC状态显示部分显示直接从PLC梯形逻辑读取的实时数据,并将其映射到物理世界组件。显示分为五个关键列:

  • Physical World Sensor ID:显示连接到PLC输入触点的传感器。格式:_。示例:west08 = WE线(we),站点(st)08传感器。

  • Holding Register ID and State:指示链接到梯形逻辑触点的寄存器的状态。格式:R__ . 示例:R_%H0.0 = 保持寄存器,梯级0,项目0。绿色=输入电压高5V,灰色=输入电压低0V。

  • Coil ID:梯形逻辑线圈地址。格式:Q. 示例:%Q0.0 = 梯级集0中的输出线圈0。

  • Coil State:线圈的状态。绿色= ON(输出电压高),灰色= OFF(输出电压低)。

  • Physical World Signal ID:指示由线圈驱动的真实世界执行器或信号。格式:__ 示例:STwe08 = WE线,站点08的信号设备。

寄存器ID和线圈ID格式遵循施耐德电气的Wonderware PLC编程工具的标准中常用的约定,确保工业工程师的兼容性和熟悉度,如下所示:

s_0417.png

Figure-02: Schneider Electric's Wonderware PLC ladder logic editor, version v_0.0.3 (2025)

传感器-信号关系图的设计

传感器-信号关系图是信号系统监视器HMI、块监视器HMI和总部管理HMI的核心UI组件,提供模拟物理世界组件(站点和交汇点)、其连接的传感器和控制信号状态之间的实时可视化映射。它旨在在操作和网络防御活动期间提供直观的态势感知。

以下是将物理世界模拟组件映射到传感器-信号关系图显示的示例:

s_0910.png

Figure-03: Diagram mapping the physical world simulation components to the sensor-signal relationship diagram, version v_0.0.3 (2025)

该图表示以下各项之间的交互:

  • 站点和交汇点中的传感器(位置传感器、锁定传感器、释放传感器)

  • 信号灯(入口、出口、交汇点)

  • 物理组件(交汇点开关、列车位置、站台门)

这些关系以一种允许操作员根据其相应传感器和PLC逻辑的当前状态立即评估信号行为在逻辑上是否有效的方式可视化。

梯形逻辑验证模式

传感器-信号关系图的一个关键功能是“梯形逻辑验证模式”。启用此模式后(通常在网络防御演习期间),HMI在模拟一致性验证模式下运行,详细过程如下:

  1. 传感器-信号关系图将仅显示来自PLC原始数据的传感器状态。

  2. HMI控制模块将基于PLC传感器数据执行与相关PLC相同的梯形逻辑。

  3. 获得预期的信号状态后,梯形逻辑执行结果将显示在传感器-信号关系图信号上。

  4. 如果传感器-信号关系图信号状态与PLC显示面板的原始数据不同,则可能发生OT虚假命令注入攻击。

此验证机制的灵感来自PLC蜜罐项目的概念:https://www.linkedin.com/pulse/python-plc-honeypot-project-yuancheng-liu-vks8c


HMI UI显示介绍

本章介绍四种HMI类型的用户界面(UI)设计和核心功能组件:信号系统监视器HMI、铁路块监视器HMI、铁路列车控制HMI和总部管理HMI。

1. 信号系统监视器HMI

信号系统监视器HMI提供站点和交汇点区域内传感器到信号映射的可视化。它用于显示与列车存在以及跨轨道岔口和站台的移动相关的信号操作。带有详细功能说明的UI如下所示:

s_0515.png

Figure-04: Signal System Monitor HMI UI, version v_0.0.3 (2025)

HMI主要组件:

  • 传感器-信号关系图:显示列车传感器和信号灯的实时状态。它还可视化基于轨道布局、站点区域和交汇点连接的自动控制关系。如果启用信号灯验证功能,它将显示基于“内部梯形逻辑计算”的预期信号状态,以便与从PLC读取的原始数据进行比较。

  • 三个站点PLC面板:3个PLC显示面板[PLC-03、PLC-04、PLC-05]监视与所有站点的传感器和信号相关的输入/输出状态。

  • 三个交汇点PLC面板:3个PLC显示面板[PLC-00、PLC-01、PLC-02]监视铁路交汇点的输入/输出状态。每个面板都包括PLC保持寄存器、数字输入/输出状态和线圈激活状态的实时显示。

此HMI在模拟开关错误行为、灯故障或正常或攻击条件下的控制故障方面起着关键作用。

2. 铁路块监视器HMI

铁路块监视器HMI侧重于块级列车控制和ATP(自动列车保护)管理。它模拟跨列车块的块占用、传感器检测和信号强制执行。带有详细功能说明的UI如下所示:

s_0617.png

Figure-05: Railway Block Monitor HMI UI, version v_0.0.3 (2025)

HMI主要组件:

  • 块传感器-信号控制图:提供对站点和交汇点中块占用状态、传感器触发和信号转换的实时可见性。

  • 两个PLC状态面板:2个PLC显示面板,用于显示来自块控制PLC的I/O信号状态以及寄存器/线圈。

  • ATP控制覆盖面板:允许手动覆盖轨道块PLC的ATP功能。已启用(选中复选框):ATP逻辑通过PLC梯形控制正常运行。已禁用(未选中复选框):ATP逻辑被绕过,并且信号状态保持冻结(保持当前状态)或由操作员手动控制。

此HMI在演示网络篡改ATP逻辑或未经授权的控制访问的影响方面特别有用。

3. 铁路列车控制HMI

铁路列车控制HMI设计用于监视单个列车系统,包括牵引力、雷达输入和实时诊断。它支持操作模拟和网络安全测试。带有详细功能说明的UI如下所示:

s_0716.png

Figure-06: Railway Train Control HMI UI, version v_0.0.3 (2025)

主要组件:

  • 列车信息面板:10个列车信息面板和2个占位符提供每个列车的详细遥测数据,包括:列车ID、当前和平均速度、第三轨电源输入:电压、电流和电源状态以及用于第三轨电源切换的控制按钮。

  • RTU雷达状态面板:10个指示器,用于显示来自列车前向雷达传感器的障碍物检测状态。

  • RTU信息表:1个RTU信息表,具有2个功能。正常模式(test mode false):显示来自RTU的原始反馈数据。测试模式:允许用户手动输入测试值(例如,速度或功率)以验证警报和数据过滤功能。

  • PLC状态显示面板:2个PLC显示面板显示用于控制第三轨电源的实时保持寄存器和线圈状态。

  • 自动避让后门开关:提供一个后门切换控制,用于启用/禁用自动列车防撞系统 - 主要用于网络攻击演示场景,以说明未经授权的覆盖的影响。

4. HQ Management HMI

HQ Management HMI 作为控制室操作员的监管级界面。它提供了整个铁路系统运行状态的概览,并支持战略决策。带有详细功能说明的用户界面如下所示:

s_0814.png

Figure-07: Railway HQ Management HMI, version v_0.0.3 (2025)

主要组件:

  • 22 Station Monitor Indicators:显示每个受监控站点的入口/出口信号、站台门和相关门照明的状态。

  • 10 Train Indicators:基于区段占用情况显示每列火车的当前位置,遵循固定区段铁路控制模型。

  • 6 Track-End Buffer Area Indicators:监控轨道物理端点的信号状态。

  • 5 Double-Track Junction Indicators:显示主要交叉口(两条轨道具有多个交叉点)的实时信号和区段状态。

  • 9 Signal-Track Junction Indicators:显示涉及岔路入口信号和交叉区段状态的岔路口的控制状态和信号。

此界面提供集中可见性,对于网络态势感知、异常模式检测和事件响应协调至关重要。


HMI Usage and Defense Case Study

本节将介绍三个案例研究,演示蓝队防御人员如何主动使用陆基铁路网络靶场中的人机界面 (HMIs) 来检测和响应潜在的运营技术 (OT) 网络攻击。这些场景说明了实时监控、传感器信号验证和跨 HMI 数据一致性在网络防御操作中的价值。

Case 1: Detecting False Command Injection on PLCs

Objective:使用 HMI 的传感器-信号关系图来检测实际 PLC 输出与从梯形逻辑计算出的预期输出之间的不一致。步骤如下图所示:

s_109.png

Figure-08: Detecting False Command Injection on PLCs, version v_0.0.3 (2025)

Detail Steps

  • Sensor Triggered:在物理世界模拟中,火车接近交叉口并触发入口传感器。这会导致 HMI 的 PLC 显示面板中相应的 PLC 触点输入寄存器更改状态。

  • Sensor Update in HMI:传感器-信号关系图反映了传感器状态(黄色和浅蓝色闪烁),表明它已被触发。

  • Signal Simulation:HMI 控制模块在内部执行与 PLC 相同的梯形逻辑,以计算预期的输出状态——在本例中,交叉口信号应变为红色以阻止橙色线路上的火车。

  • Result Verification:系统将计算出的信号状态(例如,S-CC-0)与 PLC 显示面板中显示的值(例如,Scc00)进行比较。如果两者匹配,则系统通过验证;如果它们不匹配,则 HMI 会发出警报,提示可能存在虚假命令注入攻击。

Case 2: Detecting False Data Injection on RTUs

Objective:使用多层 HMI 验证来识别潜在的 RTU 内存操作或伪造的数据注入攻击。步骤如下所示:

s_1110.png

Figure-09: Detecting False Data Injection on RTUs, version v_0.0.3 (2025)

Detail Steps

  • Sensor Triggered:站点火车位置传感器被触发,并且更改显示在 PLC 面板上。

  • Simulated Signal State:HMI 控制器模块根据梯形逻辑计算信号的预期状态,并在传感器-信号关系图中显示站点状态。

  • Comparison with PLC Output:系统将计算出的信号(例如,ST[0])与从 PLC 检索的实际值(例如,STns00)进行比较。

  • Cross-HMI Validation:针对 HQ Management HMI 验证计算和报告的状态,确认数据库记录按预期更新。

  • Train Position Check:检查 HQ Management HMI 中的固定区段轨道系统以验证火车位置。如果火车不在预期的站点区段中,则可能表明对 RTU 内存进行了虚假数据注入攻击,因为火车位置值由 RTU 定期更新。

Case 3: Detecting ARP Spoofing via PLC Connection Panel

Objective:使用 HMI 网络连接指示器识别 ARP 欺骗和通信中断攻击。此案例演示了蓝队成员如何检测可能静默中断或重定向 HMI 和 PLC 之间通信的 ARP 欺骗攻击。观察结果如下所示:

s_136.png

Figure-10: Detecting ARP Spoofing via PLC Connection Panel, version v_0.0.3 (2025)

观察结果包括:

  • Intermittent or permanent disconnection statusPLC connection panel

  • PLC 寄存器显示中缺少或过时的数据更新

  • 信号状态和传感器反馈之间随时间推移的不匹配

有关案例研究的详细信息,请参阅:

OT Cyber Attack Workshop [ Case Study 02 ]: ARP Spoofing Attack on HMhttps://www.linkedin.com/pulse/ot-cyber-attack-workshop-case-study-02-arp-spoofing-hmi-yuancheng-liu-howzc


Conclusion

本文详细介绍了陆基铁路网络靶场中四种专用人机界面 (HMI) 的实际实施和运营效用。通过利用模块化、多线程软件架构,这些 HMI 确保实时数据处理、强大的通信和直观的用户交互——这对于日常运营和高风险网络安全演习至关重要。针对不同操作角色(信号监控、区段控制、列车管理和中央监督)量身定制的 UI 设计提供了对 PLC 状态、传感器信号关系和全系统动态的精细可见性。至关重要的是,防御案例研究表明,这些 HMI 如何使 OT 工程师能够通过实时验证、跨 HMI 一致性检查和异常驱动的警报来检测和缓解复杂的攻击(例如,虚假命令注入和 ARP 欺骗)。总之,这些界面弥合了物理操作和网络防御之间的差距,证明精心设计的 HMI 是增强关键铁路基础设施弹性的不可或缺的工具。


如果您想了解更多关于陆基铁路系统网络靶场的信息,以下是一些相关文章:

铁路系统演示视频:https://youtu.be/WnJh1T3XZns?si=IlVXDRiWxJ1Rwe-K

铁路系统上的网络攻击案例研究:

铁路系统技术介绍文档:

Thanks for spending time to check the article detail, if you have any question and suggestion or find any program bug, please feel free to message me. Many thanks if you can give some comments and share any of the improvement advice so we can make our work better ~


last edit by LiuYuancheng ([email protected]) by 22/06/2025 if you have any problem, please send me a message.

  RELATED

No related programming articles found. Browse all programming tutorials and articles.

  COMMENTS

0

No comment for this article.