Software Security: Entwickler ertrinken in technischen Schulden
70 Prozent der Organisationen leiden unter Sicherheitslücken in ihrer Software. Die Hälfte der Unternehmen schiebt kritische Fehler vor sich her.
![Ein Laptop mit einem Schutzschild auf dem Bildschirm](https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/4/6/4/8/8/0/2/2024-03-15-Bing_Designer-Schutz-3-2160px-83e07a03ad45da25.png)
Ein geschützter Laptop.
(Bild: Bild erstellt mit KI in Bing Designer durch heise online / dmk)
- Robert Lippert
Die Sicherheitsfirma Veracode hat die neue Auflage des The State of Software Security (SOSS) Reports veröffentlicht. Er analysiert die Verbreitung von Sicherheitslücken in Software, beschreibt die Security Debt, die Unternehmen über die Jahre anhäufen, wenn sie Probleme nicht beheben, und spricht Empfehlungen für die Minimierung der Risiken aus. Der Bedarf daran ist hoch – über 70 Prozent der Unternehmen leiden unter Sicherheitsproblemen in ihrer Software, wobei viele als kritisch eingestuft werden.
Die Ursachen für Sicherheitsprobleme sind laut Studie dabei nicht so eindeutig identifizierbar, wie viele Menschen meinen. 70,2 Prozent der untersuchten Anwendungen weisen sicherheitsrelevante Fehler in Drittanbietercode auf, wie eingebundenen Bibliotheken oder quelloffenem Code; doch auch unternehmenseigene Anwendungen sind zu 63,4 Prozent mit Fehlern ihrer Development-Teams belastet.
Technische Schulden, auch in sicherheitsrelevanten Fragen
Im Umgang mit diesen sicherheitsrelevanten Problemen entsteht Security Debt, also technische Schulden, die über den Lebenszyklus einer Software hinweg zur Herausforderung werden. Als mögliche Ursachen identifiziert der Report die Tendenz von Entwicklungsteams, funktionale Anforderungen über Sicherheitsanforderungen zu stellen, sodass Mängel nicht mehr direkt behoben werden.
Ältere und größere Anwendungen neigen dazu, mehr Sicherheitsmängel anzusammeln, da die Komplexität ihrer Codebasis und die Anzahl der Abhängigkeiten im Laufe der Zeit zunehmen. Dies gepaart mit unzureichenden Schulungen oder Unkenntnis über sichere Programmierpraktiken sowie fehlende kontinuierliche Sicherheitsprüfungen während des gesamten Entwicklungszyklus führten letztlich zu immer langsamerer Fehlerbehebung.
The State of Software Security 2024 lässt an dieser Stelle aber hoffen. Selbst wenn die Rate neuer und bestehender Mängel immer die Kapazität zur Behebung übersteigen wird, sind nur drei Prozent der Probleme im Code als wirklich kritisch einzustufen. Teams, die das Beheben dieser Top-3-Prozent priorisieren, sind insgesamt gut aufgestellt.
Hier lohnt ein Blick auf die gängigsten Fehlertypen, die sich dem Report nach mit denen, der Common Weakness Enumeration (CWE) und der Top-10 des Open Web Application Security Projects (OWASP) decken.
(Bild: Veracode The State of Software Security 2024)
Risiken für die Software Supply Chain
Externe Bibliotheken spielen eine zunehmend wichtige Rolle, wenn es um die Sicherheitsbewertung von Software geht. Auch selbstentwickelte („homegrown“) Software kann heute dutzende bis hunderte externer Abhängigkeiten aufweisen. Viel zu oft gehen Entwicklerinnen und Entwickler hier nach dem Motto „importiere es und ignoriere es“ vor. Besonders Java-, Ruby- und Python-Applikationen haben in den vergangenen Jahren zusätzliche Dependencies angesammelt, stechen beim Ansammeln von Abhängigkeiten heraus.
(Bild: Veracode The State of Software Security 2024)
Die Anzahl der direkten und transitiven Abhängigkeiten variiert dabei je nach Programmiersprache, wobei die "Abhängigkeiten der Abhängigkeiten" in den meisten Fällen die Lieferkette verdoppeln. Sprachen wie Java und JavaScript können die Zahl der Abhängigkeiten sogar um das Fünf- bis Sechsfache erhöhen.
Einen weiteren Risikofaktor stellt der Report heraus: Wie schon in den letzten Jahren beobachtet, verwenden mehr als die Hälfte der Anwendungen Bibliotheken, die weniger als zehn Mitwirkende haben oder seit über einem Jahr nicht mehr aktualisiert wurden. Veracode hebt aber den entscheidenden Vorteil von Open-Source-Bibliotheken hervor, dass mit wachsender Community mehr Sicherheitskontrollen stattfinden, die Fehler, dank des zugänglichen Codes, oft schneller beheben.
Sicherheitsprobleme sind endemisch – das sollten Teams jetzt berücksichtigen
Da Sicherheitsprobleme in Anwendungen so umfangreich verbreitet sind, kommt Veracode zum Schluss, dass sie endemisch und aus der Softwareentwicklung nicht mehr wegzudenken sind. Nur zwei von zehn Applikationen weisen eine durchschnittliche monatliche Fehlerbehebungsrate von über zehn Prozent aller Sicherheitsmängel auf. Nur wenige Teams schaffen es, die wachsende Security Debt zu stoppen.
Der Report empfiehlt zwei wesentliche Ansätze, um das Geschäftsrisiko im Zaun zu halten.
- Da nur von rund drei Prozent aller Probleme ein kritisches Risiko ausgeht, ist die Priorisierung entscheidend. Viel ist gewonnen, wenn Teams sich auf die Behebung dieser Sicherheitsprobleme konzentrieren.
- Künstliche Intelligenz (KI) kann helfen, die Kapazitäten für die Fehlerbehebung zu skalieren. Insbesondere dann, wenn große Sprachmodelle (LLMs) auf spezifische CWEs trainiert sind, um Developer bei der Fehlerbehebung zu unterstützen. Perspektivisch könne dieser Ansatz auch dazu führen, dass Teams weniger relevante Probleme selbst beheben müssen und wieder mehr Zeit für die Wertschöpfung gewinnen.
(who)