Was ist DevSecOps?

Im Bereich der agilen Software-Entwicklung spielt die Sicherheit der Produkte eine immer größere Rolle. In Zeiten von Continuous Delivery und Continuous Integration wird der Entwicklungsprozess allerdings zu einer nicht zu unterschätzenden Herausforderung. Deshalb erweitern immer mehr Unternehmen den DevOps-Ansatz, bei dem Entwicklung (Development) und anschließender Betrieb (Operations) von Anfang an eng ineinander verzahnt sind, um die Komponente Sicherheit (Security): daher das Kürzel DevSecOps. Mit DevSecOps steht eine Lösung für Probleme parat, die in vielen Software-Firmen zum Alltag gehören. Und diese Lösung berücksichtigt die Ansprüche an Entwicklungsgeschwindigkeit und Sicherheit gleichermaßen.

DevSecOps – eine Definition

Mittels DevSecOps lassen sich Agilität und die Möglichkeit zur schnellen Reaktion, wie es der DevOps-Ansatz bietet, optimal nutzen. Denn der Sicherheitsaspekt wird bereits bei der eigentlichen Entwicklung mitberücksichtigt. Damit unterscheidet sich das System deutlich vom herkömmlichen Ansatz, bei dem die Sicherheitsteams meist erst nach Fertigstellung des Produkts für die entsprechende Absicherung sorgen.

Was ist das hinter DevSecOps stehende Konzept?

Mit der DevSecOps-Methode sollen die hohen Sicherheitsstandards auch bei den schnellen und agilen Entwicklungsmethoden von Continuous Delivery und Continuous Integration gewährleistet werden. Dabei müssen die oftmals sehr hohen Sicherheitsanforderungen bereits bei der Programmierung für den laufenden Betrieb miteinbezogen werden. Eine gute Kommunikation zwischen den Bereichen Sicherheit, Entwicklung und IT-Betrieb ist hierbei von grundlegender Bedeutung. Daher ist der interdisziplinäre Ansatz in diesem Zusammenhang entscheidend für den Erfolg der gesamten Entwicklung.

Warum DevSecOps so wichtig ist

Dem Sicherheitsaspekt wird seit einigen Jahren bei der Software-Entwicklung immer größere Bedeutung beigemessen. Vor allem angesichts der schnelllebigen Entwicklung, die mit immer kürzeren Zeitabständen zwischen verschiedenen Versionen einhergeht, wird das Einhalten der Sicherheitsstandards zunehmend zur Herausforderung. Für viele Unternehmen sogar zu einer unüberwindbaren Herausforderung, wenn der Sicherheitsaspekt erst im Anschluss an die eigentliche Entwicklung bedacht wird. Oft müssen sich Unternehmen zwischen einer hohen Sicherheit mit entsprechendem Zeitaufwand und einer geringen Sicherheit bei kurzen Veröffentlichungszyklen entscheiden. Viele Anbieter entscheiden sich für Letzteres. DevSecOps bietet jedoch eine hervorragende Lösung, um hohe Sicherheit und kurze Veröffentlichungszyklen miteinander zu vereinbaren.

Warum Kunden und Unternehmen gleichermaßen von DevSecOps profitieren

Die früheren Lösungen zur Implementierung wichtiger Sicherheitsfeatures und Sicherheitsprotokolle lassen sich nicht mit der neuen und schnelleren Variante der agilen Software-Entwicklung vergleichen. Erst durch die aktive Integration der Sicherheitsaspekte in die Entwicklungsphase der Software und deren Gleichsetzung im Entwicklungsprozess kann die gewünschte Sicherheit auch bei kurzen Entwicklungs- und Produktzyklen gewährleistet werden. Allerdings verfolgen noch längst nicht alle Unternehmen diesen Ansatz. Dies lässt sich unschwer daran erkennen, dass bei einigen Produkten aufgrund der verkürzten Versions-Zyklen die Sicherheit deutlich nachgelassen hat und die verschiedenen Sicherheitslücken oftmals nur notdürftig durch „Day One Patches“ geschlossen werden.

Wer auf ein hohes Maß an Sicherheit setzen möchte, muss also entweder die bisherige, lange Entwicklungszeit in Kauf nehmen, oder auf DevSecOps als Lösung setzen, um das gewünschte Ergebnis zu erzielen.

DevSecOps konkret: Ein Beispiel

Erklären wir die Zusammenhänge einmal an einem praktischen Beispiel aus dem Alltag eines Privatanwenders. Die App in unserem Beispiel ist ein Haushaltsbuch, das direkt über das Smartphone verwaltet werden kann. In der App lassen sich Einnahmen und Ausgaben erfassen, kategorisieren und farblich unterschiedlich darstellen und auswerten. Da hierbei aktuell nur wenig sensible Daten genutzt werden, gibt es im Bereich Sicherheit nicht viel zu beachten.

Nun wird die App um eine Funktion erweitert, mit welcher Kassenbons eingescannt und automatisch erfasst werden können. Da hierbei viele Daten erfasst und auf Servern ausgewertet werden müssen, spielt die Sicherheit bei der Kommunikation und der Verarbeitung eine wichtige Rolle. Wird der Sicherheitsaspekt erst im Nachhinein berücksichtigt, dauert es ein halbes Jahr, bis die Funktion sicher veröffentlicht werden kann.

Nun soll eine weitere Funktion eingefügt werden. Und zwar sollen sich Ausgaben per Onlinebanking direkt in das System integrieren lassen. Hierbei werden höchst sensible Daten verarbeitet, sodass die Integration einer solchen Lösung bei höchsten Sicherheitsstandards eventuell über ein Jahr dauern kann. Zu diesem Zeitpunkt hätte die Konkurrenz längst an Boden gewonnen und das eigene Produkt wäre am Markt höchstwahrscheinlich nicht mehr interessant.

Wird jedoch mittels DevSecOps der Sicherheitsaspekt bei der Programmierung und Entwicklung direkt mitberücksichtigt, kann die Zeit bis zur Veröffentlichung ohne Abstriche hinsichtlich der Sicherheit enorm verkürzt werden. Oft wird die Sicherheit dadurch sogar noch verbessert, da diese direkt in die Programmierung integriert werden kann und nicht als Sicherheits-Kit über eine schon bestehende Programmierung gestülpt wird. Das Unternehmen profitiert also von kürzeren Versionszyklen und die Nutzer von der beständigen Aktualisierung der Software.

Die Vorteile von DevSecOps in der Entwicklung

Die Vorteile von DevSecOps liegen klar auf der Hand. Wenn sich ein Unternehmen aufgrund der steigenden Nachfrage und der hohen Anforderungen dazu entschließt, die Entwicklung der eigenen Produkte mit dem modernen DevOps-System durchzuführen, erreicht es oftmals ungeahnt hohe Geschwindigkeiten bei der Produktion und der Veröffentlichung verschiedener Versionen der eigenen Software. Allerdings bleibt bei diesem Prozess die Sicherheit auf der Strecke. Wird diese, wie sonst üblich, erst am Ende in das fertige Produkt integriert, kann es nicht nur zu Problemen im Bereich der Funktionalität kommen, sondern auch die Auslieferung kann sich spürbar verzögern.

Wird der Sicherheitsaspekt nun bereits im laufenden Entwicklungsprozess berücksichtigt, sieht dies ganz anders aus: Der Prozess verlangsamt sich kaum, da auch der Sicherheitsbereich von den verschiedenen Monitoring-Lösungen und der Automatisierung profitiert. Zudem lernen die verschiedenen Teams aus Entwicklung und Betrieb die sicherheitsrelevanten Faktoren bereits bei der Entwicklung zu berücksichtigen, sodass von Anfang an deutlich weniger Sicherheitslücken entstehen. Es werden also sichere und dennoch stabile Software-Varianten in kürzerer Zeit produziert, die direkt an die Kunden ausgeliefert werden können. Somit profitieren sowohl Kunden als auch Unternehmen von den neuen Möglichkeiten.

Nachteile und Schwierigkeiten bei DevSecOps

Genau wir bei DevOps ist auch bei DevSecOps der Erfolg des Systems und dessen Effizienz davon abhängig, wie gut die einzelnen Mitarbeiter und Teams diese neue Entwicklung mittragen. Denn ohne die damit verbundene, offene Unternehmenskultur und ohne den Austausch zwischen Teams und Abteilungen kann auch das Konzept DevSecOps nicht erfolgreich funktionieren. Aus diesem Grund ist es wichtig, die Vorteile des neuen Systems nicht nur offen zu kommunizieren, sondern die Änderungen auch gut mit den Abteilungen und Mitarbeitern abzustimmen.

Wehren sich einzelne Mitarbeiter gegen das System, also beispielsweise gegen die Integration der Sicherheitsexperten in den eigentlichen Entwicklungsprozess, kann es zu erheblichen Schwierigkeiten kommen.

Fazit: Eine geschickte Integration bietet viele Vorteile

Die Integration von wichtigen Sicherheitsfeatures ist im Bereich der Software-Entwicklung und im direkten IT-Betrieb von enormer Bedeutung. Werden notwendige Sicherheitsvorkehrungen erst im Anschluss an die eigentliche Entwicklung berücksichtigt, kommt es nicht nur zu sehr langen Verzögerungen, sondern es können sich auch Fehler einschleichen, die keinem umfassenden Revisionsprozess mehr unterzogen werden. Wird der Sicherheitsaspekt hingegen durch DevSecOps direkt in die Entwicklung von Software, Software-Updates und -Versionen integriert, verkürzt sich die Dauer von Sicherheitsmaßnahmen merklich und auch die Qualität verbessert sich aufgrund der automatisierten Kontrollen spürbar. Daher profitieren Unternehmen besonders davon, wenn nicht nur DevOps im Unternehmen angewendet wird, sondern mit DevSecOps zusätzlich der Bereich der Daten- und Softwaresicherheit direkt in den Entwicklungsprozess integriert wird.