1. Introduction
With the industrial revolution, we have witnessed rapid changes in factory automation, transportation security, and surveillance in large-scale industries. To this end, Industrial IoT (IIoT) [
1] has drawn a significant interest by incorporating dense wireless devices such as Radio-Frequency IDentification (RFID) tags [
2] for machine identification, sensors for large-scale equipment monitoring and fault diagnosis, production, manufacturing, asset monitoring and many applications for power plant, water supplies, oil, and gas refineries.
Industrial control systems (ICS) are used to describe different systems such as Supervisory Control and Data Acquisition (SCADA) and Distributed Control system (DCS). SCADA collects and analyzes data from substations in real-time. Each substation contains control devices, such as Programmable Logic Controller (PLC), Remote Terminal Unit (RTU), and Intelligent Electronic Device (IED), which manages field devices, such as sensors, actuators, and meters. The collected field information is sent to a central facility, which consists of (1) SCADA server to process the information, and (2) Human Machine Interface (HMI) for information displaying. DCS, on the other hand, focuses on the automatic control of the industrial infrastructure. Other applications like: data historian, Manufacturing Execution Systems (MES), and Enterprise Resource Planning (ERP).
Wide-Area Network (WAN) connections, such as Broadband Internet, Fourth generation (4G) communication, Long Term Evolution (LTE), or Multiprotocol Label Switching (MPLS) allow ICS to extend their networks to large distances in order to connect remote substations. Industrial communication protocols like: Modbus TCP, DNP3, and OPC-UA are used to exchange data between the different components of the industrial control system.
Figure 1 shows the typical architecture of ICS over WAN. Industrial control systems are used in different critical infrastructures where IIoT can play a major role, such as in power plants, water supplies, oil, gas, and renewable energy facilities.
In fact, with the autonomous exchange of data among devices and a server, or in a device-to-device manner, either directly or over a network, will benefit the industrial control system to control and monitor the industrial process locally or at the remote location. The integration of IoT solutions with ICS, named also
fourth Generation ICS [
3,
4], allows collecting and analyzing a large data set over the whole industrial area. By this way, this integration is foreseen as a viable solution towards smart and efficient data gathering and aggregation frameworks for the entire automation industry [
5].
Industrial Control Systems (ICS) are becoming primary targets of cyber attacks due to their increased interconnection with other corporate networks. Their exposure to private and public networks has increased the risk of such attacks targeting ICS in recent years [
6]. These attacks cause a variety of damages and drastic consequences to humans and their environment. For instance, a power blackout in Ukraine’s capital Kiev happened because a SCADA system, which was linked to the 330 kilowatt substation, was influenced by external sources outside normal parameters [
7]. In addition, as ICS deploys a large number of network devices like routers and switches, they bring other security issues. As each device represents a possible entry point to the attacker, the more devices we have, the more risks ICS is exposed to. Besides, network devices require continuous management and configuration, which is costly and time-consuming. To deal with this issue, software-defined networking (SDN) [
8,
9] technology was proposed to facilitate software and hardware updates on the network devices. This is achieved by moving the control of lookup tables stored in the network devices to a central location that allows easy control and management. In this way, the risk of compromising the network devices could significantly be reduced. Software-defined wide-area network (SD-WAN) [
10] is a specific application of the SDN technology that is applied to WAN connections. Similar to SDN, SD-WAN also decouples the networking hardware from its control mechanism. However, SD-WAN focuses more on cost savings by reducing the deployment and operational costs. Gartner [
11] predicted in 2015 that 30% of enterprises would deploy SD-WAN technology in their branches by the end of 2019.
In this paper, we propose a security architecture for the industrial control system, which is integrated with the SD-WAN technology. The architecture considers the attacks that target the ICS commands, and negatively affect the correct functionality of the ICS. The attacks are classified into two types: (a) forged ICS command that target the industrial control process, and (b) misrouting of commands that is brought to the surface due to the adoption of the software-defined technology, e.g., an adversary that injects fraudulent flow rules, which prevent correct routing of ICS commands and information. Thus, the proposed security architecture requires two main complementary components: (a) an intrusion detection system to defend against the forged commands, and (b) an SD-WAN-based security solution, which prevents the misrouting of commands and information through tampering of the flow rules. The main contributions of the paper are the following:
We propose an SD-WAN architecture for industrial control systems.
We define the attack model that can target the proposed architecture. The attack model comprises: forged command attacks that target the industrial control process, and SDN-related attacks that misroute commands and information.
We propose a security solution for the proposed SD-WAN architecture that includes two complementary components:
- -
An intrusion detection system (IDS), named RSL-KNN, against forged command attacks that target the industrial control process, which leverages the random subspace learning approach and K-Nearest Neighbor (KNN) classifier to outperform conventional machine learning classifiers.
- -
A Blockchain-based Integrity Checking System (BICS), which can defend against the misrouting attack, by detecting in a short time any tampering with the OpenFlow rules and preventing the execution of the rules. Differently from [
12,
13,
14] that detects this attack by analyzing the flow rules, our system is lightweight in the sense that it only compares the traffic flow rules, which are originated from the vSwitch, with the one sent by the SDN controller.
We evaluate the effectiveness and efficiency of the proposed security solution. By applying the random subspace learning-based IDS on the Industrial Control System Cyber attack Dataset [
15,
16], promising accuracy results are achieved. On the other hand, a blockchain-based integrity checking system is able to detect all attacks against the flow rules at a very low detection time.
The remainder of the paper is organized as follows:
Section 2 provides the related work. In
Section 3, we present the SD-WAN architecture for the industrial control system along with the attack model. In
Section 4, we describe the main components of the security solution for the SDN-based ICS. The implementation and evaluation of the proposed security solution are presented in
Section 5 and
Section 6, respectively. Finally,
Section 7 concludes the paper.
3. SD-WAN Architecture for Industrial Control Systems
We propose an SD-WAN architectural design for ICS that enables network virtualization by migrating the control layer to the cloud, which helps to allow a centralized management. As legacy WANs can be costly and complex, SD-WAN architecture reduces the network cost by offering zero-touch deployment, i.e., there is no need to configure the network device by plugging it in. Instead, the device is configured from the SDN controller. In terms of security, the architecture can provide a unified security policy across the network.
As shown in
Figure 2, the proposed architecture is composed of the following components:
Private cloud: It hosts all the components that offer a centralized control for ICS as virtual machines, such as SCADA server, DCS server, and SDN controller.
IP network: Instead of using a dedicated WAN for ICS, we can use the public Internet connection between the SDN and the different substations. All devices are authenticated and end-to-end encryption is established across the network.
SDN controller: It is an application that manages flow control by using protocols such as OpenFlow [
55] that tells switches where to send data packets. The OpenFlow protocol is a southbound interface between the controller and the forwarding elements such as switches. The northbound interface considers the communication between the controller and the applications.
Virtual Switch: It is an application that interconnects multiple virtual machines of the same or different hypervisors. Moreover, it also interconnects these virtual machines with other physical switches.
Based on the above architecture, we present the attack model that targets the security of ICS commands, and could adversely affect the correct functionality of ICS. In the following, we consider two types of attacks:
Forged command: Attacks that issue forged commands to intelligent electronic devices, which trigger the execution of undesired operations, such as blackout.
Misrouting of commands: Attacks that prevent the correct routing of commands and other information between the SCADA server, DCS server, and the different devices of ICS. This attack can be achieved by modifying the flow rules.
Specifically, the above mentioned attacks can be further classified as follows:
Forged command: This type of attack considers the injection of fraudulent flow rules in the flow table. Under this type, we can find the following attacks:
- -
Vswitch misconfiguration: Similar to the physical switch, the virtual switch might allow devices impersonating another device so that it can receive network frames intended for that device. In addition, the virtual switch might be configured to allow a device receiving frames targeted for other devices. In this way, an attacker can masquerade as the SDN controller and insert fraudulent rules in the flow tables of other vSwitches.
- -
Unauthorized Access to SDN controller: When an attacker impersonates an SDN controller, it can gain access to the network resources and control all the network operations, including injecting fraudulent rules in the flow tables.
- -
Man-in-the-middle attack between switch and controller: An attacker, by spoofing the identities of the two nodes, can secretly intercept and modify the communication between them. This attack can be achieved through different mechanisms, such as vSwitch misconfiguration or port mirroring. In this way, it can send fake flow rules to the vSwitches.
Misrouting of commands: This type attacks the control process of the ICS by performing Unauthorized Access to vSwitch. Due to the vSwitch misconfiguration, the attacker can gain access to the vSwitch of the substation and issue fake commands to the different control devices.
We consider that the security of industrial communication protocols like OPC-UA, DNP3, and Modbus is not within the scope of this work, as they have already been analyzed [
56,
57,
58,
59].
4. Security Architecture Description
In this section, we propose two security components, as shown in
Figure 3, to address the attack model defined in
Section 3, which are:
4.1. Random Subspace Learning-Based IDS
The concept of random subspace learning is proposed by Barandiaran [
60]. The Random Subspace Learning (RSL) method is an ensemble learning technique, which is also called features bagging or attributes bagging [
61]. It is used to improve prediction and classification tasks as: (1) it employs ensemble construction of base classifiers instead of a single classifier, and (2) it takes random subsets of features instead of the entire set of features. In this way, the correlation between features among classifiers is reduced. This method has proved its success in a lot of prediction and classification problems [
62,
63,
64,
65].
The random subspace learning process is illustrated in
Figure 4, and consists of two phases: training and testing.
In the training phase, we randomly select S features from a set of F features such that . The selected features are fed to a machine learning algorithm to generate a classifier/learner. This operation is repeated B times, and at each time S features are picked at random with replacement to generate a different classifier.
In the testing phase, the outputs from all distinct learners are combined by majority voting to obtain the final prediction or classification result. The main advantage is that combining classifiers improves the accuracy, especially if the classifiers are independent, or not correlated with each other through features. In other words, the classifiers are fed with different sets of features from each other, which reduces the correlation between features among classifiers.
More specifically, we assume that the RSL model contains a number of individual classifiers, which are built from S subspaces of features defined as . The number of labels returned by the individual classifiers will be given as , where the returned labels belong to the set of labels (Y) in the training dataset.
For unseen instances
of
F features, each classifier will classify them based on its features subspace
separately. Then, the outputs from separate classifiers are represented as:
Finally, all outputs from separate classifiers are combined using the majority voting Algorithm [
63] to obtain the final classification label
y as in the following equation:
More formally, Algorithm 1 shows the steps to generate the ensemble of random subspace classifiers, and the ones to compute the predicted labels of unseen instances. Let denote the original training dataset of F features and N instances, denote the partial training dataset instances of only S features, which are randomly selected from the original training dataset, represents the testing dataset of M instances with the same selected features S as the ones selected in the training phase, denotes the machine learning algorithm. In the training phase, we take and as input B times to generate a classifier , . In the testing phase, we compute , which represents the classification labels of M unseen instances using the base classifier . Then, we compute , which is the final classification labels of M instances after majority voting of the base classifiers.
As will be seen in
Section 5, RSL-KNN classifier is obtained by combining random subspace learning and KNN algorithm. In other words, we get RSL-KNN by setting
(resp., replacing the Learning Algorithm component) to KNN (resp., with KNN) in Algorithm 1 (resp.,
Figure 4).
Algorithm 1 Random Subspace learning classifier. |
- 1:
for to Bdo ▹ Training phase - 2:
Set the dimension ; - 3:
Select randomly s features from to derive ; - 4:
▹ Build Random subspace learning classifier based on dataset and machine learning algorithm ; - 5:
end for - 6:
for to Bdo ▹ Testing phase - 7:
▹ Classify instances using the built model; - 8:
end for - 9:
▹ Find predicted class labels using Majority voting of base classifier models; - 10:
return;
|
4.2. Blockchain-Based Integrity Checking System
Before describing the security solution, we make the following assumptions:
We assume that the SD-WAN ICS is not compromised (i.e., free from malicious code before the installation of the Blockchain-based integrity checking system. Otherwise, forged rules can be considered as legitimate.
The Blockchain-based integrity checking system only focuses on southbound communication. We assume that the northbound communication between SCADA server, DCS server, and IDS from one side and the SDN controller from the other side, is secure.
We assume that the SDN controller is located in a private cloud, and only accessible from a single host through an authentication and access control mechanism.
The Blockchain [
35] is the key element in the design of our integrity checking systems. The basic idea is to provide a solution where all flow rules that are generated from the controller are stored in a verifiable and immutable database. The blockchain is a sequence of blocks, which are linked together by their hash values. In the blockchain network, each user has two keys: one private key to sign the blockchain transaction and one public key that represents its unique address. The user signs a transaction using its private key and broadcasts it to its peers in the network for validation. After validating the broadcast block, which contains the transaction, it is appended to the blockchain. Once recorded, the data in any given block cannot be changed without alteration of all subsequent blocks. In addition, the data exists in multiple hosts at once, so any changes would be rejected by the peer’s hosts. In this work, we proposed a private (or permissioned) blockchain. Differently from the public blockchains, the private ones determine who is allowed to participate in the network, and defined actions and permissions are assigned to identifiable participants. Hence, consensus mechanisms such as Proof of Work are not required. Our blockchain is composed of only two nodes: SDN controller, and firewall. The SDN controller creates blocks and shares it with the firewall via the blockchain. The first node has all the permissions, i.e., read, write, and send, whereas the firewall can only read and receive. As shown in
Figure 5, the blockchain-based integrity checking system is carried in the following sequences:
Upon receiving a request from the Northbound application, the SDN controller is designed to send the corresponding flow rules to the vSwitches. In our design, the SDN controller is also a member of a blockchain. It hashes the flow rules and puts them in a block that is distributed to the other nodes of the blockchain. The SDN controller is the only node in the blockchain, which has the right to create blocks, whereas the rest of the nodes can only read the blockchain.
When the flow rules reach the vSwitch node, the latter updates its flow table and saves the rules in the log file.
The Firewall collects the vSwitch logs and accesses the BlockChain to obtain the flow rules sent by the controller.
If the firewall finds that the two rules, from vSwitch and blockchain, are not similar, it notifies the Administrator to take the appropriate countermeasures to fix this mismatching.