Sicherheit & Anwendungen

Graphentheorie in der Cybersicherheit

Angreifer denken nicht in Schwachstellenlisten. Sie denken in Pfaden. Dieser Leitfaden baut einen kleinen Angriffsgraphen und beantwortet darauf die Fragen, die Verteidiger wirklich haben: welcher Weg am leichtesten ist, welcher Host das meiste Risiko trägt, welche Kontrollen jeden Pfad unterbrechen, wie weit sich eine Kompromittierung ausbreitet und wann Schadsoftware nicht mehr von selbst ausstirbt.

28 Min Lesezeit Aktualisiert: September 2026 Anfänger bis Fortgeschrittene
Mohammed Islam Hadjoudj
Mohammed Islam Hadjoudj
Expert Operations Research Engineer

1. Warum Sicherheitsfragen Graphenfragen sind

Ein Schwachstellenscanner erzeugt eine Liste. Sie sagt Ihnen, dass dieser Host eine veraltete Bibliothek nutzt, jener eine Verwaltungsoberfläche offenlegt und ein dritter ein schwaches Dienstkonto hat. Jeder Eintrag erhält einen Schweregrad, die Liste wird sortiert, und das obere Ende wird behoben.

Angreifer lesen diese Liste nicht so wie Verteidiger. Ein Eindringen ist eine Abfolge: ein Brückenkopf an einer unwichtigen Stelle, ein dort abgegriffenes Zugangsdatum, ein Dienst, der diesem Zugangsdatum vertraut, eine Freigabe, die diesem Dienst vertraut, und schließlich etwas, das zählt. Jeder Schritt kann für sich unauffällig sein. Die Kombination ist der Einbruch.

Dieser Unterschied ist genau der Unterschied zwischen einer Menge und einem Graphen. Eine Liste von Schwächen hat keine Struktur; eine Menge von Schwächen plus die Übergänge zwischen ihnen ist ein gerichteter Graph, und sobald er existiert, werden die Fragen der Verteidiger zu Standardalgorithmen. Welcher Weg ist am leichtesten? Kürzester Pfad. Welche Kontrollen unterbrechen jeden Weg? Minimaler Schnitt. Was erreicht eine Kompromittierung? Erreichbarkeit. Wann stirbt Schadsoftware nicht mehr von selbst aus? Der größte Eigenwert der Adjazenzmatrix.

Die Idee ist in der Literatur nicht neu. Phillips und Swiler schlugen 1998 eine graphbasierte Schwachstellenanalyse vor, Sheyner und Kollegen automatisierten 2002 die Erzeugung von Angriffsgraphen per Model Checking, und seitdem ist der Ansatz in der Forschung Standard. Neu ist, dass die Werkzeuge endlich aufgeholt haben: Heutige Umgebungen sind so groß, dass niemand die Pfade im Kopf behalten kann, und Graphen dieser Größe lassen sich in Millisekunden lösen.

Jede Zahl in diesem Artikel wurde durch Lösen des Modells berechnet, nicht geschätzt. Falls Ihnen das Graphenvokabular fremd ist, behandelt die Einführung in die Graphentheorie die hier verwendeten Definitionen.

2. Der Angriffsgraph: Knoten, Bögen und Gewichte

Drei Modellierungsentscheidungen tragen das Gewicht, und jede hat einen ehrlichen Zielkonflikt.

Was ist ein Knoten? Die einfachste nützliche Wahl ist ein Host, und das verwendet dieser Artikel. Forschungsmodelle sind oft feiner: Ein Knoten ist ein Zustand, ein Paar aus Maschine und Berechtigungsstufe, sodass „User auf web01“ und „Root auf web01“ verschiedene Knoten sind. Das ist genauer und viel größer, weil sich der Zustandsraum vervielfacht. Es gibt auch gröbere Modelle, in denen ein Knoten ein ganzes Subnetz ist. Wählen Sie die Granularität, auf der Ihre Kontrollen wirken, denn das Modell dient dem Vergleich von Kontrollen.

Was ist ein Bogen? Ein Übergang, den der Angreifer vollziehen kann: ein ausnutzbarer Dienst, eine Vertrauensbeziehung, ein wiederverwendetes Zugangsdatum, eine eingebundene Freigabe, ein Phishing-Ziel. Bögen sind gerichtet, weil die Kompromittierung in eine Richtung fließt. Ein Arbeitsplatz, der eine Dateifreigabe einbindet, liefert einen Bogen in die Freigabe hinein, nicht aus ihr heraus, und wer diese Richtung falsch setzt, kehrt jedes Ergebnis um.

Was steht auf dem Bogen? Mindestens eine Zahl, und die Wahl bestimmt, was „kürzester“ bedeutet:

Woher kommen die Zahlen? Meist aus einem Bewertungssystem wie der CVSS-Ausnutzbarkeit, kalibriert von jemandem, der die Umgebung kennt. Es sind Schätzungen, und die ehrliche Haltung ist, dass die Rangfolge weit robuster ist als die absoluten Werte. Wenn Sie eine 3 nicht gegen eine 4 verteidigen können, können Sie doch verteidigen, dass ein öffentlicher Web-Exploit leichter ist als der Diebstahl eines Domänenadmin-Zugangs, und genau diese Reihenfolge treibt die Ergebnisse unten.

Ein Angriffsgraph mit zehn Hosts in fünf Zonen von links nach rechts: das Internet, dann eine DMZ mit web01, mail01 und einem VPN-Gateway, dann die Arbeitsplätze ws01 und ws02 mit dem Anwendungsserver app01, dann die Datenschicht mit file01 und db01 und schließlich dc01, der Domänencontroller. Sechzehn gerichtete Bögen verbinden sie, jeder mit einem Aufwandswert zwischen 2 und 8 beschriftet, etwa 3 vom Internet zu web01, 2 von web01 zu app01 und 4 von db01 zu dc01.
Zehn Hosts, sechzehn Übergänge. Jede Frage in diesem Artikel ist eine Frage über dieses Objekt und nichts anderes.

3. Das Netz, das den ganzen Artikel begleitet

Das durchgehende Beispiel ist ein kleines Unternehmen, bewusst gewöhnlich. Das Internet erreicht drei exponierte Systeme: einen öffentlichen Webserver, ein Mail-Gateway und einen VPN-Konzentrator. Dahinter liegen zwei Arbeitsplätze und ein Anwendungsserver, dann ein Dateiserver und eine Datenbank und schließlich der Domänencontroller, den der Angreifer will.

ZoneHostsWarum im Modell
Perimeterweb01, mail01, vpnDie drei Wege aus dem Internet hinein
Nutzer und Anwendungws01, ws02, app01Wo Brückenköpfe landen und Zugangsdaten liegen
Datenfile01, db01Die Assets und das Vertrauen, das sie tragen
Identitätdc01Das Ziel: Kompromittierung der Domäne

Jeder der sechzehn Bögen trägt einen Aufwandswert und Kontrollkosten. Die Aufwandswerte besagen, dass das Ausnutzen der öffentlichen Webanwendung 3 kostet, ein interner Dienstaufruf aus der DMZ in die App-Schicht 2 und das Stehlen zwischengespeicherter Domänenadmin-Zugangsdaten von einem Arbeitsplatz 8, was schwer, aber nicht unmöglich ist. Diese relativen Urteile sind die einzige echte Eingabe des Modells.

Eine strukturelle Anmerkung, bevor irgendein Algorithmus läuft: Dieser Graph hat keine Zyklen, weil jeder Bogen den Angreifer weiter nach innen bringt. Echte Angriffsgraphen haben Zyklen, weil ein Angreifer hin und her pivotieren kann, und jeder unten verwendete Algorithmus kommt damit zurecht. Der azyklische Fall macht die durchgerechneten Beispiele lediglich leichter von Hand prüfbar.

4. Der leichteste Weg hinein: kürzeste Angriffspfade

Die erste Frage ist die, die ein Penetrationstester in zwei Wochen von Hand beantwortet: Was ist der leichteste Weg vom Internet zum Domänencontroller? Mit dem Aufwand auf den Bögen ist das ein Kürzeste-Wege-Problem, und der Dijkstra-Algorithmus beantwortet es für jedes Asset auf einmal.

Derselbe Angriffsgraph mit dem billigsten Weg rot hervorgehoben: Internet zu web01 mit Aufwand 3, web01 zu app01 mit Aufwand 2, app01 zu db01 mit Aufwand 3 und db01 zu dc01 mit Aufwand 4, zusammen ein Aufwand von 12. Ein Feld listet die fünf leichtesten Wege mit Aufwand 12, 14, 14, 15 und 16 und vermerkt, dass der teuerste 25 kostet und der Median bei 18,5 liegt; ein zweites Feld argumentiert, dass keine einzelne Schwachstelle auf dem Pfad kritisch ist, der Pfad aber schon.
Das billigste Eindringen kostet 12 und führt über die Server, nicht über die Menschen. Die Wege über die Arbeitsplätze, die die meiste Aufmerksamkeit bekommen, sind teurer.

Die Antwort lautet internet → web01 → app01 → db01 → dc01 mit einem Gesamtaufwand von 12. Lesen Sie die Schritte: die öffentliche Webanwendung ausnutzen (3), den vertrauten internen Dienstaufruf in die App-Schicht nutzen (2), die Datenbank erreichen, die die Anwendung abfragen darf (3), und das Dienstkonto der Datenbank gegen den Domänencontroller missbrauchen (4).

Zwei Dinge an diesem Ergebnis zählen mehr als die Zahl.

Keiner dieser vier Schritte ist für sich alarmierend. Eine Schwachstelle in einer Webanwendung mit der Bewertung 3 von 10 steht nicht oben im Risikoregister. Ein Dienstaufruf zwischen zwei Systemen, die miteinander reden sollen, ebenso wenig. Der Weg ist als Komposition gefährlich, und kein Schweregrad pro Host kann eine Komposition ausdrücken. Das ist das grundlegende Argument für Angriffsgraphen, 1998 von Phillips und Swiler vorgebracht und seitdem in jeder Arbeit wiederholt.

Der leichteste Weg meidet die Menschen. Phishing ist der meistdiskutierte Erstzugang, und hier kostet der Phishing-Weg zum Domänencontroller 14, nicht 12. Das Modell sagt nicht, dass Phishing unwichtig ist; es sagt, dass in dieser Umgebung mit diesen Werten der Serverpfad billiger ist. Die billigste Option des Angreifers statt der meistgefürchteten Option des Verteidigers auszurechnen, ist genau das, wofür der Algorithmus da ist.

Dieselbe Berechnung liefert den Aufwand für jedes andere Asset: web01 kostet 3, app01 kostet 5, der Dateiserver 8, die Datenbank 8. Das sind die Zahlen für einen Prüfungsausschuss, der wissen will, wie weit der Perimeter wirklich von den Kronjuwelen entfernt ist.

5. Sechzehn Wege hinein, und welcher Host sie trägt

Der billigste Pfad ist eine Antwort. Ihn zu blockieren ist keine Strategie, weil der Angreifer einfach den nächsten nimmt. Die nützliche Frage ist, wie viele Wege es gibt und durch welche Assets sie führen.

Zählt man jeden einfachen Pfad vom Internet zum Domänencontroller auf diesem Graphen auf, erhält man 16 verschiedene Wege, mit Kosten zwischen 12 und 25 und einem Median von 18,5. Sechzehn ist eine kleine Zahl, gerade weil das Beispiel klein ist; eine reale Umgebung mit einigen Tausend Hosts hat routinemäßig mehr Angriffspfade, als sich sinnvoll zählen lassen, weshalb die Aufzählung ein Lehrmittel ist und die Metriken unten die Produktionstechnik.

Zählt man, wie viele dieser Wege durch jeden Host führen, entsteht eine Rangfolge, und sie ist nicht die, die ein Perimeterbericht liefern würde.

Ein Balkendiagramm, das Hosts danach ordnet, wie viele der sechzehn Angriffspfade durch sie führen. Der Dateiserver file01 trägt 12 von 16, der Arbeitsplatz ws02 trägt 10, der Anwendungsserver app01 und die Datenbank db01 tragen je 9, das Mail-Gateway mail01 und der Arbeitsplatz ws01 je 8, das VPN-Gateway 5 und der öffentliche Webserver web01 nur 3. Ein Hinweis vermerkt, dass web01 der Host ist, den alle zuerst patchen, während file01 in keinem Perimeterbericht auftaucht.
Exposition und Bedeutung sind verschiedene Messgrößen. Der zum Internet hin exponierte Webserver trägt die wenigsten Wege aller Hosts der Umgebung.

Der Dateiserver liegt auf 12 der 16 Wege, drei Vierteln davon. Der öffentliche Webserver, in den meisten Organisationen die am genauesten beobachtete Maschine, liegt auf 3. Nichts am Dateiserver würde bei einem externen Scan auffallen: Er ist nicht exponiert, betreibt nichts Exotisches und ist dazu da, Dokumente zu halten. Er ist kritisch wegen seiner Lage im Graphen, und nur ein Graph kann das sagen.

Bei der Aufzählung hört dieser Ansatz auch auf zu skalieren, und es lohnt sich zu sehen, warum. Sechzehn Wege entstehen aus zehn Hosts und sechzehn Bögen. Fügen Sie einen zweiten Dateiserver hinzu, den beide Arbeitsplätze erreichen, und die Zahl verdoppelt sich ungefähr; eine reale Umgebung mit einigen Tausend Maschinen und einem flachen internen Netz hat eine Pfadzahl mit mehr Stellen, als je jemand lesen wird. Die Metriken unten vermeiden alle die Aufzählung, und das macht sie in einem realen Netz nutzbar.

Dieses Maß ist ein sicherheitsspezifischer Verwandter der Betweenness-Zentralität, 1977 von Freeman eingeführt, die den Anteil der kürzesten Wege zählt, die durch einen Knoten laufen. Betweenness über alle Paare ist das Standardmaß der Netzwerkwissenschaft und lässt sich in O(nm) mit dem Algorithmus von Brandes berechnen. Für die Verteidigung ist es meist handlungsnäher, die Pfade zwischen dem einen relevanten Paar zu zählen, dem Einstiegspunkt des Angreifers und dem Asset, das Ihnen wichtig ist: Das beantwortet „wenn ich eine Maschine härte, wie viele Wege störe ich“ statt „wie zentral ist sie im Allgemeinen“.

Noel und Jajodia argumentierten 2008 ebenso für die Platzierung von Sensoren: Setzen Sie die Erkennung dorthin, wo sich die Angriffspfade bündeln, nicht dorthin, wo die wertvollsten Assets stehen, denn an den Bündelungspunkten erhalten Sie die meiste Abdeckung pro Sensor.

6. Jeden Weg unterbrechen: der minimale Schnitt

Eine Rangfolge der Hosts sagt Ihnen, wo Sie hinsehen sollen. Die stärkere Frage ist, welche Menge von Kontrollen jeden Weg auf einmal unterbrechen würde und wie wenig das kosten könnte.

Geben Sie jedem Bogen die Kosten der Kontrolle, die ihn entfernt, und berechnen Sie dann den minimalen Schnitt zwischen dem Internet und dem Domänencontroller. Das Max-Flow-Min-Cut-Theorem garantiert, dass die billigste solche Menge genau der minimale Schnitt ist, und der Algorithmus liefert ihn in Polynomialzeit. Dieselbe Maschinerie behandelt Netzwerkfluss, Max-Flow und Min-Cut.

Der Angriffsgraph mit drei rot hervorgehobenen Bögen als minimalem Schnitt: web01 zu app01 mit Kontrollkosten 3, mail01 zu ws01 mit Kosten 2 und vpn zu ws02 mit Kosten 2. Die vier Hosts auf der Seite des Angreifers, das Internet, web01, mail01 und vpn, sind rot gefüllt, alles andere ist ausgegraut. Ein Feld listet die drei Kontrollen mit ihrer Bedeutung und verzeichnet Gesamtkosten von 7, wobei keiner der sechzehn Pfade übrig bleibt. Ein zweites Feld erklärt das Aufteilen der Knoten und berichtet, dass die kleinste Menge von Hosts, deren Isolation jeden Weg unterbricht, drei umfasst: web01, mail01 und vpn.
Drei Kontrollen mit Gesamtkosten von 7, und jeder der sechzehn Wege ist weg. Geprüft durch erneutes Aufzählen der Pfade danach: keiner bleibt.

Die Antwort sind drei Kontrollen mit zusammen 7: verhindern, dass der Webserver in der DMZ in die App-Schicht aufruft (3), verhindern, dass Mail-Anhänge auf Arbeitsplätzen ausgeführt werden (2), und VPN-Nutzer in einem eingeschränkten Segment statt neben den Arbeitsplätzen landen lassen (2). Das erneute Aufzählen der Pfade nach ihrer Anwendung liefert null.

Beachten Sie, wo der Schnitt liegt. Alle drei Kontrollen sitzen an der Grenze zwischen Perimeter und Innenraum, und keine berührt den Domänencontroller, die Datenbank oder den Dateiserver. Der Instinkt, zuerst die Kronjuwelen zu härten, ist nicht das, was die Mathematik empfiehlt: Die billigste vollständige Lösung liegt an der engsten Stelle des Graphen, und das ist hier der erste Schritt nach innen.

Dieselbe Frage für Maschinen statt Verbindungen nutzt den Trick des Knotenaufteilens. Ersetzen Sie jeden Host durch eine Eingangs- und eine Ausgangskopie, verbunden durch einen Bogen der Kapazität 1, geben Sie den echten Bögen unendliche Kapazität, und der minimale Schnitt zählt nun Hosts statt Verbindungen. Die Antwort lautet hier 3 Hosts: web01, mail01 und vpn, genau die drei, die zum Internet zeigen. Auf einem kleinen Beispiel ist das eine beruhigende Plausibilitätsprüfung und auf einem großen eine wirklich nützliche Berechnung, weil die entsprechende Menge dort selten offensichtlich ist.

Eine Warnung, was polynomiell ist und was nicht. Die billigste Menge von Bögen oder Hosts zu finden, die man schneiden muss, ist ein minimaler Schnitt und schnell. Die billigste Menge von Sicherheitsmaßnahmen zu finden, ist nicht dasselbe Problem: Ein Patch kann mehrere Bögen auf einmal entfernen, und ein Bogen kann mehrere Maßnahmen brauchen, was daraus ein Hitting-Set-Problem macht. Jha, Sheyner und Wing bewiesen 2002, dass das Finden einer minimalen kritischen Menge von Maßnahmen in einem Angriffsgraphen NP-schwer ist. Modellieren Sie die Kontrollen sorgfältig und wissen Sie, welches der beiden Probleme Sie lösen.

7. Was eine einzelne Kontrolle wirklich bringt

Budgets finanzieren selten drei Kontrollen auf einmal, also lautet die praktische Frage, welche einzelne man zuerst kauft. Jeden Bogen nacheinander zu entfernen und neu zu lösen, liefert eine Antwort, und die Antwort ist ernüchternd.

KontrolleKostenAufwand des AngreifersVerbleibende Wege
Nichts (Ausgangslage)01216
Blockieren db01 → dc015147
Blockieren web01 → app0131413
Blockieren internet → web0141413
Blockieren app01 → db0151413
Blockieren mail01 → ws012128
Blockieren ws01 → file0131214

Die beste einzelne Kontrolle hebt den Aufwand des Angreifers von 12 auf 14. Das ist alles. Keine einzelne Maßnahme in diesem Netz bringt mehr als zwei Punkte Schwierigkeit, weil der Graph reich verbunden ist und der Angreifer einfach auf den nächstbilligeren Weg ausweicht. Das ist die quantitative Fassung einer bekannten Sicherheitswahrheit: Defense in Depth ist kein Slogan, sondern eine Folge davon, dass einzelne Schnitte in einem dichten Graphen sehr wenig bewirken.

Die Tabelle zeigt auch, dass die gewählte Metrik die Rangfolge verändert. Den Übergang vom Mail-Gateway zum Arbeitsplatz zu blockieren, halbiert die Zahl der Wege von 16 auf 8 und lässt den leichtesten Pfad des Angreifers bei 12 völlig unberührt. Berichtet Ihr Vorstand „eliminierte Angriffspfade“, nennen Sie diese Kontrolle einen Erfolg; berichtet er „Aufwand des Angreifers“, nennen Sie sie nutzlos. Beide Zahlen sind echt, sie messen Verschiedenes, und nur eine davon zu zitieren ist der Weg, auf dem Sicherheitsprogramme die falsche Größe optimieren.

Das beste Preis-Leistungs-Verhältnis in dieser Tabelle hat das Blockieren des Wegs von der Datenbank zum Domänencontroller: Kosten 5, Aufwand steigt auf 14, Wege sinken auf 7. Es ist die einzige Kontrolle, die beide Metriken deutlich verbessert, und keine Intuition hätte sie gefunden.

8. Blast Radius: was eine Kompromittierung erreicht

Angriffspfade fragen, wie ein Eindringling hineinkommt. Die ergänzende Frage ist, was passiert, wenn er irgendwo drin ist, und das ist eine schlichte Erreichbarkeitsberechnung: Welche Assets kann man von einem kompromittierten Host aus letztlich erreichen? Eine Traversierung pro Host beantwortet das in linearer Zeit.

Zwei Felder. Links der Angriffsgraph mit mail01 als kompromittiert markiert und allem, was davon erreichbar ist, rot hervorgehoben: ws01, ws02, app01, file01, db01 und dc01, sechs der neun anderen Hosts. Rechts ein Balkendiagramm der Erreichbarkeit von jedem Host: Das Internet erreicht 9, mail01 erreicht 6, VPN und ws01 erreichen 5, web01 und ws02 erreichen 4, app01 erreicht 3, file01 erreicht 2, db01 erreicht 1 und dc01 keinen.
Neun der zehn Hosts können letztlich den Domänencontroller erreichen. Das Mail-Gateway allein erreicht sechs der neun anderen Maschinen.

Die Rangfolge kehrt die Expositionsrangfolge um. Der öffentliche Webserver, die am stärksten exponierte Maschine der Umgebung, erreicht 4 Assets. Das Mail-Gateway erreicht 6. Ein Arbeitsplatz erreicht 5. Exposition misst, wer Sie erreichen kann; der Blast Radius misst, wen Sie erreichen können, und beide ergeben aus demselben Graphen verschiedene Prioritätenlisten.

Die Zahl, die ein Meeting zum Stillstand bringen sollte, ist diese: Neun der zehn Hosts können letztlich den Domänencontroller erreichen. Nur der Domänencontroller selbst nicht, weil hinter ihm nichts liegt. In einer realen Umgebung ist diese Zahl das nützlichste Ergebnis der ganzen Übung, weil sie „wir haben ein flaches Netz“ von einer Meinung in eine Messung verwandelt.

Der Blast Radius macht auch Eindämmungsentscheidungen während eines Vorfalls handhabbar. Ist ein Host als kompromittiert bestätigt, ist die Menge der zu untersuchenden Maschinen seine vorwärts erreichbare Menge, und die Menge, die ihn infiziert haben könnte, seine rückwärts erreichbare Menge, berechnet auf dem umgekehrten Graphen. Beides ist eine einzige Traversierung und weit präziser, als aus dem Bauch heraus ein ganzes Subnetz zu isolieren.

9. Wie schnell es sich ausbreitet: die Epidemieschwelle

Ransomware und Würmer folgen keinem einzelnen Pfad; sie breiten sich aus. Um das zu modellieren, braucht es eine andere Frage: Gegeben ein Netz und eine Infektion, die sich zwischen Nachbarn ausbreitet und mit einer gewissen Rate bereinigt wird, stirbt sie aus oder übernimmt sie die Umgebung?

Die Antwort ist eines der nützlichsten Ergebnisse der Netzwerkwissenschaft, und sie ist exakt. Für eine sehr breite Klasse von Ausbreitungsmodellen hängt der Kipppunkt von einer einzigen Zahl ab: dem größten Eigenwert der Adjazenzmatrix, geschrieben λ₁. Eine Infektion, deren Verhältnis von Ausbreitung zu Bereinigung unter 1 / λ₁ liegt, stirbt von selbst aus; darüber wird sie endemisch. Wang, Chakrabarti, Wang und Faloutsos bewiesen das 2003, und Chakrabarti und Kollegen verallgemeinerten es 2008.

Ein Diagramm der infizierten Hosts über 60 Zeitschritte, gemittelt über 600 Simulationsläufe. Die Kurve über der Schwelle steigt schnell und pendelt sich bei etwa 5,5 von 9 Hosts ein; die Kurve unter der Schwelle fällt auf null und ist bis Schritt 21 ausgestorben. Ein Feld gibt den größten Eigenwert lambda eins mit 3,573 und die Schwelle tau als 1 durch lambda eins an, also 0,280. Ein zweites Feld zeigt, dass das Isolieren des Dateiservers von den Arbeitsplätzen und der App-Schicht drei Links entfernt, lambda eins auf 2,570 senkt und die Schwelle auf 0,389 hebt, sodass ein Ausbruch 39 % schwerer aufrechtzuerhalten ist.
Die Schwelle ist keine Metapher. Zwei Simulationen, je eine auf jeder Seite, über jeweils 600 Läufe: Die eine pendelt sich bei 5,5 infizierten Hosts ein, die andere ist nach 21 Schritten ausgestorben.

Im Graphen der lateralen Bewegung hier, neun Hosts und dreizehn Links, beträgt λ₁ 3,573, also liegt die Schwelle bei 0,280. Simuliert man eine Infektion mit 40 % dieses Verhältnisses, gemittelt über 600 Läufe, ist sie bis Schritt 21 ausgestorben. Beim Vierfachen des Verhältnisses stabilisiert sie sich bei 5,5 der 9 Hosts und bleibt dort auf Dauer. Die Schwelle sagte beide Ergebnisse voraus, bevor eine der Simulationen lief.

Operativ interessant wird das dadurch, dass Sie λ₁ ändern können. Den Dateiserver von den Arbeitsplätzen und der Anwendungsschicht zu isolieren, entfernt drei Links und senkt λ₁ von 3,573 auf 2,570, womit die Schwelle von 0,280 auf 0,389 steigt. Das ist ein um 39 % größerer Spielraum: Infektionen, die sich vorher festgesetzt hätten, sterben jetzt aus.

Zwei Tatsachen machen den Eigenwert leichter zu durchschauen, als er zunächst wirkt. Er liegt immer zwischen dem mittleren und dem maximalen Grad des Graphen, hier also zwischen 2,889 und 5, und 3,573 liegt ordnungsgemäß dazwischen. Und er wird vom dichtesten Teil des Netzes dominiert, also senkt man ihn am schnellsten, indem man die Vernetzung des am stärksten vernetzten Hosts reduziert. Genau das tut die Segmentierung oben: Der Dateiserver hat Grad 5, den höchsten der Umgebung, und das Kappen von drei seiner Links bringt ihn auf 2 und senkt den maximalen Grad des ganzen Graphen von 5 auf 3. Die am stärksten vernetzte Maschine ist die, die man isolieren sollte, und der Grad ist eine einzeilige Rechnung, die Sie ausführen können, bevor Sie irgendeinen Eigenwertcode anfassen.

Das verändert den Blick auf Segmentierung. „Segmentieren Sie das Netz“ wird meist mit einer Geschichte begründet; hier ist es ein Eingriff in eine berechenbare Größe, mit einem Vorher und einem Nachher. Die Idee geht zurück auf Kephart und White, die 1991 für das IEEE Symposium on Security and Privacy epidemiologische Modelle von Computerviren auf gerichteten Graphen bauten, und auf Staniford, Paxson und Weaver, deren Analyse der Wurmausbreitung von 2002 zeigte, wie schnell sich die Kurve bewegt, wenn der Graph dicht ist.

Alles bisher war ein Modell, das ein Verteidiger gebaut hat. Der folgenreichste Graph der Unternehmenssicherheit existiert bereits, niemand hat ihn bewusst entworfen, und Angreifer fragen ihn seit Jahren ab: Active Directory.

Eine AD-Umgebung ist ein Graph, ob ihn jemand zeichnet oder nicht. Nutzer sind Knoten, Gruppen sind Knoten, Computer sind Knoten, und die Bögen sind die Beziehungen, die das Verzeichnis ohnehin speichert: ist Mitglied von, ist Admin auf, kann das Passwort zurücksetzen von, hat eine Sitzung auf, besitzt, hat GenericWrite auf. Jede dieser Beziehungen ist ein Übergang, den ein Angreifer nutzen kann.

2016 veröffentlichten Robbins, Vazarkar und Schroeder BloodHound und hielten den Vortrag, der der Technik ihren Namen gab: „Six Degrees of Domain Admin“. Seine Einsicht ist genau die Einsicht dieses Artikels: Die einzeln harmlosen Fakten setzen sich zusammen. Eine Helpdesk-Gruppe, die Passwörter für eine Gruppe zurücksetzen kann, in der ein Nutzer ist, der zufällig eine aktive Sitzung auf einem Server hat, auf dem sich letzten Dienstag ein Domänenadmin angemeldet hat, ist ein Pfad mit vier Schritten zur vollständigen Kompromittierung, und kein einzelnes Glied darin sieht wie eine Fehlkonfiguration aus.

BloodHound sammelt diese Beziehungen und führt eine Kürzeste-Wege-Abfrage darauf aus. Es ist Dijkstra, auf einem Graphen, an dessen Zeichnung niemand gedacht hatte. Das Ergebnis veränderte die defensive Praxis, weil die gefundenen Pfade sowohl real als auch für jedes andere eingesetzte Werkzeug unsichtbar waren.

Drei Lehren lassen sich auf jede Umgebung übertragen:

11. Erkennung: Provenienzgraphen und Schuld durch Nähe

Angriffsgraphen dienen der Prävention. Zwei weitere Graphentechniken laufen auf der Erkennungsseite, und sie nutzen ganz andere Graphen.

Provenienzgraphen zeichnen auf, was auf einem System tatsächlich geschehen ist: Prozesse, Dateien, Sockets und die kausalen Beziehungen zwischen ihnen. Ein Prozess liest eine Datei, schreibt eine andere, startet ein Kind, öffnet eine Verbindung. King und Chen führten 2003 auf der SOSP mit ihrem System BackTracker die Rückverfolgung ein: Ausgehend von einem Erkennungspunkt, etwa einer verdächtigen Datei, geht man rückwärts durch den kausalen Graphen, um herauszufinden, wie sie dorthin kam. Die Vorwärtstraversierung von einem Einstiegspunkt zeigt den Schaden; die Rückwärtstraversierung von einem Symptom zeigt die Ursache. Beides sind Graphtraversierungen über dieselbe aufgezeichnete Struktur.

Die moderne Variante gleicht diese Flüsse mit bekanntem Angreiferverhalten ab. HOLMES, 2019 beim IEEE Symposium on Security and Privacy veröffentlicht, bildet verdächtige Informationsflüsse in einem Provenienzgraphen auf die Taktiken und Techniken eines Angriffslebenszyklus ab und schlägt Alarm, wenn das Muster der Flüsse eher einem Eindringen als normaler Aktivität ähnelt. Die technische Schwierigkeit ist die Größe: Provenienzgraphen wachsen auf einem einzigen ausgelasteten Host um Millionen Kanten pro Stunde, und effizientes Reduzieren und Abfragen ist das eigentliche Forschungsproblem.

Schuld durch Nähe ist die zweite Technik, und sie ist Inferenz auf einem Graphen statt Traversierung. Man baut einen bipartiten Graphen aus Maschinen und Dateien: Eine Maschine ist mit jeder Datei verbunden, die sie gesehen hat. Die meisten Dateien und Maschinen sind unmarkiert, einige wenige sind als gut und einige wenige als schlecht bekannt. Belief Propagation verbreitet diese Markierungen dann entlang der Kanten, unter der Annahme, dass Dateien, die auf vielen infizierten Maschinen auftauchen, verdächtig sind und Maschinen mit vielen schlechten Dateien kompromittiert.

Das bauten Chau, Nachenberg, Wilhelm, Wright und Faloutsos 2011 als Polonium, lauffähig auf einem Graphen mit rund 60 Milliarden Maschine-Datei-Kanten aus Symantec-Telemetrie, mit einer berichteten Trefferquote von etwa 85 %. Die Technik zählt, weil sie weder Signatur noch Sandbox braucht: Eine Datei, die noch nie jemand analysiert hat, lässt sich nach ihrer Gesellschaft beurteilen. Dieselbe Form der Berechnung, ein bipartiter Graph plus Label-Propagation, treibt die Betrugserkennung im Zahlungsverkehr und die Missbrauchserkennung auf sozialen Plattformen an.

12. Der Graph der Software-Lieferkette

Der letzte Graph ist der, den Ihr Build-System abläuft. Eine moderne Anwendung deklariert eine Handvoll direkter Abhängigkeiten, von denen jede ihre eigenen deklariert, und die transitive Hülle umfasst routinemäßig Hunderte oder Tausende von Paketen. Diese Hülle ist ein gerichteter azyklischer Graph, und sie ist eine Angriffsfläche.

Die Sicherheitsfrage ist eine Erreichbarkeitsfrage. Wenn ein Paket tief im Graphen kompromittiert ist, welche Ihrer Anwendungen führen seinen Code aus? Das ist Vorwärtserreichbarkeit vom kompromittierten Knoten im umgekehrten Abhängigkeitsgraphen, und es ist die Abfrage, die jede Organisation in der ersten Stunde eines Lieferkettenvorfalls hektisch zu beantworten versucht. Teams mit einer Software-Stückliste beantworten sie in Sekunden; Teams ohne verbringen Tage mit grep.

Zwei Eigenschaften des Graphen machen das auf eine Weise gefährlich, die eine Liste nicht zeigen würde. Tiefe verbirgt Risiko: Ein Paket, das Sie nie gewählt haben, drei Ebenen unter einem, das Sie gewählt haben, läuft mit denselben Rechten wie Ihr eigener Code. Beliebtheit bündelt es: Die Pakete mit dem höchsten Eingangsgrad sind die wertvollsten Ziele, weil die Kompromittierung eines einzigen Tausende nachgelagerter Projekte auf einmal erreicht, und genau dieses Muster dokumentiert die Übersicht über reale Open-Source-Lieferkettenangriffe von Ohm, Plate, Sykosch und Meier aus dem Jahr 2020.

Die nützlichen defensiven Metriken sind Graphmetriken. Zählen Sie die Größe der transitiven Hülle, nicht die Zahl der direkten Abhängigkeiten. Ordnen Sie Abhängigkeiten danach, wie viele Ihrer Anwendungen sie erreichen. Achten Sie auf Pakete mit einem einzigen Maintainer und hohem Eingangsgrad, genau dem Risikoprofil, das mehrere der bekanntesten Vorfälle hervorgebracht hat. Die Technik ist identisch mit der Berechnung des Blast Radius aus Abschnitt 8, nur auf einem anderen Graphen.

13. Was leicht ist, was schwer ist

Die Angriffsgraphanalyse hat unter den Sicherheitstechniken ungewöhnlich klare Komplexitätsverhältnisse, und zu wissen, auf welcher Seite der Linie eine Frage liegt, spart viel vergeudete Mühe.

SicherheitsfrageGraphenproblemAufwand
Leichtester Weg zu einem AssetKürzester PfadO(m + n log n)
Was kann diese Kompromittierung erreichen?ErreichbarkeitO(n + m)
Billigste Menge zu kappender VerbindungenMinimaler SchnittPolynomiell
Kleinste Menge zu isolierender HostsMinimaler KnotenschnittPolynomiell
Wo kippt die Ausbreitung?Größter EigenwertPolynomiell
Welche Hosts sind Engpässe?Betweenness-ZentralitätO(nm)
Jeden Angriffspfad aufzählenAlle einfachen PfadeIm schlimmsten Fall exponentiell
Minimale Menge von SicherheitsmaßnahmenHitting Set auf dem AngriffsgraphenNP-schwer
Billigste Härtung unter einem BudgetNetzwerkinterdiktionNP-schwer

Das Muster ist das bekannte: Fragen über Fluss und Zusammenhang sind billig, Fragen darüber, welche diskreten Dinge man ändern soll, sind teuer. Die Aufzählung ist die Falle in der Mitte. Sie ist intuitiv, jede Demonstration macht sie, und die Zahl der einfachen Pfade kann exponentiell mit der Größe des Netzes wachsen, weshalb ernsthafte Werkzeuge Metriken über den Graphen berechnen, statt seine Pfade aufzulisten. Ammann, Wijesekera und Kaushik argumentierten 2002 genau so, als sie eine kompakte, monotone Darstellung vorschlugen, die polynomiell skaliert, statt aufzuzählen.

Eine Metrik, die man beim Namen kennen sollte, ist k-Zero-Day-Safety, 2014 von Wang, Jajodia, Singhal, Cheng und Noel vorgeschlagen. Sie fragt, wie viele verschiedene unbekannte Schwachstellen ein Angreifer bräuchte, um ein Asset zu erreichen, und umgeht so die unbeantwortbare Frage, wie wahrscheinlich jeder einzelne Exploit ist. Sie ist eine Graphdistanz unter einer anderen Gewichtung und ein gutes Beispiel für den besseren Instinkt des Fachs: Struktur messen, nicht Wahrscheinlichkeit.

14. Modellierungsfehler

Ein falscher Angriffsgraph ist schlimmer als keiner, weil er selbstsichere, konkrete, falsche Prioritäten erzeugt. Diese Fehler kehren immer wieder.

15. Vom Modell zur Praxis

Vier Dinge trennen ein Diagramm, das ein Meeting beeindruckt, von einem Modell, das Entscheidungen ändert.

Bauen Sie den Graphen aus Daten, die Sie schon haben. Firewall-Regelwerke, Definitionen von Cloud-Sicherheitsgruppen, Ausgaben von Schwachstellenscans, Active-Directory-Beziehungen und EDR-Telemetrie beschreiben allesamt Kanten. Ein in einem Workshop von Hand zusammengestelltes Modell ist eine Woche nach dem Workshop veraltet; ein aus der Konfiguration erzeugtes Modell wird jede Nacht neu erzeugt.

Beginnen Sie mit Erreichbarkeit, nicht mit Angriffspfaden. Das billigste wertvolle Ergebnis ist die Blast-Radius-Tabelle aus Abschnitt 8, weil sie überhaupt keine Exploit-Bewertung braucht, nur Konnektivität. „Neun unserer zehn Hosts können den Domänencontroller erreichen“ ist ein Befund, der ankommt, und Sie können ihn liefern, bevor jemand über CVSS streitet.

Nutzen Sie die vorhandenen Werkzeuge. MulVAL, der skalierbare Angriffsgraphgenerator, 2006 von Ou, Boyer und McQueen veröffentlicht, ist in der Forschung immer noch die Referenzimplementierung. BloodHound deckt den Identitätsgraphen ab. NetworkX oder eine Graphdatenbank übernimmt die Analyse, sobald die Kanten existieren. Keiner der Algorithmen in diesem Artikel muss von Grund auf geschrieben werden, und die Graphenkapitel jedes Algorithmenlehrbuchs behandeln die, bei denen es doch nötig ist.

Neu lösen statt streiten. Jede Behauptung in diesem Artikel hat das Modell in Millisekunden entschieden: dass der leichteste Weg die Arbeitsplätze meidet, dass der Dateiserver viermal so viele Wege trägt wie der Webserver, dass die beste einzelne Kontrolle zwei Punkte Aufwand bringt, dass Segmentierung die Epidemieschwelle um 39 % hebt. Die Intuition über Netze ist gerade in den Fällen unzuverlässig, auf die es ankommt, und der ganze Wert des Graphen liegt darin, dass man sie nicht mehr braucht.

16. Wie es weitergeht

Am schnellsten verinnerlicht man dieses Material, indem man einen Graphen baut, statt über einen zu lesen, und die Hürde ist niedriger, als sie aussieht. Zehn Hosts und sechzehn Bögen, mehr hat dieser Artikel nicht verwendet, passen in eine Textdatei, und jedes Ergebnis oben stammt aus ein paar Dutzend Zeilen gewöhnlichen Codes.

Eine sinnvolle Reihenfolge, um die Bausteine zu lernen: Machen Sie sich zuerst mit der Breiten- und Tiefensuche vertraut, denn Erreichbarkeit und Blast Radius sind nichts anderes als eine Traversierung mit Buchführung. Dann Kürzeste-Wege-Algorithmen, die Ihnen die Analyse des leichtesten Wegs liefern und, mit negativen Logarithmen auf den Bögen, auch die des wahrscheinlichsten Wegs. Dann Max-Flow und Min-Cut, das ist der gesamte Inhalt der Abschnitte 6 und 7 und das am wenigsten genutzte Ergebnis der defensiven Sicherheit.

Danach ist die nützliche Richtung eher strukturell als algorithmisch: gerichtete und ungerichtete Graphen entscheiden erstaunlich viele Modellierungsstreitigkeiten, und die Graphdarstellung entscheidet, ob Ihre Analyse bei einer großen Umgebung eine Sekunde oder eine Stunde läuft. Die Komplexitätsgrenzen aus Abschnitt 13 sind allgemeiner dargestellt unter Graphalgorithmen und Komplexität.

Wenn Sie lieber von der Sicherheitsseite her beginnen, ist der kürzeste Weg zu einem echten Ergebnis, Ihre Active-Directory-Beziehungen zu exportieren und abzufragen, denn dieser Graph existiert bereits und niemand musste ihn modellieren. Der Befund, der dann folgt, ist meist derselbe, mit dem dieser Artikel endet: Die Zahl der Maschinen, die letztlich den Domänencontroller erreichen können, ist weit höher, als irgendjemand im Raum erwartet hat.

17. Häufig gestellte Fragen

Was ist ein Angriffsgraph?

+

Ein gerichteter Graph, dessen Knoten die Zustände sind, die ein Eindringling einnehmen kann, meist Hosts oder Paare aus Host und Berechtigung, und dessen Bögen die Übergänge zwischen ihnen sind: ein ausnutzbarer Dienst, eine Vertrauensbeziehung, ein wiederverwendetes Zugangsdatum. Gewichte auf den Bögen erfassen, wie viel Aufwand jeder Schritt kostet, wie wahrscheinlich er gelingt oder wie viel die Kontrolle kosten würde, die ihn entfernt. Sobald der Graph existiert, werden die Fragen der Verteidiger zu Standardalgorithmen: kürzester Pfad für das leichteste Eindringen, minimaler Schnitt für die billigste vollständige Lösung, Erreichbarkeit für den Blast Radius.

Warum ist ein Graph besser als eine Schwachstellenliste?

+

Weil Einbrüche Kompositionen sind und eine Liste keine Komposition ausdrücken kann. Im Netz dieses Artikels besteht der leichteste Weg zum Domänencontroller aus vier einzeln unauffälligen Schritten, von denen keiner oben in einer nach Schweregrad sortierten Liste stünde, und ihre Kombination ist das billigste verfügbare Eindringen. Eine Liste kann Ihnen auch nicht sagen, dass der Dateiserver auf drei Vierteln aller Wege liegt, der zum Internet hin exponierte Webserver dagegen auf weniger als einem Fünftel. Das sind Eigenschaften der Struktur, nicht eines einzelnen Hosts.

Wie finde ich den billigsten Weg, jeden Angriffspfad zu blockieren?

+

Setzen Sie die Kosten jeder mildernden Kontrolle auf den entsprechenden Bogen und berechnen Sie den minimalen Schnitt zwischen dem Startpunkt des Angreifers und dem Asset. Das Max-Flow-Min-Cut-Theorem garantiert, dass die billigste Menge von Bögen, die beide trennt, genau dieser Schnitt ist, und er wird in Polynomialzeit berechnet. Um Hosts statt Verbindungen zu zählen, teilen Sie jeden Host in eine Eingangs- und eine Ausgangskopie, verbunden durch einen Bogen der Kapazität eins, und geben den echten Bögen unendliche Kapazität; derselbe Algorithmus liefert dann die kleinste Menge zu isolierender Maschinen.

Was ist die Epidemieschwelle, und warum ist sie für Ransomware wichtig?

+

Für eine breite Klasse von Ausbreitungsmodellen stirbt eine Infektion von selbst aus, wenn ihr Verhältnis von Ausbreitung zu Bereinigung unter eins geteilt durch den größten Eigenwert der Adjazenzmatrix des Netzes liegt, und wird darüber endemisch. Dieses Ergebnis stammt von Wang, Chakrabarti, Wang und Faloutsos aus dem Jahr 2003. Es ist wichtig, weil Segmentierung den Eigenwert verändert: Im Netz dieses Artikels senkt das Isolieren des Dateiservers von den Arbeitsplätzen und der App-Schicht den Eigenwert von 3,573 auf 2,570 und hebt die Schwelle um 39 %, sodass Ausbrüche, die sich festgesetzt hätten, wieder abklingen.

Was macht BloodHound mathematisch?

+

Es führt Kürzeste-Wege-Abfragen auf einem Graphen aus, der aus Active-Directory-Beziehungen gebaut ist. Nutzer, Gruppen und Computer sind Knoten; Mitgliedschaft, Administratorrechte, Rechte zum Zurücksetzen von Passwörtern, Besitz und aktive Sitzungen sind Bögen. Das Werkzeug sammelt diese Beziehungen und findet Wege von einem Konto mit geringen Rechten zu Domain Admin. Die Technik ist gewöhnliche Graphsuche; der Beitrag war zu erkennen, dass das Verzeichnis den Graphen bereits enthält und dass sich Ketten einzeln vernünftiger Berechtigungen zur vollständigen Kompromittierung zusammensetzen.

Skaliert die Angriffsgraphanalyse auf ein reales Netz?

+

Die Analyse skaliert; naive Aufzählung nicht. Die Zahl der einfachen Angriffspfade kann exponentiell mit der Größe des Netzes wachsen, daher ist ihr Auflisten jenseits von Spielbeispielen hoffnungslos. Alles andere in diesem Artikel ist polynomiell: Kürzeste Wege, Erreichbarkeit, minimale Schnitte, Zentralität und der Eigenwert lassen sich auf Graphen mit Millionen Kanten bequem berechnen. Die übliche Antwort der Forschung, von Ammann und Kollegen 2002 und dem Generator MulVAL 2006, ist eine kompakte Darstellung, deren Größe polynomiell wächst, und die Berechnung von Metriken darauf statt der Aufzählung von Pfaden.

Woher kommen die Aufwandswerte, und was, wenn sie falsch sind?

+

Meist aus einem Bewertungssystem wie der CVSS-Ausnutzbarkeit, angepasst von jemandem, der die Umgebung kennt. Es sind Urteile, keine Messungen, und die ehrliche Haltung ist, dass die Reihenfolge viel zuverlässiger ist als die Werte: Sie können vielleicht eine 3 nicht gegen eine 4 verteidigen, wohl aber, dass ein öffentlicher Web-Exploit leichter ist als der Diebstahl eines Domänenadmin-Zugangs. Prüfen Sie den Schluss, indem Sie die Werte stören. Ändert sich die empfohlene Kontrolle, wenn sich ein Wert um einen Punkt verschiebt, berichten Sie das, statt so zu tun, als sei das Modell präzise. Metriken wie k-Zero-Day-Safety gibt es genau dafür, das Bewertungsproblem zu umgehen, indem sie stattdessen verschiedene unbekannte Schwachstellen zählen.

18. Quellen

Die Arbeiten, die diese Techniken begründet haben, in chronologischer Reihenfolge.

  1. Ford, L. R. und Fulkerson, D. R. (1956). “Maximal flow through a network.” Canadian Journal of Mathematics, 8, 399–404.
  2. Freeman, L. C. (1977). “A set of measures of centrality based upon betweenness.” Sociometry, 40(1), 35–41.
  3. Kephart, J. O. und White, S. R. (1991). “Directed-graph epidemiological models of computer viruses.” Proceedings of the IEEE Symposium on Security and Privacy, 343–359.
  4. Phillips, C. und Swiler, L. P. (1998). “A graph-based system for network-vulnerability analysis.” Proceedings of the New Security Paradigms Workshop, 71–79.
  5. Ammann, P., Wijesekera, D. und Kaushik, S. (2002). “Scalable, graph-based network vulnerability analysis.” Proceedings of the 9th ACM Conference on Computer and Communications Security, 217–224.
  6. Sheyner, O., Haines, J., Jha, S., Lippmann, R. und Wing, J. M. (2002). “Automated generation and analysis of attack graphs.” Proceedings of the IEEE Symposium on Security and Privacy, 273–284.
  7. Jha, S., Sheyner, O. und Wing, J. (2002). “Two formal analyses of attack graphs.” Proceedings of the 15th IEEE Computer Security Foundations Workshop, 49–63.
  8. Staniford, S., Paxson, V. und Weaver, N. (2002). “How to own the Internet in your spare time.” Proceedings of the 11th USENIX Security Symposium, 149–167.
  9. King, S. T. und Chen, P. M. (2003). “Backtracking intrusions.” Proceedings of the 19th ACM Symposium on Operating Systems Principles, 223–236.
  10. Wang, Y., Chakrabarti, D., Wang, C. und Faloutsos, C. (2003). “Epidemic spreading in real networks: an eigenvalue viewpoint.” Proceedings of the 22nd International Symposium on Reliable Distributed Systems, 25–34.
  11. Ou, X., Boyer, W. F. und McQueen, M. A. (2006). “A scalable approach to attack graph generation.” Proceedings of the 13th ACM Conference on Computer and Communications Security, 336–345.
  12. Chakrabarti, D., Wang, Y., Wang, C., Leskovec, J. und Faloutsos, C. (2008). “Epidemic thresholds in real networks.” ACM Transactions on Information and System Security, 10(4), 1–26.
  13. Noel, S. und Jajodia, S. (2008). “Optimal IDS sensor placement and alert prioritization using attack graphs.” Journal of Network and Systems Management, 16(3), 259–275.
  14. Chau, D. H., Nachenberg, C., Wilhelm, J., Wright, A. und Faloutsos, C. (2011). “Polonium: tera-scale graph mining and inference for malware detection.” Proceedings of the SIAM International Conference on Data Mining, 131–142.
  15. Wang, L., Jajodia, S., Singhal, A., Cheng, P. und Noel, S. (2014). “k-zero day safety: a network security metric for measuring the risk of unknown vulnerabilities.” IEEE Transactions on Dependable and Secure Computing, 11(1), 30–44.
  16. Robbins, A., Vazarkar, R. und Schroeder, W. (2016). “Six degrees of Domain Admin.” DEF CON 24.
  17. Milajerdi, S. M., Gjomemo, R., Eshete, B., Sekar, R. und Venkatakrishnan, V. N. (2019). “HOLMES: real-time APT detection through correlation of suspicious information flows.” Proceedings of the IEEE Symposium on Security and Privacy, 1137–1152.
  18. Ohm, M., Plate, H., Sykosch, A. und Meier, M. (2020). “Backstabber's knife collection: a review of open source software supply chain attacks.” Detection of Intrusions and Malware, and Vulnerability Assessment (DIMVA), 23–43.

Finden Sie den Schnitt selbst

Bauen Sie Ihr eigenes Netz, geben Sie jeder Verbindung die Kosten der Kontrolle, die sie entfernen würde, und sehen Sie zu, wie der Algorithmus die billigste Menge von Schnitten findet, die den Angreifer vom Asset trennt. Der Moment, in dem der Schnitt erscheint, ist der Moment, in dem Segmentierung aufhört, ein Slogan zu sein.

Min-Cut-Visualisierung öffnen