ニュース

Microsoft、バグのうち深刻なセキュリティバグを97%の精度で分類するAIを開発

 米Microsoftは16日(米国時間)、ソフトウェア開発で発生するバグのうち、セキュリティバグを仕分けるマシンラーニング学習モデルを開発した。

 47,000人もの開発者によって社内で進められるソフトウェア開発では、月間3万個近いバグが発生しているという。これらのバグはAzureDevOpsやGitHub上に保存されているが、この規模のバグを分類したり優先度を決定するには多くの人手が必要となる。

 そこで、2001年から社内で収集されてきた1,300万ものバグのデータを活用し、マシンラーニングを使ってバグを分類する学習モデルの開発に取り組んだ。セキュリティの専門家と同等の精度で「セキュリティバグか否か」と「深刻度はどの程度か(Critical/Important/Low)」の2点で分類するシステムの構築を目指したもので、2段階の学習モデルが用いられている。

 開発段階では、データサイエンティストがデータのタイプや質などを評価しラベルづけしたものを、セキュリティの専門家が再度評価し、学習データを用意。これを実際にマシンラーニングに利用し学習モデルを構築して性能を確かめた上で、平均的なバグ検出数やランダムサンプリングなどを本番環境で行なった。

 同社のデータに対して実際に開発した学習モデルを適用したところ、99%の精度でセキュリティバグかそうでないかを区別でき、97%の精度で深刻度や優先度の高いセキュリティバグが識別できたという。これにより、より多くの脆弱性が悪用される前に発見できるようになるとしている。加えて、継続的に自動化した再学習を実施し、改善とモニタリングを続けていく。

 なお、今回のモデル開発に用いた手法などについては、数カ月中にGitHub上へ公開を予定しているという。