CPS-SPC 15 @ Denver CO
MiniCPS: A toolkit for security research
- n CPS Networks
DANIELE ANTONIOLI (SUTD) NILS OLE TIPPENHAUER (SUTD)
October 26, 2015 MiniCPS: A toolkit for security research on CPS Networks 1
MiniCPS: A toolkit for security research on CPS Networks D ANIELE A - - PowerPoint PPT Presentation
CPS-SPC 15 @ Denver CO MiniCPS: A toolkit for security research on CPS Networks D ANIELE A NTONIOLI (SUTD) N ILS O LE T IPPENHAUER (SUTD) October 26, 2015 MiniCPS: A toolkit for security research on CPS Networks 1 Hi! Personal: D
October 26, 2015 MiniCPS: A toolkit for security research on CPS Networks 1
◮ DANIELE ANTONIOLI ◮ SUTD’s ISTD PhD (Prof N.O. TIPPENHAUER)
◮ Applied CPS security research October 26, 2015 MiniCPS: A toolkit for security research on CPS Networks 2
◮ Complex ◮ Critical ◮ Connected October 26, 2015 MiniCPS: A toolkit for security research on CPS Networks 3
◮ Complex ◮ Critical ◮ Connected
◮ Obtain ◮ Prove ◮ Share October 26, 2015 MiniCPS: A toolkit for security research on CPS Networks 3
◮ Complex ◮ Critical ◮ Connected
◮ Obtain ◮ Prove ◮ Share
◮ Electronics, Automation ◮ Networking, Computer Science ◮ Physics. . . October 26, 2015 MiniCPS: A toolkit for security research on CPS Networks 3
October 26, 2015 MiniCPS: A toolkit for security research on CPS Networks 4
L1 Network HMI Switch
HMISCADA Historian
Remote IOPLC1a PLC1b
PLC PLCL0 Network
Sensor42.42
Sensors RIO Process 1
Remote IO PLC PLCL0 Network RIO Process 2
Remote IO PLC PLCL0 Network RIO Process n
Actuators
Sensor42.42
Sensors Actuators
Sensor42.42
Sensors Actuators
PLC2a PLC2b PLCna PLCnb
HMIOctober 26, 2015 MiniCPS: A toolkit for security research on CPS Networks 5
◮ Reproducible ◮ Extensible ◮ Shareable October 26, 2015 MiniCPS: A toolkit for security research on CPS Networks 6
◮ Reproducible ◮ Extensible ◮ Shareable
◮ Network communications ◮ Control logic ◮ Physical layer interaction October 26, 2015 MiniCPS: A toolkit for security research on CPS Networks 6
◮ Reproducible ◮ Extensible ◮ Shareable
◮ Network communications ◮ Control logic ◮ Physical layer interaction
◮ But: "Stand on the Shoulders of Giants" ◮ Eg: linux, python, mininet, git October 26, 2015 MiniCPS: A toolkit for security research on CPS Networks 6
October 26, 2015 MiniCPS: A toolkit for security research on CPS Networks 7
Physical Layer Simulation Physical Layer API Component Logic Component Logic Network
◮ Reproduce (complex) topologies ◮ Generating real packets using real protocols October 26, 2015 MiniCPS: A toolkit for security research on CPS Networks 8
Physical Layer Simulation Physical Layer API Component Logic Component Logic Network
◮ Reproduce (complex) topologies ◮ Generating real packets using real protocols
◮ Lightweight virtualization ◮ Each device is a container October 26, 2015 MiniCPS: A toolkit for security research on CPS Networks 8
Physical Layer Simulation Physical Layer API Component Logic Component Logic Network
◮ Reproduce (complex) topologies ◮ Generating real packets using real protocols
◮ Lightweight virtualization ◮ Each device is a container
October 26, 2015 MiniCPS: A toolkit for security research on CPS Networks 8
Physical Layer Simulation Physical Layer API Component Logic Component Logic Network
◮ Abstract low-level details (SQL query) ◮ Use high level semantic functions: get, set October 26, 2015 MiniCPS: A toolkit for security research on CPS Networks 9
Physical Layer Simulation Physical Layer API Component Logic Component Logic Network
◮ Abstract low-level details (SQL query) ◮ Use high level semantic functions: get, set
◮ Programming Language agnostic ◮ Support different storage back-ends October 26, 2015 MiniCPS: A toolkit for security research on CPS Networks 9
MV101 FIT101
Sensor 42.42Grid
Sensor 42.42LIT101 P_101 FIT201
Sensor 42.42 Sensor 42.42LIT301 plc1.py plc2.py plc3.py L1 network emulation
PLC PLC PLCPhysical process Simulation script
◮ Sensors: level (LIT), flow (FIT) ◮ Actuators: motorized valve (MV) and pump (P) ◮ PLC1 takes decision with the aid of PLC2 and PLC3 ◮ Physical process simulation updates the state
◮ Realistic addresses (CIDR, MAC, ports) ◮ Replicate services: web-servers, ENIP client/server ◮ Optional Attacker and SDN Controller October 26, 2015 MiniCPS: A toolkit for security research on CPS Networks 10
L1 Network HMI SCADA Historian
Remote IOPLC1a PLC1b
PLC PLCL0 Network
Sensor42.42
Sensors RIO Process 1 Actuators
PLC valve tag
PLC valve tag
RIO valve tag
Attacker
HMI HMIOctober 26, 2015 MiniCPS: A toolkit for security research on CPS Networks 11
◮ Reproducible ◮ Extensible ◮ Shareable
◮ MITM attacks (ettercap) ◮ Ethernet/IP reverse-engineering (scapy) ◮ SDN controllers development (pox) October 26, 2015 MiniCPS: A toolkit for security research on CPS Networks 12
◮ Reproducible ◮ Extensible ◮ Shareable
◮ MITM attacks (ettercap) ◮ Ethernet/IP reverse-engineering (scapy) ◮ SDN controllers development (pox)
◮ http://scy-phy.github.io/index.html ◮ https://github.com/scy-phy/minicps
October 26, 2015 MiniCPS: A toolkit for security research on CPS Networks 12