In this article
Aus DevOps wird DevSecOps!
DevOps wird mitunter als überbewertet bezeichnet. Doch stellen Sie sich die Alternative vor: eine Welt, in der Sie Anwendungsupdates nur jeden Monat oder jedes Quartal veröffentlichen könnten.
Konsumentinnen und Konsumenten erwarten heute, dass Unternehmen ihre Anforderungen schnell und in hoher Qualität erfüllen. Ebenso müssen Unternehmen sich rasch an Kunden- und Markterwartungen anpassen können und dabei profitabel bleiben. Diese Anforderungen führten zur Einführung agiler Entwicklungsmethoden und damit zu DevOps – der engen Kommunikation und Zusammenarbeit zwischen Softwareentwicklungsteams und IT-Betrieb, um kürzere Entwicklungszyklen und Continuous Delivery zu ermöglichen.
DevOps bietet Unternehmen zahlreiche Vorteile, darunter häufigere Deployments und eine höhere Effizienz. Doch wo bleibt die Sicherheit? Es ist notwendig, über reines DevOps-Denken hinauszugehen und Sicherheit in den Entwicklungslebenszyklus zu integrieren. Aus dieser Kombination hat sich DevOps ganz natürlich zu DevSecOps weiterentwickelt.
Warum DevSecOps die Zukunft der Cybersicherheit ist
Das Konzept „DevOps“ selbst entstand 2009 mit einer Präsentation namens „10+ Deploys a Day: Dev and Ops Cooperation at Flickr“, doch die Praktiken und die Kultur von DevOps entwickelten sich aus dem Lean-Manufacturing-Ansatz, der von Toyota entwickelt wurde. Das Toyota Production System basiert auf mehreren zentralen Konzepten, die auch bei DevOps wiederzufinden sind: Automatisierung mit menschlichem Feingefühl, kontinuierliche Verbesserung und Just-in-time-Produktion.
Wie in der Automobilindustrie ermöglichen diese Konzepte eine schnelle Skalierung von Code-Deployments bei gleichbleibender Qualität. Herkömmliche Sicherheitsprozesse können moderne Anwendungen, die mit DevOps entwickelt werden, jedoch aus mehreren Gründen nicht effizient absichern.
Veränderungsgeschwindigkeit: Durch die Einführung von DevOps in Verbindung mit Cloud-Infrastruktur hat sich die Veränderungsgeschwindigkeit einer bestimmten Umgebung erheblich erhöht. Herkömmliche Sicherheitstechnologien und -prozesse wurden für lokale Infrastrukturen und das Wasserfallmodell bei Software-Releases entwickelt.
Cloud-native Entwicklung: Die lokale Netzwerksicherheit ging von einem klar definierten Perimeter aus. Cloud-Architekturen haben eine größere Angriffsfläche und einen weniger klar abgegrenzten Perimeter.
Containerisierung und Infrastructure as Code: Mit der zunehmenden Verbreitung von Containerisierung und Infrastructure as Code (IaC) legen Anwendungen typischerweise die Konfigurationen der Container und der Infrastruktur fest, in denen sie ausgeführt werden. Dadurch entsteht das Risiko von Fehlkonfigurationen. Herkömmliche Sicherheitsprozesse berücksichtigen jedoch weder die Containersicherheit noch die IaC-Sicherheit. Die Kombination aus hohem Veränderungstempo, der Cloud-nativen Ausrichtung moderner Anwendungen sowie Containerisierung und IaC bedeutet, dass Entwicklerinnen und Entwickler zunehmend für die Sicherheit des gesamten von ihnen veröffentlichten Codes verantwortlich sind. Damit spielt Sicherheit nun eine zentrale Rolle bei DevOps.
Wie hat sich die Kultur von DevOps zu DevSecOps verändert?
Hier sind einige Aspekte, die zeigen, wie sich der Wandel von DevOps zu DevSecOps auf moderne Entwicklungsabläufe und Tools ausgewirkt hat.

Agile Sicherheit
Beim Wasserfallmodell wird Software effizient von der Entwurfs- und Programmierphase in die Testphase überführt. Werden beim Testen jedoch Probleme entdeckt – ob sicherheitsrelevant oder nicht –, müssen Entwicklerinnen und Entwickler zur Entwurfsphase zurückkehren. Das kann Projekte verzögern und zwingt Entwicklungsteams außerdem, Sicherheitsfunktionen zu verwenden, die bereits zu Beginn des Prozesses festgelegt wurden.
Agile Sicherheit integriert Sicherheit und andere Softwaretests so früh wie möglich in den Entwicklungszyklus. So lassen sich Sicherheitslücken bereits beim Programmieren erkennen. Außerdem können DevOps-Teams Sicherheit und Threat Modeling in jeden Sprint integrieren und dadurch die Komplexität der Sicherheitsmaßnahmen reduzieren.
Automatisierung
Automatisierung wird häufig mit Continuous-Integration- und Continuous-Delivery-Pipelines (CI/CD) in Verbindung gebracht. Dabei wird Code in einem einzelnen Branch zusammengeführt und anschließend mit einem optimierten Verfahren in der Produktionsumgebung bereitgestellt. Da diese Abläufe wiederholt stattfinden, eignen sie sich ideal für die Automatisierung. Automatisierte CI/CD-Pipelines verringern das Risiko manueller Fehler, ermöglichen es Entwicklerinnen und Entwicklern, Tests früher im Entwicklungszyklus zu integrieren – sodass Probleme früher erkannt werden – und kleinere, weniger risikoreiche Änderungen zu veröffentlichen. Gleichzeitig haben CI/CD-Pipelines und damit verbundene Innovationen wie Open-Source-Software und Container die Menge der zu verwaltenden Software vervielfacht.
Jede Softwarekomponente manuell zu testen und zu überprüfen, ist weder praktikabel noch zuverlässig. Daher ist es wichtig, eine Form der Sicherheitsautomatisierung in CI/CD-Pipelines zu integrieren. Dafür eignen sich SAST- und SCA-Tools, die Code scannen und Entwicklerinnen und Entwicklern Feedback geben. Diese automatisierte Form des Testens sorgt dafür, dass Sicherheitsfeedback den Ablauf nicht blockiert oder verzögert, und schafft eine Grundlage für einen DevSecOps-Ansatz bei der Bereitstellung von Anwendungen.
IaC- und Containersicherheit
Container und IaC ermöglichen es Entwicklerinnen und Entwicklern, die Infrastruktur und die Container zu konfigurieren, in denen Anwendungen ausgeführt werden. Dadurch haben sie mehr Kontrolle über Bereitstellungsumgebungen, ohne Infrastrukturteams um neue Server oder manuelle Konfigurationen bitten zu müssen. Das hilft, schwer nachzuverfolgende Fehler bei der Konfiguration und Wartung der Infrastruktur zu vermeiden. Gleichzeitig entstehen neue potenzielle Angriffsvektoren, etwa Fehlkonfigurationen und unsichere Basis-Images.
Aus DevSecOps-Sicht erfordern IaC und Containersicherheit, dass Code innerhalb der Entwicklungsabläufe geprüft und Richtlinien durchgesetzt werden. Dazu gehören kontinuierliche IaC-Tests auf Fehlkonfigurationen, das Scannen von Container-Images, nach Möglichkeit automatische Upgrades auf sicherere Images sowie die Überwachung von Live-Umgebungen auf Konfigurationsabweichungen. Feedback wird dabei direkt an die Entwicklerinnen und Entwickler weitergegeben.
Sichern Sie Ihre Apps kostenlos ab
Sichern Sie Ihren Code, Ihre Abhängigkeiten, Container und Infrastructure as Code mit Snyk ab
Richtlinien als Code
Richtlinien, die Entwicklerinnen, Entwickler und Administratorinnen und Administratoren befolgen müssen, wurden traditionell mithilfe manueller Abläufe und Tools festgelegt und durchgesetzt. Dazu gehörte beispielsweise das Wissen darüber, wo Ressourcen bereitgestellt werden sollten und welche Benutzerinnen und Benutzer auf welche Ressourcen zugreifen dürfen. Richtlinien als Code verankert Richtlinien in der DevSecOps-Welt, indem Sicherheitsprozesse in Code dokumentiert werden. So lassen sich automatisierte Behebungsmaßnahmen, Scans, Zugriffskontrollen und weitere Sicherheitsrichtlinien in der gesamten CI/CD-Pipeline umsetzen.
Entwicklerorientierte Tools
Wie DevOps setzt auch DevSecOps keine bestimmten Tools voraus. Vielmehr handelt es sich um einen kulturellen Ansatz für Anwendungssicherheit. Für die effektive Umsetzung von DevSecOps sind Tools jedoch unverzichtbar – insbesondere solche, die Entwicklerinnen und Entwickler dabei unterstützen, Verantwortung für die Anwendungssicherheit zu übernehmen, und die die Zusammenarbeit zwischen Entwicklungs-, Sicherheits- und Betriebsteams fördern. Diese Tools unterstützen einen Shift-Left-Ansatz für Sicherheitstests und Feedback, bei dem Sicherheitsprozesse so früh wie möglich in bestehende Entwicklungspipelines integriert werden.
Wenn Sicherheitsprüfungen nach links verschoben werden, lassen sich im Code entdeckte Probleme einfacher und kostengünstiger beheben. Sie können Standards für sicheres Programmieren definieren und durchsetzen, um Sicherheitslücken früher zu finden und zu beheben. Außerdem wird die Reibung zwischen Entwicklungs- und Sicherheitsteams verringert, die entsteht, wenn Sicherheitsteams Probleme erst in der Produktionsumgebung entdecken und Entwicklerinnen und Entwickler nachträglich um eine Korrektur bitten müssen.

Warum es wichtig ist, Entwicklerinnen und Entwickler bei der Sicherheit in den Mittelpunkt zu stellen
Snyk erkannte die wachsende Rolle von Entwicklerinnen und Entwicklern im sich wandelnden DevSecOps-Sicherheitsansatz und entwickelte seine Lösungen für Cloud-Native Application Security, damit Entwicklungsteams über die passenden Tools für ihre Aufgaben verfügen. Der herkömmliche Ansatz, bei dem Sicherheitsteams Code erst am Ende des Entwicklungsprozesses oder in der Produktionsumgebung prüfen, führt zu Engpässen und Ineffizienzen, die nicht zum DevOps-Modell passen. Auch die Anwendungen selbst haben sich verändert und umfassen nun Open-Source-Komponenten sowie Konfigurationen für Container und IaC. Mit den Tools von Snyk können Entwicklerinnen und Entwickler Sicherheit in den Entwicklungsprozess integrieren und gleichzeitig die Sicherheitslage jeder Anwendungskomponente automatisiert und integriert verbessern.
Wenn Sie Praxisbeispiele von Unternehmen lesen möchten, die DevSecOps eingeführt haben, besuchen Sie unsere Seite „Share the Journey“.
FAQ:
Was ist DevOps?
DevOps ist eine moderne Entwicklungskultur und -methodik, die eine enge Kommunikation und Zusammenarbeit zwischen Softwareentwicklungsteams und IT-Betrieb sicherstellt. So können Entwicklerinnen und Entwickler Software nach einem agilen Modell mit kürzeren Entwicklungszyklen, Continuous Delivery und schnellem Feedback veröffentlichen.
Was ist DevSecOps?
DevSecOps ist die natürliche Weiterentwicklung von DevOps. Herkömmliche Sicherheitsansätze können Anwendungen, die mit DevOps-Methoden entwickelt wurden, nicht effektiv schützen. DevSecOps bindet Sicherheitsteams in DevOps-Prozesse ein und stellt so sicher, dass Sicherheit bereits während der Entwicklung in Anwendungen integriert wird.
Was ist der Unterschied zwischen DevOps und DevSecOps?
DevOps konzentriert sich darauf, den Prozess der Anwendungsentwicklung aus Sicht der Entwicklerinnen und Entwickler zu verbessern. DevSecOps integriert Sicherheit in den DevOps-Prozess. Für die heutigen Cloud-nativen Anwendungen ist DevSecOps der modernere und nachhaltigere Ansatz für die Softwareentwicklung.
Welche Vorteile bietet DevSecOps gegenüber DevOps?
DevOps-Methoden ermöglichen schnellere Release-Zyklen und helfen Entwicklerinnen und Entwicklern, mit den steigenden Anforderungen der Kundschaft Schritt zu halten. Sicherheit wird dabei jedoch oft erst nachträglich berücksichtigt. DevSecOps begegnet diesem Problem, indem Sicherheit in Entwicklungsabläufe und Tools integriert wird.
DevOps vs. DevSecOps vs. SecDevOps
DevSecOps stellt sicher, dass Sicherheit in DevOps-Prozesse integriert wird, räumt der Entwicklung jedoch weiterhin Vorrang ein. SecDevOps hingegen verankert Sicherheit in Entwicklungsprozessen – von den frühesten Planungs- und Entwurfsphasen bis hin zum Deployment. SecDevOps ist die natürliche Weiterentwicklung von DevSecOps als Reaktion auf die raschen Veränderungen moderner Cybersicherheitsbedrohungen.