Moderne App-Sicherheit für DevOps

Immer mehr Unternehmen erweitern DevOps zu DevSecOps, wobei Security-Tests zu einem früheren Zeitpunkt durchgeführt werden. Aber nur 14 Prozent integrieren sie während des gesamten Entwicklungs-Lebenszyklus vollständig. Teams benötigen geeignete Prozesse, um moderne Technologien wie Microservices, APIs und Cloud-Native/Serverless zu prüfen.

Entwickler nutzen zunehmend Cloud-Lösungen und Microservices in Verbindung mit DevOps, um schneller und wettbewerbsfähiger zu sein. Doch die hohe Geschwindigkeit führt dazu, dass Security-Teams kaum noch mithalten können. Zudem gibt es nach Schätzungen von GitHub derzeit etwa 500-mal mehr Entwickler als Security-Experten.

Hinzu kommt, dass herkömmliche Sicherheitsmaßnahmen erst in den letzten Phasen vor der Freigabe greifen. Bei den schnellen Release-Zyklen der agilen Software-Entwicklung funktioniert das nicht mehr. Denn inzwischen übertrifft das Entwicklungstempo deutlich die Geschwindigkeit, mit der Sicherheitsteams Konfigurationen überprüfen und nach Schwachstellen scannen können.

Dabei stellen moderne Anwendungsumgebungen durch die zahlreichen Schnittstellen zwischen den Microservices eine nahezu unendliche Angriffsfläche dar. So hat der Druck, auf sichere Weise mit der Konkurrenz mitzuhalten, zu einer allmählichen Erweiterung der Prozesse von DevOps zu DevSecOps geführt. Hier verlagern Unternehmen die Sicherheitstests in der Zeitachse „nach links“, also zu einem früheren Zeitpunkt im Software-Entwicklungszyklus.

 

DevSecOps – gewusst, wie

Zwar verstehen die meisten Unternehmen das Ziel von DevSecOps, wissen aber nicht, wie sie die Einführung bewerkstelligen sollen. So integrieren nur 14 Prozent Sicherheitstests während des gesamten Softwareentwicklungs-Lebenszyklus vollständig.

Aktuelle Studien zeigen auch, dass zwar 65 Prozent der Sicherheitsteams ihre Tests frühzeitiger durchführen, aber weniger als ein Fünftel die Ergebnisse an ihre Entwickler weiterleiten, damit diese die Probleme beheben können. Gleichzeitig verfügen die meisten Security-Teams nicht über die Prozesse, um moderne Anwendungstechnologien wie Microservices, APIs und Cloud Native/Serverless zu überwachen und zu schützen. Sie benötigen aber möglichst vollständige Transparenz, wenn Probleme in der Produktivphase auftreten.

Zudem gilt: Je später im Entwicklungszyklus Schwachstellen entdeckt werden, desto kostspieliger ist deren Behebung. Eine Studie des IBM System Science Institute zeigt, dass die Lösung eines während der Implementierung gefundenen Problems sechsmal so teuer sein kann wie die Behebung eines in den frühen Entwurfsphasen identifizierten Fehlers. Darüber hinaus kann ein in der Produktion aufgedeckter Fehler 100 Mal so viel kosten.

Noch beunruhigender ist, dass fast die Hälfte der Unternehmen zugibt, anfällige Anwendungen zu implementieren, um enge Fristen einzuhalten. So liegt es auf der Hand, dass die Einhaltung von Vorschriften und die Sicherheitskontrollen oft übersehen oder sogar bewusst ignoriert werden, um Software schneller und häufiger bereitzustellen.

 

Große Kluft zwischen DevOps und SecOps

Einer der wichtigsten Gründe dafür sind historische Prozesse und Strukturen. In der Vergangenheit arbeiteten die Teams unabhängig voneinander, mit streng geplanten Übergaben zwischen verschiedenen Entwicklungsphasen. Teams für Sicherheitsprozesse (SecOps) führten Tests oft erst in den letzten Phasen von Entwicklung und Freigabe durch. Dadurch entstanden häufig Engpässe.

Die erfolgreiche Eingliederung von Security in DevSecOps erfordert nicht nur eine Änderung der bisherigen Unternehmenskultur, bei der die Notwendigkeit für Sicherheit verstärkt wird, sondern auch das Ausstatten der Teams mit den richtigen Tools und automatisierten Prozessen. Nur dann können sie intelligentere Entscheidungen treffen, ohne die gesamte Organisation auszubremsen.

Dabei wird sich die Entwicklung von Software in nächster Zeit weiter beschleunigen. Schon jetzt veröffentlichen 38 Prozent der Entwickler neue Funktionen mindestens einmal im Monat. 54 Prozent der Container existieren nur fünf Minuten oder weniger. Wenn die Sicherheit weiterhin als separate Einheit betrachtet wird, statt als durchgängig integriertes wichtiges Merkmal, verlangsamt dies die Prozesse und verringert die Effizienz.

 

Geschwindigkeit und Sicherheit gewährleisten

Letztlich verfolgen DevOps- und Security-Teams das gleiche Ziel – ein qualitativ hochwertiges und zeitnahes Produkt. Der Unterschied liegt darin, wie sie das definieren und messen. Die entscheidenden Fragen für die App-Sicherheit lauten: Was erleichtert den DevOps-Teams und den Teams für Anwendungssicherheit die Zusammenarbeit? Und wie sieht integrierte Sicherheit wirklich aus? Wer die Sicherheit von DevOps verbessern will, sollte sich auf folgende Punkte konzentrieren:

  • Sicherheit so weit wie möglich automatisieren. Empfehlenswert sind Investitionen in Sicherheitslösungen, die sich durch Automatisierung direkt in die CI/CD-Pipeline einbetten lassen. Das erleichtert die Absicherung von Apps, ohne die Entwicklungsgeschwindigkeit zugunsten der Sicherheit zu verlangsamen. Der Einsatz von Technologien wie statische Codeanalyse, dynamische Analyse und Pentesting reduziert Risiken und warnt Entwickler vor möglichen Problemen. Auch aufgrund des Fachkräftemangels sollten – wann immer möglich – Prozesse automatisiert werden.
  • Kontrollen als Leitplanke. Geeignete Richtlinien und Tools geben die Richtung vor, ohne ein Hindernis darzustellen. So können DevOps-Teams ihre Apps von Anfang an auf die Security-Anforderungen ausrichten, ohne nachträglich mehr Zeit dafür aufwenden zu müssen. Apps und Richtlinien lassen sich auch im Rahmen der CI/CD-Pipeline testen, so dass sie wie jede andere Funktion geprüft werden. Unternehmen müssen Entwicklern dabei alles zur Verfügung stellen, was sie zum Testen der Anwendungen mit den entsprechenden Sicherheitskontrollen benötigen – sonst werden sie es nicht tun. Erhält die Entwicklung ein besseres Verständnis von Sicherheit und Self-Service-Compliance, verringert dies Schwachstellen und Risiken für das Unternehmen.
  • Aktive Verantwortung. Die meisten Entwickler verfügen nicht über großes Fachwissen zu aktuellen Security-Trends. Schließlich müssen sie schon ihre Programmierkenntnisse auf dem neuesten Stand halten. Unternehmen sollten daher Lösungen einführen, die leicht verständliche Einblicke in das CI/CD-Feedback zum Thema Security bieten.
  • Anpassungsafähige, skalierbare und zuverlässige Sicherheit. Geeignete Lösungen sollten konsistente, zentralisierte und selbst einstellbare Sicherheitsfunktionen für jede Umgebung bereitstellen. Zum Beispiel können KI-basierte Richtlinien-Engines die nötige Anpassungsfähigkeit bieten, um die schnellen Änderungen von Apps im Rahmen der CI/CD-Prozesse zu unterstützen. Wer Sicherheitsrichtlinien an die neuesten Angriffe anpasst und Abhängigkeiten erkennt, erleichtert die Risikobewertung und reagiert schneller.

 

Fazit

Steffan Henke, Technical Solutions Architect bei NGINXDie Zeiten nachträglicher Security-Tests sind vorbei. Heute muss integrierte Sicherheit ein normaler Bestandteil jeder DevOps-Implementierung sein. Durch reibungslose und anpassungsfähige Sicherheitsmaßnahmen können Entwicklungsteams ohne Angst vor Fehlern arbeiten. So unterstützt moderne Anwendungssicherheit Unternehmen beim Erreichen ihrer Geschäftsziele und ihrem wirtschaftlichen Erfolg.

Von Steffan Henke, Technical Solutions Architect bei NGINX