Sicherheit für DevOps-Prozesse DevOps zu DevSecOps weiterentwickeln
Immer mehr Unternehmen nutzen DevOps-Modelle für die flexiblere und effizientere Bereitstellung von Applikationen. DevOps bildet dabei die Basis für eine kürzere Time-to-Market, eine bessere Produktqualität und höhere Kundenzufriedenheit, birgt aber auch erhebliche Sicherheitsrisiken in sich. DevOps muss deshalb zu DevSecOps weiterentwickelt werden.
Anbieter zum Thema

Die Digitale Transformation, die eine hohe Agilität erfordert, ist ein maßgeblicher Treiber für die verstärkte Nutzung von DevOps-Umgebungen. DevOps bietet eine beschleunigte Innovation, höhere Flexibilität und reduzierte Komplexität bei Applikationsentwicklung und -bereitstellung. Mit DevOps-Implementierungen wollen Unternehmen deshalb primär Business-Vorteile in und mit der IT realisieren. Sie vernachlässigen dabei aber zu häufig das Thema Sicherheit – ein fataler Fehler, denn gerade durch DevOps erweitert sich die Angriffsfläche für Cyber-Attacken erheblich, allein schon, weil mehr privilegierte Accounts und Zugangsdaten generiert und über vernetzte Systeme hinweg geteilt werden.
Die zusätzlich verwendeten privilegierten Zugangsdaten, die mit Personen, Services oder Applikationen verbunden sind, stellen unweigerlich ein lukratives Ziel für Angreifer dar. Zu solchen – bisher vielfach nur unzureichend berücksichtigten und gesicherten – Zugangsdaten gehören etwa Service-Accounts, Encryption-, API- und SSH-Keys, Secrets von Containern oder eingebettete Passwörter in Programm-Code, der häufig auch in zentralen Repositories liegt. In der Hand eines externen Angreifers oder böswilligen Insiders stellen diese privilegierten vertraulichen Zugangsdaten eine erhebliche Gefahr dar, da sie eine vollständige Kontrolle über die gesamte IT-Infrastruktur eines Unternehmens ermöglichen.
Problematisch ist auch, dass in DevOps-Projekten zunehmend Cloud-Orchestrierungs- und Automationstools genutzt werden, die das Sicherheitsrisiko für Unternehmen zusätzlich erhöhen. Die vor Kurzem von CyberArk durchgeführte Studie „Global Advanced Threat Landscape Report 2018: Focus on DevOps“ hat ergeben, dass 72 Prozent der befragten deutschen Unternehmen beim Einsatz von Cloud-Tools auf die Sicherheitsmaßnahmen des Cloud-Anbieters vertrauen. Das heißt im Umkehrschluss, in diesen Fällen wird die Sicherung privilegierter Accounts für die Cloud-Umgebung nicht vollständig mit den eigenen DevOps-Prozessen integriert – somit besteht ein weiteres Sicherheitsrisiko – sowohl wegen der einzelnen Inseln, die nicht miteinander verzahnt sind, als auch durch unklare Sicherheitsmechanismen in diesen Tools.
Verwaltung und Sicherung von vertraulichen Zugangsdaten
Immer noch adressieren viele Unternehmen Sicherheitsschwachstellen erst nach einem nicht bestandenen Audit oder – weit folgenreicher – erst nach einem schwerwiegenden Sicherheitsvorfall.
Angesichts der immensen Gefahren ist dies definitiv der falsche Weg. Nur ein proaktives Vorgehen mit bewährten Sicherheitssystemen und Praktiken, die den gesamten Applikations- und Betriebs-Lifecycle abdecken, kann Schwachstellen wirkungsvoll beseitigen und Risiken minimieren. Der DevOps-Ansatz muss somit zu einem DevSecOps-Ansatz weiterentwickelt werden.
Unverzichtbares Element einer Best-Practice-Strategie, die DevOps auf die DevSecOps-Ebene hebt, ist die ganzheitliche Adressierung von Sicherheitsherausforderungen und potenziellen Sicherheitslücken. Von elementarer Bedeutung ist dabei die Sicherung der administrativen Konsolen für DevOps-Tools und Cloud-Dienste sowie der Zugangsdaten, die in Skripten für die Automatisierung der CI- und CD-Pipeline und der DevOps-Tools genutzt werden. Selbstverständlich müssen auch alle Zugangsdaten, die von Applikationen und generell in der Entwicklungsumgebung verwendet werden, adäquat gesichert sein. Der Schutz aller von Maschinen, Systemen und Menschen genutzten Zugangsdaten sollte in einem hochverfügbaren und sicheren Speichersystem (Vault) erfolgen. Prinzipiell ist eine ganzheitliche Vorgehensweise allein schon deshalb erforderlich, weil ein Angreifer lediglich eine einzige Schwachstelle benötigt, um erfolgreich zu sein. Infolgedessen muss ein Unternehmen auch nicht nur einige, sondern alle Schwachstellen eliminieren.
Minimierung manueller Tätigkeiten durch Automatisierung
DevOps-Teams nutzen Automatisierung für die Beschleunigung des Application-Lifecycle-Managements. CI- und CD-Tools etwa helfen Unternehmen, Applikationen automatisch von der Entwicklungs- über die Integrations- bis zur Produktionsebene zu führen. DevOps-Teams sollten auch in Sachen Sicherheit einen vergleichbaren Ansatz wählen, also mit Automatisierung die Sicherheit verbessern, zeitaufwendige und fehlerbehaftete manuelle Tätigkeiten minimieren und Barrieren in der Applikationsentwicklung und -bereitstellung beseitigen.
Solange sich beispielweise die Sicherheits-Policy einer Applikation nicht ändert und keine neuen Privilegien erforderlich sind, besteht auch keine Notwendigkeit, IT-Mitarbeiter in Upgrade-Prozesse zu involvieren. Indem gewisse Security-Aufgaben in die CI-Pipeline integriert werden – zum Beispiel das Scannen von Bibliotheken und Runtimes von Drittanbietern auf allgemeine Schwachstellen, das Überprüfen von Applikations-Code auf Sicherheitslücken oder die Durchführung von Penetrationstests – kann ein Unternehmen Prozesse und Updates automatisieren, Risiken minimieren und gleichzeitig Kosten verringern.
Generell reduzieren automatisierte Sicherheitsverfahren Schwachstellen und Risiken. Mit der regelmäßigen, automatischen Rotation von Zugangsdaten wie Passwörtern, Schlüsseln oder Zertifikaten können Unternehmen zudem verhindern, dass Angreifer Zugriff auf DevOps-Tools, Zugangsschlüssel oder Systeme erhalten.
Sicherheitsplus durch Nutzung neuer Technologien
Es mag widersprüchlich erscheinen, aber auch schon die Einführung neuer Technologien kann die Sicherheit erhöhen. Ein Beispiel sind die in DevOps-Umgebungen genutzten Microservices-Architekturen. Bei monolithischen Applikationen kann es Tage oder sogar Wochen dauern, bis ein IT-Team Tausende von Lines of Code analysiert hat, um potenzielle Schwachstellen zu identifizieren. Durch die Dekonstruktion großer Applikationen und die Konzeption kleinerer Microservices können Unternehmen hingegen Code-Reviews vereinfachen und damit auch schneller Gefahren reduzieren.
Auch die disruptive Serverless-Technologie besitzt ein erhebliches Potenzial für die drastische Verbesserung der Sicherheit. Entwickler arbeiten bei VMs oder Containern sehr nah am Betriebssystem und damit in einem sicherheitskritischen Bereich. In einem Serverless- oder Function-as-a-Service (FaaS)-Modell hingegen haben sie keinen direkten Zugriff auf Betriebssystem oder Runtime und damit auch nicht die Möglichkeit, in diesen sicherheitsrelevanten Umgebungen Änderungen vorzunehmen.
Unternehmen aller Branchen nutzen aktuell verstärkt DevOps-Modelle, um die Digitale Transformation voranzutreiben und die Business-Performance zu verbessern. Die Sicherheit darf dabei allerdings nicht auf der Strecke bleiben. DevOps benötigt einen eigenen Security-Stack, das heißt, DevOps- und Security-Tools und Practices müssen miteinander integriert werden, um einen effizienten Cyber-Schutz zu etablieren. Mit einem Wort: DevSecOps lautet das Gebot der Stunde.
Über den Autor: Michael Kleist ist Regional Director DACH bei CyberArk in Düsseldorf.
(ID:45458980)