Im Bereich der agilen Software-Ent­wick­lung spielt die Si­cher­heit der Produkte eine immer größere Rolle. In Zeiten von Con­ti­nuous Delivery und Con­ti­nuous In­te­gra­ti­on wird der Ent­wick­lungs­pro­zess al­ler­dings zu einer nicht zu un­ter­schät­zen­den Her­aus­for­de­rung. Deshalb erweitern immer mehr Un­ter­neh­men den DevOps-Ansatz, bei dem Ent­wick­lung (De­ve­lo­p­ment) und an­schlie­ßen­der Betrieb (Ope­ra­ti­ons) von Anfang an eng in­ein­an­der verzahnt sind, um die Kom­po­nen­te Si­cher­heit (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 be­rück­sich­tigt die Ansprüche an Ent­wick­lungs­ge­schwin­dig­keit und Si­cher­heit glei­cher­ma­ßen.

DevSecOps – eine De­fi­ni­ti­on

Mittels DevSecOps lassen sich Agilität und die Mög­lich­keit zur schnellen Reaktion, wie es der DevOps-Ansatz bietet, optimal nutzen. Denn der Si­cher­heits­aspekt wird bereits bei der ei­gent­li­chen Ent­wick­lung mit­be­rück­sich­tigt. Damit un­ter­schei­det sich das System deutlich vom her­kömm­li­chen Ansatz, bei dem die Si­cher­heits­teams meist erst nach Fer­tig­stel­lung des Produkts für die ent­spre­chen­de Ab­si­che­rung sorgen.

Was ist das hinter DevSecOps stehende Konzept?

Mit der DevSecOps-Methode sollen die hohen Si­cher­heits­stan­dards auch bei den schnellen und agilen Ent­wick­lungs­me­tho­den von Con­ti­nuous Delivery und Con­ti­nuous In­te­gra­ti­on ge­währ­leis­tet werden. Dabei müssen die oftmals sehr hohen Si­cher­heits­an­for­de­run­gen bereits bei der Pro­gram­mie­rung für den laufenden Betrieb mit­ein­be­zo­gen werden. Eine gute Kom­mu­ni­ka­ti­on zwischen den Bereichen Si­cher­heit, Ent­wick­lung und IT-Betrieb ist hierbei von grund­le­gen­der Bedeutung. Daher ist der in­ter­dis­zi­pli­nä­re Ansatz in diesem Zu­sam­men­hang ent­schei­dend für den Erfolg der gesamten Ent­wick­lung.

Warum DevSecOps so wichtig ist

Dem Si­cher­heits­aspekt wird seit einigen Jahren bei der Software-Ent­wick­lung immer größere Bedeutung bei­gemes­sen. Vor allem an­ge­sichts der schnell­le­bi­gen Ent­wick­lung, die mit immer kürzeren Zeit­ab­stän­den zwischen ver­schie­de­nen Versionen ein­her­geht, wird das Einhalten der Si­cher­heits­stan­dards zunehmend zur Her­aus­for­de­rung. Für viele Un­ter­neh­men sogar zu einer un­über­wind­ba­ren Her­aus­for­de­rung, wenn der Si­cher­heits­aspekt erst im Anschluss an die ei­gent­li­che Ent­wick­lung bedacht wird. Oft müssen sich Un­ter­neh­men zwischen einer hohen Si­cher­heit mit ent­spre­chen­dem Zeit­auf­wand und einer geringen Si­cher­heit bei kurzen Ver­öf­fent­li­chungs­zy­klen ent­schei­den. Viele Anbieter ent­schei­den sich für Letzteres. DevSecOps bietet jedoch eine her­vor­ra­gen­de Lösung, um hohe Si­cher­heit und kurze Ver­öf­fent­li­chungs­zy­klen mit­ein­an­der zu ver­ein­ba­ren.

Warum Kunden und Un­ter­neh­men glei­cher­ma­ßen von DevSecOps pro­fi­tie­ren

Die früheren Lösungen zur Im­ple­men­tie­rung wichtiger Si­cher­heits­fea­tures und Si­cher­heits­pro­to­kol­le lassen sich nicht mit der neuen und schnel­le­ren Variante der agilen Software-Ent­wick­lung ver­glei­chen. Erst durch die aktive In­te­gra­ti­on der Si­cher­heits­aspek­te in die Ent­wick­lungs­pha­se der Software und deren Gleich­set­zung im Ent­wick­lungs­pro­zess kann die ge­wünsch­te Si­cher­heit auch bei kurzen Ent­wick­lungs- und Pro­dukt­zy­klen ge­währ­leis­tet werden. Al­ler­dings verfolgen noch längst nicht alle Un­ter­neh­men diesen Ansatz. Dies lässt sich unschwer daran erkennen, dass bei einigen Produkten aufgrund der ver­kürz­ten Versions-Zyklen die Si­cher­heit deutlich nach­ge­las­sen hat und die ver­schie­de­nen Si­cher­heits­lü­cken oftmals nur not­dürf­tig durch „Day One Patches“ ge­schlos­sen werden.

Wer auf ein hohes Maß an Si­cher­heit setzen möchte, muss also entweder die bisherige, lange Ent­wick­lungs­zeit in Kauf nehmen, oder auf DevSecOps als Lösung setzen, um das ge­wünsch­te Ergebnis zu erzielen.

DevSecOps konkret: Ein Beispiel

Erklären wir die Zu­sam­men­hän­ge einmal an einem prak­ti­schen Beispiel aus dem Alltag eines Pri­vat­an­wen­ders. Die App in unserem Beispiel ist ein Haus­halts­buch, das direkt über das Smart­phone verwaltet werden kann. In der App lassen sich Einnahmen und Ausgaben erfassen, ka­te­go­ri­sie­ren und farblich un­ter­schied­lich dar­stel­len und auswerten. Da hierbei aktuell nur wenig sensible Daten genutzt werden, gibt es im Bereich Si­cher­heit nicht viel zu beachten.

Nun wird die App um eine Funktion erweitert, mit welcher Kas­sen­bons ein­ge­scannt und au­to­ma­tisch erfasst werden können. Da hierbei viele Daten erfasst und auf Servern aus­ge­wer­tet werden müssen, spielt die Si­cher­heit bei der Kom­mu­ni­ka­ti­on und der Ver­ar­bei­tung eine wichtige Rolle. Wird der Si­cher­heits­aspekt erst im Nach­hin­ein be­rück­sich­tigt, dauert es ein halbes Jahr, bis die Funktion sicher ver­öf­fent­licht werden kann.

Nun soll eine weitere Funktion eingefügt werden. Und zwar sollen sich Ausgaben per On­line­ban­king direkt in das System in­te­grie­ren lassen. Hierbei werden höchst sensible Daten ver­ar­bei­tet, sodass die In­te­gra­ti­on einer solchen Lösung bei höchsten Si­cher­heits­stan­dards eventuell über ein Jahr dauern kann. Zu diesem Zeitpunkt hätte die Kon­kur­renz längst an Boden gewonnen und das eigene Produkt wäre am Markt höchst­wahr­schein­lich nicht mehr in­ter­es­sant.

Wird jedoch mittels DevSecOps der Si­cher­heits­aspekt bei der Pro­gram­mie­rung und Ent­wick­lung direkt mit­be­rück­sich­tigt, kann die Zeit bis zur Ver­öf­fent­li­chung ohne Abstriche hin­sicht­lich der Si­cher­heit enorm verkürzt werden. Oft wird die Si­cher­heit dadurch sogar noch ver­bes­sert, da diese direkt in die Pro­gram­mie­rung in­te­griert werden kann und nicht als Si­cher­heits-Kit über eine schon be­stehen­de Pro­gram­mie­rung gestülpt wird. Das Un­ter­neh­men pro­fi­tiert also von kürzeren Ver­si­ons­zy­klen und die Nutzer von der be­stän­di­gen Ak­tua­li­sie­rung der Software.

Die Vorteile von DevSecOps in der Ent­wick­lung

Die Vorteile von DevSecOps liegen klar auf der Hand. Wenn sich ein Un­ter­neh­men aufgrund der stei­gen­den Nachfrage und der hohen An­for­de­run­gen dazu ent­schließt, die Ent­wick­lung der eigenen Produkte mit dem modernen DevOps-System durch­zu­füh­ren, erreicht es oftmals ungeahnt hohe Ge­schwin­dig­kei­ten bei der Pro­duk­ti­on und der Ver­öf­fent­li­chung ver­schie­de­ner Versionen der eigenen Software. Al­ler­dings bleibt bei diesem Prozess die Si­cher­heit auf der Strecke. Wird diese, wie sonst üblich, erst am Ende in das fertige Produkt in­te­griert, kann es nicht nur zu Problemen im Bereich der Funk­tio­na­li­tät kommen, sondern auch die Aus­lie­fe­rung kann sich spürbar verzögern.

Wird der Si­cher­heits­aspekt nun bereits im laufenden Ent­wick­lungs­pro­zess be­rück­sich­tigt, sieht dies ganz anders aus: Der Prozess ver­lang­samt sich kaum, da auch der Si­cher­heits­be­reich von den ver­schie­de­nen Mo­ni­to­ring-Lösungen und der Au­to­ma­ti­sie­rung pro­fi­tiert. Zudem lernen die ver­schie­de­nen Teams aus Ent­wick­lung und Betrieb die si­cher­heits­re­le­van­ten Faktoren bereits bei der Ent­wick­lung zu be­rück­sich­ti­gen, sodass von Anfang an deutlich weniger Si­cher­heits­lü­cken entstehen. Es werden also sichere und dennoch stabile Software-Varianten in kürzerer Zeit pro­du­ziert, die direkt an die Kunden aus­ge­lie­fert werden können. Somit pro­fi­tie­ren sowohl Kunden als auch Un­ter­neh­men von den neuen Mög­lich­kei­ten.

Nachteile und Schwie­rig­kei­ten bei DevSecOps

Genau wir bei DevOps ist auch bei DevSecOps der Erfolg des Systems und dessen Effizienz davon abhängig, wie gut die einzelnen Mit­ar­bei­ter und Teams diese neue Ent­wick­lung mittragen. Denn ohne die damit ver­bun­de­ne, offene Un­ter­neh­mens­kul­tur und ohne den Austausch zwischen Teams und Ab­tei­lun­gen kann auch das Konzept DevSecOps nicht er­folg­reich funk­tio­nie­ren. Aus diesem Grund ist es wichtig, die Vorteile des neuen Systems nicht nur offen zu kom­mu­ni­zie­ren, sondern die Än­de­run­gen auch gut mit den Ab­tei­lun­gen und Mit­ar­bei­tern ab­zu­stim­men.

Wehren sich einzelne Mit­ar­bei­ter gegen das System, also bei­spiels­wei­se gegen die In­te­gra­ti­on der Si­cher­heits­exper­ten in den ei­gent­li­chen Ent­wick­lungs­pro­zess, kann es zu er­heb­li­chen Schwie­rig­kei­ten kommen.

Fazit: Eine ge­schick­te In­te­gra­ti­on bietet viele Vorteile

Die In­te­gra­ti­on von wichtigen Si­cher­heits­fea­tures ist im Bereich der Software-Ent­wick­lung und im direkten IT-Betrieb von enormer Bedeutung. Werden not­wen­di­ge Si­cher­heits­vor­keh­run­gen erst im Anschluss an die ei­gent­li­che Ent­wick­lung be­rück­sich­tigt, kommt es nicht nur zu sehr langen Ver­zö­ge­run­gen, sondern es können sich auch Fehler ein­schlei­chen, die keinem um­fas­sen­den Re­vi­si­ons­pro­zess mehr un­ter­zo­gen werden. Wird der Si­cher­heits­aspekt hingegen durch DevSecOps direkt in die Ent­wick­lung von Software, Software-Updates und -Versionen in­te­griert, verkürzt sich die Dauer von Si­cher­heits­maß­nah­men merklich und auch die Qualität ver­bes­sert sich aufgrund der au­to­ma­ti­sier­ten Kon­trol­len spürbar. Daher pro­fi­tie­ren Un­ter­neh­men besonders davon, wenn nicht nur DevOps im Un­ter­neh­men an­ge­wen­det wird, sondern mit DevSecOps zu­sätz­lich der Bereich der Daten- und Soft­ware­si­cher­heit direkt in den Ent­wick­lungs­pro­zess in­te­griert wird.

Zum Hauptmenü