Die kostspieligsten Sicherheitsprobleme betreffen in der Regel nicht das Coding, sondern die Softwarearchitektur. Um solche Designschwächen in Software zu finden, hilft in der Regel weder ein automatisiertes Tool noch ein Penetrationstest.
Threat Modeling ist ein effektives Werkzeug, um diese Art von Sicherheitsproblemen systematisch und effektiv aufzudecken. Es ist ein wichtiger und effektiver Teil eines sicheren Softwareentwicklungsprozesses und eine optimale Ergänzung zu Penetrationstests und automatisierten Code-Scans.
Threat Modeling wird im Optimalfall zu Beginn der Architekturphase durchgeführt und in weiterer Folge periodisch aktualisiert. Dennoch ist auch ein Einsatz zu einem späteren Zeitpunkt immer noch sinnvoll, weil so systemische Probleme erkannt werden können, die in einem Penetrationstest einzelner Komponenten möglicherweise nicht gefunden werden könnten.
Unsere Leistung
In einem ersten Schritt wird gemeinsam mit dem Kunden bzw. der Kundin ein Workshop abgehalten, der die folgenden Aspekte behandelt:
- Eine Einführung in das Thema Threat Modeling
- Das Modellieren der eigenen Software mit Hilfe eines Data-Flow-Diagramms
- Systematisches Finden von Bedrohungen mit Hilfe der STRIDE-Methodik
- Priorisieren der aufgedeckten Bedrohungen
- Erarbeiten von Lösungsansätzen
Im Anschluss wird ein umfangreicher Bericht erstellt, der die gefundenen Bedrohungen auflistet. Zu jeder Bedrohung wird weiters dokumentiert:
- Detaillierte Beschreibung
- Vorgeschlagene Gegenmaßnahmen
- Bewertung mit einem Basisrisiko
- Einschätzung, vor welchen Threat Actors man sich schützen muss
Benefits
- Sicherheitsprobleme auf Architektur-Ebene frühzeitig und systematisch erkennen.
- Design-Sicherheitsproblemen effizient und wirtschaftlich vorbeugen.
- Eine Methode lernen, die auch in kleinen Sprints effektiv Anwendung finden können.