Minimization and Reliability Analyses of Attack Graphs
2002
Abstract
An attack graph is a succinct representation of all paths through a system that end in a state where an intruder has successfully achieved his goal. Today Red Teams determine the vulnerability of networked systems by drawing gigantic attack graphs by hand. Constructing attack graphs by hand is tedious, error-prone, and impractical for large systems. By viewing an attack as a violation of a safety property, we can use model checking to produce attack graphs automatically: a successful path from the intruder's viewpoint is a counterexample produced by the model checker. In this paper we present an algorithm for generating attack graphs using model checking. Security analysts use attack graphs for detection, defense, and forensics. In this paper we present a minimization technique that allows analysts to decide which minimal set of security measures would guarantee the safety of the system. We provide a formal characterization of this problem: we prove that it is polynomially equivalent to the minimum hitting set problem and we present a greedy algorithm with provable bounds. We also present a reliability technique that allows analysts to perform a simple cost-benefit analysis depending on the likelihoods of attacks. By interpreting attack graphs as Markov Decision Processes we can use a standard MDP value iteration algorithm to compute the probabilities of intruder success for each attack the graph. We illustrate our work in the context of a small example that includes models of a firewall and an intrusion detection system.
References (18)
- G. Ausiello, A. D'Atri, and M. Protasi. Structure preserving reductions among convex optimiza- tion problems. Journal of Computational System Sciences, 21:136-153, 1980.
- Eitan Altman. Constrained Markov Decision Processes. Chapman & Hall/CRC, 1999.
- R.E. Bryant. Graph-based algorithms for boolean function manipulation. IEEE Transactions on Computers, C-35(8):677-691, August 1986.
- E.M. Clarke, O. Grumberg, and D. Peled. Model Checking. MIT Press, 2000.
- T.H. Cormen, C.E. Leiserson, and R.L. Rivest. Introduction to Algorithms. MIT Press, 1985.
- M. Dacier. Towards Quantitative Evaluation of Computer Security. PhD thesis, Institut National Polytechnique de Toulouse, December 1994.
- Richard Durrett. Probability: Theory and Examples. Duxbury Press, 1995. 2nd edition.
- M.R. Garey and D.S. Johnson. Computers and Intractability: A Guide to the Theory of NP- Completeness. W.H. Freeman and Company, San Francisco, 1979.
- Somesh Jha and Jeannette M. Wing. Survivability analysis of networked systems. In Proceedings of the International Conference on Software Engineering, May 2001.
- NuSMV. Nusmv: a new symbolic model checker. http://afrodite.itc.it:1024/ nusmv/.
- R. Ortalo, Y. Dewarte, and M. Kaaniche. Experimenting with quantitative evaluation tools for monitoring operational security. IEEE Transactions on Software Engineering, 25(5):633-650, September/October 1999.
- C.A. Phillips and L.P. Swiler. A graph-based system for network vulnerability analysis. In New Security Paradigms Workshop, pages 71-79, 1998.
- M. Puterman. Markov Decision Processes. John Wiley & Sons, New York, NY, 1994.
- R.W. Ritchey and P. Ammann. Using model checking to analyze network vulnerabilities. In Proceedings of IEEE Symposium on Security and Privacy, pages 156-165, May 2001.
- SMV. Smv: a symbolic model checker. http://www.cs.cmu.edu/ modelcheck/.
- L.P. Swiler, C. Phillips, D. Ellis, and S. Chakerian. Computer-attack graph generation tool. In Proceedings of the DARPA Information Survivability Conference and Exposition, June 2000.
- Peter Stephenson. Using formal methods for forensic analysis of intrusion events -a preliminary examination. White Paper, available at http://www.imfgroup.com/Document Library.html.
- Alfonso Valdes and Keith Skinner. Probabilistic alert detection. In Proceedings of Recent Ad- vances in Intrusion Detection (RAID), 2001.