1/ 41 Modellbasierte Softwareentwicklung mit Sicherheitseigenschaften und UMLsec Maximilian Ambaum TU Dortmund 26. Juli 2015
Inhalt 2/ 41 1 Motivation und Hintergrund 2 Einführung in UMLsec 3 CARiSMA 4 Fazit
Motivation und Hintergrund 3/ 41 Motivation und Hintergrund Veränderte Rahmenbedingungen Verstärkte Abhängigkeit von Computersystemen Zunehmende Vernetzung Mehr Angriffsmöglichkeiten Ausgefeiltere Angriffstechniken Bishereige Entwicklung sicherheitskritischer Systeme Intuitive Implementierung von Sicherheitseigenschaften Testen der fertigen Software Nachträgliches Schließen von Sicherheitslücken Langer Support existierender Software
Einführung in UMLsec Einführung in UMLsec 4/ 41 Modellieren Physikalischer Gegebenheiten Abbildung: UML-Verteilungsdiagramm
Einführung in UMLsec Einführung in UMLsec 5/ 41 Modellieren Physikalischer Gegebenheiten Abbildung: UML-Verteilungsdiagramm
Einführung in UMLsec Einführung in UMLsec 6/ 41 Modellieren Physikalischer Gegebenheiten Abbildung: UML-Verteilungsdiagramm
Einführung in UMLsec Einführung in UMLsec 7/ 41 Modellieren Physikalischer Gegebenheiten Abbildung: UML-Verteilungsdiagramm
Einführung in UMLsec 8/ 41 Einführung in UMLsec UML-Metamodell und Stereotypen Das Metamodell ist ein Klassendiagramm, dass die Struktur von UML-Modellen beschreibt. Stereotypen ergänzen dieses Metamodell. Sie sind also Erweiterungen bestehender UML-Elemente. UMLsec und Stereotypen UMLsec benutzt Stereotypen, um das Modellieren von Sicherheitseigenschaften zu ermöglichen.
Einführung in UMLsec Einführung in UMLsec 9/ 41 UMLsec und Stereotypen Abbildung: Stereotyp Internet
Einführung in UMLsec Einführung in UMLsec 10/ 41 UMLsec und Stereotypen Abbildung: Stereotypen LAN und encrypted
Einführung in UMLsec Einführung in UMLsec 11/ 41 Modellieren physikalischer Gegebenheiten Abbildung: Das Verteilungsdiagramm, um UMLsec-Stereotypen ergänzt
Einführung in UMLsec Einführung in UMLsec 12/ 41 Modellieren physikalischer Gegebenheiten Abbildung: Das Verteilungsdiagramm, um UMLsec-Stereotypen ergänzt
Einführung in UMLsec Einführung in UMLsec 13/ 41 Sichere Abhängigkeiten Abbildung: Erweitertes Verteilungsdiagramm
Einführung in UMLsec Einführung in UMLsec 14/ 41 Sichere Abhängigkeiten Abbildung: Stereotypen call und send
Einführung in UMLsec Einführung in UMLsec 15/ 41 Sichere Abhängigkeiten Abbildung: Stereotypen secrecy, integrity und high
Einführung in UMLsec Einführung in UMLsec 16/ 41 Sichere Abhängigkeiten Abbildung: Erweitertes Verteilungsdiagramm mit weiteren Stereotypen
Einführung in UMLsec Einführung in UMLsec 17/ 41 Modellieren von Daten Abbildung: UML-Klassendiagramm
Einführung in UMLsec Einführung in UMLsec 18/ 41 Modellieren von Daten Abbildung: Stereotyp critical
Einführung in UMLsec Einführung in UMLsec 19/ 41 Modellieren von Daten Abbildung: UML-Klassendiagramm mit Sicherheitsanforderungen
Einführung in UMLsec 20/ 41 Einführung in UMLsec Angreifer in UMLsec UMLsec verwendet ein Abstraktes Angreifermodell. Ein Angreifer kann Operationen auf Kommunikationspfaden ausführen. Welche, variiert zwischen den unterschiedlichen Angreifern und den Arten von Kommunikationspfaden. Ist aber immer durch eine Menge genau festgelegt.
Einführung in UMLsec Einführung in UMLsec 21/ 41 Beispiel für den Angreifer default Stereotyp Threats default Internet {delete, read, insert} LAN {} encrypted {delete}
Einführung in UMLsec Einführung in UMLsec 22/ 41 Sicherheitsrichtlinien festlegen Abbildung: Stereotyp secure links
Einführung in UMLsec Einführung in UMLsec 23/ 41 Sicherheitsrichtlinien festlegen Abbildung: Stereotyp secure dependency
Einführung in UMLsec Einführung in UMLsec 24/ 41 Sicherheitsrichtlinien festlegen Abbildung: Stereotyp data security
CARiSMA CARiSMA 25/ 41 Was ist CARiSMA? Tool zur automatischen Analyse von UMLsec-Modellen Eclipse-Plugin Arbeitet mit UML2-Modellen https://www-secse.cs.tu-dortmund.de/carisma/
CARiSMA 26/ 41
CARiSMA 27/ 41
CARiSMA 28/ 41
CARiSMA 29/ 41
CARiSMA 30/ 41
CARiSMA 31/ 41
CARiSMA 32/ 41
CARiSMA 33/ 41
CARiSMA 34/ 41
CARiSMA 35/ 41
CARiSMA 36/ 41
CARiSMA 37/ 41
CARiSMA 38/ 41
CARiSMA 39/ 41
CARiSMA 40/ 41
Fazit Fazit 41/ 41 Zusammenfassend: UMLsec baut auf der etablierten UML auf ergänzt diese um zusätzliche Elemente ermöglicht so die Modellierung von Sicherheitsanforderungen erlaubt es, automatisch zu überprüfen, ob die Sicherheitsanforderungen vom Modell eingehalten werden Aber Die Zahl der Tools, die UMLsec unterstützen ist begrenzt Für komplexere Modelle muss man sich sehr genau auskennen Das hat eine lange Einarbeitungszeit zur Folge Gegen Fehler in der anschließenden Implementierung kann UMLsec nicht schützen