目前微软共有 47000 多名开发人员,每月会产生将近 30000 个漏洞,而这些漏洞会存储在 100 多个 AzureDevOps 和 GitHub 仓库中,以便于在被黑客利用之前快速发现关键的漏洞。
微软的高级安全项目经理 Scott Christiansen,大量的半策展(semi-curated)数据非常适合机器学习。自 2001 年以来,微软已经收集了 1300 万个工作项目和 BUG。
Christiansen 表示:“我们利用这些数据开发了一个流程和机器学习模型,它能在 99% 的时间内正确区分出安全和非安全漏洞,并能准确识别出关键的、高优先级的安全漏洞,97% 的时间内准确识别出关键的、高优先级的安全漏洞。”
微软构建的机器学习模型中,旨在帮助开发者准确识别和优先处理需要修复的关键安全问题,并对其进行优先级排序。Christiansen 表示:“我们的目标是建立一个机器学习系统,以尽可能接近安全专家的准确度将 BUG 分为安全/非安全和关键/非关键”。
为了实现这个目标,微软对学习模型进行了诸多培训,提供了很多标记为安全的 BUG 以及其他标记为不安全的 BUG。该模型经过训练之后,能够基于掌握的信息来给没有被预先分类的数据打上标签。