Sichere Softwareentwicklung Lässt sich der ROI eines Softwaresicherheitsprogramms beziffern?
Anbieter zum Thema
Einen Return on Invest (ROI) für Softwaresicherheit zu kalkulieren ist schwierig. Es drängt sich unweigerlich die Frage auf: Wie bemisst man den Wert von etwas, das nicht passiert ist? Wie viele Datenschutzverletzungen hat man tatsächlich vermeiden können? Einige? Viele? Gar keine? Die Antwort darauf ist ungewiss.

Aber Kunden stellen sich Fragen nach dem ROI für Softwaresicherheit ganz konkret, weil sie viel Geld in Automatisierung, Tools, Prozesse und Beratung gesteckt haben. Da ist es nur natürlich zu fragen, was genau ein Unternehmen für seine Zeit und sein monetäres Investment zurückbekommt. Ganz besonders dann, wenn man den betriebswirtschaftlichen Nutzen ermitteln will. Fakt ist, dass 75 % von 1.253 in 2019 überprüften Codebasen mindestens eine Sicherheitslücke enthielten und 49 % ein hohes Sicherheitsrisiko aufwiesen. Das Alter dieser bekannten Schwachstellen lag bei durchschnittlich 4,5 Jahren. In anderen Worten: Die Software wurde innerhalb dieses Zeitraums nicht aktualisiert, obwohl die Schwachstellen bekannt waren.
Den ROI-Ansatz legt man üblicherweise zugrunde, wenn die jeweilige Investition zu Kosteneinsparungen oder Ertragssteigerungen führt. Investitionen in den Bereich der sicheren Softwareentwicklung garantieren im Allgemeinen keine monetären Verbesserungen. Das Ziel ist vielmehr die Schadensprävention und die Risikominimierung in einem weiteren Sinne. Das wirtschaftliche Risiko zu berechnen, unterscheidet sich grundlegend von einem Unternehmen zum anderen, weil zahlreiche Varianten und Parameter eine Rolle spielen. Zum Umfang der Schadensbegrenzung zählen Faktoren wie etwa betriebliche Ausfallzeiten, aufwendige Nacharbeiten und das Beheben von ursächlichen Schwachstellen. Dazu kommen aber auch mögliche Strafen für Verstöße gegen geltendes Recht, die Nutzung geschützter Patente, Umsatzeinbußen durch Kunden- und Imageverlust und so weiter. Die Gesamtsumme und gegebenenfalls weitere Einzelpositionen lassen sich nur grob beziffern, wenn überhaupt. Dazu kommt, dass ein bestimmtes Risiko für das eine Unternehmen deutlich relevanter sein kann als für ein anderes. Das beeinflusst maßgeblich, wie man die einzelnen Faktoren gewichtet und zueinander in Beziehung setzt. Wie viel kostet es beispielsweise, wenn eine hochfrequent genutzte Kunden-Website zu Stoßzeiten aufgrund eines DDoS-Angriffs für einige Stunden nicht zur Verfügung steht? Wie groß ist der Schaden, wenn es Hackern gelingt, Neuentwicklungen vor der Anmeldung zum Patent, Produkt- und Marketingstrategien oder Unternehmens-Know-how auszuspähen und an die Konkurrenz durchzureichen? Wie hoch sind die Verluste, wenn es Angreifern gelingt, auf Kundeninformationen zuzugreifen? Die Liste ließe sich nahezu beliebig verlängern.
Software-Sicherheit – mehr als ein Kostenfaktor
Entscheider betrachten Programme und Investitionen, die für mehr Softwaresicherheit sorgen sollen, vielerorts immer noch ausschließlich als Kostenfaktor. Das drängt Lösungsanbieter in die Rolle von Versicherungsmaklern, die auf potenzielle Gefahren hinweisen, um Policen für den „Ernstfall“ zu verkaufen. Solche Tools sind aber deutlich mehr als ein Kostenfaktor. Sie gewährleisten zum einen, dass eine Software sicherer und qualitativ besser wird, dass sie spezifischen Policy-Anforderungen genügt, und sie optimieren die Prozesse innerhalb des gesamten Software-Lebenszyklus (SDLC). Für einen positiven ROI sollten die begleitenden Sicherheitstests fortlaufend automatisiert werden. Zu Beginn einer Software Security Initiative ermittelt man mithilfe dieser Tools zunächst den Istzustand in der Softwareentwicklung. Stakeholder, die Veränderungen kontinuierlich vorantreiben, nutzen in aller Regel ein intelligentes Berichtswesen und Dashboards. Damit lassen sich Trends schnell erkennen und Verbesserungen gegenüber dem Ausgangszustand messen. Das Berichtswesen ist über den SDLC eng mit den eingesetzten Tools integriert. Dabei spielen eine Reihe von Kennzahlen eine wichtige Rolle: Da sind etwa die Anzahl der False-Positives, die mögliche Verletzung von Compliance-Anforderungen, Art und Umfang der notwendigen Nacharbeiten und die ganzheitliche Nutzung der Tools im Entwicklungsteam. Über einen längeren Zeitraum betrachtet, lassen sich aus diesen Daten weitere Maßnahmen zur Verbesserung ableiten, wie beispielsweise das Automatisierungspotenzial in DevSecOps, die Auswahl zusätzlicher Checker und deren Fine Tuning, das Anpassen von Workflows oder die Identifizierung von weiterem Schulungsbedarf.
Nicht jeder Fehler ist „mission critical“
Eine weitere Maßnahme zielt darauf ab, Testwerkzeuge so zu konfigurieren, dass sie nur die Fehler markieren, die kritisch oder direkt relevant für die zu erstellende Anwendung sind. Einige Tool-Checker finden beim Durchlauf sehr viele Fehler, aber längst nicht alle davon müssen behoben werden. Mit dem Aussortieren der weniger kritischen Defekte lässt sich viel Zeit und Aufwand einsparen und mithilfe der statischen Code-Analyse Fehler und Schwachstellen schon in einem frühen Stadium des Entwicklungsprozesses erkennen und beheben. Einen zusätzlichen positiven Effekt haben Source Code Checks, die bereits sehr früh im Entwicklungsprozess ausgeführt werden. Dazu werden diese Tools direkt in die entsprechende Entwicklerumgebung - IDE (Integrated Development Environment) integriert. Diese Methode unterstützt Entwickler dabei, Sicherheitslücken und Fehler zeitnah zu finden und umgehend zu beheben. Und zwar, ohne dass sie ihre interaktive Entwicklungsumgebung verlassen müssen. Dies passiert nahezu in Echtzeit und senkt somit die Risiken und vermeidet Produktivitätsverluste. Denn die entstehen zwangsläufig, wenn Schwachstellen Tage, Wochen oder sogar Monate unentdeckt bleiben und die betreffenden Entwickler längst mit anderen Aufgaben beschäftigt sind. Die erfolgreiche Einführung von Softwaretest-Tools bringt also eine Reihe von messbaren Vorteilen:
- Gesenkte Durchlauf- und Nachbearbeitungszeiten
- Schnellere Release Cycle
- Größere Termintreue und gegebenenfalls Zeitersparnis
- Geringere Entwicklungskosten
- Optimale Auslastung von Ressourcen in der Entwicklung
- Höherer Grad an Automatisierung
Fazit
Beim Einsatz von Open-Source-Komponenten in der Softwareentwicklung hat sich die Software Composition Analyse bewährt. Ihr Mehrwert liegt vor allem darin, dass der verwendete Open Source Code auf mögliche Schwachstellen und mögliche Lizenzkonflikte bei der weiteren Verwendung untersucht wird. Auch hier trägt eine zeitnahe Erkennung dazu bei, Termine wie geplant zu halten und mögliche Sicherheitslücken von vorneherein zu minimieren. Das übergreifende Ziel ist es immer, Fehler schon möglichst früh in der Wertschöpfungskette zu finden und zu beheben. So vermeidet man aufwendige Nacharbeiten und kann Ressourcen effektiv einsetzen, was wiederum zu mehr Sicherheit, besserer Qualität, höherer Termintreue sowie schnelleren Release-Zyklen führt.
Ein ROI lässt sich nur ungenau abschätzen. Man kann aber sehr wohl annehmen, dass ohne ein Investment in die Softwaresicherheit die Risiken offensichtlich sind. Es vergeht kein Tag ohne schlagzeilenträchtige Berichterstattung über kostspielige und desaströse Hackerangriffe. Vorfälle, bei denen die Angreifer Sicherheitsschwachstellen in einer Software ausnutzen. Sichere und qualitativ hochwertige Software herzustellen und einzusetzen, sollte für jedes Unternehmen höchste Priorität haben. Alle dazu notwendigen Investitionen sollte man ganzheitlich betrachten. Neben der Minimierung von bekannten und unbekannten Risiken ist es mit den entsprechenden Tools zudem möglich, die Effizienz in der Herstellung zu steigern. Dazu müssen Software Security Initiativen zielgerichtet umgesetzt werden. Einige der messbaren Erfolgsfaktoren hinsichtlich eines positiven ROI sind ein schnelleres Feedback, die Fähigkeit, generierte Daten besser zu analysieren, Verbesserungspotenziale mit den richtigen Tools zu erfassen, kritische Fehler zeitnah zu beheben und schrittweise manuelle Aktivitäten in einen sorgfältig definierten, automatisierten Prozess zu transferieren.
Über den Autor: Florian Thurmann ist Technischer Director EMEA bei Synopsys.
(ID:47443082)