| Literature DB >> 31311136 |
Abdelouahid Derhab1, Mohamed Guerroumi2, Abdu Gumaei3, Leandros Maglaras4, Mohamed Amine Ferrag5, Mithun Mukherjee6, Farrukh Aslam Khan7.
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.Entities:
Keywords: SCADA; blockchain; distributed control system; industrial IoT; industrial control system; intrusion detection system; random subspace learning; security; software-defined network
Year: 2019 PMID: 31311136 PMCID: PMC6679272 DOI: 10.3390/s19143119
Source DB: PubMed Journal: Sensors (Basel) ISSN: 1424-8220 Impact factor: 3.576
Figure 1Typical architecture of industrial control systems (ICS) over Wide-Area Network (WAN).
Figure 2Software-defined networking (SDN)-based ICS architecture.
Figure 3Security architecture for SDN-based ICS.
Figure 4Random Subspace Learning process: training and testing.
Figure 5Flowchart execution of blockchain-based integrity checking system (BICS).
Figure 6Case study: industrial control power system ([16]).
Distribution of datasets.
| Parameter | Value |
|---|---|
| Sub-dataset 1 | 4966 |
| Sub-dataset 2 | 5096 |
| Sub-dataset 3 | 5415 |
| Sub-dataset 4 | 5202 |
| Sub-dataset 5 | 5161 |
| Sub-dataset 6 | 4967 |
| Sub-dataset 7 | 5236 |
| Sub-dataset 8 | 5315 |
| Sub-dataset 9 | 5340 |
| Sub-dataset 10 | 5569 |
| Sub-dataset 11 | 5251 |
| Sub-dataset 12 | 5224 |
| Sub-dataset 13 | 5271 |
| Sub-dataset 14 | 5115 |
| Sub-dataset 15 | 5276 |
Parameters Settings of RSL method.
| Parameter | Value |
|---|---|
| Batch Size | 100 |
| number Iterations | 5, 15, 20 |
| Seed | 1 |
| Subspace Size | 0.5 |
| Similarity function | Euclidean distance |
Figure 7Implementation components of BICS.
Accuracy results under binary classification.
| Dataset | LSVM | BN | NB-K | KNN | AdaBoostM1 | Bagging | DT | RF |
|---|---|---|---|---|---|---|---|---|
| Sub-dataset 1 | 78.27% | 73.42% | 71.93% | 94.38% | 93.60% | 92.87% | 92.65% | 95.53% |
| Sub-dataset 3 | 71.39% | 75.55% | 68.50% | 94.40% | 92.95% | 91.86% | 92.41% | 94.92% |
| Sub-dataset 5 | 71.61% | 73.86% | 71.13% | 95.16% | 93.41% | 91.65% | 92.81% | 95.47% |
| Sub-dataset 7 | 69.46% | 71.80% | 58.88% | 93.50% | 91.87% | 89.98% | 88.60% | 93.33% |
| Sub-dataset 9 | 69.46% | 71.80% | 58.88% | 93.50% | 91.87% | 89.98% | 88.60% | 93.33% |
| Sub-dataset 10 | 70.86% | 77.93% | 71.23% | 94.65% | 92.78% | 91.76% | 92.93% | 95.44% |
| Sub-dataset 13 | 77.94% | 75.34% | 75.74% | 95.49% | 94.10% | 92.20% | 92.91% | 95.96% |
| Sub-dataset 15 | 64.69% | 73.16% | 68.33% | 93.33% | 92.53% | 91.41% | 90.35% | 94.81% |
Accuracy results under multi-class classification.
| Dataset | LSVM | BN | NB-K | KNN | AdaBoostM1 | Bagging | DT | RF |
|---|---|---|---|---|---|---|---|---|
| Sub-dataset 1 | 27.51% | 71.65% | 16.17% | 86.25% | 25.29% | 79.56% | 9.01% | 79.21% |
| Sub-dataset 3 | 28.99% | 73.11% | 18.76% | 87.66% | 22.53% | 77.40% | 8.46% | 77.51% |
| Sub-dataset 5 | 27.17% | 74.64% | 19.71% | 87.04% | 21.00% | 79.15% | 9.01% | 78.78% |
| Sub-dataset 7 | 29.79% | 73.70% | 14.32% | 86.90% | 20.61% | 78.61% | 74.57% | 77.85% |
| Sub-dataset 9 | 30.36% | 70.21% | 18.61% | 85.86% | 25.02% | 74.23% | 25.60% | 74.08% |
| Sub-dataset 10 | 23.56% | 73.30% | 17.01% | 87.59% | 19.38% | 79.24% | 24.74% | 78.54% |
| Sub-dataset 13 | 27.43% | 72.89% | 13.79% | 87.00% | 19.35% | 75.79% | 82.60% | 78.62% |
| Sub-dataset 15 | 27.54% | 73.88% | 19.45% | 87.06% | 29.44% | 72.37% | 83.19% | 73.29% |
Accuracy results of Random Subspace Learning-based K-Nearest Neighbor (RSL-KNN) under binary classification.
| Dataset | 5 | 15 | 20 |
|---|---|---|---|
| Sub-dataset 1 | 95.7108% | 95.8921% | 95.8719% |
| Sub-dataset 2 | 95.0483% | 95.2456% | 95.1272% |
| Sub-dataset 3 | 95.7341% | 95.9926% | 95.9187% |
| Sub-dataset 4 | 95.0980% | 95.1749% | 95.1749% |
| Sub-dataset 5 | 96.2798% | 96.3767% | 96.5511% |
| Sub-dataset 6 | 95.0473% | 95.7318% | 95.7318% |
| Sub-dataset 7 | 94.9007% | 95.3209% | 95.2636% |
| Sub-dataset 8 | 95.0517% | 95.3904% | 95.5974% |
| Sub-dataset 9 | 94.7753% | 95.1685% | 95.1685% |
| Sub-dataset 10 | 95.5827% | 96.0855% | 96.1393% |
| Sub-dataset 11 | 95.7913% | 95.9246% | 95.7722% |
| Sub-dataset 12 | 95.5781% | 95.7695% | 95.9418% |
| Sub-dataset 13 | 96.2626% | 96.7179% | 96.7369% |
| Sub-dataset 14 | 95.3275% | 95.4839% | 95.4839% |
| Sub-dataset 15 | 94.8635% | 95.0152% | 95.1099% |
Accuracy results of RSL-KNN under multi-class classification.
| Dataset | 5 | 15 | 20 |
|---|---|---|---|
| Sub-dataset 1 | 89.3274% | 89.7704% | 89.9919% |
| Sub-dataset 2 | 88.3212% | 88.9130 % | 89.1300% |
| Sub-dataset 3 | 90.2678% | 90.5817% | 90.7295% |
| Sub-dataset 4 | 89.2349% | 89.3118% | 89.7924% |
| Sub-dataset 5 | 89.9632% | 90.2538% | 90.2151% |
| Sub-dataset 6 | 89.7725% | 90.6986% | 90.7389% |
| Sub-dataset 7 | 89.5913% | 89.6677% | 89.8778% |
| Sub-dataset 8 | 89.8024% | 90.5550 % | 90.6115% |
| Sub-dataset 9 | 88.6891% | 88.9139% | 88.8015% |
| Sub-dataset 10 | 90.1239% | 90.7883% | 90.5189% |
| Sub-dataset 11 | 89.6210% | 90.2495% | 90.3828% |
| Sub-dataset 12 | 90.1417% | 91.0796% | 91.0605% |
| Sub-dataset 13 | 90.1347% | 90.5141% | 90.4003% |
| Sub-dataset 14 | 88.6413% | 89.1300% | 89.4233% |
| Sub-dataset 15 | 89.2911% | 89.9545% | 90.0872% |
False positive rate of RSL-KNN under binary and multi-class classification.
| Binary-Class Classification | Multi-Class Classification | |||||
|---|---|---|---|---|---|---|
| Dataset | 5 | 15 | 20 | 5 | 15 | 20 |
| Sub-dataset 1 | 8.4% | 8.3% | 8.5% | 0.4% | 0.3% | 0.3% |
| Sub-dataset 2 | 7.2% | 7.0% | 7.0% | 0.4% | 0.4% | 0.3% |
| Sub-dataset 3 | 6.3% | 6.3% | 6.3% | 0.3% | 0.3% | 0.3% |
| Sub-dataset 4 | 6.4% | 6.4% | 6.4% | 0.4% | 0.4% | 0.4% |
| Sub-dataset 5 | 5.7% | 5.8% | 5.6% | 0.3% | 0.3% | 0.3% |
| Sub-dataset 6 | 7.1% | 6.3% | 6.1% | 0.3% | 0.3% | 0.3% |
| Sub-dataset 7 | 8.5% | 8.4% | 8.3% | 0.3% | 0.3% | 0.3% |
| Sub-dataset 8 | 7.4% | 7.1% | 6.7% | 0.3% | 0.3% | 0.3% |
| Sub-dataset 9 | 6.9% | 6.6% | 6.6% | 0.4% | 0.4% | 0.4% |
| Sub-dataset 10 | 6.4% | 5.5% | 5.5% | 0.4% | 0.3% | 0.4% |
| Sub-dataset 11 | 7.9% | 7.8% | 8.0% | 0.3% | 0.3% | 0.3% |
| Sub-dataset 12 | 5.6% | 6.7% | 5.3% | 0.3% | 0.3% | 0.3% |
| Sub-dataset 13 | 7.7% | 7.2% | 7.0% | 0.4% | 0.4% | 0.4% |
| Sub-dataset 14 | 7.7% | 7.5% | 7.4% | 0.4% | 0.4% | 0.4% |
| Sub-dataset 15 | 6.2% | 6.1% | 5.8% | 0.4% | 0.3% | 0.3% |
Efficiency results of RSL-KNN and KNN.
| Classifier Model | Training Time on 3738 Instances | Testing Time on 1602 Instances | Task |
|---|---|---|---|
| KNN | 0.01 | 0.88 | Binary class classification |
| 0.01 | 6.45 | Multi-class classification | |
| RSL-KNN | 0.05 | 3.64 | Binary class classification |
| 0.05 | 15.04 | Multi-class classification |
Detection performance of BICS.
| Number of Injected Rules | Detection Time (s) | Detection Rate (%) |
|---|---|---|
| 10 | 2.40 | 100% |
| 50 | 2.43 | 100% |
| 100 | 2.44 | 100% |
| 200 | 2.45 | 100% |
| 500 | 2.54 | 100% |
| 750 | 2.57 | 100% |
| 1000 | 2.64 | 100% |
| 1500 | 2.70 | 100% |
| 2000 | 2.83 | 100% |
Execution time overhead of BICS.
| Number of vSwitches | BCT (s) | LRT (s) | RRT (s) | PT (s) | ETO (s) |
|---|---|---|---|---|---|
| 10 | 0.248 | 2.339 | 0.143 | 0.003 | 2.485 |
| 20 | 0.336 | 2.592 | 0.176 | 0.008 | 2.77 |
| 30 | 0.194 | 2.876 | 0.202 | 0.018 | 3.097 |
| 40 | 0.190 | 3.059 | 0.146 | 0.028 | 3.233 |
| 50 | 0.228 | 3.555 | 0.160 | 0.043 | 3.759 |
| 60 | 0.311 | 3.721 | 0.169 | 0.064 | 3.954 |
| 70 | 0.324 | 4.246 | 0.170 | 0.105 | 4.522 |
| 80 | 0.333 | 4.544 | 0.155 | 0.154 | 4.854 |
| 90 | 0.412 | 5.400 | 0.228 | 0.146 | 5.774 |
| 100 | 0.443 | 5.724 | 0.238 | 0.191 | 6.154 |