Die Sache mit der Sicherheit – von DevOps zu DevSecOps Warum sich ein „Shift Left“ lohnt
Anbieter zum Thema
Trotz kurzer Release-Zyklen und DevOps-Methoden darf die Sicherheit von Anwendungen nicht auf der Strecke bleiben. Wer Security in die Continuous-Integration und -Delivery-Pipeline und somit früh im Entwicklungsprozess verankert, schützt sich vor bösen Überraschungen.

Digitalunternehmen sehen sich heute einem enormen Zeit- und Innovationsdruck ausgesetzt. Dagegen werden immer öfter agile Strategien und DevOps-Konzepte in Stellung gebracht. Das führt neben der erwünschten Geschwindigkeitssteigerung jedoch auch zu Problemen: Unter anderem steigt das Risiko für Sicherheitslücken.
Meist werden diese auch erst in den letzten Zügen der Software-Entwicklung identifiziert, was die Behebung solcher Fehler verkompliziert und teuer macht. Dazu kommt das oft immer noch ausgeprägte Silodenken, sodass Entwicklungs- und Sicherheits-Teams isoliert und nicht kombiniert arbeiten.
Die Risiken des DevOps-Ansatzes
Die Schnelligkeit ist ohne Frage die große Stärke von DevOps. Doch überall wo schnell gearbeitet wird, kann darunter die Sicherheit leiden. Dass möglichst schnellen Release-Zyklen alles untergeordnet wird, kann man durchaus kritisch sehen. Was nutzt es schließlich, stets die neueste App zu haben, wenn diese unsicher ist? Ein weiterer Aspekt ist die Arbeit in der Cloud, die zu DevOps dazu gehört.
Viele der verwendeten Tools zeichnen sich durch inkonsistente Standards, Logging-Formate und API-Hooks aus, wodurch es schwierig werden kann, den Überblick über die zahlreichen Komponenten zu behalten, die eine voll funktionsfähige App ausmachen. Der Cloud-Ansatz führt auch dazu, dass Teams über mehrere Standorte verteilt sein können. Neben diversen Vorteilen kann das aber auch dazu führen, dass mitunter nicht alle Team-Mitglieder die gleichen Tools verwenden, was zu weiteren Inkonsistenzen führt.
DevOps zeichnet sich außerdem durch die Verwendung von Open-Source-Bibliotheken aus. Trotzdem ist der darin enthaltene Code nicht per se sicher. Bei der klassischen Arbeitsweise fällt das allerdings nicht direkt auf, sondern erst bei abschließenden Scans.
Was sich ändern muss
Um eine nahtlose Anwendungssicherheit zu gewährleisten, müssen Unternehmen ihre Sicherheitsstrategie überdenken. Security Planning und Security Checks sollten priorisiert werden und in die Continuous Integration und Continuous Delivery (CI/DC) Pipelines integriert werden. Durch diese Integration wird die Verzahnung von Entwicklung und Betrieb (DevOps) noch um den Sicherheitsaspekt ergänzt, sodass daraus DevSecOps entsteht. Um das zu verwirklichen sollten Unternehmen besonders diese Punkte beachten:
- Sicherheit tief im Entwicklungszyklus verankern: In den meisten IT-Unternehmen arbeiten wesentlich mehr Entwickler als Sicherheitsfachleute. Da die Ressourcen dieser Experten begrenzt sind, lohnt es sich, auch die Entwickler in Sicherheitsthemen zu schulen, sodass diese ihren eigenen Code besser beurteilen können.
Außerdem entspricht das einer der Kernanforderungen von DevOps, nämlich Silos zwischen den verschiedenen Bereichen aufzubrechen. Neben der entsprechenden Schulung benötigen Entwickler allerdings auch die richtigen Tools, die in Echtzeit bei der Identifikation potentieller Schwachstellen helfen.
- Kontinuierliches Testing etablieren: Statisches Testing hat sich in der Anwendungssicherheit als sehr erfolgreich erwiesen. Mit dieser Methode ist es möglich, Risiken sehr früh im Software-Lebenszyklus zu erkennen und die Ursachen festzustellen. Im Gegensatz zu dynamischen Verfahren muss beim statischen Testing die Software noch nicht ausgeführt werden und es wird der Quellcode direkt analysiert. Implementiert man dazu noch Tools, die Feedback in Echtzeit liefern, können Entwickler damit einen fortlaufenden Testing-Prozess etablieren.
- Sicherheit als Teil des Lifecycle Managements verstehen: Einer der herausragenden Aspekte von DevOps ist die dezentrale Entwicklung. Um dabei aber nicht den Überblick zu verlieren, sind leistungsfähige Tools für das Lifecycle Management notwendig. Bei einem DevSecOps-Ansatz gehören dazu auch Sicherheitsscans, die als Teil des Building-Prozesses ausgeführt werden. Damit lassen sich Sicherheitslücken direkt erkennen und die Entwicklerteams können sie unverzüglich beheben, bevor es zu gravierenden Problemen kommt.
- Testing automatisieren: Wie praktisch überall sind auch in IT-Unternehmen in der Regel die Ressourcen knapp. Daher können automatische Security Tools eine echte Hilfe darstellen. Sicherheitstests sollten daher ebenso automatisiert werden, wie Modultests oder Integrationstests. So lässt sich einerseits die Testfrequenz deutlich steigern, andererseits werden die Mitarbeiter entlastet – und das mit geringfügigen Investitionen.
- Anwendungen nach dem Release überwachen: Runtime Application Self-Protection (RASP) ist ein Toll, das Anwendungen überwacht, die sich bereits in Produktion befinden. Solche Monitoring-Lösungen eignen sich, um Umgebungen vor veränderten Risikoprofilen und Zero-Day-Schwachstellen zu schützen.
Fazit
Um ganzheitliche Sicherheitskonzepte zu etablieren, darf man Security nicht mehr als isolierten Teilbereich betrachten. Stattdessen muss sie bereits zu Beginn der Entwicklung berücksichtigt werden. Dazu sollten Unternehmen auf eine End-to-End-Lösung für Anwendungssicherheit setzen, die den gesamten Lebenszyklus der Software-Entwicklung umfasst.
* Neil Correa ist Cybersecurity Strategist bei Micro Focus.
(ID:46753986)