Was ist DevSecOps?
Sicherheit in jeder Phase des Softwareentwicklungszyklus mit DevSecOps
IBM Newsletter abonnieren
Schwarzer und blauer Hintergrund
Was ist DevSecOps?

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.

Vorteile von DevSecOps

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”.

Schnelle, kosteneffiziente Softwarebereitstellung
 

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.

Verbesserte, proaktive Sicherheit
 

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.

Beschleunigte Behebung von Schwachstellen
 

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.

Automatisierung, die mit moderner Entwicklung kompatibel ist
 

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.

Ein wiederholbarer und anpassungsfähiger Prozess
 

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.

Bewährte Verfahren für DevSecOps

DevSecOps bedeutet die natürliche Integration von Sicherheitsmechanismen in Ihre Entwicklungs-, Bereitstellungs- und Betriebsprozesse.

Shift left
 

„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.

Sicherheitsausbildung
 

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.

Kultur: Kommunikation, Menschen, Prozesse und Technologie
 

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.

Rückverfolgbarkeit, Überprüfbarkeit und Sichtbarkeit
 

Die Implementierung von Rückverfolgbarkeit, Überprüfbarkeit und Sichtbarkeit in einem DevSecOps-Prozess führt zu einem besseren Verständnis und einer sichereren Umgebung:

  • Rückverfolgbarkeit ermöglicht es Ihnen, Konfigurationselemente durch den gesamten Entwicklungszyklus bis zu dem Punkt zurückzuverfolgen, wo die Anforderungen im Code implementiert sind. Dies kann eine entscheidende Rolle die Steuerungsmechanismen Ihres Unternehmens spielen, da es dazu beiträgt, dass Vorschriften eingehalten, Fehler reduziert, sicherer Code bei der Anwendungsentwicklung erstellt und die Wartbarkeit des Codes verbessert wird.

  • Überprüfbarkeit ist wichtig, um für die Einhaltung der Sicherheitsvorgaben sorgen zu können. Technische, prozedurale und administrative Sicherheitsmechanismen müssen überprüfbar und gut dokumentiert sein und sie müssen von allen Teammitgliedern eingehalten werden.

  • Sichtbarkeit ist schon generell eine gute Managementpraxis, aber in einer DevSecOps-Umgebung ist sie besonders wichtig. Das bedeutet, dass das Unternehmen über ein solides Überwachungssystem verfügt, das den Puls des Betriebs misst, Warnungen sendet, das Bewusstsein für Veränderungen und Cyberangriffe schärft, sobald diese auftreten, und das während des gesamten Projektlebenszyklus für Rechenschaft sorgt.
Relevante Lösungen
IBM Lösungen zur intelligenten Automatisierung

Lernen Sie das umfassende IBM Portfolio an Integrations-, KI- und Automatisierungsfunktionen kennen, mit denen Sie den gewünschten ROI erzielen können.

Mehr zu IBM Lösungen zur intelligenten Automatisierung
IBM UrbanCode

IBM UrbanCode kann die Softwarebereitstellung für jede beliebige Kombination aus On-Premises-, Cloud- und Mainframe-Anwendungen beschleunigen und optimieren.

Mehr zu IBM UrbanCode
IBM DevOps-Lösungen

Leistungsstarke DevOps-Software für Erstellung, Bereitstellung und Betrieb von sicherheitsrelevanten, cloudnativen Anwendungen für mehrere Geräte, Umgebungen und Clouds.

Mehr zu IBM DevOps-Lösungen
Ressourcen Machen Sie Ihre operativen IT-Prozesse zukunftssicher mit KI

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.

Was ist AIOps?

Erfahren Sie, wie Artificial Intelligence for IT Operations (AIOps) Daten und maschinelles Lernen nutzt, um das IT-Servicemanagement zu verbessern und zu automatisieren.

IT Automation Powered by AI

Laden Sie die IBM® Cloud-Infografik herunter, die die Vorteile der KI-basierten Automatisierung für den IT-Betrieb aufzeigt.

Machen Sie den nächsten Schritt

Automatisieren Sie die Softwarebereitstellung, steuern Sie komplexe Releasezyklen, beschleunigen Sie den Releaseprozess und verbessern Sie die Produktqualität mit IBM UrbanCode.

Mehr zu IBM UrbanCode