7 Tipps zum Aufbau einer DevSecOps-Kultur

by November 30, 2017

Weil die Softwareentwicklung immer zeitkritischer wird, müssen Programmierer und Systemadministratoren Hand in Hand und parallel arbeiten. DevOps-Prozesse verbessern die Abstimmung und verkürzen die Entwicklungszeit – jedoch bleibt die Sicherheit oft auf der Strecke. DevSecOps bilden die nächste Evolutionsstufe, nach der jedes Unternehmen streben sollte.

DevSecOps ist ein Kunstwort, das sich aus Development, Security und Operations zusammensetzt. Es beschreibt einen Prozess zur Verbesserung der Sicherheitslevels bei der Softwareentwicklung. Methoden wie DevOps, Waterfall oder SCRUM ermöglichen kürzere Entwicklungszyklen und fortlaufende Veränderungsprozesse. Während bei Waterfall die Sicherheit am Ende des Prozesses steht, bleibt bei SCRUM und DevOps oftmals unklar, wann der Code auf Schwachstellen überprüft werden sollte.

Zielkonflikt: Sicherheit und Geschwindigkeit im Entwicklungsprozess

Adrian Lane, Analyst bei der IT-Beratung Securosis, beschreibt den Zielkonflikt agiler Entwicklungsprozesse: „Wenn sich die Jobs bei einem Sprint nicht den Sicherheitserfordernissen unterordnen lassen, muss man die Sicherheit so verbiegen, damit es agil wieder passt.“ Die Sicherheit bei der Softwareentwicklung spielt aber angesichts zunehmender Hackerangriffe und Bedrohungslagen eine immer wichtigere Rolle. Daher ist es unumgänglich, Sicherheit und Geschwindigkeit unter einen Hut zu bringen. Nötig sind Veränderungen in der Kultur, den Prozessen und der Technik der Anwendungsentwicklung. Die Arbeitsmethoden nach DevSecOps integrieren Sicherheitsüberprüfungen nun in den kompletten Entwicklungslebenszyklus. Veracode hat eine lange Tradition in der Förderung einer Sicherheitskultur und gibt Ihnen sieben Tipps, wie Sie DevSecOps-Prozesse etablieren können.

1. Schaffen Sie eine Kultur der Offenheit und des permanenten Lernens

Vertrauen und Kooperation innerhalb der Programmierer-, Sicherheits- und Admin-Teams müssen höchste Priorität erhalten. Denn die Sicherheit darf nicht reaktiv erfolgen oder eine Nebenrolle spielen. Offenheit in der Kommunikation ist eine Tugend, die die Zusammenarbeit und die kontinuierliche Verbesserung aller Beteiligten fördert. Ebenso wichtig sind Weiterbildungsangebote und Wissensvermittlung, um das Bewusstsein der Entwickler für Sicherheitsanforderungen kontinuierlich zu fördern und aktuell zu halten.

2. Ernennen Sie Sicherheitsexperten in allen Teams

Eine Herausforderung bei der Etablierung von DevSecOps ist der Fachkräftemangel bei IT-Sicherheitsexperten. Identifizieren Sie daher sowohl in ihren Entwickler- als auch den Operations-Teams jeweils eine Person, die Sie zu Sicherheitsexperten ernennen und auch fördern. Solche Mitarbeiter steigern das Sicherheitsbewusstsein in Ihren Teams.

3. Stärken Sie die Teamautonomie

Befähigen Sie Ihre Teams, ihre Prozesse und Werkzeuge auf ihre Bedürfnisse hin anzupassen. Teams müssen ihre eigene Kultur der Zusammenarbeit entfalten und mehr Autonomie erhalten. Das fördert die Verantwortung und bringt Innovationen voran.

4. Überprüfen Sie regelmäßig die Programmcodes

Viele Entwicklungsprojekte finden heute in der Cloud statt. Und weil sie meistens zeitkritisch sind, nutzen viele Programmierer Codeschnipsel aus Drittanbieter-Bibliotheken und verwenden Tools zur Code-Generierung. Code-Reviews während des Entwicklungsprozesses mit Scan-Werkzeugen aus der Cloud sind heute bewährte Methoden, frühzeitig Schwachstellen zu identifizieren. Sie fördern die Transparenz und mindern das Risiko von fehlerhaften Programmen. Außerdem steigern sie die Wachsamkeit der Entwicklerteams.

5. Etablieren Sie Rückkopplungsschleifen mit Leistungsmessung

Softwareentwicklungsprozesse nach DevSecOps brauchen starke Rückkopplungsschleifen zwischen Entwicklungs- und Sicherheitsteams. Diese benötigen aber neben klassischen Erfolgsmetriken auch neue Messverfahren für die Sicherheitslevels. Dies hilft Entwicklern, ihren Code kontinuierlich zu verbessern.

6. Initiieren Sie Sicherheitsübungen

Bei komplexen Softwareprojekten ist es immer besser, wenn die Entwickler Fehler oder Schwachstellen auf ihren Rechnern aufspüren, bevor diese auf den Smartphones oder Laptops der Kunden für Ärger sorgen. Setzen Sie IDE-Analyse-Tools zur automatischen Erkennung von Code-Schwachstellen ein. Initiieren Sie Sicherheitsübungen. Mit Wettbewerben zwischen den Teams, bei denen eine Mannschaft den Code der anderen zu hacken versucht, decken Sie Sicherheitsmängel frühzeitig auf. Zudem motivieren Sie die Teams und sorgen für Wissenstransfer.

7. Nutzen Sie Analyse-Tools zur Qualitätssicherung

Im März 2017 erschraken einige Unternehmen, als in einigen Versionen des bekannten Entwicklungs-Frameworks Apache Struts 2 eine weitere – bis dahin unbekannte – Sicherheitslücke bekannt wurde. Die Angreifer nutzten diese sofort aus; oftmals bevor die Entwickler den betroffenen Code aufspüren und entschärfen konnten. Mit Analyse-Tools für Anwendungen wären sie den Attacken vermutlich zuvorgekommen. Solche Werkzeuge scannen Software auf bekannte Schwachstellen und erstellen eine Inventarliste der verwendeten Codeschnipsel und 3rd-Party-Bibliotheken. Dadurch ist es einfacher, sie schnell zu lokalisieren, wenn eine Sicherheitslücke erst später entdeckt wird.

Ihr Weg zu DevSecOps

Ein erfolgreiches DevSecOps-Framework erfordert zusammen mit der richtigen Technologie robuste Prozesse, die an Metriken und Key-Performance-Indikatoren ausgerichtet sind. Vor allem brauchen Sie eine neue Sicherheitskultur mit klaren Spielregeln und einer kontinuierlichen Sicherheitsüberprüfung des Codes. Lesen Sie in unserem Entwicklerhandbuch für die DevSecOps Galaxy, wie Sie den Übergang von DevOps zu DevSecOps gestalten können.

* * *

Über den Autor

Nabil Bousselham, Solution Architect, Veracode

Nabil Bousselham ist seit Juli 2015 als Solution Architect beim Spezialisten für Anwendungssicherheit Veracode tätig. Mit zehn Jahren Erfahrung in der IT-Branche verfügt er über ein exzellentes, hochtechnisches Verständnis. Zuletzt hat er beim Softwarehersteller Micro Focus gearbeitet und war außerdem in verschiedenen Positionen für Unternehmen wie Saturn Media IT Services und Ticket Online Software GmbH tätig.

Bousselham hat Informatik und Physik an der Universität Leipzig studiert und verfügt über mehrere Zertifikate im Bereich Software Engineering der ISQI GmbH und ISSECO CPSSE.