Worauf IT-Entscheider achten müssen So passen DevOps und Sicherheit zusammen

Autor / Redakteur: Erdem Menges / Peter Schmitz |

An agilen Methoden wie DevOps kommt heute bei der Software-Entwicklung niemand mehr vorbei. Wer dem Thema Sicherheit dabei nicht von Anfang an große Aufmerksamkeit widmet, riskiert eine Menge Geld und den Ruf seines Unternehmens.

Anbieter zum Thema

Agile Software-Entwicklungsprozesse bergen gewisse Risiken. Die Lösung liegt in einer Evolution von DevOps zu DevSecOps und nahtloser Anwendungssicherheit.
Agile Software-Entwicklungsprozesse bergen gewisse Risiken. Die Lösung liegt in einer Evolution von DevOps zu DevSecOps und nahtloser Anwendungssicherheit.
(Bild: gemeinfrei / Pixabay )

Besser, schneller, effizienter. Damit ist alles über die Anforderungen an zeitgemäße Softwareentwicklung gesagt. Aus diesem Grund werden immer öfter agile Strategien und DevOps-Konzepte in Stellung gebracht. Doch dadurch erhöht sich leider nicht nur die Geschwindigkeit bei der Entwicklung, sondern auch das Sicherheitsrisiko, denn der hohe Zeit- und Innovationsdruck führt oft dazu, dass Sicherheitslücken nicht rechtzeitig erkannt werden. Oftmals werden diese erst in den letzten Stadien der Entwicklung identifiziert – dann, wenn die Behebung des Fehlers mit großem Aufwand und hohen Kosten verbunden ist. Grund dafür ist auch das immer noch weit verbreitete Silodenken: Oft arbeiten Produktions- und Sicherheitsteams nebeneinander her. Ein Austausch hingegen findet kaum statt.

Laut dem National Institute of Standards and Technology (NIST) ist die Behebung von Sicherheitslücken in der Produktionsphase 30 Mal teurer und in der Testphase 10 Mal teurer als in früheren Entwicklungsphasen. Daher setzen immer mehr Teams auf das sogenannte Seamless Application Security Development Model, mit dem bereits in einem frühen Stadium des Produktlebenszyklus Sicherheitslücken ausgemerzt werden können.

Die Schwachstellen von DevOps

Seit dem Inkrafttreten der DSGVO wurden in Deutschland mehr als 12.000 Datenpannen gemeldet. Medienberichte über diverse Mega-Leaks, die sich scheinbar in immer kürzeren Abständen ereignen, sind nur die Spitze des Eisbergs. Durch Verordnungen wie die DSGVO oder den CCPA (California Consumer Privacy Act) in den USA müssen Unternehmen im Falle von Datenpannen mit horrenden Bußgeldern rechnen. Warum DevOps vor diesem Hintergrund ein besonderes Risiko darstellen, lässt sich auf eine Handvoll Faktoren zurückführen:

Schnelligkeit scheint in Sachen DevOps immer noch das wichtigste Ziel zu sein: Der Wert von DevOps für eine Organisation wird hauptsächlich daran gemessen, wie sehr das Konzept den Entwicklungsprozess beschleunigt. Ein Gartner-Report von 2017 prognostiziert, dass bis 2020 jede App 30 mal pro Jahr aktualisiert werden muss, um fortlaufend sicherzustellen, dass sie den Anforderungen von Kunden und Partnern gerecht wird. Diese stark verkürzte Time-to-Market zwingt Entwicklungsabteilungen oft dazu, reaktiv und mit der Gefahr von großen Finanz- und Reputationsrisiken zu arbeiten.

Arbeiten in der Cloud: DevOps sind in der Regel cloud-basiert und mit einer Micro-Services-Umgebung verbunden, was dazu führt, dass Entwicklerteams in Sachen Sicherheit niemals die volle Kontrolle haben. Dazu kommt, dass oft weite Teile der neuen Entwicklungsarchitektur auf Open-Source-Tools aufbauen, deren Entwickler wiederum mit eigenen Sicherheitsproblemen zu kämpfen haben. Viele dieser Tools zeichnen sich durch inkonsistente Standards, Logging-Formate und API-Hooks aus, wodurch es schwierig wird, den Überblick über die zahlreichen Komponenten zu behalten, die eine voll funktionsfähige App ausmachen.

DevOps-Teams sind üblicherweise über mehrere Standorte verstreut: Da DevOps-Teams im Normalfall „in der Cloud“ arbeiten, ist es im Grunde genommen nicht mehr nötig, dass die Beteiligten sich alle im gleichen Büro befinden. Dadurch haben Unternehmen die Möglichkeit, ortsunabhängig von den Fähigkeiten eines globalen Expertenteams zu profitieren. Allerdings führt diese Entwicklung auch dazu, dass keine einheitliche Infrastruktur besteht und die Teams unterschiedliche Tools nutzen (zum Beispiel für QA und Monitoring), was ein potenzielles Sicherheitsrisiko darstellt.

Der Master-Key: Notwendigerweise bestehen im Zusammenhang mit DevOps relativ wenige Einschränkungen, wenn es um den Zugriff auf Netzwerk- und Produktionsumgebungen geht. Dadurch haben Hacker oft leichtes Spiel.

Die Lösung für diese zahlreichen Herausforderungen liegt in einer Evolution von DevOps zu DevSecOps und nahtloser Anwendungssicherheit. So entsteht eine Umgebung, in der Sicherheit zu einem Teil der Entwicklungskultur wird. Dazu gehört vor allem eine fortlaufende, flexible Kollaboration zwischen Release Engineers und Security Teams.

Die fünf Schritte zur nahtlosen Anwendungssicherheit

Security Planning und Security Checks müssen zu einem fundamentalen Element werden, das in die Continuous Integration und Continuous Delivery (CI/DC) Pipelines integriert ist. So entsteht ein DevSecOps-Ansatz. Dieser umfasst eine Methode zur nahtlosen Anwendungssicherheit und einen fünfstufigen Prozess, der DevOps und Security zusammenbringt.

Schritt 1: Sicherheit muss tief im Entwicklungsprozess verankert sein

Die meisten Organisationen beschäftigen deutlich mehr Entwickler als Sicherheitsexperten. Daher erweist es sich als sinnvoll, Entwickler in die Lage zu versetzen, ihren eigenen Code in Hinblick auf Sicherheit zu evaluieren. Doch es geht nicht nur darum, die Entwickler entsprechend zu schulen. Wichtig sind auch passende Tools, die in Echtzeit bei der Identifikation von Sicherheitslücken helfen.

Schritt 2: Testen, testen, testen

Statisches Testing zur Anwendungssicherheit hat sich als Best Practice erwiesen. Durch die Methode ist es möglich, die Ursachen für Sicherheitsrisiken bereits zu Beginn des Coding-Prozesses zu ermitteln. Tools, die Echtzeit-Feedback zum Thema Sicherheit liefern, versetzen DevOps-Teams zudem in die Lage, einen fortlaufenden Testing-Prozess zu etablieren.

Schritt 3: Security als Teil des Lifecycle Managements

DevOps zeichnet sich dadurch aus, dass die Entwicklung dezentral stattfindet. Daher sind starke Tools für das Lifecycle Management erforderlich. Diese führen Sicherheitsscans als Teil des Build-Prozesses durch und können Sicherheitslücken unverzüglich aufdecken. So erhalten die Teams rechtzeitig die nötigen Informationen, um Schwachstellen zu beheben.

Schritt 4: Automatische Security-Tools

Die meisten Organisationen arbeiten mit begrenzten personellen Ressourcen. Sicherheitstests sollten daher ebenso automatisiert werden, wie Modultests oder Integrationstests. Mittels Automatisierung erhöht sich die Testfrequenz signifikant; und das bei nur geringfügigen Investitionen.

Schritt 5: Monitoring nach dem Release

Ein weiteres wichtiges Security-Tool, das Unternehmen in Erwägung ziehen sollten, ist Runtime Application Self-Protection (RASP). Der Fokus liegt dabei auf Applikationen, die sich bereits in Produktion befinden. Die Lösung schützt die Umgebung vor veränderten Risikoprofilen und Zero-Day-Schwachstellen.

Am Ende des Tages geht es darum, einen nahtlosen Ansatz für die Anwendungssicherheit zu finden, der das Entwicklungsteam nicht bei der Arbeit behindert. Der wichtigste Schritt dabei: Die Integration einer End-to-End-Lösung für Anwendungssicherheit, die den gesamten Lebenszyklus der Software-Entwicklung umfasst.

Über den Autor: Erdem Menges ist Director, Fortify Product Marketing bei Micro Focus. In dieser Position ist Menges für die Markteinführung und die Produktkommunikation für das wachsende Anwendungssicherheits-Portfolio bei Micro Focus verantwortlich. Er ist spezialisiert auf die Lösung komplexer Cybersecurity-Sachverhalte und die Unterstützung von Kunden beim Schutz ihrer Unternehmen vor neuen Bedrohungen.

(ID:46208422)