Die Sicherheit von Anwendungen und IT-Systemen hat sich zu einer zentralen Anforderung moderner Softwareprojekte entwickelt. Eines der vielversprechendsten Vorgehen ist der ganzheitliche Ansatz des Threat Modelings. In einem klar abgesteckten Rahmen (Scope) wird hier ein Bedrohungsmodell, etwa für eine Anwendung, ein System oder ein Gerät erstellt. Dabei werden Sicherheitsziele formuliert, potenzielle Schwachstellen gesucht und Maßnahmen vorgeschlagen, um diese zu beheben. Dabei werden die Benutzer*innengruppen, die Komponenten, die Datenflüsse, Use Cases, aber auch die Motivation von Angreifer*innen und typische Angriffsszenarien berücksichtigt.
Im Threat Modeling Manifesto wurden 2020 von Security-Forscher*innen grundlegende Prinzipien und praktische Leitlinien für die Bedrohungsanalyse aufgestellt. Eine der Kernbotschaften lautet dabei, dass IT-Sicherheit keinesfalls auf einzelne Expert*innen beschränkt bleiben sollte, sondern Aufgabe des gesamten Teams ist:
Who should threat model?
You. Everyone. Anyone who is concerned about the privacy, safety, and security of their system.
und erteilt damit dem einzelgängerischen „Hero Threat Modeler“ eine Absage.
Elevation of Privilege ist ein Kartenspiel, mit dessen Hilfe Entwicklungs- oder Administrations-Teams auf spielerische Art gemeinsam ihr System auf Schwachstellen untersuchen können. Das Spiel verkörpert die Ideale des Threat Modeling Manifesto: Es gibt der Bedrohungsanalyse eine klare Struktur, lässt gleichzeitig aber genügend Raum für kreative Denkprozesse, statt einem starren Abarbeiten von Checklisten zu folgen.
Wie sieht ein Bedrohungsmodell aus?
Um ein besseres Verständnis für Threat Models zu bekommen, betrachten wir eine fiktive Beispielanwendung.

In WASA, der Wahrsage-App, können Benutzer*innen ihr individuelles Horoskop generieren lassen, sowie zu freiberuflichen Wahrsager*innen Kontakt aufnehmen. Die Anwendung besteht aus einer App für mobile Geräte, einer Webanwendung für Browser, einer API-Library, einem Server, technischen Services und einer Reihe von Datenbanken. Für eine Übersicht über die Systemkomponenten und Datenflüsse bietet sich ein Datenflussdiagramm an.

Verschiedene Benutzer*innengruppen werden identifiziert, etwa Administrator*innen, Wahrsager*innen und Anwender*innen.
Sicherheitsziele helfen dabei, wesentliche Aspekte von Datenschutz und -sicherheit im Auge zu behalten und zu bewerten. Je nach Anwendung wiegen Ziele schwerer oder spielen ggf. gar keine Rolle. Das BSI definiert Vertraulichkeit, Integrität und Verfügbarkeit (CIA-Triade) als klassische Grundwerte der Informationssicherheit. Ergänzt werden weitere Sicherheitsziele wie Authentizität, Nichtabstreitbarkeit und Zurechenbarkeit. In diesem Beispiel würde die Datenhaltung von Benutzerdaten, vielleicht sogar Zahlungsdaten, dem Datenschutzziel Vertraulichkeit großes Gewicht verleihen, während die Verfügbarkeit eher nachrangig eingestuft werden könnte, weil ein zeitweiser Ausfall der Anwendung keine schweren Schäden verursacht. Besonders die Authentizität der Wahrsager*innen sollte großes Gewicht erhalten, weil diese in persönlichen Chats möglicherweise intime und vertrauliche Angelegenheiten der Benutzer*innen besprechen.
Weiterführende Informationen zum Thema Threat Modeling finden sich in unserem zweiteiligen Podcast.
Wie funktioniert Elevation of Privilege?
Das Identifizieren und Beheben von Schwachstellen sollte idealerweise Aufgabe des gesamten Entwicklungsteams sein. Außerdem kann die Expertise von Kund*innen, DevOps und Sicherheitsbeauftragten wertvolle Inputs liefern.
Mit Elevation of Privilege hat Adam Shostack ein einfaches Kartenspiel entwickelt, das Teams unterstützt, kollaborativ Schwachstellen zu identifizieren und Lösungen und Mitigationsmaßnahmen zu finden. Inspiriert wurde er von dem Kartenspiel Protection Poker.
Omar Khalid schrieb schließlich eine Webanwendung, mit der das Spiel bequem über das Internet gespielt werden kann. Der Vorteil der Webanwendung ist, dass die gefundenen Schwachstellen und mögliche Mitigationen direkt in einem Threat-Dragon-Datenflussdiagramm der Anwendung eingetragen werden können.

Dabei werden reihum Karten gezogen, die bestimmte Angriffsvektoren vorgeben. Zu diesen Angriffsvektoren werden Schwachstellen im eigenen System gesucht. Punkte bekommt, wer Schwachstellen identifizieren kann (auf die sich das Team einigen kann) oder wer Karten auslegt, zu denen Schwachstellen gefunden werden können. Die Karten gehören Sicherheitskategorien an, die sich etwa an STRIDE orientieren. In jeder Runde können nur Karten einer bestimmten Kategorie gelegt werden.
Das Spiel schafft durch den spielerischen Wettbewerb einen Anreiz für die kreative Suche nach Sicherheitslücken und leitet gleichzeitig das Team dazu an gemeinsam zu rätseln, sich gegenseitig zu inspirieren und über sichere Softwarearchitekturen und Best Practices zu diskutieren.
Für unterschiedliche Systeme bietet das Spiel dabei unterschiedliche Kartendecks:
- Elevation of Privilege von Adam Shostack für klassische Softwareentwicklung
- Cornucopia, von OWASP, ebenfalls für die klassische Softwareentwicklung
- Cumulus von TNG für Cloud-Infrastruktur
- Elevation of MLsec vom BIML für Machine Learning-Systeme
An einer klassischen Spielrunde sollten die Softwareentwickler*innen und ggf. wichtige Stakeholder mit fachlicher oder technischer Expertise teilnehmen. Am besten spielt sich das Spiel mit 3 bis 8 Spieler*innen.
Zur Illustration eine Beispiel-Runde: Die Autor*innen von WASA Alice, Bob und Claire teilen die Karten gleichmäßig untereinander auf und nehmen sie verdeckt auf.
Zum Schluss wird geprüft, wer die höchste Karte der vorgegebenen Kategorie gespielt hat: Alice bekommt einen Punkt. Anschließend eröffnet Bob die nächste Runde.
Los geht’s!
Das physische Kartenspiel lässt sich bei Cybersecgames bestellen. Nachdem die Online-Variante des Spiels einige Jahre verwaist war, so dass die Kompatibilität mit aktuellen Datenflussdiagrammen aus Threat Dragon verloren ging, haben wir uns dem Spiel angenommen und eine aktualisierte Version weiterentwickelt. Der Code findet sich unter Open-Source-Lizenz in unserem Github-Repository. Zum vereinfachten Betrieb liegen dort zudem zwei Docker-Images bereit, mit denen die Anwendung schnell und unkompliziert deployt werden kann.
Dank geht an Adam Shostack für die Spielidee, Omar Khalid für die digitale Umsetzung und an TNG für die langjährige Wartung des Spiels.
Ressourcen:
- GitHub-Respository der tech@spree
- aktuelle Docker-Images für Elevation of Privilege
- Spielanleitung und Kartenmaterial bei Microsoft
- Spielanleitung bei Cybersecgames
- Videoanleitung bei Cybersecgames
- Original-Repository von Elevation of Privilege
- GitHub Repository von TNG
- GitHub-Repository von Adam Shostack mit den Grafikdateien des Kartendecks
- OWASP Threat Dragon zum Erstellen von Datenflussdiagrammen, die in das Spiel importiert werden können
Alle Kartendesigns unterliegen der Creative-Commons-Lizenz CC-BY-3.0 durch Microsoft




Schreibe einen Kommentar