Effiziente Software-Entwicklung wird insbesondere angesichts der zunehmenden Nutzung von Software-as-a-Service (SaaS) für viele Unternehmen immer wichtiger. In allen Branchen setzen Unternehmen Software-Anwendungen ein, um ihre geschäftlichen Ziele zu erreichen und Dienstleistungen für ihre Kunden zu erbringen. Um Code sicher und effizient zu entwickeln und zu pflegen, nutzt Ihr Unternehmen wahrscheinlich DevOps oder DevSecOps.

DevOps ist ein kooperatives Organisationmodell, das die Zusammenarbeit zwischen Software-Entwicklern und IT-Mitarbeitern fördert. DevOps hilft Ihrem IT-Team, Vorgaben zu erfüllen und die Effizienz zu verbessern. Dazu werden bevorzugt Universalisten statt Spezialisten eingestellt bzw. ausgebildet. Häufig verfügen DevOps Engineers über Wissen und Erfahrung sowohl in der Programmierung als auch in der Systemadministration.

DevSecOps bezeichnet die Integration von Sicherheitsmaßnahmen in den gesamten Lebenszyklus der Software-Entwicklung. Das DevSecOps-Prinzip hat sich aus der DevOps-Bewegung heraus entwickelt und basiert auf dem gleichen Framework. DevSecOps ist bei der Arbeit in der Cloud unerlässlich, da dort gewisse Sicherheitsrichtlinien und Verfahren eingehalten werden müssen.

Wenn Sie die Unterschiede zwischen DevOps und DevSecOps kennen, können Sie daraus ableiten, wie die Software- und Anwendungsentwicklung in Ihrem Unternehmen in Zukunft aussehen sollte. Die beiden Verfahren haben im Hinblick auf die Kultur einiges gemeinsam, sind jedoch auf verschiedene geschäftliche Ziele ausgerichtet. Wenn Sie wissen, zu welchem Zweck die Verfahren eingesetzt werden und wann eine Umstellung von DevOps auf DevSecOps erfolgen sollte, ist das für Ihr Unternehmen von Vorteil.

Gemeinsamkeiten zwischen DevOps und DevSecOps

DevOps und DevSecOps haben vieles gemeinsam. Die beiden Verfahren haben eine gemeinsame Kultur und nutzen beide Automatisierung sowie aktive Überwachung. Sie verfolgen zwar verschiedene Ziele, sollen jedoch die gleichen Anforderungen erfüllen. Zudem sorgen beide für eine bessere Zusammenarbeit innerhalb Ihres Unternehmens.

Kulturelle Gemeinsamkeiten

Den kulturellen Mittelpunkt bildet bei DevOps und DevSecOps die Community. Mehrere Abteilungen arbeiten gemeinsam daran, Aufgaben zu erfüllen oder Produkte zu entwickeln. Durch die kooperative Kultur können die verschiedenen Teams im Unternehmen die Hürden im Software-Entwicklungsprozess überwinden und ihn somit verbessern.

Beim DevOps-Verfahren fördert diese Kultur Effizienz und verringert Flaschenhälse, während sie bei DevSecOps dazu dient, Cloud-Sicherheit in alle Phasen zu integrieren, Schwachstellen zu minimieren und gleichzeitig die Compliance zu verbessern. Da sich die Kulturen so ähnlich sind, nutzen beide Verfahren auch die gleichen Tools.

Die Rolle der Automatisierung

Bei der Automatisierung im Kontext der Anwendungsentwicklung geht es vor allem darum, Aufgaben mithilfe von Technologie auszuführen und menschliches Eingreifen zu minimieren. Bei DevOps und DevSecOps unterstützt Automatisierung kontinuierliche Integration, kontinuierliche Auslieferung und kontinuierliche Bereitstellungsabläufe.

Beim DevOps-Modell vereinfacht Automatisierung die Feedback-Schleifen zwischen den Entwicklungs- und IT-Teams, sodass Updates schneller bereitgestellt werden können. Beim DevSecOps-Verfahren dient sie dazu, automatisch sichere Prozesse bereitzustellen, wodurch der Arbeitsaufwand und menschliche Fehler reduziert werden. In beiden Fällen soll die Automatisierung den Prozess verbessern und die Effizienz steigern.

Die Rolle der aktiven Überwachung

Aktive Überwachung ist sowohl für DevOps als auch für DevSecOps wichtig, da Code immer wieder überarbeitet werden muss. Bei beiden Verfahren müssen laufende Software-Anwendungen und Code, an dem aktiv gearbeitet wird, aktiv überwacht werden.

Bei DevOps steht dabei die Qualität in den frühen Phasen des Lebenszyklus der Software-Entwicklung im Mittelpunkt. Das bedeutet den Einsatz früher Tests in der Produktionsumgebung, um die Zuverlässigkeit von Services und eine schnelle Bereitstellung von Updates mit neuen Funktionen zu gewährleisten. Durch die Überwachung können die Qualitäts- und Effizienzziele erreicht und gleichzeitig die Kosten gesenkt werden.

Bei DevSecOps erfolgt die Überwachung sowohl durch interne Sicherheitstools – damit sicherer Code frei von Sicherheitsschwachstellen bleibt – als auch durch Tools für Cloud-Umgebungen. Bei der Überwachung der Sicherheit in der Cloud stehen unbefugte Anmeldungen, Anwendungsfehler und nicht autorisierte Zugriffe im Mittelpunkt. Zudem ermöglicht die aktive Überwachung das Patchen von Software, bevor die Sicherheit kompromittiert wird.

Bei beiden Verfahren wird die Überwachung durch einen proaktiven statt einen reaktiven Ansatz bestimmt. Wenn die Teams über Änderungen in der Umgebung informiert sind, können sie Code effizient und sicher entwickeln bzw. überarbeiten. DevOps und DevSecOps haben viele Gemeinsamkeiten, unterscheiden sich jedoch deutlich in ihrer Vorgehensweise.

SICHERHEIT MIT DER GESCHWINDIGKEIT VON DEVOPS

Unternehmen setzen im Zuge der Umrüstung ihrer Infrastruktur immer häufiger auf DevOps. Erfahren Sie, wie Sie ein DevOps-Modell umsetzen können, das Ihnen mit automatisierten Compliance-Richtlinien, fein abgestimmten Kontrollen und Techniken zur Konfigurationsverwaltung zuverlässigen Schutz bietet.

Jetzt on-demand ansehen

Unterschiede zwischen DevOps und DevSecOps

DevSecOps ist eine Weiterentwicklung von DevOps, wobei die beiden Verfahren unterschiedliche Ziele verfolgen. Bei DevOps steht die Effizienz im Mittelpunkt, während DevSecOps auf Sicherheit ausgerichtet ist. DevSecOps basiert auf DevOps und soll Schwachstellen in der Cloud minimieren.

Wie sich DevSecOps aus DevOps heraus entwickelt hat

DevOps überwindet die Barrieren zwischen den Software-Entwicklern und dem IT-Team und verbessert damit die Agilität. All diese Mitarbeiter arbeiten also während des gesamten Anwendungsentwicklungszyklus zusammen. Diese Zusammenarbeit wird bei DevSecOps noch weiter ausgebaut.

Durch die zunehmende Nutzung der Cloud und cloudbasierter Services tauchen immer komplexere Sicherheitsprobleme auf. Beim DevOps-Verfahren wird die Sicherheit erst nach Abschluss der Entwicklung angegangen. DevSecOps hingegen erweitert das DevOps-Konzept und integriert Sicherheitsmaßnahmen in alle Prozessschritte. Cloud-Technologien sind agil, weshalb Sicherheitsmaßnahmen in alle Phasen des herkömmlichen DevOps-Verfahrens integriert werden müssen.

Unterschiedliche Zielsetzungen

Obwohl die beiden Verfahren im Prinzip die gleiche Vorgehensweise haben, verfolgen beide unterschiedliche Ziele. Bei DevOps liegt der Fokus allein auf Effizienz und Verständnis. Die beim DevOps-Modell kooperierenden Teams müssen die Anwendung verstehen, um die Software effizient ausliefern zu können.

Beim DevOps-Prozess soll eine Anwendung erstellt, Fehler behoben, Updates bereitgestellt und Infrastruktur optimiert werden, um ein möglichst gutes Produkt so schnell wie möglich zu entwickeln. Die wichtigsten Ziele von DevOps sind, den Lebenszyklus der Software-Entwicklung zu verkürzen und eine kontinuierliche Entwicklung und Auslieferung zu ermöglichen.

Bei DevSecOps geht es dagegen vorrangig um die Sicherheit. Sicherheitsmaßnahmen sollen in allen Phasen der Software-Entwicklung automatisiert, überwacht und angewendet werden. Dazu wird der DevOps-Prozess meist durch zusätzliche Schritte erweitert. Durch die umfassende Implementierung von Sicherheit ermöglicht DevSecOps eine kontinuierliche Integration. Zudem wird beim DevSecOps-Modell die Verantwortung für die Sicherheit auf mehrere Schultern verteilt, da alle Mitarbeiter sie von Beginn an im Blick haben.

Wie mit DevSecOps Sicherheitsschwachstellen behoben werden

Beim DevSecOps-Verfahren werden Sicherheitsschwachstellen sofort behoben, weil der gesamte Prozess stark automatisiert ist und aktiv überwacht wird. Durch die zeitnahe Behebung von Problemen entstehen geringere Kosten und die Schwachstellen können schneller beseitigt werden. Zudem wird die Sicherheit beim DevSecOps-Prozess durch die automatisierte Auslieferung von sicherer Software gewährleistet, ohne die Entwicklungszyklen auszubremsen.

Aktivitäten, die DevSecOps von DevOps unterscheiden

Wie lässt sich nun DevOps von DevSecOps unterscheiden, wenn sie in etwa gleich aufgebaut sind? Die beiden Verfahren setzen zum Erreichen ihrer Ziele gänzlich verschiedene Maßnahmen und Best Practices ein. Zudem gibt es Unterschiede bei den Abläufen von DevOps und DevSecOps.

Aktivitäten beim DevOps-Verfahren

DevOps Engineers, automatisierte Systeme und aktive Überwachungsmaßnahmen arbeiten zusammen, um die Effizienz zu verbessern und den Entwicklungslebenszyklus zu verkürzen. Dieser Ansatz wird meist Scrum genannt. Scrum legt die Rollen der Teammitglieder fest und bestimmt, wie die Teams zusammenarbeiten. Daneben gibt es noch weitere Ansätze, doch meist kommen dabei folgende DevOps-Praktiken zum Einsatz:

  • Kontinuierliche Tests, wobei die Code-Tests während des Programmierens und Patchens automatisiert ablaufen und überwacht werden
  • Kontinuierliche Entwicklung der Planungs- und Programmierphasen im Entwicklungslebenszyklus
  • Kontinuierliche Überwachung zur Pflege des Codes während der Entwicklung und der zugrunde liegenden Infrastruktur
  • Durchführung von Qualitätssicherungsmaßnahmen, Behebung von Fehlern und Verwaltung der Incident Response

Aktivitäten beim DevSecOps-Verfahren

DevSecOps funktioniert entlang einer CI/CD-Pipeline, da in jede Phase des DevSecOps-Prozesses Sicherheitsmaßnahmen implementiert werden müssen. Ebenso wie bei DevOps muss ein erfolgreicher DevSecOps-Prozess Sicherheitsexperten, Automatisierung und aktive Überwachung umfassen. Die folgenden Prüfungen erfolgen in der gleichen Reihenfolge wie beim Entwicklungsprozess.

  • Precommit-Prüfungen: Erfolgen, bevor der Entwickler den Code in ein Quellcode-Repository überführt, und umfassen Trigger-Bedrohungsmodellierung und E-Mail-Benachrichtigungen.
  • Commit-Time-Prüfungen: Werden automatisch ausgelöst, wenn Code in ein Quellcode-Repository committet wird, und umfassen die Erfassung von Metriken sowie automatische Sicherheitstests.
  • Build-Time-Prüfungen: Erfolgen automatisch, wenn die Commit-Time-Prüfungen erfolgreich abgeschlossen wurden, und umfassen risikobasierte Sicherheitstests.
  • Test-Time-Prüfungen: Werden durch erfolgreiche Build-Time-Prüfungen ausgelöst und umfassen die Erkennung von schädlichem Code.
  • Deploy-Time-Prüfungen: Erfolgen vor und nach der Bereitstellung und umfassen Sicherheitsprüfungen als Abschluss der DevSecOps-Pipeline.

Weitere Unterschiede bei den Abläufen von DevOps und DevSecOps

Der größte Unterschied zwischen den Abläufen von DevOps und DevSecOps ist der Zeitpunkt, zu dem Sicherheitspraktiken angewendet werden. Bei DevOps wird die Sicherheit erst am Ende des Entwicklungsprozesses geprüft, bei DevSecOps hingegen werden Sicherheitspraktiken während des gesamten Prozesses angewendet. Allerdings erfordert die Umstellung von DevOps auf DevSecOps mehr als nur die Integration von Sicherheitsmaßnahmen in den Prozess.

Die Umstellung von DevOps auf DevSecOps

Bevor Sie Ihre Abläufe von DevOps auf DevSecOps umstellen, sollten Sie Ihr Team zunächst darauf vorbereiten. Dazu gehört, alle Mitarbeiter darüber zu informieren, warum die Umstellung nötig ist und welche Vorteile sie bringt. Ihnen stehen zahlreiche Tools zur Verfügung, um die Sicherheitspraktiken zu verbessern. Gleichzeitig beinhaltet der Prozess jedoch auch einige Tücken, die Sie möglichst vermeiden sollten.

Womit Sie bei der Umstellung von DevOps auf DevSecOps rechnen müssen

Meist geht es bei der Umstellung von DevOps auf DevSecOps darum, die Sicherheit von Anfang an zu implementieren oder den Kunden enger in den Prozess einzubeziehen. Ein erster wichtiger Schritt ist, die Mitarbeiter darüber aufzuklären, warum die Umstellung notwendig ist und wie sie sich auf die Anwendungsentwicklung auswirken wird. Alle Beteiligten sollten sich darüber im Klaren sein, dass sich die Kultur ändern und die Sicherheit immer wieder in den Mittelpunkt gerückt werden muss.

Für eine erfolgreiche Umstellung müssen Ihre Mitarbeiter in sicheren Programmierpraktiken geschult werden, was eine enge Zusammenarbeit des Sicherheitsteams mit dem Entwickler- und IT-Team notwendig macht. Die Sensibilisierung für Cybersicherheitsprobleme ist ein erster wichtiger Schritt für Ihre Entwickler.

Vorbereitung auf die Umstellung von DevOps auf DevSecOps

Bei der Vorbereitung auf die Umstellung müssen Sie sich entscheiden, welche Sicherheitspraktiken am besten für Ihr Unternehmen geeignet sind. Dies ist eine Auswahl der zahlreichen existierenden Sicherheitstestverfahren:

  • Dynamic Application Security Testing (dynamischer Sicherheitstest von Applikationen, DAST), bei dem Ihr Team die Perspektive der Angreifer einnimmt, um Schwachstellen und Sicherheitslücken aufzudecken
  • Static Application Security Testing (statischer Sicherheitstest von Applikationen, SAST), bei dem Code auf Sicherheitsschwachstellen untersucht wird
  • Interactive Application Security Testing (interaktiver Sicherheitstest von Applikationen, IAST), eine Kombination von DAST und SAST, bei dem Software zur Überwachung des Verhaltens einer Anwendung genutzt wird
  • Runtime Application Self-Protection (Selbstschutz von Anwendungen zur Laufzeit, RASP), bei dem Echtzeitdaten zur sofortigen Erkennung und Behebung von Angriffen auf eine Anwendung genutzt werden

Ein konkretes Beispiel für DAST sind Penetrationstests. Penetrationstests oder ethisches Hacking simulieren Cyberangriffe und testen damit die Sicherheitsmaßnahmen eines Unternehmens. Dabei werden Taktiken aus der MITRE ATT&CK® Matrix for Enterprise eingesetzt.

Zudem gibt es verschiedene Arten von Penetrationstests: Interne Penetrationstests prüfen das interne Netzwerk eines Unternehmens, während Penetrationstests für Web-Applikationen eine Anwendung im Netz mithilfe eines dreiphasigen Prozesses bewerten. Penetrationstests und andere Sicherheitspraktiken sollten durchgeführt werden, bevor es zu einer Kompromittierung kommt.

Was Sie bei der Umstellung von DevOps auf DevSecOps vermeiden sollten

DevSecOps kann ein wirksames Instrument sein, um die Sicherheit Ihrer Abläufe zu verbessern. Es gibt dabei jedoch einige Stolperfallen, die Sie kennen sollten:

  • Nutzung der falschen Tools: Es gibt zahlreiche Arten von Sicherheitstools. Wenn Sie die Tools wählen, die für Ihren Code geeignet sind und den Anforderungen Ihres aktuellen Anwendungsszenarios bzw. zukünftiger Szenarien entsprechen, können Sie für einen reibungsloseren Übergang sorgen.
  • Keine Einbeziehung des Sicherheitsteams: Der DevSecOps-Prozess erfolgt kontinuierlich und in allen Phasen des Entwicklungszyklus. Wenn Sie Ihr Sicherheitsteam von Beginn an einbeziehen, kann es durchgehend für Sicherheit sorgen. Sicherheitsexperten können Ihnen raten, welche Tools für Ihr Unternehmen geeignet sind.
  • Geschwindigkeit vor Qualität: DevOps ist auf Geschwindigkeit ausgerichtet. Das Endziel der Umstellung auf DevSecOps sollte dagegen eine sichere und funktionsfähige Pipeline sein. Planen Sie also zusätzliche Schritte und Zeit für die ordnungsgemäße Integration von Sicherheitspraktiken ein.
  • Keine Überwachung des Codes: Da sich der Code ständig ändert, sollte das DevSecOps-Team ihn kontinuierlich überwachen. Neue Bibliotheken, Patches und Konfigurationen können zu neuen Schwachstellen führen, sodass eine kontinuierliche Überwachung unerlässlich ist.

Durch die Vermeidung dieser Stolperfallen können Sie die Umstellung von DevOps auf DevSecOps in Ihrem Unternehmen reibungsloser gestalten.

Weitere Informationen

Ein cloudnativer Ansatz bietet bessere Geschwindigkeit und Skalierbarkeit – Eigenschaften, auf die sich alle Anhänger des Modells einigen können, auch wenn sie darüber streiten, was „cloudnativ“ wirklich heißt. Doch wenn Unternehmen optimal von den Vorteilen von DevOps profitieren möchten, müssen sie einen Weg finden, sichere Entwicklungsprozesse für cloudnative Anwendungen zu integrieren.

Blog: Modern Infrastructure Requires Modern Cloud Security

Alle Vorteile von DevSecOps nutzen

Beim Abwägen der Vor- und Nachteile von DevOps und DevSecOps steht vor allem die Integration von Sicherheitspraktiken im Mittelpunkt. DevSecOps baut auf DevOps auf und geht bei der Philosophie noch einen Schritt weiter – ebenso wie DevOps dem Agile-Modell einen weiteren Schritt hinzugefügt hat. DevSecOps ist auf die Implementierung von Sicherheitsmaßnahmen für Anwendungen in der Cloud ausgelegt, sodass Sicherheitsbedrohungen behoben werden, bevor sie zu einer Gefahr werden. Bei beiden Verfahren kommen die Teams eines Unternehmens zusammen, um ein gegenseitiges Verständnis zu fördern und die Effizienz sowie das Wachstum des Unternehmens zu steigern.