Paper Link: https://scholar.google.com/citations?view_op=view_citation&hl=ar&user=wJkf_QgAAAAJ&citation_for_view=wJkf_QgAAAAJ:IjCSPb-OGe4C
Paper Tiltle: "GeniGraph: Genetic-based Novel Security Resource Allocation Methods for Interdependent Systems Modeled by Attack Graphs"
We design a resource allocation framework for securing interdependent systems managed by multiple defenders. Our framework models these multi-defender interdependent systems with the notion of attack graphs. We propose three defense scenarios that are derived from the top attack paths that defenders predict, based on their system knowledge, which attackers may consider to launch their attacks.
Furthermore, we propose a defense method with low sensitivity to the number of concurrent attacks, based on a graph-theoretical notion known as the Markov random field. We elucidate the advantages gained from our decision-making framework through its application to ten attack graphs (that includes multiple real-world interdependent systems). In particular, we quantify the level of security improvement under our defense methods compared to three well-known resource allocation algorithms.
We demonstrate that our proposed framework leads to better resource allocations compared to these algorithms in most scenarios. We also conduct various comparisons under different parameter configurations (e.g., number of attacks, and defenders' security budgets) to demonstrate the superiority of our approachβs outcomes. We show that our framework enhances security decision-making under various circumstances.
In our work, we start with cyber attack graph, which serves as the input for our genetic algorithm. This algorithm is designed to produce top-K potential attack paths through a series of steps including path encoding, reproduction, crossover, and mutation. Concurrently, we select a suitable fitness function and calculate the fitness and cost relative difference. The outputs from both these processes lead to the top-K paths. These paths are then utilized in various resource allocation defense scenarios, including the best attack path, attack paths equally-based, and weight-based, and Markov Random Field. Based on the evaluation of these scenarios, we make our investment decisions. Essentially, weβre optimizing investment decisions using a genetic algorithm and an attack graph, where the attack graph represents a complex system or network that the algorithm navigates to find optimal paths for investment from the prospective of defender anticipating the attacker role. The defense scenarios represent different strategies for resource allocation in response to potential risks or βattacksβ on the investment. Our final decision is made based on the evaluation of these scenarios.
-
$F_1(P)= \max_{P \in P_m} \big(\exp\big(-\sum_{(v_i,v_j)\in P} {x_{i,j}}\big)\big).$ -
$F_2(P) = \max_{P \in P_m} \big(\exp\big(-\sum_{(v_i,v_j)\in P} {x_{i,j}}\big) + Wf\sum_{v_m\in P} L_m\big).$ $P$ is the given attack path.$P_m$ is a set of attack paths.$v_i,v_j$ are the nodes in$P$ .$L_m$ is the loss corresponding to node$v_m$ $Wf$ is the weight factor lies in [0,1]
First function cares only about the initial investments of the path
As the number of nodes or edges increases, we notice that the actual run-time remains relatively quick. It doesnβt display a pattern of exponential growth. The lines representing the two fitness functions, rational-πΉ1 and rational-πΉ2, in the figures do not exhibit the sharp curve usually associated with exponential growth. In fact, rational-πΉ1 shows superior performance with a slightly curved line, while rational-πΉ2 is nearly linear. This suggests that the run-time of GeniGraph grows at a rate that is not exponential.
- We propose a resource allocation method for interdependent systems, demonstrating GeniGraphβs impact on system security and quantifying the improvement it brings.
- We offer two versions of GeniGraph to enhance resource allocation decisions under three defense scenarios against various attack models.
- We use a genetic algorithm to generate potential paths from the attackerβs entry node to the target, proposing two fitness functions. The first considers edge weights, while the second also accounts for estimated financial loss.
- We evaluate our defense methods on ten attack graphs and compare the performance of three popular resource allocation methods.
- We implement our framework in Java, using object-oriented programming and reliable libraries for graph-theoretic algorithms.
| System | Multiple Defenders | Interdependent Subnetworks | Analytical Framework | Behavioral Biases | Various Attack Types | Multiple Rounds | Top Attack Paths | Graph Type |
|---|---|---|---|---|---|---|---|---|
| RAID08 [1], MILCOM06 [2] | β | βοΈ | β | β | β | β | β | Directed |
| S&P02 [3], CCS12 [4] | β | β | βοΈ | β | β | β | β | Directed |
| S&P09 [5], EC18 [6], ACSAC12 [7] | β | β | β | βοΈ | β | β | β | Directed |
| ICC17 [8] | β | βοΈ | βοΈ | βοΈ | β | β | β | Directed |
| TCNS20 [9], TCNS18 [10] | βοΈ | βοΈ | βοΈ | βοΈ | β | β | β | Directed |
| Behavioral Defender [11] | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ | β | Directed |
| GeniGraph | βοΈ | βοΈ | βοΈ | β | βοΈ | βοΈ | βοΈ | Bidirectional |
For our assessment, we used ten distinct attack graphs, each symbolizing a different interdependent system and network structure. We divided these datasets into three groups. The first group contains four attack graphs from real-world interconnected systems, namely DER.1, SCADA, E-commerce, and VOIP. Signifies an attack step, and we consider every edge to be bidirectional. The second group consists of two graph typologies, referred to as HG1 and HG2, which were introduced in earlier studies. The third group includes four datasets from a renowned interactive scientific graph data repository, named aves-sparrow-social-2009 (ASC2009), aves-sparrowlyon-flock-season3 (ASFS3), aves-weaver-social-03 (AWS03), and aves-barn-swallow-non-physical (ABSNP). This repository is a network data collection produced by top-tier US niversities.
| System | # Nodes | # Edges | # Critical Assets |
|
Graph Type | run-time |
run-time |
|---|---|---|---|---|---|---|---|
| SCADA [12] | 13 | 20 | 6 | 1 / 13 | Bidirectional | 4921 | 5858 |
| DER.1 [13] | 22 | 32 | 6 | 1 / 22 | Bidirectional | 8780 | 16389 |
| E-Commerce [14] | 20 | 32 | 4 | 1 / 20 | Bidirectional | 10256 | 17902 |
| VOIP [14] | 22 | 35 | 4 | 1 / 22 | Bidirectional | 11810 | 22046 |
| HG1 [15] | 7 | 10 | 2 | 1 / 7 | Bidirectional | 3347 | 4749 |
| HG2 [15] | 15 | 22 | 5 | 1 / 12 | Bidirectional | 5436 | 6560 |
| ABSNP [16] | 17 | 122 | 6 | 1 / 17 | Bidirectional | 8107 | 6811 |
| ASFS3 [16] | 27 | 163 | 9 | 1 / 27 | Bidirectional | 11998 | 27400 |
| ASS2009 [16] | 31 | 211 | 9 | 1 / 31 | Bidirectional | 17404 | 32746 |
| AWS03 [16] | 42 | 152 | 15 | 1 / 42 | Bidirectional | 12218 | 39465 |
Note: all of these datasets are stored in the project directory and is called dynamically so no need to set up their paths.
Now, if you want to apply these approaches to your own datasets (I consider any object that holds retrievable and processable data as a database, including text files), you need to mimic our data format by following these instructions:
- First line in your data should be something like "|V| <--# of nodes, |E| edges" or "|V| <--# of nodes" or "|V|". |V| stands for the number of nodes, and |E| stands for the number of edges or connections.
- From second line till the end, your data should be like
$v_{i1}$ $v_{i2}$ (must be separated by one space) which means$v_{i1}$ has an edge to$v_{i2}$ such that "10 25" which means that node with$id = 10$ is connected to the node with$id = 25$ . Here the initial investment is 1 by default. - To have connections or edges with initial investments with particular weights, your data should be formatted as
$v_{i1}$ $v_{i2}$ $weight$ such that "10 25 2.5" means node with$id = 10$ is connected to node with$id = 25$ with a weight equals to 2.5. - Note any other format will crash the code, and the nodes ids must be integer (i.e., 1, 2, 3, 4, ..., |V|), yet not the case for the weights.
Note: For getting a deeper understanding, go to one of our projects and open one of our datasets and try to mimic its' format to construct yours.
- After constructing your own data, drag and drop it in the projects' folder you want to work with.
- Go to "Attack_Defence_Graph.org" package, then to "Graph" class and modify it according to your needs.
- Then, go to "GraphData" class, then to "getNodeAssetsLossValues()" method and modify it according to your needs.
The following parameters were used: maximum iteration (
The row "Measurements" show the relative difference
- Top-1 attack path
| System | GeniGraph | Min-cut [3] | Equally Distributed [2] | Behavioral Defender [9] | GeniGraph (MRF) |
|---|---|---|---|---|---|
| SCADA | 89.460 / 67.534 | 36.237 / 36.237 | 10.64 / 5.469 | 86.466 / 58.313 | 36.237 / 36.237 |
| DER.1 | 89.460 / 27.488 | 67.534 / 34.931 | 21.815 / 3.454 | 88.268 / 25.330 | 67.534 / 34.931 |
| E-Commerce | 89.460 / 31.271 | 67.534 / 0 | 19.017 / 3.454 | 86.466 / 22.119 | 43.021 / 43.021 |
| VOIP | 89.460 / 27.488 | 89.460 / 82.318 | 20.148 / 3.163 | 88.268 / 24.852 | 89.460 / 89.460 |
| HG1 | 89.460 / 67.534 | 36.237 / 36.237 | 20.148 / 10.640 | 86.466 / 58.313 | 36.237 / 36.237 |
| HG2 | 89.460 / 67.534 | 43.021 / 43.021 | 9.721 / 4.985 | 86.466 / 58.313 | 36.237 / 36.237 |
| ABSNP | 89.460 / 89.460 | 13.118 / 13.118 | 0.917 / 0.917 | 86.466 / 86.466 | 13.118 / 13.118 |
| ASFS3 | 89.460 / 89.460 | 18.498 / 18.498 | 0.687 / 0.687 | 86.466 / 86.466 | 18.498 / 18.498 |
| ASS2009 | 89.460 / 52.763 | 89.460 / 34.357 | 1.586 / 0.531 | 86.466 / 46.930 | 43.021 / 18.705 |
| AWS03 | 89.460 / 52.76 | 67.534 / 0 | 2.195 / 0.737 | 86.466 / 39.346 | 52.763 / 52.763 |
| Sum of Ranks | 44 | 26.5 | 12 | 34 | 33.5 |
- Top-K defence
| System | GeniGraph | Min-cut [3] | Equally Distributed [2] | Behavioral Defender [9] | GeniGraph (MRF) |
|---|---|---|---|---|---|
| SCADA | 43.021 / 24.516 | 36.237 / 27.222 | 10.64 / 5.469 | 40.206 / 22.893 | 36.237 / 27.222 |
| DER.1 | 63.725 / 13.986 | 67.534 / 19.357 | 23.165 / 3.454 | 63.643 / 13.929 | 67.534 / 28.597 |
| E-Commerce } | 75.386 / 13.023 | 67.534 / 0 | 19.017 / 3.454 | 73.747 / 10.984 | 43.021 / 43.021 |
| VOIP | 79.502 / 23.795 | 89.460 / 82.318 | 22.042 / 3.163 | 72.608 / 23.981 | 89.460 / 82.318 |
| HG1 | 43.021 / 24.516 | 36.237 / 32.119 | 20.148 / 10.640 | 40.206 / 22.081 | 36.237 / 32.119 |
| HG2 | 56.387 / 18.951 | 43.021 / 10.755 | 13.097 / 4.985 | 53.835 / 16.603 | 36.237 / 30.801 |
| ABSNP | 43.021 / 29.142 | 13.118 / 13.118 | 1.599 / 0.917 | 40.986 / 26.170 | 13.118 / 10.909 |
| ASFS3 | 43.021 / 29.142 | 18.498 / 11.524 | 1.200 / 0.687 | 40.986 / 26.617 | 18.498 / 15.254 |
| ASS2009 | 73.642 / 34.875 | 89.460 / 30.944 | 1.979 / 0.531 | 69.664 / 28.959 | 43.021 / 16.846 |
| AWS03 | 72.629 / 25.364 | 67.534 / 0 | 2.556 / 0.737 | 67.169 / 21.417 | 52.763 / 42.068 |
| Sum of Ranks | 38 | 30.5 | 12 | 29 | 40.5 |
- Weighted Top-K Defense
| System | GeniGraph | Min-cut [3] | Equally Distributed [2] | Behavioral Defender [9] | GeniGraph (MRF) |
|---|---|---|---|---|---|
| SCADA | 43.0217 / 24.516 | 36.237 / 27.222 | 10.64 / 5.469 | 40.206 / 22.893 | 36.237 / 27.222 |
| DER.1 | 64.235 / 14.385 | 67.534 / 19.357 | 23.165 / 3.454 | 63.643 / 13.929 | 67.534 / 28.597 |
| E-Commerce | 77.490 / 13.023 | 67.534 / 0 | 19.017 / 3.454 | 73.747 / 10.984 | 43.021 / 43.021 |
| VOIP | 80.433 / 24.256 | 89.460 / 82.318 | 22.042 / 3.163 | 72.608 / 23.981 | 89.460 / 82.318 |
| HG1 | 43.021 / 24.516 | 36.237 / 32.119 | 20.148 / 10.640 | 40.206 / 22.081 | 36.237 / 32.119 |
| HG2 | 51.254 / 13.802 | 43.021 / 10.755 | 13.097 / 4.985 | 53.835 / 16.603 | 36.237 / 30.801 |
| ABSNP | 40.818 / 29.815 | 13.118 / 13.118 | 1.599 / 0.917 | 40.986 / 26.170 | 13.118 / 10.909 |
| ASFS3 | 40.818 / 29.815 | 18.498 / 11.524 | 1.200 / 0.687 | 40.986 / 26.617 | 18.498 / 15.254 |
| ASS2009 | 78.510 / 41.837 | 89.460 / 30.944 | 1.979 / 0.531 | 69.664 / 28.959 | 43.021 / 16.846 |
| AWS03 | 67.289 / 29.516 | 67.534 / 0 | 2.556 / 0.737 | 67.169 / 21.417 | 52.763 / 42.068 |
| Sum of Ranks | 38 | 30.5 | 12 | 29 | 40.5 |
In our study, we conducted a comprehensive experiment to evaluate the performance of our proposed method under the first fitness function
In the first defense scenario (top-1 defense), our proposed method demonstrated superior performance compared to other baseline algorithms across different datasets. It achieved the highest rank with a sum of ranks equal to 44 and a significant
Interestingly, the baseline [9] performed better than our proposed method (MRF), which in turn outperformed [3] and [2], respectively.
It's worth noting that under the first defense scenario (top-1 defense), finding the top-ranked path in an environment with positive edge weights can be projected as finding the shortest path between the source and destination. To validate this equivalence, we employed the Dijkstra algorithm in our experiment. The results confirmed that our proposed method produces the same top attack path as the one produced by the Dijkstra algorithm.
This experiment was pivotal in demonstrating the effectiveness of our proposed method and provided valuable insights into its performance relative to other established algorithms.
Note: much more experiments are conducted and illustrated in the paper, hence, read the paper carefully.
This work introduces an efficient defense strategy for securing interdependent systems with multiple cooperating defenders. We model these systems and their potential attack vulnerabilities using attack graphs. We present three defense scenarios: top-1 defense, top-K defense, and weighted top-K defense, each distributing resources differently based on risk levels. We also propose a version of our approach using Markov Random Field (MRF) for resource distribution.
We assessed our approaches under various parameters, security budgets, and concurrent attacks. We tested them on five real-world interdependent systems and five attack graph datasets. Our experiments suggest that our approach can enhance the security level of interdependent systems and serve as a good alternative to existing resource allocation approaches. Our open-source implementation follows object-oriented programming principles and packaging paradigm, making it easy for researchers to conduct their own experiments and modify our approaches as needed.
here we have two project where first one utilizes the first fitness function and the second one utilizes the second fitness function
- Download intellIJ IDEA latest version
- Dounload JDK 17 or higher
- Set up the environment variable for the bin folder of the JDK 17+
- Open the IDEA
- Open the project (according to the desired fitness function)
- Make sure you are connected to the internet
- Wait while the IDEA download all the libraries that are included as dependencies in the pom XML file
- Go to the main package (here you will get differenr main packages where each refers to a defense approach including two main files (executable) one of them is based on the F1 and the another is based on F2).
- Go to the desired defense approach.
- Set up the desired hyperparameters.
- Run the file to see the results.
- [1] G. Modelo-Howard, S. Bagchi, and G. Lebanon. 2008. Determining placement of intrusion detectors for a distributed application through bayesian network modeling. In International Workshop on Recent Advances in Intrusion Detection. Springer, 271β290.
- [2] R. Lippmann, K. Ingols, C. Scott, K. Piwowarski, K. Kratkiewicz, M. Artz, and R. Cunningham. 2006. Validating and restoring defense in depth using attack graphs. In IEEE Military Communications Conference. IEEE, 1β10.
- [3] O. Sheyner, J. Haines, S. Jha, R. Lippmann, and J. M. Wing. 2002. Automated generation and analysis of attack graphs. In Proceedings 2002 IEEE Symposium on Security and Privacy. IEEE, 273β284.
- [4] G. Yan, R. Lee, A. Kent, and D. Wolpert. 2012. Towards a bayesian network game framework for evaluating DDoS attacks and defense. In Proceedings of the 2012 ACM conference on Computer and communications security (CCS). 553β566.
- [5] A. Acquisti. 2009. Nudging privacy: The behavioral economics of personal information. IEEE security & privacy 7, 6 (2009).
- [6] E. M. Redmiles, M. L. Mazurek, and J. P. Dickerson. 2018. Dancing pigs or externalities?: Measuring the rationality of security decisions. In Proceedings of the 2018 ACM Conference on Economics and Computation. ACM, 215β232.
- [7] R. Anderson. 2012. Security economics: a personal perspective. In Proceedings of the 28th Annual Computer Security Applications Conference. ACM, 139β144.
- [8] A. Sanjab, W. Saad, and T. BaΕar. 2017. Prospect theory for enhanced cyber-physical security of drone delivery systems: A network interdiction game. In Communications (ICC), 2017 IEEE International Conference on. IEEE, 1β6.
- [9] Mustafa Abdallah, Parinaz Naghizadeh, Ashish R. Hota, Timothy Cason, Saurabh Bagchi, and Shreyas Sundaram. 2020. Behavioral and Game-Theoretic Security Investments in Interdependent Systems Modeled by Attack Graphs. IEEE Transactions on Control of Network Systems 7, 4 (2020), 1585β1596. https: //doi.org/10.1109/TCNS.2020.2988007 arXiv:2001.03213.
- [10] A. R. Hota and S. Sundaram. 2018. Interdependent Security Games on Networks Under Behavioral Probability Weighting. IEEE Transactions on Control of Network Systems 5, 1 (March 2018), 262β273. https://doi.org/10.1109/TCNS.2016.2600484.
- [11] M. Abdallah, D. Woods, P. Naghizadeh, I. Khalil, T. Cason, S. undaram, and S. Bagchi. 2021. Morshed: Guiding behavioral decision-makers towards better security investment in interdependent systems. In Proceedings of the 2021 ACM Asia Conference on Computer and Communications Security. 378β392.
- [12] A. R. Hota, A. Clements, S. Sundaram, and S. Bagchi. 2016. Optimal and game-theoretic deployment of security investments in interdependent assets. In International Conference on Decision and Game Theory for Security. 101β113.
- [13] S. Jauhar, B. Chen, W. G. Temple, X. Dong, Z. Kalbarczyk, W. H. Sanders, and D. M. Nicol. 2015. Model-based cybersecurity assessment with nescor smart grid failure scenarios. In Dependable Computing (PRDC), 2015 IEEE 21st Pacific Rim International Symposium on. IEEE, 319β324.
- [14] G. Modelo-Howard, S. Bagchi, and G. Lebanon. 2008. Determining placement of intrusion detectors for a distributed application through bayesian network modeling. In International Workshop on Recent Advances in Intrusion Detection. Springer, 271β290.
- [15] Jianping Zeng, Shuang Wu, Yanyu Chen, Rui Zeng, and Chengrong Wu. 2019. Survey of Attack Graph Analysis Methods from the Perspective of Data and Knowledge Processing. Security and Communication Networks 2019 (2019). https: //doi.org/10.1155/2019/2031063.
- [16] Ryan A. Rossi and Nesreen K. Ahmed. 2015. The Network Data Repository with Interactive Graph Analytics and Visualization. In Proceedings of the Twenty-Ninth AAAI Conference on Artificial Intelligence. http://networkrepository.com.
Send email to the following Authors for any question about this work, and it is our pleasure to ansawer your question.
Mohammad Aleiadeh, maleiade@purdue.edu
Mustafa Abdallah, abdalla0@purdue.edu

