Agile Threat Modeling im DevSecOps-Sinne mit OpenSource-Werkzeugen

Nachdem die Herausforderung, Security in agile Projektmethoden und DevOps-Verfahren zu integrieren, mittels DevSecOps angegangen wurde, steht direkt das nächste Integrationsproblem vor der Tür: Bedrohungsmodellierung!

Wenn wir durch Pipeline-as-Code zuverlässig, reproduzierbar und jederzeit schnell unsere Software bauen können und nun auch durch passende Werkzeuge Securityscans automatisiert haben, wie können wir dann die Risikolandschaft unserer Projekte ebenfalls schnell erfassen?

Eigentlich geschieht so etwas in aufwendigen Workshops mit viel Diskussion sowie Modellarbeit am Whiteboard. Diese Veranstaltungen sind durchaus sinnvoll und wichtig, da nur mit dieser Tiefe manche Bedrohungen in einer Architektur rechtzeitig erkannt werden. Schade nur, dass es meistens dann auch aufhört: Anstelle eines lebenden Modells entsteht ein langsam aber sicher erodierendes Artefakt.

Um diesem Verfallsprozess entgegenzuwirken, muss etwas Kontinuierliches her, etwas wie „Threat-Model-as-Code“ im DevSecOps-Sinne. Sehen Sie in diesem Talk die Ideen hinter diesem Ansatz: Agiles und entwicklerfreundliches Bedrohungsmodellieren direkt aus der IDE heraus — ganz stilecht mit einer Live-Demo mittels Open-Source-Werkzeugen.

Ergebnis? In Entwickler-IDEs editierbare und in Git diffbare Modelle, automatisch regel-basiert abgeleitete Risiken inklusive grafischer Diagramm- und Reportgenerierung mit Mitigationsmaßnahmen. Die Architektur ändert sich? Ein erneuter Lauf liefert die aktuelle Risikosicht …

Christian Schneider ist als freiberuflicher Softwareentwickler, Whitehat Hacker und Trainer tätig. Er unterstützt Unternehmen im Bereich der Web Security durch Penetrationstests und Security Architecture Consulting sowie Teams bei der Einführung von DevSecOps und Agile Threat Modeling. In dieser Rolle ist er regelmäßig als Trainer tätig, spricht auf nationalen und internationalen Konferenzen.