DevSecOps Sichere Software trotz schneller Entwicklung
DevOps bedeutet: weniger Konflikte zwischen Software-Entwicklung und IT-Betrieb, kürzere Entwicklungszyklen und die beschleunigte Bereitstellung neuer Features. Aber wie steht es dabei um die Sicherheit?
Anbieter zum Thema

In der Software-Entwicklung gilt: Wer neue Features schneller verwirklichen und Schwachstellen schneller beseitigen kann als die Wettbewerber, der dominiert den Markt. 88 Prozent der deutschen Unternehmen halten DevOps deshalb für erfolgsentscheidend – so das Ergebnis einer aktuellen Studie von CA Technologies und Coleman Parkes.
DevOps verbessert nicht nur das Arbeitsklima und die Koordination zwischen Entwicklern und Mitarbeitern des IT-Betriebs, sondern macht den Software Development Lifecyle (SDLC) insgesamt effizienter und verlässlicher. Eine Neuausrichtung von Software-Entwicklung und -Bereitstellung nach DevOps-Prinzipien ist für die meisten Unternehmen ein logischer und oftmals geradezu unausweichlicher Schritt.
Selbstverständlich ist es nicht ganz einfach, eine neue Kultur der Zusammenarbeit mit neuen Tools und Prozessen zu etablieren. Vor allem darf die Applikationssicherheit dabei nicht vernachlässigt werden.
Aus DevOps wird DevSecOps
Bei DevOps geht es nicht zuletzt um Geschwindigkeit. Strenge Sicherheitsrichtlinien aber gelten vielen IT-Verantwortliche als Hemmschuh für schnelle Releases. Darüber hinaus werden beispielsweise Manipulationen und Datendiebstähle durch abtrünnige Mitarbeiter im Rahmen von DevOps einfacher, weil die Entwickler meist Schreibrechte auf die Produktivsysteme erhalten.
Aus Gründen wie diesen hörte man in der Vergangenheit oft das Argument, dass DevOps und Security unvereinbar seien – oder zumindest schwer unter einen Hut zu bringen. Tatsächlich sollten sich Unternehmen von Anfang an darum bemühen, dass die Anwendungssicherheit bei der Umstellung nicht auf der Strecke bleibt. Denn die verkürzten Entwicklungszyklen bieten weniger Zeit für Funktionstests und Qualitätssicherung, außerdem fehlt es oft an Problembewusstsein und an den nötigen organisatorischen Voraussetzungen, um die Umstellung auf DevOps sicher zu gestalten.
Werden diese Herausforderungen jedoch gemeistert, kann auch die Anwendungssicherheit von DevOps in vielerlei Hinsicht profitieren. So lautet etwa ein wichtiges Kredo des Ansatzes, dass kritische Software-Fehler niemals die Pipeline entlangwandern, sondern zum frühestmöglichen Zeitpunkt behoben werden sollten.
Bei konsequenter Umsetzung gewinnt auch der Kampf gegen Sicherheitslücken an Effizienz – denn je früher ihre Beseitigung, desto geringer die Folgekosten. Darüber hinaus strebt DevOps an, möglichst viele Aufgaben im Software Development Lifecycle (SDLC) zu automatisieren. Das betrifft auch funktionale, Performance-Tests und weitere Sicherheitsmaßnahmen, die auch automatisiert ablaufen.
Nachvollziehbarkeit und Transparenz sind weitere Vorteile. Viele DevOps-Tools erzeugen detailgenaue Protokolle, die exakt nachvollziehbar machen, wer wann welche Handlungen und Änderungen vorgenommen hat. Durch das Prinzip des Continuous Feedbacks entsteht zusätzliche Transparenz: Durch alle Phasen des SDLCs zieht sich ein kontinuierlicher Feedback-Loop, Informationen werden systematisch geteilt. So lassen sich Sicherheitsschwachstellen in der Software leichter aufdecken und es wird möglich, schneller auf Abweichungen zu reagieren.
Technologien, die DevOps sicher machen
Damit die Anwendungssicherheit von DevOps profitieren kann, bedarf es einer technischen Aufrüstung. Um die Prozesse möglichst effizient zu gestalten, sollte der Fokus dabei auf größtmöglicher Automatisierung liegen. Für so gut wie alle Phasen des SDLCs sind entsprechende Technologien verfügbar. Drei Beispiele:
- White-Box-Tests (SAST) helfen in der Frühphase der Anwendungsentwicklung, Schwachstellen im Code zu identifizieren. Tools für die statische Code-Analyse automatisieren diesen Suchprozess und nehmen im besten Fall auch die Komponenten von Drittanbietern inklusive Open-Source-Komponenten unter die Lupe. Denn diese bergen häufig enorme Sicherheitsrisiken und werden aufgrund ihrer hohen Verbreitung von Angreifern besonders häufig ins Visier genommen.
- Black-Box-Tests (DAST) imitieren das Vorgehen von Cyberkriminellen, die die Anwendungsoberfläche auf mögliche Einfallstore abklopfen, indem sie zum Beispiel Schadcode in Webformulare einspeisen. Mithilfe einer Appliance für das lokale Scannen lassen sich Anwendungen schon vor dem Deployment in die Produktivumgebung solchen Tests unterziehen. Black-Box-Tests erkennen Schwachstellen wie Cross-Site-Scripting (XSS) und SQL-Injections, identifizieren aber auch Laufzeitprobleme, die bei der Untersuchung des Codes im Rahmen von White-Box-Tests nicht ohne Weiteres zu erkennen sind.
- Runtime-Application-Self-Protection (RASP) kommt in der Produktivumgebung zum Einsatz. Es wird direkt in die Runtime-Umgebung integriert, nimmt Einblick in die Anwendungslogiken und kann auf diese Weise Angriffe zuverlässiger erkennen und blockieren als klassische Werkzeuge der Perimetersicherheit.
Wenn es Unternehmen im Rahmen der Umstellung auf DevOps gelingt, in allen Phasen des SDLCs passende Sicherheitsmaßnahmen zu etablieren, dann steht eine Erhöhung der Risiken nicht mehr zu befürchten. Im Gegenteil: Die Anwendungssicherheit kann von den neuen Technologien enorm profitieren.
Fazit: Schneller, aber sicher
Wie können Unternehmen DevOps und die Anwendungssicherheit unter einen Hut bringen? Dass DevOps das Sicherheitsniveau senke, ist ein Mythos. Richtig ist aber: Nicht nur Entwickler und Systemadministratoren, sondern auch die Verantwortlichen für IT-Sicherheit müssen im Rahmen der Umstellung auf DevOps neue Probleme meistern und neue Lösungen entwickeln. Die schnelleren Entwicklungszyklen lassen weniger Zeit für Qualitätssicherung – und das ist nur eine von vielen Herausforderungen, die DevOps birgt.
Der IT-Sicherheit wird abverlangt, sich in Sachen Richtlinien und Compliance völlig neu aufzustellen. Vor allem aber bedarf es einer technischen Aufrüstung: Tools, die wesentliche Sicherheitsaufgaben automatisieren, sorgen für einen besseren Schutz der Anwendungen und machen die zugrundeliegenden Prozesse schneller und effizienter. So lassen sich einerseits Risiken minimieren, andererseits wird aber auch die Gefahr abgewendet, dass unnötig langwierige Sicherheitsmaßnahmen den Entwicklungszyklus ausbremsen.
* Nabil Bousselham ist seit Juli 2015 als Solutions Architect beim Spezialisten für Anwendungssicherheit Veracode 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.
(ID:44843479)