Industrial Control Systems (ICS) are in charge of carrying out the management and supervision of industrial processes performed by critical infrastructures in industries such as electric, water, natural gas or chemical. In the last years, the adoption of IP technologies in industrial devices and the connection of ICS to the Internet have influenced the increment of cyberattacks. The most famous cyberattack affecting an ICS was in June 2010, when the Stuxnet worm was discovered. Stuxnet spied and reprogrammed industrial systems controlling centrifuges of the Iran nuclear power plant. Another relevant malware discovered in 2016 was Irongate, an Stuxnet type malware, that was used to hack the Siemens industrial control systems~\cite{kumar2016irongate}.
The increment of attacks affecting ICS, as well as their consequences, are influencing the use of Intrusion Detection Systems (IDS) in the field of ICS. IDS are responsible for both monitoring the environment in which they act and triggering alerts in case of detecting suspicious activity. An extensive number of intrusion detection techniques have been proposed in the literature to tackle security threats. Nowadays, the techniques achieving the best performance are based on Machine Learning (ML) and, more recently, Deep Learning (DL).
This work presents new ICS dataset, namely Electra, which has been generated from the network traffic of an electric traction substation running in normal and under attack ways. The Electra Dataset has been created in a realistic scenario with industrial devices such as Programmable-Logic Controllers (PLCs) and a SCADA system that are controlled by well-known industrial protocols such as S7Comm and Modbus.
The Electra dataset models the behaviour of an electric traction substation used in a real high-speed railway area. The main purpose of this testbed is to allow converting the electric power of the general network to voltage, current, and frequency conditions to supply railways or trams. This system can be used to convert the three-phase alternating current into single phase with the lower frequency needed for railway electrification systems. To accomplish its task, the Electric Traction Substation has 5 PLCS (1 master PLC and 4 slave PLCs) and a SCADA system. Additionally, the testbed has a switch (D5) for the interconnection of the different devices and a firewall (D4) to protect the substation from attacks coming from outside. The testbed devices communicate through control protocols following a master-slave architecture, where the master initiates the communication requesting some data and a slave response with information requested. The network communication is carried out through the following protocols: Modbus TCP, OPC and S7Comm. The SCADA system consists of a Nanobox (A1) and an HMI (A4) that communicates through the OPC protocol. The SCADA acts as a master of both Modbus slaves A2 and A3. Similarly, regarding the S7Comm protocol, D1 PLC acts as the master of A1, D2 and D3 PLCs. TABLE 1 details the IP, MAC and protocol used for each device. The attacks launched agains the testbed can be seen in Table 2 whereas Table 3 shows the features selected to be included in the dataset
Table 1. Devices in the testbed.
Device |
IP |
Protocol |
Role |
Notes |
A1 |
10.70.38.51 |
Modbus/S7Comm |
Master/Slave |
Traffic from this device pass thorught MitM node that modify the Modbus packets |
D1 |
10.70.38.52 |
S7Comm |
Master |
Traffic from this device pass thorught MitM node that modify the packets |
D3 |
10.70.38.53 |
S7Comm |
Slave |
|
D2 |
10.70.38.54 |
S7Comm |
Slave |
|
A3 |
10.70.38.55 |
Modbus |
Slave |
Traffic from this device pass thorught MitM node that modify the packets |
A2 |
10.70.38.56 |
Modbus |
Slave |
|
MitM node |
10.70.38.131 |
Modbus/S7Comm |
- |
This device run a MitM attack |
Table 2. Attack included in Electra dataset
Category |
Attack |
Type |
Reconnaissance |
Function codes recognition |
Packet creation |
False data injection |
Response modification |
Packet modification |
Forced error in response |
Packet modification |
Command modification |
Packet modification |
Read data |
Packet creation |
Write data |
Packet creation |
Replay |
Replay valid packets |
Packet creation |
Table 3. Features included in Electra dataset
Feature |
Description |
Data type |
time |
Timestamp |
String |
smac |
Source MAC address |
String |
dmac |
Destination MAC address |
String |
sip |
Source IP address |
String |
dip |
Destination IP address |
String |
request |
Indicates wether the packt is a request |
String |
fc |
Function code |
Integer |
error |
Indicates whether there has been an error in reading/writing operation |
Boolean |
madd |
Memory address to perform read/write operation |
Integer |
data |
data trasmitted or received |
Integer |
label |
Label for attacks and normal samples |
String |
|