分享
FDI攻击复现
输入“/”快速插入内容
FDI攻击复现
用户1302
用户1302
1月6日修改
01-电力系统
bitvijays/Power_Grid_Simulation_System (
github.com
)
02-攻击平台
https://github.com/LiuYuancheng/Ninja_C2_Malware_Simulation_System/tree/main
03-铁路系统
https://github.com/bitvijays/Metro_emulator
我的代码:
https://github.com/GarfieldLyu25/FDI
攻击流程
2025.12.20 把铁路系统加到电网系统中
数据流
agent里updateDataDict()定义如何生成数据(范围内随机一个值)
powerGridPWDataMgr.py里updateComponentsData()更新
periodic()周期执行
powerGridPWDataMgr.py里fetchSwitchesData() fetchComponentsVal()
物理世界的数据⬆
msgHandler()根据请求头的信息处理不同的请求
物理世界的通讯逻辑⬆
通过powerlink udp来向外传输 Traget:3002就是铁路系统
物理世界端口:3001 物理世界往plc rtu传 udp通讯
Plc:502 Modbus-TCP
rtu:102 S7COMM
HMI plc rtu往hmi传
rtu的值存在s7commServer里的数组里
•
各组含义(按构造代码):
◦
solar
: [太阳能发电电压, 电流, 升压变压器1电压, 电流]
◦
wind
: [风电电压, 电流, 升压变压器2电压, 电流]
◦
gen1
: [电机1转速RPM, 发电机1电压, 电流, 0]
◦
gen2
: [电机2转速RPM, 发电机2电压, 电流, 0]
◦
gen3
: [电机3转速RPM, 发电机3电压, 电流, 0]
◦
transM
: [牵引变电所(母线)电压, 电流, 输电线路电压, 电流]
◦
load1
: [升压变压器3电压, 电流, 配电变压器1电压, 电流]
◦
load2
: [配电变压器2电压, 电流, 升压变压器3电压, 电流](此处最后两位复用UpTF[2])
攻击流程
hmiPanel.py里的check_voltage_threshold()检查铁路系统是否过载stopPLC()切断铁路系统switch(idx19)
攻击的是电流 原来60多注入100
在这里断开铁路系统
电力系统通过fetchPowerLinkState()获取状态然后powerlink发送到3002
铁路系统dataMgr接受powerlink的状态然后_applyRailwayPowerLink()