Cybersicherheit

Microsoft-KI erkennt verwundbaren Code - und zwar fast immer

Uhr

Microsoft hat ein Machine-Learning-Modell vorgestellt, das in der Lage sein soll, Sicherheitslücken in Softwarecode mit nahezu 100-prozentiger Zuverlässigkeit zu identifizieren. Die Firma plant, ihre Methodik und verschiedene Open-Source-Ressourcen auf Github zu veröffentlichen.

(Source: Xuejun li / Fotolia.com)
(Source: Xuejun li / Fotolia.com)

Ein von Microsoft entwickeltes Machine-Learning-Modell kann zwischen Sicherheits-Bugs und nicht bedrohlichen Fehlern von in der Entwicklung befindlichem Softwarecode unterscheiden. Es sei zu 99 Prozent genau, sagt der Hersteller und fügt an, dass das Modell in 97 Prozent aller Fälle kritische Sicherheitslücken mit hoher Priorität identifizieren könne.

Beim Training der entsprechenden Algorithmen wurde ein Datensatz verwendet, der aus 13 Millionen Bugs und anderen Arbeitsaufgaben besteht, die seit 2001 gespeichert wurden und in mehr als 100 Code-Repositories auf Github und AzureDevOps vorhanden sind.

Zusammenarbeit zwischen Sicherheitsexperten und Datenwissenschaftlern

Microsoft gibt an, dass seine Entwickler fast 30'000 Fehler pro Monat produzieren, aber nur ein Teil davon seien Sicherheitslücken. Nach Angaben der Firma aus Redmond erzeugen die bislang verfügbaren Erkennungswerkzeuge zu viele falsch-positive Ergebnisse oder klassifizieren kritische Schwachstellen nicht korrekt. Um solche Fehler besser kennzeichnen und priorisieren zu können, habe das überwachte Lernen mit Hilfe des Fachwissens von Sicherheitsspezialisten es möglich gemacht, die Zuverlässigkeit der gekennzeichneten Daten vorab zu etikettieren und zu bestätigen.

"Wir haben statistische Stichproben verwendet, um Sicherheitsexperten eine überschaubare Menge an Daten zur Überprüfung zur Verfügung zu stellen", schreibt Microsoft. Diese verifizierten Daten wurden dann in das Modell des maschinellen Lernens eingespeist. Die Sicherheitsexperten wurden erneut einbezogen, nachdem das Modell für die Bewertung in der Produktion ausgebildet war. Das Modell ist in der Lage, Sicherheitsfehler von anderen zu unterscheiden, und bewertet dann den Schweregrad der identifizierten Fehler.

"Der Prozess ist nicht abgeschlossen, wenn das Modell funktioniert hat. Um sicherzustellen, dass unser Fehlermodellierungs-System mit der ständigen Weiterentwicklung der Microsoft-Produkte Schritt hält, führen wir automatisierte Re-Trainings durch", so das Unternehmen. Seine Methodik und verschiedene Ressourcen zur Entwicklung dieses Modells will Microsoft demnächst als Open Source auf Github veröffentlichen.

Webcode
DPF8_177634