DevSecOps – kurz für Development, Security and Operations (Entwicklung, Sicherheit und operative Prozesse) – automatisiert die Integration von Sicherheit in jeder Phase des Softwareentwicklungszyklus, vom ersten Design über Integration, Test und Bereitstellung bis hin zur Softwareauslieferung.
DevSecOps stellt eine natürliche und notwendige Weiterentwicklung der Art und Weise dar, wie Entwicklungsorganisationen das Thema Sicherheit angehen. Bisher war das Thema Sicherheit allzu oft bloß ein Anhängsel des Softwareentwicklungsprozesses. Zuständig war ein separates Sicherheitsteam, die Test führte ein separates Qualitätssicherungsteam durch.
Dies war möglich, solange Software-Updates nur ein- oder zweimal im Jahr veröffentlicht wurden. Doch als Softwareentwickler Agile- und DevOps-Praktiken übernahmen, die darauf abzielen, Softwareentwicklungszyklen auf wenige Wochen oder sogar Tage zu reduzieren, ergab sich durch das traditionelle Vorgehen beim Thema Sicherheit ein inakzeptabler Engpass.
DevSecOps integriert Anwendungs- und Infrastruktursicherheit nahtlos in Agile- und DevOps-Prozesse und -Tools. Es befasst sich mit Sicherheitsproblemen, sobald sie auftreten, also dann, wenn sie einfacher, schneller und kostengünstiger zu beheben sind (und bevor sie in Produktion gehen). Darüber hinaus macht DevSecOps Anwendungs- und Infrastruktursicherheit zur gemeinsamen Verantwortung von Entwicklungs-, Sicherheits- und IT-Teams und lässt sie nicht in der alleinigen Verantwortung eines Sicherheitssilos. Dies ermöglicht die Umsetzung des DevSecOps-Mottos „Software, Safer, Sooner” – durch die Automatisierung der Bereitstellung sicherer Software, ohne den Softwareentwicklungszyklus zu verlangsamen.
Die beiden Hauptvorteile von DevSecOps sind Schnelligkeit und Sicherheit. Entwicklungsteams stellen besseren und sichereren Code schneller und somit kostengünstiger bereit.
„Der Zweck und die Absicht von DevSecOps ist es, ein Bewusstsein dafür zu schaffen, dass alle gemeinsam für die Sicherheit verantwortlich sind, mit dem Ziel, Sicherheitsentscheidungen schnell und in großem Umfang an diejenigen zu übertragen, die über den größten Kontext verfügen, ohne die Sicherheit zu beeinträchtigen”, erklärt Shannon Lietz, Co-Autorin des „DevSecOps Manifesto”.
Wenn Software nicht in einer DevSecOps-Umgebung entwickelt wird, können Sicherheitsprobleme zu großen Zeitverzögerungen führen. Die Behebung von Code- und Sicherheitsproblemen kann zeitaufwendig und kostenintensiv sein. Die schnelle und sichere Bereitstellung von DevSecOps spart Zeit und senkt die Kosten, da es hier normalerweise nicht notwendig ist, einen Prozess zu wiederholen, um Sicherheitsprobleme im Nachhinein zu lösen.
Dies wird zudem noch effizienter und kostengünstiger, da durch die integrierte Sicherheit doppelte Überprüfungen und erneute Builds vermieden werden, was den Code sicherer macht.
DevSecOps führt Cybersicherheitsprozesse von Beginn des Entwicklungszyklus an durch. Während des gesamten Entwicklungszyklus wird der Code überprüft, auditiert, gescannt und auf Sicherheitsprobleme getestet. Treten Probleme auf, werden sie sofort in Angriff genommen. Die Problemlösung erfolgt, bevor zusätzliche Abhängigkeiten entstehen. Die Behebung von Sicherheitsproblemen ist kostengünstiger, wenn die erforderlichen Schutztechnologien frühzeitig ermittelt und implementiert werden.
Darüber hinaus verbessert eine engere Zusammenarbeit zwischen Entwicklungs-, Sicherheits- und Betriebsteams die Fähigkeit eines Unternehmens, auf Vorfälle und Probleme zu reagieren. DevSecOps-Verfahren verkürzen die Zeit für die Behebung von Schwachstellen und entlasten die Sicherheitsteams, damit sie sich auf höherwertige Aufgaben konzentrieren können. Diese Verfahren ermöglichen und vereinfachen auch die Einhaltung von Vorschriften und verhindern, dass Anwendungsentwicklungsprojekte für die Sicherheit nachgerüstet werden müssen.
Ein wesentlicher Vorteil von DevSecOps ist die Schnelligkeit, mit der neu identifizierte Sicherheitslücken behoben werden können. Da DevSecOps das Scannen und Patchen von Schwachstellen in den Release-Zyklus integriert, werden die Möglichkeiten zum Identifizieren und Patchen von Schwachstellen und Anfälligkeiten (Common Vulnerabilities and Exposures, CVEs) reduziert. Dies schränkt das Zeitfenster ein, in dem ein Angreifer Schwachstellen in öffentlich zugänglichen Produktionssystemen ausnutzen kann.
Cybersicherheitstests können in eine automatisierte Testsuite für Betriebsteams integriert werden, wenn ein Unternehmen eine Pipeline für Continuous Integration/Continuous Delivery zur Bereitstellung ihrer Software verwendet.
Die Automatisierung von Sicherheitsprüfungen hängt stark von den Projekt- und Unternehmenszielen ab. Durch automatisierte Tests kann sichergestellt werden, dass integrierte Softwareabhängigkeiten auf dem richtigen Patch-Level sind und dass die Software die Sicherheitskomponententests besteht. Außerdem kann Code mit statischer und dynamischer Analyse getestet und geschützt werden, bevor das endgültige Update in Produktion geht.
Mit den Unternehmen entwickeln sich auch ihre Sicherheitskonzepte weiter. DevSecOps eignet sich für wiederholbare und anpassungsfähige Prozesse. Dadurch wird sichergestellt, dass das Sicherheitskonzept in der gesamten Umgebung einheitlich angewendet wird, wenn sich die Umgebung verändert und an neue Anforderungen anpasst. Eine ausgereifte Implementierung von DevSecOps zeichnet sich durch solide Automatisierung, Konfigurationsmanagement, Orchestrierung, Container, eine unveränderliche Infrastruktur und sogar serverlose Rechenumgebungen aus.
DevSecOps bedeutet die natürliche Integration von Sicherheitsmechanismen in Ihre Entwicklungs-, Bereitstellungs- und Betriebsprozesse.
„Shift left“ ist ein DevSecOps-Mantra: Es motiviert Softwareingenieure, das Thema Sicherheit vom Ende (rechts) zum Anfang (links) des DevOps-Bereitstellungsprozesses zu verlagern. In einer DevSecOps-Umgebung ist das Thema Sicherheit von Anfang an ein integraler Bestandteil des Entwicklungsprozesses. In Unternehmen, die DevSecOps einsetzen, sind die Cybersicherheitsarchitekten und -ingenieure Teil des Entwicklungsteams. Ihre Aufgabe ist es sicherzustellen, dass jede Komponente und jedes Konfigurationselement im Stack gepatcht, sicher konfiguriert und dokumentiert wird.
Das „Shift left“-Prinzip ermöglicht es dem DevSecOps-Team, Sicherheitsrisiken und Anfälligkeiten frühzeitig zu erkennen und dafür zu sorgen, dass diese Sicherheitsbedrohungen sofort beseitigt werden. Das Entwicklungsteam kümmert sich nicht nur um die effiziente Erstellung des Produkts, sondern auch um die Implementierung der Sicherheitsmechanismen während der Produkterstellung.
Sicherheit ist eine Kombination aus Entwicklung und Compliance. Unternehmen sollten die Zusammenarbeit zwischen den Entwicklungsingenieuren, den Betriebsteams und den Compliance-Teams fördern, um sicherzustellen, dass jeder im Unternehmen die Sicherheitsstrategie des Unternehmens versteht und dieselben Standards befolgt.
Alle am Bereitstellungsprozess beteiligten Personen sollten mit den grundlegenden Prinzipien der Anwendungssicherheit, den Top 10 des Open Web Application Security Project (OWASP), mit Anwendungssicherheitstests und anderen sicherheitstechnischen Verfahren vertraut sein. Entwickler müssen sich mit Thread-Modellen und Konformitätsprüfungen auskennen und wissen, wie sie Risiken und Gefährdungen messen und Sicherheitsmechanismen implementieren können.
Eine gute Führung fördert eine gute Kultur, die den Wandel innerhalb der Organisation vorantreibt. Bei DevSecOps ist es wichtig und unerlässlich, die Zuständigkeit für die Prozesssicherheit sowie die Produktverantwortung zu kommunizieren. Erst dann können Entwickler und Ingenieure Prozesseigner werden und Verantwortung für ihre Arbeit übernehmen.
Die DevSecOps-Betriebsteams sollten ein System entwickeln, das für sie geeignet ist, und die Technologien und Protokolle verwenden, die zu ihrem Team und dem aktuellen Projekt passen. Indem man den Teammitgliedern die Möglichkeit gibt, eine Arbeitsumgebung zu schaffen, die ihren Anforderungen entspricht, werden sie zu engagierten Beteiligten am Projektergebnis.
Die Implementierung von Rückverfolgbarkeit, Überprüfbarkeit und Sichtbarkeit in einem DevSecOps-Prozess führt zu einem besseren Verständnis und einer sichereren Umgebung:
Lernen Sie das umfassende IBM Portfolio an Integrations-, KI- und Automatisierungsfunktionen kennen, mit denen Sie den gewünschten ROI erzielen können.
IBM UrbanCode kann die Softwarebereitstellung für jede beliebige Kombination aus On-Premises-, Cloud- und Mainframe-Anwendungen beschleunigen und optimieren.
Leistungsstarke DevOps-Software für Erstellung, Bereitstellung und Betrieb von sicherheitsrelevanten, cloudnativen Anwendungen für mehrere Geräte, Umgebungen und Clouds.
Lesen Sie einen exklusiven Analystenbericht von Gartner und erfahren Sie, wie KI für IT die Geschäftsergebnisse verbessert, höhere Umsätze ermöglicht und sowohl Kosten als auch Risiken für Unternehmen senkt.
Erfahren Sie, wie Artificial Intelligence for IT Operations (AIOps) Daten und maschinelles Lernen nutzt, um das IT-Servicemanagement zu verbessern und zu automatisieren.
Laden Sie die IBM® Cloud-Infografik herunter, die die Vorteile der KI-basierten Automatisierung für den IT-Betrieb aufzeigt.