Attack Graphs are very powerful tools used in many areas of information security including threat modelling, intrusion detection and prevention and forensic analysis given their capabilities in helping security analysts identify how attackers can exploit, or have exploited, vulnerabilities in a system in order to compromise it. Traditionally, attack graphs were generated manually, however that is an error prone process that gets exponentially harder the more elements or nodes are added to the system being analyzed. To overcome this issue many automatic generation tools and techniques have been proposed, and while those tools have allowed the generation of attack graphs of very large and complex systems, they have also made the analysis of the resulting attack graphs ever more complex. That is compounded by the ever growing number of attack graph variations, each aiming to elucidate different aspects of the security issues faced by the system. Together, the complexity and the large number of variations used in the industry, mean that learning to generate and analyze attack graphs can be a daunting task even for experienced security analysts. This tutorial aims to help those wishing to start learning about attack graphs by presenting an introductory overview of the subject. We will discuss how and when to use them, some of their most common types, like the state attack graph, the logical attack graph, the privilege graph and the vulnerability graph, the different tools and techniques used to generate them, and some of the most important open challenges in the field.
展开▼