Getty Images
DevSecOps: Schnell und trotzdem sicher
Um zu verhindern, dass beim Trend zu DevOps die Sicherheit leidet, muss man bei der Entwicklung von Anfang die Security mit ins Boot holen. Dem trägt der DevSecOps-Ansatz Rechnung.
Großangelegte Cyberangriffe offenbarten in letzter Zeit die Schwachstellen zahlreicher IT-Umgebungen, WannaCry und NotPetya sind dabei nur die prominentesten Beispiele. Den zunehmend ausgefeilteren Angriffen der Hacker steht die wachsende Bedeutung digitaler Infrastrukturen gegenüber. Anwendungen, die den Zugverkehr regeln, Kraftwerke oder die Trinkwasserversorgung überwachen, sind heute praktisch überlebenswichtig.
Auch bei der explodierenden Anzahl digitaler Geschäftsmodelle spielt Sicherheit eine entscheidende Rolle, vor allem die der Daten. Einerseits sind Daten das Kapital der Digitalwirtschaft, andererseits drohen Datenschutzgesetze mit empfindlichen Strafen bei Datenlecks. Gleichzeitig geht es aber auch immer um Geschwindigkeit: Wer nicht rechtzeitig liefert, wird im Always-on-Business gnadenlos abgehängt.
Release um jeden Preis?
Die Schattenseite der immer schnelleren Release-Zyklen: Entwickler sehen sich einem massiven Zeitdruck ausgesetzt. Und unter Zeitdruck leidet meistens die Sicherheit, ein aus allen Branchen bekanntes Problem. In der Softwaresparte führt das dazu, dass die große Mehrheit aller Anwendungen Gefahrenpotential aufweist: 85 Prozent aller Applikationen beinhalten mindestens eine Schwachstelle, bei mehr als 13 Prozent handelt es sich sogar um eine kritische, so der Bericht State of Software Security von Veracode.
Wo Menschen arbeiten, werden Fehler gemacht, das ist auch in der IT nicht anders. Die Tatsache, dass ein neu geschriebener Code Schwachstellen aufweist, ist an sich nicht das Problem, vielmehr geht es darum, diese kritischen Punkte rechtzeitig zu erkennen und zu beheben. Denn je später im Entwicklungszyklus Fehler bemerkt werden, desto schwieriger wird es, sie auszubügeln.
Werden vor der Veröffentlichung einer fertigen App noch Fehler bemerkt, muss das Team Patches schreiben und aufspielen, was natürlich auch wieder Zeit kostet. Werden die Schwachpunkte erst nach der Live-Schaltung entdeckt, muss das Release um eine weitere Testphase verzögert werden. Im schlimmsten Fall wird Software mit einer Schwachstelle veröffentlicht. Finden Hacker diese, wird es brenzlig: das kann dann nicht nur zu Ausfällen, sondern auch zu Datenlecks führen – mit allen juristischen Konsequenzen.
Kosten können um den Faktor 10 ansteigen, wenn Softwarefehler erst nach der Testphase entdeckt werden. Das hat das National Institute of Standards and Technology (NIST) herausgefunden. Solche unbemerkten Schwachpunkte bleiben in mehr als 70 Prozent der Fälle noch einen Monat nach der Entdeckung der Schwachstellen bestehen, bei 55 Prozent der Fälle sind es sogar drei Monate.
Sicherheit inklusive
Sicherheit ist natürlich ein hohes Gut, das kaum noch einer weiteren Rechtfertigung bedarf, doch neben den desaströsen Folgen, die unsichere Anwendungen auf die Reputation und auch datenschutzrechtlich haben können, ist mangelnde Sicherheit auch immer ein Kostenfaktor. Deshalb erkennen immer mehr Unternehmen, dass man diesen Aspekt von Beginn an berücksichtigen muss. Sie erweitern deshalb den DevOps-Ansatz um den Sicherheitsaspekt – so entsteht DevSecOps.
Wenn man Sicherheit als grundlegenden Pfeiler in der Anwendungsentwicklung von Beginn an mitdenkt, spart man sich böse Überraschungen nach einem Release. DevSecOps verhindert unerwartete Änderungsschleifen, da Sicherheitsscans nicht mehr nur punktuell, sondern zu allen Zeiten während des Entwicklungszyklus durchgeführt werden können.
DevSecOps in der Praxis
Unternehmen, die DevSecOps schon in die Tat umsetzen, sind noch sehr selten, doch ihr Beispiel dürfte bald Schule machen, schließlich sind sie damit sehr erfolgreich. Werden zwei Drittel aller Anwendungen weniger als sechs Mal pro Jahr gescannt, kommen DevSecOps auf über 300 Scans. Dadurch haben diese Unternehmen einen erheblichen Geschwindigkeitsvorteil, wenn es um das Beheben von Schwachstellen geht. Das schaffen sie 11,5-mal schneller als durchschnittliche Unternehmen. Es reicht auch schon, die Anzahl der Tests von 1 bis 12 auf 50 zu erhöhen, damit können Unternehmen innerhalb von 50 Tagen die Anzahl der Schwachstellen von 72 Prozent auf 38 Prozent senken.
„Wenn man Sicherheit als grundlegenden Pfeiler in der Anwendungsentwicklung von Beginn an mitdenkt, spart man sich böse Überraschungen nach einem Release.“
Julian Totzek-Hallhuber, Veracode
Diese Vorteile sind kein Geheimnis, viele Unternehmen wissen darum. Doch warum wird DevSecOps dann noch nicht flächendeckend umgesetzt? Es dürfte daran liegen, dass dieser Ansatz, wie auch DevOps nicht umsonst zu haben ist. Alle beteiligten Mitarbeiter müssen eine hohe Kooperationsbereitschaft mitbringen. In der Anfangsphase kann das durchaus auch mit Mehrarbeit und Konflikten verbunden sein.
Die Hindernisse für eine erfolgreiche Durchsetzung von DevSecOps sind weniger technologischer Natur, es sind Mauern in den Köpfen von Mitarbeitern. Die kann man nur niederreißen, wenn man sie frühzeitig mit ins Boot holt und ihnen in Trainings das nötige Wissen vermittelt. Ansonsten kann die Umstellung auf agile Methoden und die neue Arbeitsweise zu Frust und einer ablehnenden Haltung in der Belegschaft führen. Mit einer transparenten Unternehmenskultur und offener Kommunikation, die die Vorteile für alle Beteiligten aufzeigt, kann man dem entgegenwirken.
Fazit: Sicherheit von Anfang an
Zwar ist eine Umstellung der Arbeitsweisen anfangs immer mit Aufwand verbunden, doch im Falle von DevSecOps lohnt es sich unbedingt, diesen in Kauf zu nehmen. Schon mittelfristig kann die neue Methode Resultate liefern und Mehrwert generieren. Zumindest für den technologischen Part der Umstellung können sich Unternehmen außerdem Hilfe von Dienstleistern ins Haus holen.
Mit RASP (Runtime Application Self-Protection) werden Applikationen kontinuierlich geschützt und entdeckte Angriffe eigenständig gemeldet. Mit SCA (Software Composition Analysis) können Entwickler Open-Source-Software produktiver nutzen, da die Lösung die Komposition von Applikationen und deren Inkrementen analysiert. Ausgestattet mit den richtigen Tools ist der Weg zu DevSecOps gar nicht mehr so schwer. Mit dem Einsatz von speziellen Lösungen kann der Ansatz sogar ohne ausgewiesene Sicherheitsexperten im Team in die Tat umgesetzt werden.