Automatic Hybrid Attack Graph (AHAG) Generation for Complex Engineering Systems †
Abstract
:1. Introduction
1.1. Related Work
2. Model-Based Attack Graph Implementation
2.1. Networked Systems Examples
2.2. Formal System Description for Networked Examples
- Set of Routers R = 1, 2, 3, IP Cloud; Variable I ∈ {1, 2, 3, 4} (static parameters).
- Set of LANs N = 1, 2, 3, 4; Variable k ∈ {1, 2, 3, 4} (static parameters).
- Set of Service Providers S; Variable s ∈ {Ftp, Email, Video} (static parameters).
- Set of Connection Links L ⊆ R × R, R × N, R × S; Labeled lij ≡ Link is placed between component i and component j (static parameters).
- System Connectivity C = L; Boolean cij = 1 if there is a connection between component i and component j (dynamic variables).
- System Stability T; Boolean t = 1 if system is stable (dynamic variable).
- System Performance P ⊆ S; Boolean fk = 1 if ftp service is provided to LAN k, Boolean ek = 1 if Email service is provided on LAN k and Boolean vk = 1 if Video service is provided on LAN k (dynamic variables).
- System recovery Action R; Variable r ∈ {p, a, d}, in case of normal operation r = p, in case of recovery action r = a, and in case of no action can be done, r = d (dynamic variables).
- Number of faulted Links that occur sequentially N; Variable n ∈ {0, 1, 2}, in case of no fault n = 0, in case of first fault n = 1, and in case of second fault n = 2 (dynamic variables).
- Attack Instance AI ⊆ A × R × R, A × R × N, A × R × S, Labeled aijm ≡ Attack a on the Link between component i and component j, where m ⊆ L is a sequence of the previous faulted link(s) if exists. (static parameters)
- Pre-Attack conditions for CN1:
- Pre(a13) ≡ (c13 = 1) ∧ (t = 1) ∧ (r = p) ∧ (n = 0)
- Pre(a12) ≡ (c12 = 1) ∧ (t = 1) ∧ (r = p) ∧ (n = 0)
- Pre(a23) ≡ (c23 = 1) ∧ (t = 1) ∧ (r = p) ∧ (n = 0)
- Pre(a2313) ≡ (c23 =1) ∧ (r = a) ∧ (n = 1)
- Pre(a2312) ≡ (c23 =1) ∧ (r = p) ∧ (n = 1)
- Pre(a1323) ≡ (c13 =1) ∧ (r = a) ∧ (n = 1)
- Pre(a1312) ≡ (c13 =1) ∧ (r = p) ∧ (n = 1)
- Pre(a1213) ≡ (c12 =1) ∧ (r = a) ∧ (n = 1)
- Pre(a1223) ≡ (c12 =1) ∧ (r = a) ∧ (n = 1).
- Post-Attack conditions for CN1:
- Post(a13) ≡ (c13 = 0) ∧ (r = a) ∧ (n = 1)
- Post(a12) ≡ (c12 = 0) ∧ (r = p) ∧ (n = 1)
- Post(a23) ≡ (c23 = 0) ∧ (r = a) ∧ (n = 1)
- Post(a2313) ≡ (t = 0) ∧ (c23 = 0) ∧ (f1 = f2 = f3 = f4 = e1 = e3 = e4 = v2 = v3 = 0) ∧ (r = d) ∧ (n = 2)
- Post(a2312) ≡ (t = 0) ∧ (c23 = 0) ∧ (f4 = e4 = 0) ∧ (r = d) ∧ (n = 2)
- Post(a1323) ≡ (t = 0) ∧ (c13 = 0) ∧ (f1 = f2 = f3 = f4 = e1 = e3 = e4 = v2 = v3 = 0) ∧ (r = d) ∧ (n = 2)
- Post(a1312) ≡ (t = 0) ∧ (c13 = 0) ∧ (f1 = f2 = f3 = e1 = e3 = v2 = v3 =0) ∧ (r = d) ∧ (n = 2)
- Post(a1213) ≡ (t = 0) ∧ (c12 = 0) ∧ (f1 = f2 = f3 = e1 = e3 = v2 = v3 = 0) ∧ (r = d) ∧ (n = 2)
- Post(a1223) ≡ (t = 0) ∧ (c12 = 0) ∧ (f4 = e4= 0) ∧ (r = d) ∧ (n = 2)
- Pre-Attack conditions for CN2:
- Pre(a13) ≡ (c13 = 1) ∧ (t = 1) ∧ (r = p) ∧ (n = 0)
- Pre(a12) ≡ (c12 = 1) ∧ (t = 1) ∧ (r = p) ∧ (n = 0)
- Pre(a23) ≡ (c23 = 1) ∧ (t = 1) ∧ (r = p) ∧ (n = 0)
- Pre(a2313) ≡ (c23 =1) ∧ (r = a) ∧ (n = 1)
- Pre(a2312) ≡ (c23 =1) ∧ (r = p) ∧ (n = 1)
- Pre(a1323) ≡ (c13 =1) ∧ (r = a) ∧ (n = 1)
- Pre(a1312) ≡ (c13 =1) ∧ (r = p) ∧ (n = 1)
- Pre(a1213) ≡ (c12 =1) ∧ (r = a) ∧ (n = 1)
- Pre(a1223) ≡ (c12 =1) ∧ (r = a) ∧ (n = 1).
- Post-Attack conditions for CN2:
- Post(a13) ≡ (c13 = 0) ∧ (r = a) ∧ (n = 1)
- Post(a12) ≡ (c12 = 0) ∧ (r = p) ∧ (n = 1)
- Post(a23) ≡ (c23 = 0) ∧ (r = a) ∧ (n = 1)
- Post(a2313) ≡ (t = 0) ∧ (c23 = 0) ∧ (f2 = f3 = f4= e3 = e4 = v2 = v3 = 0) ∧ (r = d) ∧ (n = 2)
- Post(a2312) ≡ (t = 0) ∧ (c23 = 0) ∧ (f4 = e4 = 0) ∧ (r = d) ∧ (n = 2)
- Post(a1323) ≡ (t = 0) ∧ (c13 = 0) ∧ (f2 = f3 = f4= e3 = e4 = v2 = v3= 0) ∧ (r = d) ∧ (n = 2)
- Post(a1312) ≡ (t = 0) ∧ (c13 = 0) ∧ (f2 = f3 = e3 = v2 = v3 = 0) ∧ (r = d) ∧ (n = 2)
- Post(a1213) ≡ (t = 0) ∧ (c12 = 0) ∧ (f2 = f3 = e3 = v2 = v3= 0) ∧ (r = d) ∧ (n = 2)
- Post(a1223) ≡ (t = 0) ∧ (c12 = 0) ∧ (f4 = e4 = 0) ∧ (r = d) ∧ (n = 2)
- Initial state: (t =1) ∧ (c23 = c12 = c13 = 1) ∧ (f1 = f2 = f3 = f4 = e1 = e3 = e4 = v2 = v3 = 1) ∧ (r = p) ∧ (n = 0). (Initially, the system is stable, normally operated, and no service outages).
- The security/resiliency property φ is that both CN1 and CN2 are always stable under the given attacks/faults. This can then be written by a CTL formula: φ ≡ AG(t = 1) ≡ AG(¬ (t = 0)).
2.3. Attack Scenarios Implementation
3. Level-of-Resilience Assessment
∨ [[LoSR(M, Si) = LoSR(M, S − Si)
∧ [LoPR(M, Si) >LoPR(M, S − Si)]]
∨ [[LoSR(M, Si) = LoSR(M, S − Si)]
∧ [LoPR(M, Si) = LoPR(M, S − Si)]
∧ [RT(M, Si) > RT(M, S − Si)]]
∨ [[LoSR(Mi, Si) = LoSR(M − Mi, Si)]
∧ [LoPR(Mi, Si) < LoPR(M − Mi, Si)]]
∨ [[LoSR(Mi, Si) = LoSR(M − Mi, Si)]
∧ [LoPR(Mi, Si) = LoPR(M − Mi, Si)]
∧ [RT(Mi, Si) < RT(M − Mi, Si)]].
4. Hybrid Attack Graph (HAG)
Algorithm 1 Alerting Worst-Case Attack Scenario |
INPUT: Attack graph (AG) Comprising Attack Scenarios () and associated LoR values OUTPUT: Alert Worst Case S[i] Procedure: for Case [LoSR, LoPR, RT] if S[i]{LoSR} > SS[i] {LoSR}: Alert Worst Case S[i] else if S[i] {LoPR, Ftp} > SS[i] {LoPR, Ftp} Alert Worst Case S[i] else if S[i]{LoPR, Video} > SS[i] {LoPR, Video} Alert Worst Case S[i] else if S[i]{LoPR, Email} > SS[i]{LoPR, Email} Alert Worst Case S[i] else if S[i]{RT} > SS[i] {RT}: Alert Worst Case S[i] else no Alert |
5. Automatic Hybrid Attack Graph (AHAG) Tool
Algorithm 2 AHAG |
INPUT: System Model (Luster 0.lus), Attack instances A[ ], maximum length (n) OUTPUT: All attack scenario in (.csv) Procedure: insert attack instances in the Single-Dimensional Array (A) set maximum length (n) loop 1: CE_1 = possible combination from A[ ] of length n New Lustre = do new (.lus) copy (Lustre 0.lus) New Lustre = New Lustre + CE_1 goto loop 1 loop 2: call JKIND through cmd New Lustre.xlsx= do result in (.xlsx) format loop 3: New Lustre.csv = replace (New Lustre.xlsx) format to (.csv) format goto loop 3 goto loop 2 loop 4: if New Lustre.csv contains CE_1 = False delete (New Lustre.csv) goto loop 4 generate violating attack scenarios |
6. Conclusions
Author Contributions
Funding
Conflicts of Interest
References
- Gao, Z.; Nguang, S.K.; Kong, D.X. Advances in Modelling, monitoring, and control for complex industrial systems. Complexity 2019, 2019, 2975083. [Google Scholar] [CrossRef]
- Aslam, M.; Bantan, R.A.R.; Khan, N. Monitoring the Process Based on Belief Statistic for Neutrosophic Gamma Distributed Product. Processes 2019, 7, 209. [Google Scholar] [CrossRef]
- Rodríguez-Miranda, E.; Beschi, M.; Guzmán, J.L.; Berenguel, M.; Visioli, A. Daytime/Nighttime Event-Based PI Control for the pH of a Microalgae Raceway Reactor. Processes 2019, 7, 247. [Google Scholar] [CrossRef]
- Zhao, S.; Maxim, A.; Liu, S.; De Keyser, R.; Ionescu, C.M. Distributed Model Predictive Control of Steam/Water Loop in Large Scale Ships. Processes 2019, 7, 442. [Google Scholar] [CrossRef]
- Jiang, Y.; Jin, X.; Wang, H.; Fu, Y.; Ge, W.; Yang, B.; Yu, T. Optimal Nonlinear Adaptive Control for Voltage Source Converters via Memetic Salp Swarm Algorithm: Design and Hardware Implementation. Processes 2019, 7, 490. [Google Scholar] [CrossRef]
- Xu, S.; Hashimoto, S.; Jiang, W. Pole-Zero Cancellation Method for Multi Input Multi Output (MIMO) Temperature Control in Heating Process System. Processes 2019, 7, 497. [Google Scholar] [CrossRef]
- Xu, S.; Hashimoto, S.; Jiang, W.; Jiang, Y.; Izaki, K.; Kihara, T.; Ikeda, R. Slow Mode-Based Control Method for Multi-Point Temperature Control System. Processes 2019, 7, 533. [Google Scholar] [CrossRef]
- Hu, B.; Yang, J.; Li, J.; Li, S.; Bai, H. Intelligent Control Strategy for Transient Response of a Variable Geometry Turbocharger System Based on Deep Reinforcement Learning. Processes 2019, 7, 601. [Google Scholar] [CrossRef]
- Pulido, B.; Zamarreño, J.M.; Merino, A.; Bregon, A. State space neural networks and model-decomposition methods for fault diagnosis of complex industrial systems. Eng. Appl. Artif. Intell. 2019, 79, 67–86. [Google Scholar] [CrossRef]
- Zhao, C.; Sun, H.; Tian, F. Total Variable Decomposition Based on Sparse Cointegration Analysis for Distributed Monitoring of Nonstationary Industrial Processes. IEEE Trans. Control Syst. Technol. 2019, 1–8. [Google Scholar] [CrossRef]
- Han, T.; Liu, C.; Yang, W.; Jiang, D. Deep transfer network with joint distribution adaptation: A new intelligent fault diagnosis framework for industry application. ISA Trans. 2019, in press. [Google Scholar] [CrossRef] [PubMed]
- Gao, Z.; Cecati, C.; Ding, S.X. A Survey of Fault Diagnosis and Fault-Tolerant Techniques Part II: Fault Diagnosis with Knowledge-Based and Hybrid/Active Approaches. IEEE Trans. Ind. Electron. 2015, 62, 1. [Google Scholar] [CrossRef]
- Ji, K.; Lu, Y.; Liao, L.; Song, Z.; Wei, D. Prognostics Enabled Resilient Control for Model-based Building Automation Systems. In Proceedings of the 12th Conference of International Building Performance Simulation Association, Sydney, Australia, 14–16 November 2011. [Google Scholar]
- Rieger, C.G.; Gertman, D.I.; McQueen, M.A. Resilient Control Systems: Next Generation Design Research. In Proceedings of the 2nd IEEE Conference on Human System Interaction, Catania, Italy, 21–23 May 2009; Volume 9, pp. 632–636. [Google Scholar]
- Ibrahim, M. A resiliency measure for communication networks. In Proceedings of the 8th International Conference on Information Technology (ICIT), Amman, Jordan, 17–18 May 2017; pp. 151–156. [Google Scholar]
- SEI. Architecture Analysis and Design Language; SEI: Pittsburgh, PA, USA, 2004; Available online: http://standards.sae.org/as5506/ (accessed on 29 October 2019).
- Rockwell-Collins; University of Minnesota. The Assume Guarantee Reasoning Environment. 2016. Available online: http://loonwerks.com/tools/agree.html (accessed on 29 October 2019).
- Sheeran, M.; Singh, S.; Stålmarck, G. Checking Safety Properties Using Induction and a SAT-Solver. In Proceedings of the Computer Vision—ECCV 2012; Austin, TX, USA, 1–3 November 2000; Springer Science and Business Media LLC: Berlin, Germany, 2000; Volume 1954, pp. 127–144. [Google Scholar]
- Download Unity, Unity3d. Available online: https://unity3d.com/get-unity/download (accessed on 29 October 2019).
- Ibrahim, M.; Alsheikh, A. Assessing Level of Resilience Using Attack Graphs. In Proceedings of the 10th International Conference on Electronics, Computers and Artificial Intelligence (ECAI), Iasi, Romania, 28–30 June 2018; pp. 1–6. [Google Scholar]
- Sheyner, O.; Wing, J. Tools for generating and analyzing attack graphs. In Proceedings of the International Symposium on Formal Methods for Components and Objects; Leiden, Germany, 4–7 November 2003, Springer: Berlin, Germany, 2003. [Google Scholar]
- Ou, X.; Anoop, S. Attack graph techniques. In Quantitative Security Risk Assessment of Enterprise Networks; Springer: New York, NY, USA, 2012; pp. 5–8. [Google Scholar]
- Jajodia, S.; Noel, S.; Kalapa, P.; Albanese, M.; Williams, J. Cauldron mission-centric cyber situational awareness with defense in depth. In Proceedings of the 2011—MILCOM 2011 Military Communications Conference, Baltimore, MD, USA, 7–10 November 2011. [Google Scholar]
- Martın, B.; Lupu, E.C. Naggen: A Network Attack Graph Generation Tool. In Proceedings of the IEEE Conference on Communications and Network Security, Las Vegas, NV, USA, 9–11 October 2017. [Google Scholar]
- Ou, X.; Boyer, W.F.; McQueen, M.A. A scalable approach to attack graph generation. In Proceedings of the 13th ACM Conference on Computer and Communications Security, Alexandria, VA, USA, 30 October–3 November 2006; p. 336. [Google Scholar]
- Somesh, J.; Sheyner, O.; Wing, J. Two formal analyses of attack graphs. In Proceedings of the 15th IEEE Computer Security Foundations Workshop (CSFW-15), Cape Breton, NS, Canada, 24–26 June 2002. [Google Scholar]
- Al Ghazo, A.T.; Ibrahim, M.; Ren, H.; Kumar, R. A2G2V: Automatic Attack Graph Generation and Visualization and Its Applications to Computer and SCADA Networks. IEEE Trans. Syst. Man Cybern. Syst. 2019, 1–11. [Google Scholar] [CrossRef]
- Wang, S.; Zhang, Z.; Kadobayashi, Y. Exploring attack graph for cost-benefit security hardening: A probabilistic approach. Comput. Secur. 2013, 32, 158–169. [Google Scholar] [CrossRef]
- Huan, W. A Vulnerability Assessment Method in Industrial Internet of Things Based on Attack Graph and Maximum Flow. IEEE Access 2018, 6, 8599–8609. [Google Scholar]
- Shandilya, V.; Simmons, C.B.; Shiva, S. Use of Attack Graphs in Security Systems. J. Comput. Netw. Commun. 2014, 2014, 1–13. [Google Scholar] [CrossRef] [Green Version]
- Lippmann, R.P.; Ingols, K.W. An Annotated Review of Past Papers on Attack Graphs; Project Report IA-1; Massachusetts Institute of Technology, Lincoln Laboratory: Lexington, MA, USA, 2005. [Google Scholar]
- Louthan, G.; Michael, H.; Phoebe, H.; Peter, H.; John, H. Hybrid extensions for stateful attack graphs. In Proceedings of the 9th Annual Cyber and Information Security Research Conference, Oak Ridge, TN, USA, 8–10 April 2014; p. 101. [Google Scholar]
- Louthan, G.; Phoebe, H.; Peter, H.; John, H. Toward hybrid attack dependency graphs. In Proceedings of the 7th Annual Workshop on Cyber Security and Information Intelligence Research, Oak Ridge, TN, USA, 12–14 October 2011. [Google Scholar]
- Hawrylak, P.J.; Haney, M.; Papa, M.; Hale, J. Using hybrid attack graphs to model cyber-physical attacks in the Smart Grid. In Proceedings of the 5th International Symposium on Resilient Control Systems (ISRCS), Salt Lake City, UT, USA, 14–16 August 2012; pp. 161–164. [Google Scholar]
- Nichols, W.; Hawrylak, P.; Hale, J.; Papa, M. Introducing priority into hybrid attack graphs. In Proceedings of the 12th Annual Conference on Cyber and Information Security Research, Oak Ridge, TN, USA, 4–6 April 2017. [Google Scholar]
- Chen, Y.-C.; Gieseking, T.; Campbell, D.; Mooney, V.; Grijalva, S. A Hybrid Attack Model for Cyber-Physical Security Assessment in Electricity Grid. In Proceedings of the 2019 IEEE Texas Power and Energy Conference (TPEC), College Station, TX, USA, 7–8 February 2019; pp. 1–6. [Google Scholar]
- C. N. Academy. Routing Protocols and Concepts. Available online: https://www.netacad.com/web/aboutus/ccna-exploration (accessed on 29 October 2019).
- An Infinite-State Model Checker for Safety Properties. Loonwerks. Available online: http://loonwerks.com/tools/jkind.html (accessed on 29 October 2019).
- Halbwachs, N.; Paul, C.; Pascal, R.; Daniel, P. The synchronous data flow programming language LUSTRE. Proc. IEEE 1991, 79, 1305–1320. [Google Scholar] [CrossRef] [Green Version]
- Carnegie-Mellon-University. Open Source AADL Tool Environment for the SAE Architecture. 2018. Available online: http://osate.github.io/index.html (accessed on 29 October 2019).
- Craighead, J.; Burke, J. Using the unity game engine to develop SARGE: A case study. In Proceedings of the 2008 Simulation Workshop at the International Conference on Intelligent Robots and Systems (IROS 2008), Nice, France, 22–26 September 2008. [Google Scholar]
- Àlvarez, C.; Blesa, M.J.; Serna, M. The robustness of stability under link and node failures. Theor. Comput. Sci. 2011, 412, 6855–6878. [Google Scholar] [CrossRef] [Green Version]
- Riverbed Technology Inc. Opnet Modeler. Available online: http://mediacms.riverbed.com/documents/download.html (accessed on 29 October 2019).
- HTML5 Web Development Support. NetBeans. Available online: https://netbeans.org/features/html5/index.html (accessed on 29 October 2019).
- Böck, H. The Definitive Guide to NetBeans™ Platform 7; Apress: New York, NY, USA, 2011. [Google Scholar]
Main Characteristics | Limitations | |
---|---|---|
HAG [32] |
|
|
Hybrid Attack Dependency Graph (HADG) [33] |
|
|
HAG [36] |
|
|
Automatic Hybrid Attack Graph (AHAG) |
|
|
© 2019 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Ibrahim, M.; Alsheikh, A. Automatic Hybrid Attack Graph (AHAG) Generation for Complex Engineering Systems. Processes 2019, 7, 787. https://doi.org/10.3390/pr7110787
Ibrahim M, Alsheikh A. Automatic Hybrid Attack Graph (AHAG) Generation for Complex Engineering Systems. Processes. 2019; 7(11):787. https://doi.org/10.3390/pr7110787
Chicago/Turabian StyleIbrahim, Mariam, and Ahmad Alsheikh. 2019. "Automatic Hybrid Attack Graph (AHAG) Generation for Complex Engineering Systems" Processes 7, no. 11: 787. https://doi.org/10.3390/pr7110787
APA StyleIbrahim, M., & Alsheikh, A. (2019). Automatic Hybrid Attack Graph (AHAG) Generation for Complex Engineering Systems. Processes, 7(11), 787. https://doi.org/10.3390/pr7110787