Vier Schritte für ein umfassendes Software-Risk-Management
Software-Entwicklungsprozesse werden zusehends komplexer und dynamischer. Um die Sicherheit von Anwendungen zu gewährleisten, ist ein umfassendes Risikomanagement unerlässlich. Das erfordert eine ganzheitliche Strategie, die alle Phasen des Software-Entwicklungslebenszyklus umfasst und präventive wie reaktive Maßnahmen einschließt.
Ein effektives End-to-End Software-Risikomanagement besteht aus vier wesentlichen Schritten:
- Integration und Korrelation der durchgeführten Tests
- Schwachstellen priorisieren und schnellstmöglich beheben
- Zentrale Verwaltung und richtlinienbasierte Standardisierung
- Ganzheitliches Risikomanagement und Reporting
Schritt 1: Integration und Korrelation der durchgeführten Tests
Die Basis für ein effektives End-to-End Software-Risikomanagement ist die Integration verschiedener Testwerkzeuge und die Korrelation der gewonnenen Daten. Für die Durchführung der Tests kommen unterschiedliche Werkzeuge, wie beispielsweise SAST (Static Application Security Testing), DAST (Dynamic Application Security Testing), IAST (Interactive Application Security Testing) und SCA (Software Composition Analysis) zum Einsatz. Dazu kommen bei modernen Application-Security-Posture-Management-(ASPM)- und Application-Security-Orchestration-and-Correlation-(ASOC)-Lösungen weitere tiefgehende Funktionen zum Automatisieren und Orchestrieren der verschiedenen Tests. Diese Integration liefert eine ganzheitliche Sicht auf Sicherheitslücken und das über den gesamten Lebenszyklus einer Applikation hinweg. Ein weiterer erwünschter Effekt: Der Ansatz verbessert die Zusammenarbeit zwischen Entwicklern, Sicherheitsabteilung und betrieblichen Teams (DevSecOps).
ASOC-Tools automatisieren Prozesse und stellen eine zentrale Plattform für das Schwachstellenmanagement zur Verfügung. Sie liefern einen kompletten Überblick über Sicherheitswarnungen und erleichtern es, Sicherheitslücken nach ihrem Schweregrad zu bewerten, zu priorisieren und zügig zu beheben. Dies wirkt sich unmittelbar positiv darauf aus, wie effizient der Sicherheitsprozesses insgesamt ist.
ASPM- und ASOC-Lösungen kombinieren die beschriebenen Funktionen für eine umfassende Abdeckung. So erhält man Einblicke zu Sicherheitslücken von allen Testquellen während der Entwicklung, des Testens und der Produktion. Das bringt eine ganze Reihe von Vorteilen mit sich: mehr Transparenz, eine bessere Risikobewertung in der gesamten Anwendungsumgebung, und natürlich optimiert man gleichzeitig die Ressourcennutzung.
Schritt 2: Schwachstellen priorisieren und schnellstmöglich beheben
Nach der Konsolidierung der Sicherheitsdaten ist die Priorisierung von Schwachstellen der nächste kritische Schritt. ASPM-Lösungen sollten automatisch Tickets für gefundene Schwachstellen in gängigen Projektmanagement-Tools wie Jira erstellen und den Status dieser Tickets synchronisieren. So können Entwickler in ihrer gewohnten Umgebung arbeiten. Gleichzeitig werden sicherheitsrelevante Aufgaben priorisiert, um sie möglichst zeitnah zu beheben. Die Priorisierung basiert auf vordefinierten Richtlinien, welche auf die spezifischen Bedürfnisse und Compliance-Anforderungen des jeweiligen Unternehmens abgestimmt sind. Ein modernes ASPM-System bewertet Schwachstellen nach ihrer Kritikalität, indem es Daten aus verschiedenen Quellen aggregiert und normalisiert.
Eine weitere wichtige Komponente ist die Integration der Werkzeuge in die Entwicklungspipeline. Durch automatisierte Test- und Korrekturprozesse innerhalb von „Continuous Integration/Continuous Deployment“-(CI/CD)-Pipelines lassen sich Schwachstellen frühzeitig erkennen. Dies verkürzt die Zeitspanne zwischen Aufdecken und Beheben. So ist das Risiko deutlich geringer, dass Sicherheitslücken in die Produktionsumgebung gelangen.
Einige ASPM-Lösungen bieten zudem die Möglichkeit, Sicherheitsrichtlinien direkt in die CI/CD-Pipeline zu integrieren. Damit ist gewährleistet, dass Builds mit kritischen Schwachstellen automatisch blockiert werden. In fortschrittlichen ASPM-Systemen kann man zusätzlich Schwachstellen korrelieren und deduplizieren. Das senkt die Zahl der zu bearbeitenden Tickets. Diese Systeme nutzen maschinelles Lernen und andere fortschrittliche Analysemethoden, um Fehlalarme zu minimieren und gefundene Schwachstellen zu priorisieren. Hierdurch bekommen Entwickler nur die wirklich relevanten und kritischen Probleme präsentiert.
Auch das wirkt sich positiv auf die Kommunikation und die Zusammenarbeit zwischen Entwicklungs-, Sicherheits- und Betriebsteams aus. Sicherheitslücken werden über eine zentrale Plattform nachverfolgt und verwaltet. So sind alle Teams auf dem gleichen Stand. Parallel dazu werden alle sicherheitsrelevanten Maßnahmen dokumentiert, so dass sie im Sinne von Compliance-Anforderungen nachvollziehbar sind.
Schritt 3: Zentrale Verwaltung und richtlinienbasierte Standardisierung
Aktuelle ASPM-Systeme bieten die Möglichkeit, Sicherheitsrichtlinien zentral zu verwalten und über alle Anwendungen und Entwicklungsprojekte hinweg zu standardisieren. Dies beinhaltet die Definition von Richtlinien für die Durchführung von Sicherheitstests in verschiedenen Phasen des Software Development Lifecycle (SDLC). Die Richtlinien können beispielsweise festlegen, dass statische Sicherheitstests (SAST) bei jedem Code-Commit durchgeführt werden, während dynamische Tests (DAST) in der Pre-Production-Phase obligatorisch sind. Über die automatisierten Prozesse ist gewährleistet, dass alle Anwendungen nach den gleichen Standards getestet und bewertet werden. Sicherheitsmaßnahmen werden so insgesamt konsistenter und greifen besser. Dies unterstützt dabei, Compliance-Anforderungen wie zum Beispiel PCI-DSS oder HIPAA einzuhalten. Von diesen konsistenten Sicherheitsmaßnahmen profitieren Entwicklerteams durch klare Richtlinien.
Zudem lassen sich Sicherheitsrichtlinien an unterschiedliche Projekt- und Compliance-Anforderungen anpassen. Dies beinhaltet die Konfiguration von Service-Level-Agreements (SLAs) für das Beheben von Sicherheitslücken, die je nach Kritikalität der Schwachstellen variieren können. So kann man etwa festlegen, dass kritische Sicherheitslücken innerhalb von 24 Stunden behoben werden müssen, während für weniger dringende Probleme 30 Tage zur Verfügung stehen.
Mit einer zentralen Richtlinienverwaltung kann ein Unternehmen zusätzlich die Einhaltung von Sicherheits- und Compliance-Anforderungen überprüfen und dokumentieren. Ein ASPM-System kann Berichte generieren, die zeigen, wie gut die definierten Richtlinien tatsächlich eingehalten werden und wo es Abweichungen gibt. Diese Dokumentationen sind besonders hilfreich für Audits und um sicherzustellen, das gesetzliche Vorschriften eingehalten werden.
Automatisierte Prozesse senken zum einen den manuellen Aufwand ganz erheblich, zum anderen sind die aus diesen Prozessen resultierenden Berichte genauer. Sicherheitsteams haben die Gewähr, dass alle Entwicklungsabteilungen dieselben Sicherheitsstandards und -verfahren einhalten. Missverständnisse kann man weitgehend ausschließen. Ein Fakt, der nicht unerheblich zu einer einheitlichen Sicherheitskultur beiträgt.
Schritt 4: Ganzheitliches Risikomanagement und Reporting
Der letzte Schritt im Application-Security-Posture-Management bezieht sich auf das ganzheitliche Risikomanagement und ein umfassendes Reporting zur Sicherheitslage eines Unternehmens.
Ein ASPM-System liefert einen zentralen Überblick über alle Schwachstellen und deren Status. Dazu kommen umfassende Risikoanalysen und ein vereinfachtes Berichtswesen. Bei einem ganzheitlichen Risikomanagement werden alle Sicherheitsdaten an einem zentralen Ort konsolidiert. Dazu gehören nicht nur Daten aus den verschiedenen Sicherheitstools, sondern auch Informationen über die Anwendungsarchitektur, zu Abhängigkeiten und Datenflüssen. Auf Basis dieser konsolidierten Sicht lässt sich ein umfassendes Verständnis der Sicherheitslage im Unternehmen entwickeln und entsprechend fundierte Entscheidungen treffen.
Detaillierte Berichte und Dashboards visualisieren wichtige Sicherheitskennzahlen und Trends. Diese automatisch erstellen Berichte kann man problemlos für unterschiedliche Ansprechpartner aufbereiten, von Entwicklern über Sicherheitsbeauftragte bis hin zu Führungskräften. Das Reporting berücksichtigt zusätzlich, inwieweit Sicherheitsrichtlinien und Compliance-Anforderungen eingehalten werden.
Ein ASPM-System erstellt Berichte über die Zahl und den Zustand von Sicherheitslücken, die gemäß verschiedener Compliance-Standards wie PCI-DSS, HIPAA oder DSGVO behoben werden sollten. Beide, Überprüfung und Berichterstattung laufen kontinuierlich ab. So sind Unternehmen im Idealfall dauerhaft konform – respektive erkennen sie potenzielle Compliance-Verstöße rechtzeitig.
Ein weiteres wichtiges Merkmal ist die Fähigkeit, historische Daten zu analysieren und daraus Trends abzuleiten. Das gilt analog für wiederkehrende Muster und Schwachstellen. Wenn Firmen historische Sicherheitsdaten sammeln und analysieren, können sie gezielt Maßnahmen ergreifen, die generell die Sicherheitspraktiken verbessern. Eine retrospektive Analyse hilft dabei, die Wirksamkeit von Sicherheitsmaßnahmen zu bewerten und kontinuierliche Verbesserungen zu fördern.
Ein ganzheitliches Risikomanagement priorisiert Sicherheitsmaßnahmen auf Basis einer fundierten Risikobewertung. Ein ASPM-System bewertet Schwachstellen nach ihrem Risiko-Score für das Unternehmen und ordnet sie entsprechend ein. Dies ist besonders wichtig, wenn man Ressourcen gezielt zuweisen will. Dabei wird die Kritikalität der Schwachstellen, die möglichen Auswirkungen auf das Unternehmen und die Wahrscheinlichkeit eines Angriffs berücksichtigt.
Alle vier Schritte sind entscheidend, um eine kontinuierliche Softwaresicherheit zu gewährleisten.
Lucas v. Stockhausen ist Executive Director Sales Engineering International bei Synopsys Inc.