Cyber-Sicherheit in Code Wie sich DevOps zu DevSecOps entwickelt

Autor / Redakteur: Filipe Pereira Martins und Anna Kobylinska * / Stephan Augsten |

DevSecOps ist ein Ansatz zur Gewährleistung kontinuierlicher Cyber-Sicherheit bei der Entwicklung von Software nach dem DevOps-Paradigma. Damit wappnen sich innovative Entwicklungsschmieden gegen mögliche Angriffe. Die Herausforderungen sind enorm.

Anbieter zum Thema

Im Zeitalter von DevOps und agiler Methoden wird die Sicherheit zu selten mitbedacht.
Im Zeitalter von DevOps und agiler Methoden wird die Sicherheit zu selten mitbedacht.
(Bild gemeinfrei: geralt - Pixabay.com / Pixabay )

Die Umstellung von serverseitigen Applikationen auf Microservices und Container-Plattformen wie Docker hat den Prozess der Softwareentwicklung um Fähigkeiten zur kontinuierlichen Bereitstellung erweitert – und gleichzeitig ein neues Problem auf den Plan gerufen: in einem reinen DevOps-Workflow bleibt die Cyber-Sicherheit auf der Strecke.

eBook DevSecOps
eBook „DevOps und Security“
(Bild: Dev-Insider)

E-Book zum Thema

Das eBook „DevOps und Security“ erläutert die Unterschiede von DevSecOps, SecDevOps und DevOpsSec und befasst sich mit dem Warum und Wie.


Cyber-Attacken auf Unternehmen steigen weiter an, warnt das Bundesamt für Sicherheit in der Informationstechnik (BSI). Viele der schwerwiegendsten Vorfälle finden möglicherweise gar unbemerkt statt. Dabei können die Unternehmen ihre Infrastruktur dauerhaft gar nicht absichern, weil sie ihre Software stetig weiterentwickeln müssen.

Laut New Relic, einem der führenden Anbieter von Lösungen zur Überwachung der Anwendungsleistung, nimmt mittlerweile mehr als jedes zweite Unternehmen mindestens einmal pro Woche – viele sogar mehrmals pro Stunde – neuen Software-Code in Betrieb, größtenteils vollkommen ungetestet.

Was ist falsch an reinem DevOps?

Die Prozesse der Entwicklung (Dev) und der Bereitstellung (Ops) von Software müssen in modernen Unternehmen parallel zueinander, ununterbrochen und möglichst reibungslos ablaufen, Stichwort: DevOps.

Dieser Ansatz der Prozessverbesserung vereinigt Continuous Integration (CI)-, Continuous Delivery (CD) und Continuous Deployment (CD) von Softwarecode zu einem System agiler und kontinuierlicher Weiterentwicklung von Softwarecode. Doch kürzere, marktgerechte Release- sowie Bereitstellungszyklen und manuelle Penetrationstests schließen sich aus.

Bildergalerie
Bildergalerie mit 7 Bildern

Für eine umfassende Testphase einer neuen Softwareversion bleibt einfach keine Zeit übrig. So kommen mit jeder Aktualisierung einer Anwendung nicht nur die gewünschten Verbesserungen, sondern auch neue Sicherheitslücken hinzu. So bringt dieser kontinuierliche Fluss von Änderungen und die unmittelbare Bereitstellung von unzureichend getestetem Code (und das womöglich noch unter Zeitdruck!) enorme Risiken mit sich. Potenzielle Zero-Day-Verwundbarkeiten nehmen ja auch neuerdings scheinbar unkontrolliert zu.

Bei einer Umfrage des BSI in Zusammenarbeit mit der Allianz für Cyber-Sicherheit, einem Verbund deutscher Unternehmen im Bereich der Cyber-Sicherheit, im vergangenen Jahr, gab knapp jedes dritte der 592 befragten Unternehmen an, im Laufe der vorangegangenen sechs Monate Opfer von Ransomware geworden zu sein. Rund ein Dutzend der betroffenen Unternehmen sind den Lösegeldforderungen auch tatsächlich nachgekommen.

Keine Cyber-Sicherheit ohne SecOps/DevSecOps

Eine Antwort auf die Cyber-Sicherheit-Herausforderungen eines DevOps-Workflows taufte die Entwicklergemeinde auf den Namen SecOps/DevSecOps. Dabei handelt es sich um die Umsetzung von Sicherheitsrichtlinien in Softwarecode zur kontinuierlichen Gewährleistung von Cyber-Sicherheit im Rahmen des DevOps-Modells.

Vorreiter von SecOps haben Sicherheitsrichtlinien in Code erfasst und in ihrer Deployment-Pipeline fest verankert. Damit die Entwickler und die Systemadministratoren an einem Strang ziehen, arbeiten sie in diesen Unternehmen in gemeinsamen Teams an einer gemeinsamen Zielsetzung.

Es hat sich in der Industrie etabliert, ein „Rotes Team“ (Red Team) und ein „Blaues Team“ (Blue Team) zu bilden; manchmal kommt auch ein „Purpurrotes Team“ (Purple Team) hinzu. Jedes dieser Teams verfügt über geballte Kenntnisse der Entwickler (aus der Dev-Abteilung) und der Administratoren (aus der Ops-Abteilung).

Im Rahmen einer geplanten Feuerübung geht das Rote Team mit intensiven Penetrationstests in die Offensive, um die bestehenden Sicherheitsvorkehrungen des Unternehmens zu unterwandern. Das Blaue Team übernimmt die Verteidigung. Softwarebugs und Konfigurationsfehler werden hier niemandem zum Verhängnis, ganz im Gegenteil: Wer neue Probleme oder neue Lösungen findet, gewinnt.

Diese Informationen nimmt dann im nächsten Schritt das Purpurrote Team unter die Lupe. Auch hier treffen sich IT-Fachkräfte aus beiden Abteilungen – Entwicklung und Bereitstellung – zusammen, um eine technische Aufgabe gemeinsam zu bewältigen. Punktuelle Verbesserungen durch manuelles Feuerlöschen stehen hier nicht auf dem Programm. Stattdessen besteht die Aufgabe darin, die Erkenntnisse aus den „Feuerübungen“ in Softwarecode umzusetzen und entsprechende Sicherheitstests zu entwickeln.

Der resultierende Code fließt dann zurück in die Bereitstellungspipeline für künftige Release-Zyklen hinein. So können Unternehmen eine maßgeschneiderte, robuste SecOps-Monitoring-Plattform entwickeln, mit deren Hilfe sich Cyber-Sicherheitsrichtlinien auf die gesamte IT-Infrastruktur automatisch anwenden lassen. Einmal identifizierte Verwundbarkeiten können so – rein theoretisch – nie wieder auftreten.

Von DevOps zu SecOps in (und jenseits) der Cloud

Doch Papier ist geduldig. In einer aktuellen Studie der Cloud Security Alliance (CSA) bekannten sich 65 Prozent der IT-Führungskräfte zu der Meinung, die Cloud sei „genauso sicher oder sogar sicherer“ als ihre eigene On-Premise-Software.

Diese Aussage kann zweierlei bedeuten: Entweder werden die On-Premise-Umgebungen von Unternehmen vernachlässigt, oder die Betroffenen sind sich Cloud-spezifischer Sicherheitsgefahren in Bezug auf DevOps-Workflows nicht so recht bewusst.

Ein Cloud-Anbieter exponiert gegenüber Entwicklern und Benutzern die eigenen APIs, um eine programmatische Kontrolle über seine Infrastruktur-, Plattform- und/oder Softwaredienste zu ermöglichen. Die meisten Verwundbarkeiten von Software-Deployments in einer Cloud lassen sich daher auf den leichtsinnigen Umgang der DevOps-Belegschaft mit Cloud-APIs zurückführen.

Diese Sicherheitslücken von DevOps-Workflows mit Cloud-Bereitstellung fallen im Grunde genommen in eine von zwei Kategorien:

  • Unberechtigter Zugriff auf API-Endpunkte: Privilegierte API-Anfragen trumpfen jegliche sonstigen Sicherheitskontrollen und so kann der Verlust von API-Schlüsseln ungeachtet der Sicherheitseigenschaften des bereitgestellten Software-Code nahezu katastrophale Folgen nach sich ziehen.
  • Fehlerträchtige Drittanbieterdienste und -Tools: Systeme von Drittanbietern zur Cloud-Orchestrierung, Provisionierung von Cloud-Diensten und zur Auswertung von Metadaten können sicherheitskritische Informationen über die Cloud-Topologie des Unternehmens offenlegen.

Beide Szenarien lassen sich auf einen leichtsinnigen Umgang der DevOps-Belegschaft mit sicherheitskritischen Daten wie API-Schlüsseln und Cloud-Metadaten zurückführen.

Der liberale Austausch unverschlüsselter Zugangsdaten zwischen Entwicklern und Administratoren (z.B. in E-Mails oder Slack-Chats) ist in vielen Unternehmen Gang und Gabe. Da hilft es nichts, strikte SecOps-Richtlinien in Code zu erfassen, wenn sich selbst die Entwickler um die Einhaltung so grundsätzlicher Sicherheitsprinzipien im Alltag so gerne drücken. Cloud-Dienste zur Verwaltung von API-Schlüsseln wie AWS KMS oder Azure Key Vault können helfen, das Problem in den Griff zu bekommen.

Bildergalerie
Bildergalerie mit 7 Bildern

Darüber hinaus gibt es noch eine weitere Unsitte: In vielen Unternehmen greifen die Fachabteilungen in Eigenregie auf Cloud-Dienste zurück, um unternehmenskritische Daten zu speichern oder zu verarbeiten — völlig vorbei an den SecOps-Sicherheitsvorkehrungen interner Workflows, schreibt NTT Communications in ihrem Bericht „Sicherheit in der Cloud: wie kann ich meine Cloud Service Provider (CSPs) überwachen?“.

Diese sogenannte Schatten-IT ist eine tickende Zeitbombe. Dabei kann man den Fachabteilungen ihre Neigung zur Produktivität eigentlich nicht wirklich vorwerfen, wenn ihre dringenden Anliegen aus Gründen falsch verstandener Sicherheit bei den hauseigenen Entwicklern nicht auf offene Ohren stoßen. Darum ist DevOps überhaupt entstanden: um aufkommende Problemstellungen in Softwarecode zeitnah zu lösen.

Da gilt es für die SecOps/DevSecOps-Gemeinschaft, sich zurück auf das Agile Manifesto zu besinnen. Im DevOps-Zeitalter ist die Cyber-Sicherheit jedenfalls kein Fertiggericht.

Fazit

Anwendungen, die sich in einem fortwährenden Entwicklungszyklus befinden, sind heute der Antriebsmotor für geschäftskritische Abläufe in modernen Unternehmen. Die Code-Basis durchläuft nach dem DevOps-Modell automatisierte Nachschubwege von der Entwicklungsabteilung (Dev) zu der IT-Betriebsabteilung (Ops) im Takt von nur wenigen Tagen oder Stunden.

Doch reines DevOps birgt ein erhöhtes Risiko von Funktionsstörungen durch die kontinuierliche Evolution der Software und ihrer Laufzeitumgebung. Um dieser Herausforderung mit geeigneten Mitteln begegnen zu können verankert der SecOps/DevSecOps-Ansatz Cyber-Security-orientierte Maßnahmen und -Vorsätze in das DevOps-Modell kontinuierlicher, iterativer Prozessverbesserung. So werden sowohl die Softwarelogik als auch die Infrastruktur und die Cyber-Sicherheit in Code erfasst.

* Filipe Pereira Martins und Anna Kobylinska schreiben unabhängig für die Insider-Portale und sind bei der Soft1T S.a r.l. Beratungsgesellschaft mbH, McKinley Denali Inc. (USA), beschäftigt.

E-Book zum Thema

DevOps und Security

eBook DevSecOps
eBook „DevOps und Security“
(Bild: Dev-Insider)

Sicherheit sollte eng mit den DevOps-Prozessen integriert und gleich zu Beginn der Entwicklung berücksichtigt werden. Die Frage lautet, wie man eine Veränderung am besten umsetzt, die Organisation und die Unternehmenskultur betrifft.

Dieses eBook umfasst die folgenden Themen:

  • Wozu DevOps um Security erweitern?
  • DevSecOps, SecDevOps und DevOpsSec
  • DevSecOps: So geht es in der Praxis

(ID:44685081)