Scrum-Teams
Wie man IT-Sicherheit auch in agilen Projekten verankert
Security Development Life Cycle
In Entwicklungsprojekten hat sich die Implementierung eines Security Development Life Cycle (SDLC) zum Standard entwickelt. Aber auch hier gilt, dass die Elemente mit dem agilen Vorgehen zusammenspielen müssen. Ist die Integration erfolgreich, können Sicherheitsaspekte von Anfang an berücksichtigt werden - Security by Design. Besondere Herausforderungen dabei sind:
Anwendungen werden inkrementell (schrittweise) entwickelt. Die Elemente des SDLC müssen daher sinnvoll auf die entstehenden Inkremente anwendbar sein.
Die kurzen Entwicklungszyklen betragen in der Regel in agilen Projekten nur noch zwei bis vier Wochen. Damit wird eine Tool-Unterstützung im SDLC wichtig, die darauf abzielt, möglichst viele Aktivitäten vollständig zu automatisieren.
Die Notwendigkeit zur Umstellung auf eine inkrementelle Arbeitsweise betrifft z.B. die Durchführung von Bedrohungsanalysen. Die Durchführung einer Bedrohungsanalyse zu einem festen Zeitpunkt ist in agilen Projekten kaum zielführend. Stattdessen sollten Bedrohungsanalysen inkrementell entstehen. Man kann in den ersten Sprints beginnen, sobald ein erster (grober) Entwurf einer Architektur vorliegt. Die Ergebnisse der Analysen liefern Sicherheitsanforderungen, die in den folgenden Sprints umgesetzt werden müssen. Die Fortsetzung und Verfeinerung der Bedrohungsanalyse sollte entsprechend organisiert werden.
Zur Identifikation von Sicherheitsanforderungen in agilen Projekten hat sich die Verwendung von Abuse Stories bewährt. Über Abuse Stories können mit Hilfe von Security-Spezialisten zu einem frühen Zeitpunkt (d. h. innerhalb der ersten Sprints) gezielt Sicherheitsaspekte beleuchtet und Anforderungen abgeleitet werden. Das Arbeiten mit Abuse Stories sollte im Rahmen von Schulungen für Entwickler aufgenommen werden, damit "einfache" Abuse Stories auch ohne die Beteiligung von Spezialisten erarbeitet werden können.
Um einen hohen Automatisierungsgrad zu erreichen, empfiehlt sich die konsequente Nutzung von Delivery Pipelines, die "Continuous Integration" und "Continuous Deployment" (zumindest bis auf Test- und Abnahmeumgebungen) umsetzen. Grundsätzlich wird empfohlen, den Automatisierungsgrad der Security-Prüfungen so weit wie möglich (und wirtschaftlich sinnvoll) zu erhöhen und dabei - soweit vorhanden - auf KI-basierte Mechanismen zu setzen.