Sicherheit schon in den DevOps-Ansatz zu integrieren, führt zu sichereren Softwarelösungen und geringerem nachträglichen Aufwand. Damit haben viele Unternehmen jedoch Probleme - sei es wegen kultureller Defizite oder herausfordernden Prozessen. An dieser Stelle können Tools helfen, DevOps in DevSecOps zu verwandeln und Entwickler, Operations- und Security-Teams in Sachen Risikomanagement zusammenzubringen. Der DevSecOps-Bedarf wächst: Die Marktforscher von Emergon Research prognostizieren, dass der Markt für DevSecOps-Tools bis zum Jahr 2028 ein Volumen von mehr als 23 Milliarden Dollar erreichen wird. Im Jahr 2020 lag dieser Wert noch bei 2,55 Milliarden Dollar.
Wir haben einige der wichtigsten DevSecOps-Werkzeuge für Sie in verschiedenen Kategorien zusammengefasst.
DevSecOps Tools: Alerting
Die Tools in dieser Kategorie unterstützen Entwickler, Sicherheits- und Operations-Teams dabei, auf dem Laufenden zu bleiben und im Fall von Problemen möglichst schnell zu reagieren.
Viele Operations- und Entwicklungsteams verlassen sich auf Pagerduty (oder ähnliche Tools), um Ereignisse innerhalb ihrer Umgebungen zu managen. In Sachen DevSecOps kann Pagerduty Security Teams über sicherheitsrelevante Events innerhalb der Entwicklungs-Pipeline auf dem Stand halten. Zudem lässt sich das Tool mit anderen Security-Werkzeugen integrieren, die in Sachen Monitoring breiter angelegt sind.
Seitdem es Tools für Incident und Intrusion Detection gibt, werden Security- und Operations-Teams mit Alarmmeldungen nahezu überschüttet. Tools wie xMatters leiten den Großteil der Datenflut um und ermöglichen den Experten, sich ganz auf die Alerts zu konzentrieren, die wirklich wichtig sind. Dazu können Schwellenwerte und Auslösesignale definiert oder auch automatische Reaktionen konfiguriert werden.
Geht es um Alerts, ist es besonders wichtig, alle möglichen Quellen dabei zu berücksichtigen. Tools wie Alerta können Alarmmeldungen sowohl aus den üblichen Quellen (Syslog, SNMP, Prometheus, Nagios, Zabbix, Sensu, netdata) und jedem Tool, das eine URL-Anfrage stellen kann, empfangen. Sie beziehen darüber hinaus auch Skripte wie Python mit ein. Alerts können dedupliziert, korreliert und individuell angepasst werden.
Dieses quelloffene Tool stellt ein Framework für Alarmmeldungen in (nahezu) Echtzeit zur Verfügung, die beispielsweise über Anomalien und Lastspitzen informieren. Als Quelle dient dabei Elasticsearch. Im Alert-Fall empfiehlt das Tool auch entsprechende Maßnahmen.
DevSecOps Tools: Sichere App-Entwicklung
Ein zentraler Aspekt von DevSecOps ist es, Application Security von Anfang an in den Entwicklungsprozess zu integrieren. Das erfordert auch, dass die Developer mehr Verantwortung für die Sicherheit ihres Codes übernehmen - und das Security Team bei Bedarf unterstützen. Um dabei erfolgreich zu sein, braucht es die richtigen Tools zur Bewertung der Softwaresicherheit.
Das Tool Static Application Security Testing (SAST) von Checkmarx scannt den Quellcode von Applikationen auf Sicherheitslücken. So können sich die Entwickler sicher sein, dass ihr Programmcode mit Security-Richtlinien in Einklang steht. Checkmarx lässt sich in verschiedene Tools für Development und Application Release Orchestration integrieren, die in Entwicklungs-Pipelines, Build-Automatisierungssoftware oder Bug-Tracking-Systemen zu finden sind. Im Gegensatz zu vielen traditionellen SAST Tools kann Checkmarx SAST nur neu erstellten oder geänderten Code analysieren.
Die Veracode-Plattform bietet Tools für die Anwendungssicherheit, die sich direkt in DevSecOps-Umgebungen einfügen. Zu diesen Werkzeugen gehört Veracode Static Analysis, das den Quellcode vor der Kompilierung überprüft und Entwickler dabei unterstützt, Korrekturen direkt in integrierten Entwicklungsumgebungen (IDEs) vorzunehmen. Ebenfalls an Bord ist Veracode Software Composition Analysis - ein Tool das Schwachstellen in Open-Source-Komponenten identifizieren kann.
Automatische, dynamische und wiederkehrende Scans übr Applikationsgrenzen hinweg ermöglicht die Burp Suite Enterprise Edition von PortSwigger. Die vordefinierten Integrationen für CI-Pipelines, Jira Support und eine API unterstützen Developer dabei, Security Testing in bestehende Entwicklungsprozesse zu integrieren.
Diverse Application Security Testing Tools hat Synopsis im Angebot. Etwa das SAST Tool Coverity, das Testing automatisiert und mit CI/CD Pipelines integriert. Das Software Composition Analysis Tool BlackDuck wurde entwickelt, um Risiken zu identifizieren und zu managen, die in Applikationen und Container-Umgebungen durch Open-Source- oder Drittanbieter-Quellcode aufgeworfen werden können. Seeker IAST (Interactive Application Security Testing) identifiziert Runtime-Schwachstellen, die potenziell zur Kompromittierung sensibler Daten führen können. Darüber hinaus bietet das Unternehmen Application Security Testing auch als Managed Service an.
Automatisierte Tools für Sicherheitstests in der Applikationsentwicklung hat Parasoft im Angebot. Zum Portfolio gehören Parasoft C/C++test (Fehler frühzeitig in der Entwicklung erkennen), Parasoft Insure++ (Programmier- und Speicherzugriffsfehler identifizieren), Parasoft Jtest (Java-Softwareentwicklungstests) und Parasoft dotTEST (Visual-Studio-Tools ergänzt um tiefgehende, statische Analysen).
DevSecOps: Dashboard-Tools
Dedizierte DevSecOps-Dashboards ermöglichen die Visualisierung von Security-Informationen - vom Beginn des Entwicklungsprozesses bis hin zum Produktiveinsatz. Etliche DevSecOps Tools stellen Dashboards zur Verfügung. Die folgenden Tools sind jedoch dafür konzipiert, benutzerdefinierte Dashboards zu erstellen, was für einige Teams von unschätzbarem Wert sein kann.
Die Open-Source-Analyseplattform Grafana ermöglicht es, individuelle Dashboards aufzusetzen, die relevante Daten aggregieren, visualisieren und durchsuchbar machen. Wem es zu aufwändig ist, von Grund auf neue Dashboards zu erstellen, darf auf zahlreiche Vorlagen der Community zurückgreifen.
Für Unternehmen, die Elasticsearch verwenden, integriert die Open-Source-Lösung Kibana Tausende von Protokolleinträgen in eine einheitliche grafische Ansicht, die Betriebsdaten, Zeitreihenanalysen, Application Monitoring und mehr beinhaltet.
DevSecOps-Tools: Threat Modeling
Threat Modeling Tools helfen Sicherheitsteams dabei, für Anwendungen relevante Bedrohungen zu identifizieren, um sich ein Bild darüber machen zu können, wie sie potenziell angegriffen werden könnten. So können Design- und Entwicklungsteams potenziell kostspielige oder katastrophale Sicherheitsprobleme vermeiden, noch bevor die erste Codezeile geschrieben ist.
Das Tool IriusRisk steht wahlweise in der Cloud oder On-Premises zur Verfügung und automatisiert Risiko- und Anforderungsanalysen. Darüber hinaus entwirft es Threat-Modelle und erstellt technische Sicherheitsanforderungen mithilfe eines fragebogenbasierten Interface. Darüber hinaus unterstützt IriusRisk auch bei der Codeerstellung und beim Security Testing.
Dieses automatisierte Threat-Modeling-System analysiert Daten automatisiert und identifiziert potenzielle Bedrohungen über die gesamte Angriffsfläche (auf der Grundlage der verfügbaren Bedrohungsdaten). ThreatModeler bietet Visualisierungen von Angriffsfläche, Sicherheitsanforderungen und empfiehlt (nach Prioritäten geordnete) Schritte, um Bedrohungen zu entschärfen.
Dieses quelloffene, webbasierte Tool bietet Systemdiagramme und eine Regel-Engine, um Bedrohungen automatisch zu modellieren und einzudämmen. Threat Dragon zeichnet sich durch eine benutzerfreundliche Oberfläche und eine nahtlose Integration mit anderen Software Development Lifecycle Tools aus.
Weitere DevSecOps-Tool-Optionen
Die folgenden DevSecOps Tools bieten teilweise ähnliche Funktionen wie die bereits genannten - bringen jedoch auch Alleinstellungsmerkmale mit.
Das Open-Source-Tool Chef InSpec automatisiert Sicherheitstests in jeder Entwicklungsphase, um zu gewährleisten, dass Compliance-, Sicherheits- und andere Richtlinien-Anforderungen erfüllt werden.
Eine weitere Open-Source-Option ist das beliebte Test-Framework Gauntlt, das einfache Sicherheitstests ermöglichen und die Kommunikation zwischen Sicherheits-, Entwicklungs- und Betriebsteams optimieren soll. Das Tool verspricht zudem, sich problemlos in bestehende Tools und Prozesse einzuklinken.
Dieses Tool umfasst drei Module: Ansible Tower, Ansible Engine und Red Hat Ansible Network Automation. Die Module können jeweils einzeln oder automatisiert und in Kombination eingesetzt werden. Obwohl es sich bei Ansible Automation nicht ausschließlich um ein Sicherheitstool handelt, ermöglicht es Teams, Security Policies innerhalb ihrer Entwicklungs-Pipeline zu definieren.
Das quelloffene Tool StackStorm wird auch als "IFTTT für Ops" bezeichnet und bietet ereignisgesteuerte Automatisierungen, die skriptgesteuerte Abhilfemaßnahmen fahren, wenn Sicherheitslücken gefunden werden. Darüber hinaus bietet dieses DevSecOps Tool unter aderem auch Continuous Deployment und ChatOps-Optimierung.
Dieses Tool wurde darauf konzipiert, die Sicherheut der gesamten Entwicklungs-Pipeline und Laufzeitumgebung zu managen. Aqua unterstützt auch Container und Cloud-Native-Anwendungen - auf allen Plattformen und in allen Clouds.
Dieses Tool integriert die DevSecOps-Architektur in den Entwicklungsprozess. Dabei verspricht GitLab, jedes Stück Code zu testen und Entwicklern zu ermöglichen, Schwachstellen zu beheben, während sie am Code arbeiten. Ein umfassendes Dashboard gewährt zudem einen Überblick über alle Sicherheitlücken.
Integrierte Sicherheitsfunktionen für Container-basierte Anwendungen, wie beispielsweise rollenbasierte Zugriffskontrollen, SELinux-aktivierte Isolierung und Prüfungen während des gesamten Container-Build-Prozesses verspricht Red Hat OpenShift.
Die Automatisierungsplattform SD Elements von Security Compass sammelt Informationen über Software, identifiziert Bedrohungen und empfiehlt relevante Gegenmaßnahmen und Sicherheitskontrollen, um Unternehmen dabei zu unterstützen, Security- und Compliance-Ziele zu erreichen.
Entwickelt um Open-Source-Schwachstellen zu beheben, kann WhiteSource unabhängig von Programmiersprachen, Build-Tools oder Entwicklungsumgebungen in den Build-Prozess integriert werden. Das Tool überprüft kontinuierlich die Sicherheit und Lizenzierung von Open-Source-Komponenten anhand einer ständig aktualisierten Repository-Datenbank.
Dieser Beitrag basiert auf einem Artikel unserer US-Schwesterpublikation CSO Online.