Cybersécurité

L’IA de Microsoft reconnaît les bouts de code vulnérables dans 97% des cas

Microsoft annonce avoir mis au point un modèle de machine learning capable d’identifier des failles de sécurité dans le code de logiciels en développement avec une précision proche de 100%. La firme compte publier sa méthodologie et différentes ressources en open source sur Github.

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

Un modèle de machine learning élaboré par Microsoft peut distinguer les bugs de sécurité des ceux qui ne présentent pas de menace dans le code de logiciels en développement. Et ce, avec une précision de 99%, affirme le fournisseur, avant d’ajouter que le modèle identifie les failles de sécurité critiques et hautement prioritaires dans 97% des cas. L’entraînement des algorithmes en question a fait appel à un ensemble de données constitué de 13 millions de bugs et autres éléments de travail emmagasinés depuis 2001 et présents dans plus d’une centaine de dépôts de code sur Github et AzureDevOps.

Collaboration entre experts en sécurité et data scientists

Microsoft explique que ses développeurs créent près de 30’000 bugs par mois mais seule une partie représente des failles sécuritaires. Mais selon la firme de Redmond, les outils de détection disponibles génèrent trop de faux positifs ou ne classifient pas correctement des failles pourtant critiques. Pour mieux labelliser et hiérarchiser les bugs à cette échelle, un apprentissage supervisé faisant appel à l’expertise de spécialistes de la sécurité a permis de pré-labéliser et d'approuver la fiabilité des données ainsi étiquetées. «Nous avons utilisé l'échantillonnage statistique pour fournir aux experts en sécurité une quantité gérable de données à examiner», explique Microsoft. Ces données vérifiées ont ensuite nourri le modèle de machine learning. Les experts en sécurité ont une nouvelle fois été impliqués après l'entraînement du modèle pour l'évaluer en production. Celui-ci est en mesure de distinguer les bugs de sécurité des autres, puis évalue la gravité du bugs identifiés.

«Le processus n’est pas terminé une fois que le modèle a fonctionné. Pour nous assurer que notre système de modélisation des bugs suit le rythme de l'évolution constante des produits de Microsoft, nous effectuons des réentraînement automatisé», précise la firme. Et d’ajouter que sa méthodologie et différentes ressources pour mettre au point ce modèle sera prochainement publié en open source sur Github.

Webcode
DPF8_177550