Microsoft-AI identificeert security bugs bijna foutloos

Abonneer je gratis op Techzine!

Microsoft heeft een AI-model gebouwd dat met 99 procent nauwkeurigheid het verschil tussen security bugs en normale bugs zou waarnemen. In de komende maanden is Microsoft van plan om het systeem open source uit te brengen op GitHub.

Naast het feit dat het systeem bijna perfect onderscheid maakt tussen security bugs en normale bugs, identificeert de AI in 97 procent van alle gevallen ook kritieke security-problemen met hoge prioriteit. Het systeem werd getraind door middel van een dataset van 13 miljoen werkitems en bugs van 47.000 ontwikkelaars bij Microsoft die zijn opgeslagen in AzureDevOps en GitHub-repositories. Het model leerde eerst om het verschil tussen security bugs en normale bugs te classificeren. Vervolgens leerde de AI om labels – low-impact, belangrijk en kritisch – toe te passen op de security bugs.

De AI zou gebruikt kunnen worden om menselijke experts te ondersteunen. Coralogix schat dat ontwikkelaars 70 bugs creëren per 1000 coderegels en dat het oplossen van één bug dertig keer langer duurt van het schrijven van een coderegel. Alleen in de Verenigde Staten wordt al jaarlijks 113 miljard dollar besteed aan het identificeren en verhelpen van productdefecten.

Hoe werkt het model?

Microsoft zegt dat het model intern in productie wordt genomen en dat het voortdurend wordt bijgeschoold met gegevens die zijn goedgekeurd door beveiligingsexperts. Zij controleren het aantal bugs dat wordt gegenereerd bij softwareontwikkeling. “Elke dag staren softwareontwikkelaars naar een lange lijst met functies en bugs die moeten worden aangepakt. Security-professionals proberen te helpen door geautomatiseerde tools te gebruiken om prioriteit te geven aan security bugs, maar te vaak verspillen ingenieurs tijd aan valse positieven of missen ze een kritieke kwetsbaarheid die verkeerd is geclassificeerd”, aldus Microsoft Senior Security Program Manager Scott Christiansen en Microsoft Data and Applied Scientist Mayana Pereira in een blogpost. “We ontdekten dat we door het koppelen van machine learning-modellen aan beveilexperts de identificatie en classificatie van security bugs aanzienlijk kunnen verbeteren.”

Het model van Microsoft maakt gebruik van twee technieken om bug voorspellingen te doen. De eerste techniek is een ‘term frequentie-inverse documentfrequentie-algoritme’ (TF-IDF), een benadering voor het ophalen van informatie die belang hecht aan een woord op basis van het aantal keren dat het in een document voorkomt en controleert hoe relevant het woord is in een verzameling titels. De tweede techniek betreft een logistisch regressiemodel en gebruikt een logistieke functie om de waarschijnlijkheid van een bepaalde klasse of gebeurtenis te modelleren.