alidakwar/ICS-Lab

GitHub: alidakwar/ICS-Lab

这是一个基于Purdue模型的模拟工业控制系统安全实验室,用于培训、测试和研究OT网络安全配置与监控。

Stars: 0 | Forks: 0

# 工业控制系统安全实验室 ## 目录 - [概述](#overview) - [架构](#architecture) - [功能特性](#features) - [技术栈](#tech-stack) - [关键发现](#key-findings) - [截图](#screenshots) - [如何运行](#how-to-run) - [未来改进](#future-improvements) ## 概述 工业控制系统安全实验室是一个模拟的工业控制系统网络安全环境,旨在使用简化的 Purdue 模型架构来构建运营技术网络。 该实验室使用 pfSense 将第1-3层资产划分为独立的安全区域,并在HMI与PLC网络之间实施受控的通信路径。工业流量通过 Modbus/TCP 生成,并使用 Wireshark、Zeek 和 Suricata 进行分析,以展示如何监控和保护常见的 OT 协议。 本项目重点介绍了关键的 OT 安全概念,包括网络分段、协议可见性、入侵检测,以及针对固有不安全的工业协议的补偿控制措施。 ## 架构 ### Purdue 模型区域 - **第3层:** 运营/管理工作站 - **第2层:** SCADA / HMI 工作站 - **第1层:** PLC / 控制器模拟 - **第0层:** 模拟的过程值 - **监控区域:** 安全监控与入侵检测系统 ### 网络布局 - **第3层:** `10.10.3.0/24` - **第2层(HMI):** `10.10.2.0/24` - **第1层(PLC):** `10.10.1.0/24` ### 安全控制措施 - 区域间默认拒绝访问 - 允许 HMI → PLC 的 Modbus/TCP 通信 - 仅在必需的地方允许管理性 SSH 访问 - 阻止未经授权的跨区域流量 - Suricata 规则用于检测 Modbus 写操作 ## 功能特性 - 基于 Purdue 模型的模拟 ICS 环境 - 使用 pfSense 防火墙在第1-3层网络间进行分段 - 用于生成工业流量的 Modbus/TCP 服务器和客户端 - Wireshark 数据包检查 - Zeek 网络元数据收集 - 带自定义 Modbus 规则的 Suricata 入侵检测 - Modbus/TCP 和 OPC UA 的安全评估 - 验证允许和阻止的通信路径 ## 技术栈 - VirtualBox - pfSense - Ubuntu Server - Python - Wireshark - Zeek - Suricata - Modbus/TCP - OPC UA ## 关键发现 - Modbus/TCP 通信以明文传输,可以在数据包捕获中完整检查。 - 防火墙分段阻止了 OT 区域之间未经授权的直接通信。 - Suricata 使用自定义的协议感知规则检测到了 Modbus 功能码6(写单个寄存器)。 - Zeek 的 `conn.log` 提供了对跨分段网络允许和拒绝连接的可见性。 - 许多 OT 协议缺乏原生安全性,因此需要分段和监控等补偿控制措施。 ## 截图 ### 架构 - Purdue 模型网络图 - VirtualBox 网络配置 ### 分段 - pfSense 接口分配 - 允许 HMI → PLC 通信的防火墙规则 - 被阻止的连接尝试 ### 监控 - Wireshark Modbus 数据包捕获 - Zeek `conn.log` - Suricata 对 Modbus 写活动的警报 ## 如何运行 1. 创建四台虚拟机: - pfSense 防火墙/路由器 - HMI 工作站 - PLC 模拟服务器 - 监控服务器 2. 配置内部网络: - `10.10.3.0/24`(第3层) - `10.10.2.0/24`(HMI) - `10.10.1.0/24`(PLC) 3. 配置 pfSense 接口和防火墙规则。 4. 在 PLC 虚拟机上部署 Modbus/TCP 服务器。 5. 从 HMI 虚拟机运行一个基于 Python 的 Modbus 客户端。 6. 使用 Wireshark 捕获流量。 7. 使用 Zeek 监控连接。 8. 使用 Suricata 检测可疑活动。 ## 未来改进 - 部署真实的 OPC UA 服务器和客户端 - 将日志集成到 Splunk 或 ELK Stack 中 - 将发现映射到 ISA/IEC 62443 控制措施 - 模拟勒索软件或未经授权的工程工作站访问 - 增加历史数据库和工程工作站组件
标签:Metaprompt, Modbus/TCP 协议, OPC UA 协议, OT 网络安全, OT 网络架构, pfSense 防火墙, Purdue 模型架构, SCADA 安全, Suricata 入侵检测, Wireshark 数据包捕获, Zeek 网络分析, 入侵检测系统 (IDS), 协议流量分析, 安全监控工具, 安全评估方法, 工业协议安全, 工业控制系统安全, 工业网络防护, 工业自动化安全, 工控协议分析, 工控安全测试, 控制系统模拟, 模拟安全实验室, 网络分段技术, 网络安全教育, 网络安全监控, 逆向工具, 防火墙区域配置, 驱动开发