k4nd0/scada-ics-security-lab

GitHub: k4nd0/scada-ics-security-lab

一个基于树莓派与开源组件的ICS/SCADA安全实验室,用于模拟网络攻击并验证防御方案。

Stars: 0 | Forks: 0

# SCADA/ICS 安全实验室 ## 硕士论文:“ICS/SCADA 系统网络攻击模拟分析与防御方案研究” **机构:** 加扎·马加诺夫·拉科夫斯基军事学院 **项目:** 网络安全 **日期:** 2026 年 4 月 ## 📋 概述 本项目是一个用于模拟 ICS/SCADA 系统的实验室环境,旨在研究网络攻击并制定防御措施。 ## 🏗️ 架构 ``` ┌─────────────────────────────────────────────────────────────────┐ │ OT NETWORK (192.168.10.0/24) │ │ │ │ ┌─────────────┐ Ethernet ┌─────────────┐ │ │ │ RPi 5 │◄───────────────────────►│ RPi 4 │ │ │ │ SCADA │ Switch │ PLC │ │ │ │192.168.10.20│ │192.168.10.10│ │ │ └──────┬──────┘ └──────┬──────┘ │ │ │ │ │ └──────────┼────────────────────────────────────────┼─────────────┘ │ WiFi │ WiFi │ │ 192.168.100.121 192.168.100.154 ``` ## 🔧 硬件 ### RPi 5 — SCADA 服务器 - Raspberry Pi 5 4GB - Argon ONE V3 M.2 机箱 - NVMe SSD 119GB ### RPi 4 — PLC 模拟器 - Raspberry Pi 4B - microSD 16GB - 传感器: - DHT22(温度/湿度) - HC-SR04(超声波) - LED 指示灯 - 继电器模块 ## 💻 软件栈 ### RPi 5(SCADA) | 组件 | 版本 | 端口 | |-----------|---------|------| | Scada-LTS | 2.7.8 | 8080 | | Grafana | latest | 3000 | | InfluxDB | 2.7 | 8086 | | MySQL | 8.0 | 3306 | | Tomcat | 9.0.102 | 8080 | ### RPi 4(PLC) | 组件 | 版本 | 端口 | |-----------|---------|------| | OpenPLC Runtime | v3 | 8080 | ## 📁 项目结构 ``` scada-ics-security-lab/ ├── README.md ├── docs/ │ └── installation-report.md ├── docker/ │ └── docker-compose.yml ├── hardware/ │ └── wiring-diagram.md ├── plc/ │ └── programs/ ├── scada/ │ └── config/ └── security/ ├── attacks/ └── defense/ ``` ## 🚀 快速开始 完整的安装说明请参见 [docs/installation-report.md](docs/installation-report.md)。 ### 启动 SCADA 服务器(RPi 5) ``` cd ~/scada docker compose up -d sudo systemctl start tomcat9 ``` ### 访问地址 | 服务 | URL | 登录 | |---------|-----|-------| | Scada-LTS | http://192.168.100.121:8080/Scada-LTS | admin / admin | | Grafana | http://192.168.100.121:3000 | admin / admin | | InfluxDB | http://192.168.100.121:8086 | admin / admin12345 | | OpenPLC | http://192.168.100.154:8080 | openplc / openplc | ## 🔌 GPIO 引脚定义(RPi 4) | 组件 | GPIO | 引脚 | |-----------|------|-----| | DHT22 DATA | GPIO4 | 7 | | LED | GPIO14 | 8 | | 继电器 IN | GPIO15 | 10 | | HC-SR04 TRIG | GPIO17 | 11 | | HC-SR04 ECHO | GPIO27 | 13 | ## ⚠️ 攻击场景 | # | 攻击 | MITRE ATT&CK | |---|--------|--------------| | 1 | 侦察(Modbus 扫描) | T0846 | | 2 | 中间人攻击 | T0830 | | 3 | 重放攻击 | T0867 | | 4 | 拒绝服务 | T0814 | | 5 | Modbus 功能码滥用 | T0855 | | 6 | 虚假数据注入 | T0856 | | 7 | 固件篡改 | T0839 | ## 🛡️ 防御措施 - TLS 加密 - Snort IDS 规则 - 防火墙配置 - 网络分段 - Zeek 网络监控 ## 📚 参考文献 - [Scada-LTS](https://github.com/SCADA-LTS/Scada-LTS) - [OpenPLC 项目](https://openplcproject.com/) - [MITRE ATT&CK for ICS](https://attack.mitre.org/techniques/ics/) ## 📄 许可证 本项目仅用于教育目的。
标签:Cybersecurity, ICS, IoT安全, Modbus TCP, NTLM Relay, OpenPLC, OT安全, PKINIT, PLC, Raspberry Pi, SCADA, SCADA-LTS, TGT, 仿真, 关键基础设施, 内存执行, 哈希传递, 实验环境, 工业协议, 工业控制系统, 工控安全, 攻防演练, 硕士论文, 网络安全, 网络攻击模拟, 蜜罐, 证书利用, 请求拦截, 防御措施, 隐私保护