Recent Advances in Intrusion Detection

Volume 4219 of the series Lecture Notes in Computer Science pp 127-144

Ranking Attack Graphs

  • Vaibhav MehtaAffiliated withCarnegie Mellon University
  • , Constantinos BartzisAffiliated withCarnegie Mellon University
  • , Haifeng ZhuAffiliated withCarnegie Mellon University
  • , Edmund ClarkeAffiliated withCarnegie Mellon University
  • , Jeannette WingAffiliated withCarnegie Mellon University

* Final gross prices may vary according to local VAT.

Get Access


A majority of attacks on computer systems result from a combination of vulnerabilities exploited by an intruder to break into the system. An Attack Graph is a general formalism used to model security vulnerabilities of a system and all possible sequences of exploits which an intruder can use to achieve a specific goal. Attack Graphs can be constructed automatically using off-the-shelf model-checking tools. However, for real systems, the size and complexity of Attack Graphs greatly exceeds human ability to visualize, understand and analyze. Therefore, it is useful to identify relevant portions of an Attack Graph. To achieve this, we propose a ranking scheme for the states of an Attack Graph. Rank of a state shows its importance based on factors like the probability of an intruder reaching that state. Given a Ranked Attack Graph, the system administrator can concentrate on relevant subgraphs to figure out how to start deploying security measures. We also define a metric of security of the system based on ranks which the system administrator can use to compare Attack Graphs and determine the effectiveness of various defense measures. We present two algorithms to rank states of an Attack Graph based on the probability of an attacker reaching those states. The first algorithm is similar to the PageRank algorithm used by Google to measure importance of web pages on the World Wide Web. It is flexible enough to model a variety of situations, efficiently computable for large sized graphs and offers the possibility of approximations using graph partitioning. The second algorithm ranks individual states based on the reachability probability of an attacker in a random simulation. Finally, we give examples of an application of ranking techniques to multi-stage cyber attacks.


Google PageRank Attack Model Attack Graph Model Checking security metric