Understanding industrial Cybersecurity.
The CybICS project is interesting for anyone who wants to delve into the world of industrial cybersecurity or deepen their knowledge.
First, read through this page to get a better understanding of the testbed setup.
The complete CybICS testbed
For educational purpose, a very simple process has been chosen. The process represents a control loop, where the system needs a specific gas pressure. This pressure is achieved by a compressor from a gas storage tank (GST) compressing the gas in the high pressure tank (HPT) buffer. The gas is toxic and flammable. It will be released and burned via a mechanical blow-out valve, if there is a critical overpressure in the HPT.
All pressure values are in bar above normal atmospheric pressure.
The gas storage is used to buffer gas from the external gas supply. The pressure from the external gas supply can not be regulated. Only the fill level of the GST will be controlled by the PLC.
Pressure | Description | Range |
---|---|---|
<50 | Low | 0-49 |
<150 | Normal | 50-99 |
150+ | Full | 150-255 |
Controll Loop: The GST is kept between 60 and 240 with a simple control (Filling GST to GST < 240 when GST < 60). The compressor to fill up the HPT can only run if the GST is at least filled up to a normal filling level.
The high pressure tank is the tank that serves as a buffer for the system pressure. The measurement unit of the sensor is in bar.
Pressure | Description | Range |
---|---|---|
<1 | Empty | 0-0 |
<50 | Low | 1-49 |
<100 | Normal | 50-99 |
<150 | High | 100-149 |
150+ | Critical | 150-255 |
Controll Loop: The HPT is kept between 60 and 90 with a simple control. (Running compressor when HPT < 60 up to HPT < 90)
The system can be operated in the normal pressure range between 50 to 100 bar (HPT > 50 & HPT < 100). If the pressure is too low, the system can not operate. If the pressure if too high, the system can be damaged.
The blowout valve is a mechanical valve. This is not operated by the PLC. It will open and release toxic gas if the HPT pressure is above 220 bar to prevent bursting of the HPT. The blowout will release the toxic gas, until it is again in a range below 200 bar (BO open when HPT > 220 until HPT > 200).
The hardware is kept minimal and ready to order. (link)
The software contains all necessary elements to setup the CybICS testbed. For development two VSCode devcontainers are available. One for the STM32 controller, which is simulating the physical process and another for all the software running on the Raspberry Pi. (link)
Component | Description | Running on |
---|---|---|
OpenPLC | Programmable Logic Controller | Raspberry Pi |
FUXA | Historian and HMI | Raspberry Pi |
Physical Process | STM32 |
For controlling the physical process, OpenPLC is used. This is an open source PLC, with an web interfce for programming and configuration. FUXA is used as an HMI and historian, with an web interface for the operator.
This part of the repository offers an insight into possible learning and training units. On the one hand, these include basic knowledge about PLCs and physical processes, as well as cyber attacks link.
Abbreviation | Long | Description |
---|---|---|
GST | Gas Storage Tank | |
HPT | High Pressure Tank | |
LED | Light-emitting Diode | |
PCB | Printed Circuit Board | |
PLC | Programmable Logic Controller |