Entwickler im Wettlauf mit der Zeit Mit KI und Machine Learning zu sichereren Anwendungen

Von Julian Totzek-Hallhuber * 5 min Lesedauer

Anbieter zum Thema

Generative KI kann die Software-Entwicklung beschleunigen, doch der Code ist leider mindestens genauso fehlerbehaftet wie manuell geschriebener. Noch dazu kommt man beim Bereinigen der Sicherheitsmängel kaum hinterher. Abhilfe könnte wiederum eine KI schaffen.

KI kann dabei helfen, Sicherheitslücken im Code zu identifizieren und zu beheben.(Bild:  Alexander Limbach - stock.adobe.com)
KI kann dabei helfen, Sicherheitslücken im Code zu identifizieren und zu beheben.
(Bild: Alexander Limbach - stock.adobe.com)

Heutzutage entstehen Sicherheitslücken in Code schneller, als sie behoben werden können. Die Gründe dafür sind vielfältig. Die zunehmende Anzahl und Komplexität von Anwendungen sowie die Veränderungen während ihrer Lebensdauer etwa tragen maßgeblich dazu bei, dass Sicherheitsprobleme überproportional steigen. „Aufgeschoben ist nicht gleich aufgehoben“ zählt hier nicht. Zwischen manuellen Sicherheitschecks kann es erneut zu Sicherheitsmängeln mit gravierenden Auswirkungen kommen – negativen finanziellen, strategischen und sicherheitsrelevanten Folgen.

Zwar ist die Effizienz bei der Entwicklung von Software über die Jahre hinweg exponentiell gestiegen. Dafür verantwortlich sind zum Großteil Softwareentwicklungstechniken wie die Verwendung von Bibliotheken von Drittanbietern, Microservices und Automatisierung. Doch leider führt diese Produktivitätssteigerung zu immer noch mehr Sicherheitsproblemen.

Im direkten Vergleich mit den Verbesserungen bei der Entwicklung sind die Fortschritte bei der Behebung von Sicherheitsmängeln in Software-Code eher marginal. Zwar gab es auch dort deutliche Fortschritte. So dauerte es 2017 noch drei Jahre, bis 50 Prozent der Schwachstellen in Code behoben waren – heute ist das in etwas mehr als einem Jahr machbar. Dennoch gibt es noch viel Raum zur Weiterentwicklung.

Beispielsweise sind 77 Prozent der Schwachstellen in Bibliotheken von Drittanbietern auch nach drei Monaten noch immer nicht behoben. Auf diese Weise wird die Kluft zwischen Software-Entwicklung und -Sicherheit immer größer. Der Grund dafür ist offensichtlich: Software wird mit der Hilfe von Automatisierung schneller erstellt, aber das Beheben von Sicherheitsmängeln erfolgt in der Regel immer noch manuell oder „nur“ teilautomatisiert.

Generative KI und Companion Coding sind zweifelsohne revolutionäre Neuerungen. Gleichzeitig ist ihre Auswirkung auf die Sicherheit von Software immens. KI- und ML-Modelle sind immer nur so gut wie das Training und die Daten, aus denen sie lernen. Laut State of Software Security Report 2024 wiesen 80 Prozent der in den letzten zwölf Monaten untersuchten Software erhebliche Sicherheitsmängel auf. Dies deutet darauf hin, dass ML-Modelle, die auf unsicherer Software trainiert werden, anschließend dieselben Sicherheitsmängel reproduzieren.

Die technischen Errungenschaften erhöhen somit auch das Risiko, unsichere Software zu kreieren. Um mit der riesigen Menge an Sicherheitsbedrohungen Schritt zu halten, besteht ein klarer Bedarf an zusätzlichen Sicherheitslösungen. Diese müssen mit dem Entwicklungstempo und der Geschwindigkeit, in der Fehler in Software-Code entstehen, mithalten können.

Eine Lösung dafür sind automatisierte Prozesse bei der Behebung von Schwachstellen. Eine der effizientesten Möglichkeiten, Sicherheitslücken in Software-Code und Anwendungen schnell genug zu schließen, ist die Nutzung von ML und KI. So können Entwickler mit denselben oder weniger Ressourcen bessere Ergebnisse erzielen.

Manuelle Behebung kostet Zeit

Zu den größten Herausforderungen bei der Software-Entwicklung zählen die Planung des Arbeitsaufwandes sowie der hohe Zeitdruck. Häufig bleibt nicht genügend Zeit, um sich ausreichend um gefundene Sicherheitslücken im Code zu kümmern. Gleichzeitig steigt das Risiko mit der Lebensdauer einer Anwendung. Wenn neue Funktionen hinzugefügt werden, entstehen neue Schwachstellen. Das wiederum erhöht die Verwundbarkeit der Software.

Developer und Unternehmen benötigen deshalb Tools, die mehr können, als Software-Code nur zu scannen und Schwachstellen zu finden. Sie benötigen Lösungen, die Sicherheitsmängel automatisiert beheben. Das heißt: Auf KI und ML basierende Lösungen durchsuchen Code nicht nur nach Sicherheitslücken, sondern stellen Entwicklern auch sichere Code-Patches zur direkten Implementierung zur Verfügung. Manuelle Korrekturen sind dann nur noch in wenigen Fällen nötig.

Mängel oder Sicherheitslücken in Code, die ansonsten Monate lang weiterbestehen würden, lassen sich so in Minuten beheben. Das verringert die Arbeitslast für Entwickler und spart ihnen wertvolle Zeit. Gleichzeitig ist es leichter, Anwendungen und Software von Entwicklungsbeginn bis zum Ende der Laufzeit sicher zu halten. Im Wesentlichen können Unternehmen so mehr Sicherheitslücken in kürzerer Zeit und mit weniger Entwicklungsressourcen beheben.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Big Data, Analytics & AI

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung

KI in der Praxis – auf ihr Training kommt es an

Bei ihrem Einsatz als Sicherheitslösung ist ausschlaggebend, wie KI und ML trainiert werden. Für das Training sollten hochgradig kuratierte und proprietäre Datensätze zum Einsatz kommen, die von erfahrenen Sicherheitsexperten untersucht wurden. Dabei sind verschiedene Analysemethoden und manuelle Tests wichtig. Einige der besten Daten für das Training von KI zu diesem Zweck stammen von Dienstleistern, die über viele entsprechende Daten verfügen und diese gleichzeitig gemäß den geltenden Vorgaben schützen. So sind sie in der Lage, KI- und ML-Modelle richtig zu trainieren.

Datenschutz ist dabei ein besonders wichtiges Thema. So sollten sich sensible Attribute in den Daten unterdrücken, maskieren oder anonymisieren lassen. Im Fall von Code umfasst dies die Namen von Klassen, Methoden, Variablen und anderen Bezeichnungen. Auch die Verwendung kryptografischer Techniken ist eine Möglichkeit. Sicherheitsverantwortliche sollten darauf achten, wenn sie sich für eine KI- oder ML-basierte Lösung zur Beseitigung von Sicherheitslücken in Code entscheiden.

KI muss erklärbar sein

Das KI-System sollte darüber hinaus für Nutzer und Interessensgruppen transparent und erklärbar sein – Explainable AI. So können sie verstehen, wie KI-Modelle Entscheidungen treffen. Das gibt die notwendige Transparenz und stärkt das Vertrauen. Durch die Bereitstellung interpretierbarer Erklärungen können die Nutzer die Zuverlässigkeit und potenzielle Voreingenommenheit von KI-Systemen beurteilen, damit der Einsatz von KI ethisch einwandfrei und überschaubar bleibt.

Vorteile der intelligenten Fehlerbehebung

Unsere Ergebnisse der statischen Code-Analyse für Java-Anwendungen zeigen: unsere KI- und ML- basierte Lösung Veracode Fix kann in 72 Prozent der entdeckten Fälle von Sicherheitslücken passende Korrekturempfehlungen zur Verfügung stellen. AI-basierte Lösungen können also nachweislich die Arbeitsbelastung verringern und die durchschnittliche Zeit bis zur Behebung von Schwachstellen in Code verkürzen.

Durch diese Verringerung des Zeit- und Arbeitsaufwands können Unternehmen ihre Sicherheitslage entscheidend verbessern. Risiken lassen sich verringern, Markteinführungen beschleunigen, gesetzliche Vorschriften besser einhalten sowie die betriebliche Effizienz erhöhen. Das bedeutet mehr Kapazität für Innovation und die Konzentration auf die Entwicklung von Software - statt auf deren Reparatur.

<div class="inf-box inf-box--no-border inf-marginbottom-base"> <p class="inf-text-small inf-font-w-light"> <img data-src="https://p7i.vogel.de/wcms/65/dc/65dc64fe58657/julian-totzek-hallhuber--c--veracode.jpeg" src="https://p7i.vogel.de/wcms/65/dc/65dc64fe58657/julian-totzek-hallhuber--c--veracode.jpeg" class="inf-img-round inf-float-left"> <span><b>* Über den Autor</b><br> Julian Totzek-Hallhuber ist Manager Solution Architect EMEA/APAC/LATAM bei <u><a href=https://www.veracode.com/>Veracode</a></u>. </span> </p> <p class="inf-text-micro">Bildquelle: Veracode</p></div>

(ID:49961557)