Attack Trees (Angriffsbäume) bieten eine formale Methode, die Sicherheit eines Systems in Bezug auf variierende Angriffsziele zu analysieren und zu dokumentieren. Dazu werden mögliche Angriffsszenarien in eine baumartige Darstellung gebracht.
Die "Wurzel" eines Attack Trees ist das Angriffsziel, die Verzweigungen darunter repräsentieren die Möglichkeiten, wie dieses Ziel potentiell erreicht werden kann. Dabei unterscheidet man zwischen UND-Verzweigungen ("Um das Ziel zu erreichen benötigt man X und Y und Z") und ODER-Verzweigungen ("Man erreicht das Ziel wahlweise mittels X oder mittels Y oder mittels Z"). Die Möglichkeiten zur Zielerreichung können entweder elementare Methoden sein, die in der Analyse nicht weiter untergliedert werden, oder es kann sich um aufwendige Methoden handeln, deren Umsetzung ein Unterziel darstellt, das wiederum mittels verschiedener Unter-Möglichkeiten erreicht werden kann. Auf diese Weise entstehen Unterverzweigungen im Attack Tree, die sich bis in beliebige Hierarchiebenen fortsetzen können.
Abbildung 1 zeigt ein einfaches Beispiel für einen Attack Tree, der die Möglichkeiten beschreibt, einen Tresor zu knacken.
Realistische Attack Trees lassen sich aus Platzmangel nicht mehr graphisch darstellen. Daher wird bevorzugt ein Textformat gewählt, für Abbildung 1 etwa:
Tresor öffnen
Schloss knacken
Kombination lernen
Merkzettel finden
vom Besitzer erfahren
Erpressung
Abhören (UND)
Mithörgelegenheit
Besitzer zum Ausplaudern bringen
Bestechung
Wand aufschneiden
Neben der Systematik der Vorgehensweise bietet ein Attack Tree mehrere Vorzüge:
Die Blattknoten des Baumes lassen sich verschieden attributieren, etwa mit der Wahrscheinlichkeit, mit der die genannte Möglichkeit eintritt, oder mit den Kosten bzw. den Fachkenntnissen, die für die Durchführung erforderlich sind. Solche Attribute können nach mathematischen Regeln nach oben - in Richtung der Baumwurzel - unter Berücksichtigung von UND- bzw. ODER-Verzweigungen propagiert werden, so dass sich am Ende die Gesamtwahrscheinlichkeit, die Gesamtkosten bzw. die Mindestkenntnisse für einen erfolgreichen Angriff auch quantitativ abschätzen lassen.
Durch geeignete Attributierung lassen sich somit unterschiedlichste Fragen beantworten, etwa: Welche Angriffe erfordern höchstens 10 Minuten Zeit? Welche Angriffe kosten weniger als 5000 EURO?
Nicht zuletzt ist ein vollständiger Attack Tree eine formale, wiederverwendbare Dokumentation von Sicherheitswissen. Vorhandene Attack Trees für ein Subsystem lassen sich als fertige Bausteine in den Attack Tree des übergeordneten Gesamtsystems eingliedern.
Mit Attack Trees lassen sich somit relevante von irrelevanten Bedrohungen unterscheiden, und der Modellierer kann die vollständige Abdeckung aller potentiellen Risiken systematisch vorantreiben.