Wie passen Sicherheitsbedenken in die agile Softwareentwicklung? Mit DevSecOps soll ein „shift left“ der Sicherheitsaspekte erfolgen, d.h. sie sollen auch in den frühen Phasen der Entwicklung berücksichtigt werden. Dazu eigenen sich Technologien wie verschiedene Arten automatischer Sicherheitstests, doch um eine nachhaltige Wirkung zu erzeugen muss auch der Entwicklungsprozess an sich angepasst werden.
DevSecOps steht für Development, Security sowie Operations und befasst sich mit der Einbindung von Sicherheitsaspekten in sämtliche, vor allem auch in die anfänglichen Phasen agiler Entwicklung. Die Kernproblematik besteht darin, dass die Anwendung vieler bestehender Sicherheitsmethoden die Entwicklungsgeschwindigkeit ausbremsen würde. Die Sicherheitsmethoden müssen entsprechend angepasst sein und außerdem von den Teams akzeptiert werden. Weitere Herausforderungen bei der Adaption von DevSecOps liegen zum einen in der teamübergreifenden Zusammenarbeit zwischen Entwicklung, Sicherheit und Betrieb um einen Wissensaustausch zu fördern, zum anderen darin, Sicherheitsexpertise auch bei den Entwicklern und dem Betrieb aufzubauen und die Denkweise bzgl. Der Verantwortlichkeiten zu ändern. Das heißt neben den Prozessen und Praktiken müssen auch die Fähigkeiten und die Kultur betrachtet werden.
Johanna fertigt ihre Bachelor-Thesis bei der CAS Software AG unter Betreuung des CAS Future Labs an. Ausgangspunkt ist die bestehende Arbeitsweise der verschiedenen Entwicklerteams, welche in bereits gefestigten Prozessen nach Scrum arbeiten. Sicherheit wird bereits durch zum Beispiel Penetrationstests am Ende des Entwicklungszyklus berücksichtigt und nun soll analysiert werden, welche weiteren Möglichkeiten durch DevSecOps entstehen, um Sicherheit schon an früherer Stelle einzubinden.
Ziel dieser Arbeit ist es einen Überblick über die verschiedenen Möglichkeiten der Integration von Sicherheitsaktivitäten in die kontinuierliche Entwicklung zu geben. Dabei wird der Schwerpunkt auf das Anpassen des agilen Prozesses sowie das Einfügen von automatischen Sicherheitstests an verschiedenen Stellen der Entwicklungspipeline gelegt. Konkret soll eine Methode aus den Anforderungen der an den Sprints beteiligten Mitarbeiter sowie dem aktuellen Stand der Wissenschaft entwickelt und mit einem Reifegrad-Modell eine schrittweise Anpassung geplant, mit der Umsetzung zu begonnen sowie anschließend die Ergebnisse evaluiert werden. Hinsichtlich der Sicherheitstests wird zuerst die bestehende kontinuierliche Integrationspipeline betrachtet und es wird untersucht mit welchen Arten automatisierter Sicherheitstests die Entwickler unterstützt und die Qualität der Software verbessert werden kann.