Iterative Kompromittierungsgraphverfeinerung als ... - Semantic Scholar

Definition. Kompromittierungspfade. Berechnungsaufwand. 3 Nutzung in der Praxis .... Die Berechnung der Kosten ist ein bekanntes Graphenproblem der.
389KB Größe 10 Downloads 385 Ansichten
Background Kompromittierungsgraphen Nutzung in der Praxis Diskussion

Iterative Kompromittierungsgraphverfeinerung als methodische Grundlage f¨ur Netzwerkpenetrationstests Felix C. Freiling – [email protected] Universit¨at Mannheim Jens Liebchen – [email protected] RedTeam Pentesting GmbH

Sicherheit 2008, Saarbr¨ ucken, 4. April 2008

Felix C. Freiling, Jens Liebchen

Iterative Kompromittierungsgraphverfeinerung

Background Kompromittierungsgraphen Nutzung in der Praxis Diskussion

1

Background ¨ Uber die Autoren ¨ Uber Penetrationstests Schl¨ usselfaktoren bei Penetrationstests Wissenschaftlicher Stand

2

Kompromittierungsgraphen Definition Kompromittierungspfade Berechnungsaufwand

3

Nutzung in der Praxis Absch¨atzung einer sinnvollen Testdauer Kompromittierungspfade w¨ahrend des Pentests Vereinbare Ziele

4

Diskussion Diskussion Felix C. Freiling, Jens Liebchen

Iterative Kompromittierungsgraphverfeinerung

Background Kompromittierungsgraphen Nutzung in der Praxis Diskussion

¨ Uber die Autoren ¨ Uber Penetrationstests Schl¨ usselfaktoren bei Penetrationstests Wissenschaftlicher Stand

¨ Uber die Autoren

Felix C. Freiling F

Universit¨at Mannheim

Pi1 – Laboratory for Dependable Distributed Systems Jens Liebchen F

F

RedTeam Pentesting GmbH

F

Spezialisierung auf Penetrationstests

Felix C. Freiling, Jens Liebchen

Iterative Kompromittierungsgraphverfeinerung

Background Kompromittierungsgraphen Nutzung in der Praxis Diskussion

¨ Uber die Autoren ¨ Uber Penetrationstests Schl¨ usselfaktoren bei Penetrationstests Wissenschaftlicher Stand

¨ Uber Penetrationstest

Penetrationstest Ein Penetrationstest bezeichnet die Sicherheits¨ uberpr¨ ufung eines IT-Systems durch einen kontrollierten Angriff.

Arten von Penetrationstests F

¨ Produktpenetrationstests: Uberpr¨ ufung eines (sicherheitsrelevanten) Produkts auf Schwachstellen

F

Netzwerkpenetrationstests: Kontrollierter Angriff auf ein Firmennetzwerk oder zumindest Teile davon

Felix C. Freiling, Jens Liebchen

Iterative Kompromittierungsgraphverfeinerung

Background Kompromittierungsgraphen Nutzung in der Praxis Diskussion

¨ Uber die Autoren ¨ Uber Penetrationstests Schl¨ usselfaktoren bei Penetrationstests Wissenschaftlicher Stand

¨ Uber Penetrationstest

Penetrationstest Ein Penetrationstest bezeichnet die Sicherheits¨ uberpr¨ ufung eines IT-Systems durch einen kontrollierten Angriff.

Arten von Penetrationstests F

¨ Produktpenetrationstests: Uberpr¨ ufung eines (sicherheitsrelevanten) Produkts auf Schwachstellen

F

Netzwerkpenetrationstests: Kontrollierter Angriff auf ein Firmennetzwerk oder zumindest Teile davon

Felix C. Freiling, Jens Liebchen

Iterative Kompromittierungsgraphverfeinerung

Background Kompromittierungsgraphen Nutzung in der Praxis Diskussion

¨ Uber die Autoren ¨ Uber Penetrationstests Schl¨ usselfaktoren bei Penetrationstests Wissenschaftlicher Stand

Schl¨usselfaktoren bei Penetrationstests

Eine wichtige Rolle f¨ ur erfolgreiche Penetrationstests in der Praxis spielen: F

Realistische Angreiferannahmen

F

Kreativit¨at

F

Individualit¨at eines Penetrationstests

Felix C. Freiling, Jens Liebchen

Iterative Kompromittierungsgraphverfeinerung

Background Kompromittierungsgraphen Nutzung in der Praxis Diskussion

¨ Uber die Autoren ¨ Uber Penetrationstests Schl¨ usselfaktoren bei Penetrationstests Wissenschaftlicher Stand

Wissenschaftlicher Stand

F

BSI, NIST, OSSTMM, etc.

F

Literatur zu Angriffsvektoren sehr schnell veraltet und immer unvollst¨andig

F

Kaum Informationen zur Dauer eines Penetrationstests

F

Problem: Keine Beauftragung eines Penetrationstests ohne definierte Kosten!

Felix C. Freiling, Jens Liebchen

Iterative Kompromittierungsgraphverfeinerung

Background Kompromittierungsgraphen Nutzung in der Praxis Diskussion

Definition Kompromittierungspfade Berechnungsaufwand

Kompromittierungsgraphen

Definition G = (V , E ) S ⊆V

(Startknoten)

Z ⊆V

(Zielknoten)

b : E → R>0 × R>0 t k(e) = α · p

Felix C. Freiling, Jens Liebchen

(Graph)

(Bewertung) (Normierung)

Iterative Kompromittierungsgraphverfeinerung

Background Kompromittierungsgraphen Nutzung in der Praxis Diskussion

Definition Kompromittierungspfade Berechnungsaufwand

Kompromittierungspfade

Kompromittierungspfad Ein Kompromittierungspfad in einem Kompromittierungsgraph G = (V , E ) ist ein Folge v1 , v2 , . . . , vk von Knoten aus G so dass v1 ∈ S, vk ∈ Z und f¨ ur alle 0 < i ≤ k gilt: (vi−1 , vi ) ∈ E .

Felix C. Freiling, Jens Liebchen

Iterative Kompromittierungsgraphverfeinerung

Background Kompromittierungsgraphen Nutzung in der Praxis Diskussion

Definition Kompromittierungspfade Berechnungsaufwand

Kompromittierungspfade

Kosten: Gesamtkosten f¨ ur alle Zielsysteme: 8

Felix C. Freiling, Jens Liebchen

Iterative Kompromittierungsgraphverfeinerung

Background Kompromittierungsgraphen Nutzung in der Praxis Diskussion

Definition Kompromittierungspfade Berechnungsaufwand

Kompromittierungspfade

Kosten: Gesamtkosten f¨ ur alle Zielsysteme: 7

Felix C. Freiling, Jens Liebchen

Iterative Kompromittierungsgraphverfeinerung

Background Kompromittierungsgraphen Nutzung in der Praxis Diskussion

Definition Kompromittierungspfade Berechnungsaufwand

Berechnungsaufwand

Die Berechnung der Kosten ist ein bekanntes Graphenproblem der Informatik, das gerichtete Steinerbaumproblem F

Leider NP-schwer

F

Gute Approximationsl¨ osungen sind vorhanden

F

In der Praxis von Penetrationstests: Verh¨altnism¨aßig wenige Knoten und nur wenige Ziele (oft |Z | = 1), dann leicht“ ” l¨osbar

Felix C. Freiling, Jens Liebchen

Iterative Kompromittierungsgraphverfeinerung

Background Kompromittierungsgraphen Nutzung in der Praxis Diskussion

Absch¨ atzung einer sinnvollen Testdauer Kompromittierungspfade w¨ ahrend des Pentests Vereinbare Ziele

Absch¨atzung einer sinnvollen Testdauer

Mit Hilfe der Kompromittierungspfade kann eine Testdauer nur auf Grund eines ersten Bildes des Netzwerks abgesch¨atzt werden. F

Absch¨atzung vor eigentlicher Auftragsvergabe m¨oglich

F

Genauigkeit steht und f¨allt mit den Erfahrungen der absch¨atzenden Pentester (insbesondere schwierig: Absch¨atzung der Kosten einzelner Teilpfade)

Felix C. Freiling, Jens Liebchen

Iterative Kompromittierungsgraphverfeinerung

Background Kompromittierungsgraphen Nutzung in der Praxis Diskussion

Absch¨ atzung einer sinnvollen Testdauer Kompromittierungspfade w¨ ahrend des Pentests Vereinbare Ziele

Kompromittierungspfade w¨ahrend des Pentests

Direktes Vorgehen anhand von Kompromittierungspfaden nicht sinnvoll. Besser: F

M¨ oglichst schnelle Tests vorziehen

F

Erst u ¨berraschende“ Schwachstellen suchen ” ⇒ Iterative Verfeinerung des Kompromittierungsgraphen

F F

(Außer Start- und Zielknoten muss kein Zusammenhang zwischen zwei Iterationsstufen bestehen)

Felix C. Freiling, Jens Liebchen

Iterative Kompromittierungsgraphverfeinerung

Background Kompromittierungsgraphen Nutzung in der Praxis Diskussion

Absch¨ atzung einer sinnvollen Testdauer Kompromittierungspfade w¨ ahrend des Pentests Vereinbare Ziele

Kompromittierungspfade w¨ahrend des Pentests

Anpassung der Kostenfunktion zur Nutzung w¨ahrend des Penetrationstests:

Neue Kostenfunktion kostenz (E ) = α ·

t pz

Felix C. Freiling, Jens Liebchen

(Normierung)

Iterative Kompromittierungsgraphverfeinerung

Background Kompromittierungsgraphen Nutzung in der Praxis Diskussion

Absch¨ atzung einer sinnvollen Testdauer Kompromittierungspfade w¨ ahrend des Pentests Vereinbare Ziele

Vereinbare Ziele

F

Eine m¨oglichst breite Sichtweise garantiert das Aufdecken von vielen verschiedenen Schwachstellen

F

Das Erreichen der vereinbarten Ziele garantiert die gew¨ unschte Testtiefe

Felix C. Freiling, Jens Liebchen

Iterative Kompromittierungsgraphverfeinerung

Background Kompromittierungsgraphen Nutzung in der Praxis Diskussion

Diskussion

Diskussion

F

Zumindest ein erster Ansatz f¨ ur Absch¨atzungen und Vorgehen bei Pentests

F

Absch¨atzungen bei Pentests sind erfahrungsabh¨angig

F

Auch Kompromittierungspfade l¨ osen diese Abh¨angigkeit nicht

F

NDAs verhindern Analyse von echten Penetrationstests

F

Untersuchung der m¨ oglichen Evaluierung mit Hilfe von studentischen Praktika l¨auft ⇒ Problem: Fehlende Erfahrung f¨ ur Absch¨atzungen

Felix C. Freiling, Jens Liebchen

Iterative Kompromittierungsgraphverfeinerung

Background Kompromittierungsgraphen Nutzung in der Praxis Diskussion

Diskussion

Diskussion

Vielen Dank!

Felix C. Freiling, Jens Liebchen

Iterative Kompromittierungsgraphverfeinerung