You are currently viewing a new version of our website. To view the old version click .
Sensors
  • Article
  • Open Access

15 July 2019

Blockchain and Random Subspace Learning-Based IDS for SDN-Enabled Industrial IoT Security

,
,
,
,
,
and
1
Center of Excellence in Information Assurance (CoEIA), King Saud University, Riyadh 11451, Saudi Arabia
2
Department of Electronics and Computer Science, USTHB University, Bab Ezzouar 16111, Algeria
3
Department of Computer Science, King Saud University, Riyadh 11451, Saudi Arabia
4
School of Computer Science and Informatics, De Montfort University, Leicester LE1 9BH, UK
This article belongs to the Special Issue Software-Defined Networking for Sensor Networks and Internet of Things

Abstract

The industrial control systems are facing an increasing number of sophisticated cyber attacks that can have very dangerous consequences on humans and their environments. In order to deal with these issues, novel technologies and approaches should be adopted. In this paper, we focus on the security of commands in industrial IoT against forged commands and misrouting of commands. To this end, we propose a security architecture that integrates the Blockchain and the Software-defined network (SDN) technologies. The proposed security architecture is composed of: (a) an intrusion detection system, namely RSL-KNN, which combines the Random Subspace Learning (RSL) and K-Nearest Neighbor (KNN) to defend against the forged commands, which target the industrial control process, and (b) a Blockchain-based Integrity Checking System (BICS), which can prevent the misrouting attack, which tampers with the OpenFlow rules of the SDN-enabled industrial IoT systems. We test the proposed security solution on an Industrial Control System Cyber attack Dataset and on an experimental platform combining software-defined networking and blockchain technologies. The evaluation results demonstrate the effectiveness and efficiency of the proposed security solution.

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.
Figure 1. Typical architecture of industrial control systems (ICS) over Wide-Area Network (WAN).
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:
Figure 2. Software-defined networking (SDN)-based ICS architecture.
  • 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:
Figure 3. Security architecture for SDN-based ICS.
  • Intrusion detection system (IDS) to identify malicious command issued to the control devices. In this work, we propose an IDS using the Random Subspace learning (RSL). Later, in Section 6, we show that RSL-KNN, which is the combination of RSL and KNN classifiers, gives better results than the conventional machine learning classifiers.
  • Blockchain-based integrity checking system (BICS), which aims to detect any injection of fraudulent flow rules in the vSwitches.

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.
Figure 4. Random Subspace Learning process: training and testing.
In the training phase, we randomly select S features from a set of F features such that S F . 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 { C i ( . ) } i = 1 , L . The number of labels returned by the individual classifiers will be given as { y i ¯ } i = 1 , L , where the returned labels belong to the set of labels (Y) in the training dataset.
For unseen instances x ( k = 1 , X ) of F features, each classifier will classify them based on its features subspace S j = 1 , f F separately. Then, the outputs from separate classifiers are represented as:
y i ¯ = C i ( x k , S j = 1 , f ) .
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:
y = arg max y i ¯ i = 1 L y i ¯ Y .
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 T N F denote the original training dataset of F features and N instances, T N S denote the partial training dataset instances of only S features, which are randomly selected from the original training dataset, Z M S represents the testing dataset of M instances with the same selected features S as the ones selected in the training phase, M L denotes the machine learning algorithm. In the training phase, we take M L and T N S as input B times to generate a classifier C L b , 1 b B . In the testing phase, we compute P b M , which represents the classification labels of M unseen instances using the base classifier C L b . Then, we compute P l M , 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 M L (resp., replacing the Learning Algorithm component) to KNN (resp., with KNN) in Algorithm 1 (resp., Figure 4).
Algorithm 1 Random Subspace learning classifier.
  • Input: T N S , Z M S , B, M L
  • Output: Y l M
1:
for b = 1 to Bdo                                ▹ Training phase
2:
  Set the dimension S F ;
3:
  Select randomly s features from T N F to derive T N S ;
4:
   C L b = B u i l d _ R S L ( T N S , M L ) ▹ Build Random subspace learning classifier based on dataset T N S and machine learning algorithm M L ;
5:
end for
6:
for b = 1 to Bdo                                ▹ Testing phase
7:
   P b M C L b ( Z M S )             ▹ Classify Z M S instances using the built model;
8:
end for
9:
P l M = M a j o r i t y V o t e ( { P b M } b = 1 B )    ▹ Find predicted class labels Y M using Majority voting of base classifier models;
10:
return P l M ;

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:
Figure 5. Flowchart execution of blockchain-based integrity checking system (BICS).
  • 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.

5. Implementation

5.1. Random Subspace Learning-Based IDS

In this section, we evaluate the performance of the proposed IDS using a real case study scenario that is implemented in [16], and using the Power System Dataset, which is a part of the Industrial Control System Cyber Attack Dataset [15]. Figure 6 shows the industrial control power system architecture. It is composed of the following components:
Figure 6. Case study: industrial control power system ([16]).
  • Two power generators: G1 and G2.
  • Four breakers from BR1 to BR4.
  • Two transmission lines: L1 between BR1 and BR2, and L2 between BR3 and BR4.
  • R1 through R4 are intelligent electronic devices (IEDs) to switch the breakers on or off. The IEDs send information to the control room through a substation switch and a router.
As explained in [16], there are four synchrophasors, each of which measures 29 features, which give in total 116 phasor measurement unit (PMU) measurements. There are also additional 12 features from control panel logs, Snort logs and relay logs. Thus, 128 features are used in this case study scenario. Examples of some features, which are extracted from each PMU, are as follows.
  • PA1:VH-PA3:VH: This feature represents phase A-C voltage angle.
  • DF: This feature represents frequency delta ( d f d t ) for relays.
The list of 128 features along with their descriptions are given in [15]. The dataset [15] considers the following two normal events and three attack events. The normal events are as follows:
  • Short-circuit fault: It represents a short in a power-line and can occur at different locations along the line.
  • Line maintenance: Power system operators occasionally must take a transmission line out of service to allow maintenance.
The dataset also considers the following attack events:
  • Remote tripping command injection: This attack sends a command to a relay and causes a breaker to open.
  • Relay setting change: Relays are controlled via configurable settings. Certain settings exist to disable relay operations. This class of attacks alters relay settings to disable relay operation such that the relay will not trip for valid commands or faults.
  • Data Injection: This attack aims to imitate a valid fault by altering system measurements followed by sending an illicit trip command from a compromised computer to relays at the ends of the transmission line. This attack aims to blind the operator and causes a blackout.
The dataset is composed of 15 sub-datasets, as shown in Table 1. The events in SCADA systems are used in the following two main classification tasks:
Table 1. Distribution of datasets.
  • Classification of multi-class events: This classification task contains 37 scenarios of events, and includes normal event, natural event, and attack events with their own class labels.
  • Classification of binary class events: This task also contains 37 event scenarios, which are divided into nine normal events and 28 attack events. All the 15 sub-datasets consist of thousands of distinct event types and are sampled at 1% in a random manner. Therefore, each sub-dataset contains 3711 attack instances, 294 samples of no event instances, and 1221 natural events instances. Table 1 summarizes the distribution of instances in the 15 SCADA sub-datasets.
The RSL method is also implemented using Weka tool [66]. Table 2 summarizes the parameters that are considered in the implementation. A 10-fold cross-validation strategy is also adopted to apply the proposed method on the 15 SCADA sub-datasets.
Table 2. Parameters Settings of RSL method.

5.2. Blockchain-Based Integrity Checking System

The Blockchain-based integrity checking system is implemented, as shown in Figure 7, using the following components:
Figure 7. Implementation components of BICS.
  • Private cloud: We use Openstack [67] to implement the private cloud.
  • BlockChain: We use Multichain [68], which is derived from Bitcoin Core [69], to implement a private blockchain. It uses JSON [70] to create blocks. The role of this blockchain is to save all the operations transmitted from the SDN controller to the different switches. Multichain ensures the following properties:
    -
    The activity of the blockchain is only visible to the chosen participants.
    -
    It provides read and write privileges on the transactions
  • SDN controller: We use ONOS [71] to implement SDN controller. ONOS is an SDN that provides the control plane of the network. It manages its components such as switches and routers, and links. It runs the software that provides communication services to end-users and neighboring networks.
  • Mininet: Mininet [72] is a network emulator, which creates a network of virtual hosts, switches, controllers, and links. It allows creating an SDN prototype to simulate a network topology using switches supporting OpenFlow.
As shown in Figure 7, the Insert() program captures the traffic sent from the ONOS controller to the vSwiches in order to get the flow rules of the ONOS controller and save them on the blockchain. In order to access the blockchain, write permissions to create blocks on the blockchain are assigned to this program. Each created block contains the following information:
  • PUBLISHER: the SDN controller identifier.
  • Data: The flow rule, and consists of the following records:
    -
    ID: The identifier of the rule.
    -
    TABLEID: The flow table identifier.
    -
    DEVICEID: The Vswitch identifier.
    -
    TYPE: The rule type: input/output.
    -
    OUTPORT: The output port number.
    -
    INPORT: The input port number.
    -
    PRIORITY: The priority of the rule.
    -
    MACSRC: The source MAC address of flow.
    -
    MACDST: The destination MAC address of flow.
  • BLOCKTIME: The creation time of the block.
  • BID: The block ID.

6. Performance Evaluation

In this section, we evaluate the performance of two components of our solution: Random Subspace Learning IDS, and Blockchain-based integrity checking system (BICS).

6.1. Random Subspace Learning IDS

In the following, we present the performance results of the Random Subspace Learning IDS with respect to effectiveness and efficiency.

6.1.1. Effectiveness Evaluation

In this section, we use a set of baseline machine learning classifiers to test their ability to detect SCADA attacks. The used baseline classifiers are as follows: Linear Support Vector Machine (LSVM), Bayes Network (BN), Naive Bayes with kernel estimator (NB-K), K-Nearest Neighbor (KNN), AdaBoostM1, Bagging, Decision Tree (DT), and Random Forests (RF). All these classifiers are applied on the 15 SCADA datasets and implemented using the open-source tool of machine learning, namely Weka [66]. In the implementation, we fix the number of iterations for ensemble classifiers to be 25, the block size to be 100, and the bag size to be 50. Other settings remain as default. A 10-fold cross validation strategy is used in the testing. This strategy randomly partitions the datasets into 10 sets of instances and selects one set for testing and the other nine sets for training. We repeat this strategy 10 times and take the average to summarize the results for each of the used 15 sub-datasets.
The evaluation results are presented under the following metrics:
  • Accuracy = T P + T N T P + T N + F P + F N
  • False Positive Rate = F P F P + T N
where T P , T N , F P , and F N denote true positive, true negative, false positive, and false negative, respectively.
Table 3 and Table 4 show the accuracy results of the above-mentioned machine learning classifiers under binary classification (natural and attack) and multi-class classification (natural and different types of attacks), respectively.
Table 3. Accuracy results under binary classification.
Table 4. Accuracy results under multi-class classification.
Motivated by the accuracy results of intrusion detection for KNN classifier compared to other classifiers, we propose an effective method that combines the random subspace method with KNN classifier, named Random Subspace Learning-based K-Nearest Neighbor (RSL-KNN) method. The basic idea behind RSL-KNN method is to create sufficient KNN classifiers using different random subsets of selected features. This idea improves the accuracy, especially when there is a large number of features. Table 5 shows the accuracy results of intrusion detection using binary classification (natural and attack) and based on three different numbers of learners. Table 6 shows the accuracy results of RSL-KNN under multi-class classification (natural and different types of attacks) and based on three different numbers of learners. We can observe that RSL-KNN outperforms KNN under both classification tasks. As shown in Table 7, while the false positive rates of RSL-KNN under multi-class classification are between 0 . 3 % and 0. 4 % , they are higher binary-class classification.
Table 5. Accuracy results of Random Subspace Learning-based K-Nearest Neighbor (RSL-KNN) under binary classification.
Table 6. Accuracy results of RSL-KNN under multi-class classification.
Table 7. False positive rate of RSL-KNN under binary and multi-class classification.

6.1.2. Efficiency Evaluation

To evaluate the time cost of training and testing of RSL-KNN compared to KNN classifier, we train and test both classifiers on sub-dataset 9, which contains 5340 instances. This dataset is divided into 3738 instances for training and 1602 for testing and the time cost is measured for binary and multi-class classification. Table 8 shows the time of training and testing in seconds for both classifiers. We can notice that RSL-KNN incurs an insignificant additional time during the training. In the testing phase, RSL-KNN shows higher values than KNN.
Table 8. Efficiency results of RSL-KNN and KNN.

6.2. Blockchain-Based Integrity Checking System

6.2.1. Security Analysis

We analyze the security of BICS and discuss its resilience against the following attacks:
  • Unauthorized Access to SDN controller: We assumed that the SDN controller is located in a private cloud, and only accessible from a single host. Thus, it is impossible for an external adversary to gain authorized access to the SDN controller. In addition, by applying an authentication and access control mechanism, we can prevent unauthorized hosts from accessing the network resources, as explained in [73]. Therefore, there is no way that fraudulent flow rules are generated from the SDN controller.
  • Man-in-the-middle attack between switch and controller: As fraudulent flow rules cannot be generated from the SDN controller, and as the latter is the only node that has the right to create entries in the blockchain, therefore, the blockchain only stores legitimate flow rules. If the flow table of the vSwitch is poisoned with tampered rules, the firewall will eventually detect this attack after comparing the vSwitch logs and the rules stored in the blockchain.
  • vSwitch misconfiguration: Like the Man-in-the-middle attack, if forged flow rules are injected in the flow table of the vSwitch, it is possible to detect this attack.
  • Flow table overflow attack: External attackers can launch DoS/DDoS attack to inject a large number of flow rules, which leads to flow table overflow. All the injected flow rules will be detected by BICS after comparing them with ones stored in the blockchain, Hence, this attack can be mitigated by deleting each detected injected flow rule.
  • Blockchain poisoning: Under this attack, an adversary impersonates an SDN controller and injects the same flow rule in both the vSwitch and the blockchain. This attack is not possible, as the blockchain is only updated by the SDN controller that has a unique private key.
  • Blockchain vulnerabilities The blockchaim might suffer from many vulnerabilities such as:
    -
    51% vulnerability: If a single miner has more than 50% of the total computing power of the blockchain, then it can hinder the normal operations of the blockchain.
    -
    Hiding blocks: The participant only exposes transactions that are in his favor.
    -
    Whitewhashing: The participant makes a new identity to get rid of his bad reputation)
    -
    Refusal to sign: The participant does not sign a transaction that is not in his favor.
    The above vulnerabilities cannot be exploited in case of BICS as we deploy a private blockchain, and the participants are trusted and are within the internal network. However, if the private key of the SDN controller is leaked, an adversary can exploit this vulnerability to launch some attacks such as tampering, impersonation, and Man-in-the-middle attack. Here, we consider two cases:
    -
    External adversary: If the adversary tries to use the private key to generate fake blocks, this attempt will be detected as the operation comes from outside the network, whereas the SDN controller is located inside the network.
    -
    Internal adversary: To prevent an internal adversary from using the private key and generate fake blocks, the SDN controller is only accessible from a single host and access control mechanism are implemented.
    In addition, to mitigate the risk of private key leakage, the network administrator needs to implement security controls related to key management.

6.2.2. Performance Evaluation

We evaluate the performance of BICS by varying the number of false rules that are injected into the network. In order to perform this test, we disconnect the SDN controller and inject the rules at the switch-level. Table 9 summarizes the detection time and the detection rate of BICS. We observe that BICS achieves a detection rate of 100 % with a very low detection time. The full detection rate is explained by the fact that the blockchain is immutable, i.e., it ensures that data once written to a blockchain cannot be altered. To ensure immutability, the blockchain is based on two main concepts: hashes and chains of blocks, which are proved mathematically to ensure data integrity. If an adversary creates a fraudulent flow rule and wants to inject it in the vSwitch, it cannot alter an existing flow rule in the blockchain and make it similar to a fraudulent one. In addition, as proved in Section 6.2.1, any injection of new forged flow rule in the flow table of the vSwitch is eventually detected. Moreover, it is important to mention that the detection time of BICS is scalable with respect to the number of injected rules.
Table 9. Detection performance of BICS.
To evaluate the execution time overhead of BICS, we measure the below metrics by varying the number of vSwitches that are deployed in the network.
  • Blockchain Creation Time (BCT): is the time needed to create a blockchain block.
  • Log Retrieval Time (LRT): is the time needed for the firewall to retrieve the switch log.
  • Rule Retrieval Time (RRT): is the time needed for the firewall to retrieve the rules from the blockchain.
  • Processing Time (PT): is the time needed for the firewall to compare the rules retrieved from blochain and the log retrieved from the switch.
  • Execution time overhead (ETO): is the total execution time of the BICS operation, which is the sum of BCT, LRT, RRT, and PT.
Table 10 shows that ETO increases as the number of switches increases. This is because the firewall has to retrieve the log information from each switch, which affects LRT. On the other hand, we observe that BCT, RRT, and PT are low and are less affected by increasing the the number of switches. We can also observe that BICS incurs a very low block creation time compared to other public blockchain platforms, e.g., bitcoin, that requires around 10 min to create one block [74]. This is due to the fact that these blockchains run a consensus mechanism like Proof of Work (PoW) or Proof of State (PoS) in order to mine, validate and append a new block to the blockchain. In case of BICS, no consensus is required, and it is replaced with access rights that are assigned to known participants.
Table 10. Execution time overhead of BICS.

7. Conclusions

In this paper, we have proposed a security architecture for IoT-based industrial control systems, which integrates the Blockchain and the Software-defined wide-area network technologies. The proposed security architecture is composed of an intrusion detection system, named RSL-KNN, and a Blockchain-based Integrity Checking System (BICS). The proposed security solution has been tested on an Industrial Control System Cyber attack Dataset and on an experimental platform combining software-defined networking and blockchain technologies. The proposed security solution has produced an overall good performance. RSL-KNN has scored an accuracy of 96 . 73 % and 91 . 07 % under binary class and multi-class classification tasks, respectively. In addition, BICS can detect fraudulent flow rules at a detection rate of 100 % , and is scalable in terms of detection time. As a part of future work, we plan to test more Industrial Control System (ICS) cyber attacks datasets, and apply different deep learning techniques for better IDS accuracy. Moreover, it would be interesting to leverage the blockchain technology to prevent injection of fraudulent flow rules in the flow tables, instead of only detecting them.

Author Contributions

Conceptualization, A.D., M.G. and A.G.; Methodology, A.D., M.G. and A.G.; Software, M.G. and A.G.; Validation, A.D. and M.G.; Formal Analysis, A.D., M.G. and A.G.; Investigation, M.G. and A.G.; Resources, A.D and M.G; Data Curation, M.G. and A.G.; Writing—Original Draft Preparation, A.D., M.G., A.G., L.M., M.A.F., and M.M.; Writing—Review and Editing, F.A.K.; Visualization, A.D., M.G. and A.G.; Supervision, A.D.; Project Administration, A.D.; Funding Acquisition, A.D.

Funding

This work is supported by the Deanship of Scientific Research at King Saud University for funding this work through research group No (RG-1439-021).

Acknowledgments

The authors extend their appreciation to the Deanship of Scientific Research at King Saud University for funding this work through research group No (RG-1439-021).

Conflicts of Interest

All authors declare no conflict of interest.

References

  1. Da Xu, L.; He, W.; Li, S. Internet of things in industries: A survey. IEEE Trans. Ind. Inform. 2014, 10, 2233–2243. [Google Scholar]
  2. Zuehlke, D. Smart Factory—Towards a Factory-of-Things. ELSEVIER Annu. Rev. Control 2010, 34, 129–138. [Google Scholar] [CrossRef]
  3. Hasan, M.M.; Mouftah, H.T. Optimal trust system placement in smart grid SCADA networks. IEEE Access 2016, 4, 2907–2919. [Google Scholar] [CrossRef]
  4. Sajid, A.; Abbas, H.; Saleem, K. Cloud-assisted IoT-based SCADA systems security: A review of the state of the art and future challenges. IEEE Access 2016, 4, 1375–1384. [Google Scholar] [CrossRef]
  5. Shahzad, A.; Kim, Y.G.; Elgamoudi, A. Secure IoT platform for industrial control systems. In Proceedings of the International Conference on Platform Technology and Service (PlatCon), Busan, Korea, 13–15 February 2017; pp. 1–6. [Google Scholar]
  6. ENISA. Communication Network Dependencies for ICS/SCADA Systems. Available online: https://www.enisa.europa.eu/publications/ics-scada-dependencies (accessed on 14 December 2018).
  7. Polityuk, P.; Vukmanovic, O.; Jewkes, S. Ukraine’s Power Outage Was a Cyber Attack: Ukrenergo; Reuters: London, UK, 2017. [Google Scholar]
  8. Farhady, H.; Lee, H.; Nakao, A. Software-defined networking: A survey. Comput. Netw. 2015, 81, 79–95. [Google Scholar] [CrossRef]
  9. Nunes, B.A.A.; Mendonca, M.; Nguyen, X.N.; Obraczka, K.; Turletti, T. A survey of software-defined networking: Past, present, and future of programmable networks. IEEE Commun. Surv. Tutor. 2014, 16, 1617–1634. [Google Scholar] [CrossRef]
  10. Michel, O.; Keller, E. SDN in wide-area networks: A survey. In Proceedings of the Fourth International Conference on Software Defined Systems (SDS), Valencia, Spain, 8–11 May 2017; pp. 37–42. [Google Scholar]
  11. Gartner. Predicting SD-WAN Adoption. 2015. Available online: https://blogs.gartner.com/andrew-lerner/2015/12/15/predicting-sd-wan-adoption/ (accessed on 31 December 2018).
  12. Al-Shaer, E.; Al-Haj, S. FlowChecker: Configuration analysis and verification of federated OpenFlow infrastructures. In Proceedings of the 3rd ACM Workshop on Assurable and Usable Security Configuration, Chicago, IL, USA, 4–8 October 2010; pp. 37–44. [Google Scholar]
  13. Porras, P.; Shin, S.; Yegneswaran, V.; Fong, M.; Tyson, M.; Gu, G. A security enforcement kernel for OpenFlow networks. In Proceedings of the First Workshop on Hot Topics in Software Defined Networks, Helsinki, Finland, 13–17 August 2012; pp. 121–126. [Google Scholar]
  14. Khurshid, A.; Zou, X.; Zhou, W.; Caesar, M.; Godfrey, P.B. Veriflow: Verifying network-wide invariants in real time. Presented as Part of the 10th USENIX Symposium on Networked Systems Design and Implementation (NSDI), Lombard, IL, USA, 2–5 April 2013; pp. 15–27. [Google Scholar]
  15. Adhikari, U.; Pan, S.; Morris, T.; Borges, R.; Beave, J. Industrial Control System (ICS) Cyber Attack Datasets. Available online: https://sites.google.com/a/uah.edu/tommy-morris-uah/ics-data-sets (accessed on 15 December 2018).
  16. Hink, R.C.B.; Beaver, J.M.; Buckner, M.A.; Morris, T.; Adhikari, U.; Pan, S. Machine learning for power system disturbance and cyber-attack discrimination. In Proceedings of the 7th International Symposium on Resilient Control Systems (ISRCS), Denver, CO, USA, 19–21 August 2014; pp. 1–8. [Google Scholar]
  17. Maglaras, L.A.; Kim, K.H.; Janicke, H.; Ferrag, M.A.; Rallis, S.; Fragkou, P.; Maglaras, A.; Cruz, T.J. Cyber security of critical infrastructures. ICT Express 2018, 4, 42–45. [Google Scholar] [CrossRef]
  18. Maglaras, L.A.; Jiang, J. Intrusion detection in SCADA systems using machine learning techniques. In Proceedings of the Science and Information Conference (SAI), London, UK, 27–29 August 2014; pp. 626–631. [Google Scholar]
  19. Hu, Y.; Yang, A.; Li, H.; Sun, Y.; Sun, L. A survey of intrusion detection on industrial control systems. Int. J. Distrib. Sens. Netw. 2018, 14, 1550147718794615. [Google Scholar] [CrossRef]
  20. Abokifa, A.A.; Haddad, K.; Lo, C.; Biswas, P. Real-Time Identification of Cyber-Physical Attacks on Water Distribution Systems via Machine Learning–Based Anomaly Detection Techniques. J. Water Resour. Plan. Manag. 2018, 145, 04018089. [Google Scholar] [CrossRef]
  21. Narayanan, V.; Bobba, R.B. Learning Based Anomaly Detection for Industrial Arm Applications. In Proceedings of the 2018 Workshop on Cyber-Physical Systems Security and PrivaCy, Toronto, ON, Canada, 15–19 October 2018; pp. 13–23. [Google Scholar]
  22. Caselli, M.; Zambon, E.; Kargl, F. Sequence-aware intrusion detection in industrial control systems. In Proceedings of the 1st ACM Workshop on Cyber-Physical System Security, Singapore, 14–17 April 2015; pp. 13–24. [Google Scholar]
  23. Khalili, A.; Sami, A.; Khozaei, A.; Pouresmaeeli, S. SIDS: State-based intrusion detection for stage-based cyber physical systems. Int. J. Crit. Infrastruct. Prot. 2018, 22, 113–124. [Google Scholar] [CrossRef]
  24. Zhang, F.; Kodituwakku, H.A.D.E.; Hines, W.; Coble, J.B. Multi-Layer Data-Driven Cyber-Attack Detection System for Industrial Control Systems Based on Network, System and Process Data. IEEE Trans. Ind. Inform. 2019, 15, 4362–4369. [Google Scholar] [CrossRef]
  25. Ghaeini, H.R.; Antonioli, D.; Brasser, F.; Sadeghi, A.R.; Tippenhauer, N.O. State-aware anomaly detection for industrial control systems. In Proceedings of the 33rd Annual ACM Symposium on Applied Computing, Pau, France, 9–13 April 2018; pp. 1620–1628. [Google Scholar]
  26. Wang, W.; Xie, Y.; Ren, L.; Zhu, X.; Chang, R.; Yin, Q. Detection of data injection attack in industrial control system using long short term memory recurrent neural network. In Proceedings of the 13th IEEE Conference on Industrial Electronics and Applications (ICIEA), Wuhan, China, 31 May–2 June 2018; pp. 2710–2715. [Google Scholar]
  27. Li, D.; Guo, H.; Zhou, J.; Zhou, L.; Wong, J.W. SCADAWall: A CPI-enabled firewall model for SCADA security. Comput. Secur. 2019, 80, 134–154. [Google Scholar] [CrossRef]
  28. Serpanos, D. Secure and Resilient Industrial Control Systems. IEEE Des. Test 2018, 35, 90–94. [Google Scholar] [CrossRef]
  29. Serpanos, D.; Khan, M.T.; Shrobe, H. Designing Safe and Secure Industrial Control Systems: A Tutorial Review. IEEE Des. Test 2018, 35, 73–88. [Google Scholar] [CrossRef]
  30. Falco, G.; Caldera, C.; Shrobe, H. IIOT cybersecurity risk modeling for scada systems. IEEE Internet Things J. 2018, 5, 4486–4495. [Google Scholar] [CrossRef]
  31. Wood, A.; He, Y.; Maglaras, L.; Janicke, H. A security architectural pattern for risk management of industry control systems within critical national infrastructure. Int. J. Crit. Infrastruct. 2017. [Google Scholar] [CrossRef]
  32. Cook, A.; Smith, R.; Maglaras, L.; Janicke, H. Measuring the risk of cyber attack in industrial control systems. In Proceedings of the 4th International Symposium for ICS & SCADA Cyber Security Research 2016 (ICS-CSR 2016), Belfast, UK, 23–25 August 2016. [Google Scholar]
  33. Nourian, A.; Madnick, S. A systems theoretic approach to the security threats in cyber physical systems applied to stuxnet. IEEE Trans. Dependable Secur. Comput. 2018, 15, 2–13. [Google Scholar] [CrossRef]
  34. Nasr, P.M.; Yazdian-Varjani, A. Toward Operator Access Management in SCADA System: Deontological Threat Mitigation. IEEE Trans. Ind. Inform. 2018, 14, 3314–3324. [Google Scholar] [CrossRef]
  35. Ferrag, M.A.; Derdour, M.; Mukherjee, M.; Derhab, A.; Maglaras, L.; Janicke, H. Blockchain Technologies for the Internet of Things: Research Issues and Challenges. IEEE Internet Things J. 2019, 6, 2188–2204. [Google Scholar] [CrossRef]
  36. Košt’ál, K.; Helebrandt, P.; Belluš, M.; Ries, M.; Kotuliak, I. Management and Monitoring of IoT Devices Using Blockchain. Sensors 2019, 19, 856. [Google Scholar] [CrossRef]
  37. Agyekum, O.; Opuni-Boachie, K.; Xia, Q.; Sifah, E.B.; Gao, J.; Xia, H.; Du, X.; Guizani, M. A Secured Proxy-Based Data Sharing Module in IoT Environments Using Blockchain. Sensors 2019, 19, 1235. [Google Scholar] [CrossRef] [PubMed]
  38. Yang, J.; He, S.; Xu, Y.; Chen, L.; Ren, J. A Trusted Routing Scheme Using Blockchain and Reinforcement Learning for Wireless Sensor Networks. Sensors 2019, 19, 970. [Google Scholar] [CrossRef]
  39. Liang, G.; Weller, S.R.; Luo, F.; Zhao, J.; Dong, Z.Y. Distributed blockchain-based data protection framework for modern power systems against cyber attacks. IEEE Trans. Smart Grid 2018, 10, 3162–3173. [Google Scholar] [CrossRef]
  40. Aitzhan, N.Z.; Svetinovic, D. Security and privacy in decentralized energy trading through multi-signatures, blockchain and anonymous messaging streams. IEEE Trans. Dependable Secur. Comput. 2018, 15, 840–852. [Google Scholar] [CrossRef]
  41. Cahn, A.; Hoyos, J.; Hulse, M.; Keller, E. Software-defined energy communication networks: From substation automation to future smart grids. In Proceedings of the IEEE International Conference on Smart Grid Communications (SmartGridComm), Vancouver, BC, Canada, 21–24 October 2013; pp. 558–563. [Google Scholar]
  42. da Silva, E.G.; Knob, L.A.D.; Wickboldt, J.A.; Gaspary, L.P.; Granville, L.Z.; Schaeffer-Filho, A. Capitalizing on SDN-based SCADA systems: An anti-eavesdropping case-study. In Proceedings of the IFIP/IEEE International Symposium on Integrated Network Management (IM), Ottawa, ON, Canada, 11–15 May 2015; pp. 165–173. [Google Scholar]
  43. Aydeger, A.; Akkaya, K.; Uluagac, A.S. SDN-based resilience for smart grid communications. In Proceedings of the IEEE Conference on Network Function Virtualization and Software Defined Network (NFV-SDN), San Francisco, CA, USA, 18–21 November 2015; pp. 31–33. [Google Scholar]
  44. Zhang, X.; Wei, K.; Guo, L.; Hou, W.; Wu, J. SDN-based resilience solutions for smart grids. In Proceedings of the International Conference on Software Networking (ICSN), Jeju Island, Korea, 23–26 May 2016; pp. 1–5. [Google Scholar]
  45. Aydeger, A.; Akkaya, K.; Cintuglu, M.H.; Uluagac, A.S.; Mohammed, O. Software defined networking for resilient communications in smart grid active distribution networks. In Proceedings of the IEEE International Conference on Communications (ICC), Kuala Lumpur, Malaysia, 23–27 May 2016; pp. 1–6. [Google Scholar]
  46. Ren, L.; Qin, Y.; Wang, B.; Zhang, P.; Luh, P.B.; Jin, R. Enabling resilient microgrid through programmable network. IEEE Trans. Smart Grid 2017, 8, 2826–2836. [Google Scholar] [CrossRef]
  47. Al-Rubaye, S.; Kadhum, E.; Ni, Q.; Anpalagan, A. Industrial internet of things driven by SDN platform for smart grid resiliency. IEEE Internet Things J. 2019, 6, 267–277. [Google Scholar] [CrossRef]
  48. Da Silva, E.G.; da Silva, A.S.; Wickboldt, J.A.; Smith, P.; Granville, L.Z.; Schaeffer-Filho, A. A One-Class NIDS for SDN-Based SCADA Systems. In Proceedings of the IEEE 40th Annual Computer Software and Applications Conference (COMPSAC), Atlanta, GA, USA, 10–14 June 2016; pp. 303–312. [Google Scholar]
  49. Ghosh, U.; Chatterjee, P.; Shetty, S. A Security Framework for SDN-Enabled Smart Power Grids. In Proceedings of the IEEE 37th International Conference on Distributed Computing Systems Workshops (ICDCSW), Atlanta, GA, USA, 5–8 June 2017; pp. 113–118. [Google Scholar]
  50. Dargahi, T.; Caponi, A.; Ambrosin, M.; Bianchi, G.; Conti, M. A survey on the security of stateful SDN data planes. IEEE Commun. Surv. Tutor. 2017, 19, 1701–1725. [Google Scholar] [CrossRef]
  51. Kreutz, D.; Ramos, F.M.; Verissimo, P.; Rothenberg, C.E.; Azodolmolky, S.; Uhlig, S. Software-defined networking: A comprehensive survey. Proc. IEEE 2015, 103, 14–76. [Google Scholar] [CrossRef]
  52. Li, H.; Li, P.; Guo, S.; Nayak, A. Byzantine-resilient secure software-defined networks with multiple controllers in cloud. IEEE Trans. Cloud Comput. 2014, 2, 436–447. [Google Scholar] [CrossRef]
  53. Mohan, P.M.; Truong-Huu, T.; Gurusamy, M. Primary-backup controller mapping for Byzantine fault tolerance in software defined networks. In Proceedings of the IEEE Global Communications Conference (GLOBECOM 2017), Singapore, Singapore, 4–8 December 2017; pp. 1–7. [Google Scholar]
  54. Sridharan, V.; Gurusamy, M. Game-Theoretic Approach to Malicious Controller Detection in Software Defined Networks. In Proceedings of the IEEE International Conference on Communications (ICC), Kansas City, KS, USA, 20–24 May 2018; pp. 1–6. [Google Scholar]
  55. What is OpenFlow? Definition and How it Relates to SDN. Available online: https://www.sdxcentral.com/sdn/definitions/what-is-openflow/ (accessed on 31 December 2018).
  56. Pavel Cheremushkin, S.T. OPC UA Security Analysis. 2018. Available online: https://securelist.com/opc-ua-security-analysis/85424/ (accessed on 7 April 2019).
  57. Dreier, J.; Puys, M.; Potet, M.L.; Lafourcade, P.; Roch, J.L. Formally verifying flow integrity properties in industrial systems. In Proceedings of the 14th International Conference on Security and Cryptography (SECRYPT 2017), Madrid, Spain, 24–26 July 2017; p. 12. [Google Scholar]
  58. Puys, M.; Potet, M.L.; Lafourcade, P. Formal analysis of security properties on the OPC-UA SCADA protocol. In Proceedings of the International Conference on Computer Safety, Reliability, and Security, Trondheim, Norway, 20–23 September 2016; pp. 67–75. [Google Scholar]
  59. Amoah, R. Formal Security Analysis of the DNP3-Secure Authentication Protocol. Ph.D. Thesis, Queensland University of Technology, Brisbane, Australia, 2016. [Google Scholar]
  60. Barandiaran, I. The random subspace method for constructing decision forests. IEEE Trans. Pattern Anal. Mach. Intell. 1998, 20, 1–22. [Google Scholar]
  61. Bryll, R.; Gutierrez-Osuna, R.; Quek, F. Attribute bagging: Improving accuracy of classifier ensembles by using random feature subsets. Pattern Recognit. 2003, 36, 1291–1302. [Google Scholar] [CrossRef]
  62. Tao, D.; Tang, X.; Li, X.; Wu, X. Asymmetric bagging and random subspace for support vector machines-based relevance feedback in image retrieval. IEEE Trans. Pattern Anal. Mach. Intell. 2006, 28, 1088–1099. [Google Scholar] [PubMed]
  63. Bertoni, A.; Folgieri, R.; Valentini, G. Bio-molecular cancer prediction with random subspace ensembles of support vector machines. Neurocomputing 2005, 63, 535–539. [Google Scholar] [CrossRef]
  64. Skurichina, M.; Duin, R.P. Bagging, boosting and the random subspace method for linear classifiers. Pattern Anal. Appl. 2002, 5, 121–135. [Google Scholar] [CrossRef]
  65. Hosseini, M.P.; Hajisami, A.; Pompili, D. Real-time epileptic seizure detection from EEG signals via random subspace ensemble learning. In Proceedings of the IEEE International Conference on Autonomic Computing (ICAC), Wuerzburg, Germany, 17–22 July 2016; pp. 209–218. [Google Scholar]
  66. Witten, I.; Frank, E. Data Mining Software in Java. Available online: http://www.cs.waikato.ac.nz/ml/weka (accessed on 15 December 2018).
  67. Openstack. Available online: https://www.openstack.org/ (accessed on 31 December 2018).
  68. MultiChain. Available online: https://www.multichain.com/ (accessed on 31 December 2018).
  69. Bitcoin Core. Available online: https://bitcoin.org/en/bitcoin-core/ (accessed on 31 December 2018).
  70. JSON-RPC 2.0 Specification. Available online: https://www.jsonrpc.org/specification (accessed on 31 December 2018).
  71. Onos. Available online: https://www.opennetworking.org/onos/ (accessed on 31 December 2018).
  72. Mininet. Available online: http://mininet.org/ (accessed on 31 December 2018).
  73. Mattos, D.M.F.; Duarte, O.C.M.B. AuthFlow: Authentication and access control mechanism for software defined networking. Ann. Telecommun. 2016, 71, 607–615. [Google Scholar] [CrossRef]
  74. Average Time to Mine a Block in Minutes. Available online: https://data.bitcoinity.org/bitcoin/block_time/5y?f=m10&t=l (accessed on 4 June 2019).

Article Metrics

Citations

Article Access Statistics

Multiple requests from the same IP address are counted as one view.