機械学習でMicrosoftがセキュリティバグを判定、高い精度が特徴1カ月で3万件発生するバグを利用

Microsoftは、教師あり機械学習を活用することにより、セキュリティバグの特定と分類の精度を大幅に向上させたと発表した。開発時、さらには運用後の改善にはセキュリティ専門家の協力を仰ぐことが不可欠なのだという。

» 2020年05月11日 08時30分 公開
[@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 Microsoftは2020年4月16日(米国時間)、セキュリティ専門家の協力の下で機械学習を活用することにより、セキュリティバグの特定と分類の精度を大幅に高めることができたと報告した。

 ソフトウェア開発者は毎日、実装しなければならない機能はもちろん、報告のあったバグの長いリストを目の前にして苦労している。セキュリティの専門家は、自動化されたツールを使ってセキュリティバグに優先順位を付けているものの、開発者側では誤検知に時間を費やしたり、誤って分類された重要な脆弱(ぜいじゃく)性を見逃したりしている。

 Microsoftでは、約4万7000人の開発者がソフトウェア開発に携わり、1カ月当たり3万件近くのバグを作り込んでいる。同社はバグを「Microsoft Azure DevOps」とGitHubにある100以上のリポジトリに保存している。これを人力で処理しようとしても無理がある。2001年以来、1300万件の作業項目とバグを収集しているからだ。

 逆にいえば、ラベルが付いた大量のデータは機械学習に向いている。Microsoftはこのデータを使うことで、セキュリティバグと非セキュリティバグを99%の精度で正確に判別し、優先順位の高い重大なセキュリティバグを97%の精度で正確に特定するプロセスと機械学習モデルを開発した。

良質なデータを利用して教師あり学習を実行

 Microsoftは今回の開発過程の概要を次のように報告している。

 同社が掲げた目標は、セキュリティ専門家にかなり近い精度で動作する機械学習システムを構築することだ。セキュリティバグと非セキュリティバグにバグを分類することに加え、重大なバグと重大ではないバグを分類したい。

 目標を達成するために、教師あり学習を採用した。セキュリティとラベル付けされたバグと、ラベル付けされていないバグを、機械学習モデルに大量に与える。このようなトレーニングを続けることで、機械学習モデルは学習結果を基に、事前に分類されていないデータをラベル付けできるようになるという想定からだ。

 教師あり学習では事前にラベル付けされたデータから学習するため、大量の「良質な」データが必要だ。用意したデータが、モデルを効果的にトレーニングできる適切なデータであることを確認するため、Microsoftは以下の4つの観点からデータを評価した。

  • データ量は十分か 量はもちろん、偏りのない一般的なデータが必要だ。さらに少数の例に当てはまらないデータが必要となる
  • データはどの程度良質か データにノイズが多い場合は、データとラベルの組み合わせをモデルに与えたとしても、学習がうまく進まない。しかし、生のデータは不完全であることが多い。Microsoftは、データを完璧にするのではなく、体系的に取り組む手法を探した
  • データの使用に制限があるか プライバシー規制など、データを使えない理由を把握していく
  • データを研究室で生成できるか 研究室のシミュレーション環境でデータを生成できる場合、(偏りなど)データが持つ他の問題も克服できる

 事前にデータを評価した結果、今回のプロセスを設計し、モデルを構築するのに十分な量の良質なデータが用意されているという確信が得られたため、次の段階に進んだ。

データサイエンスにセキュリティの専門ノウハウを投入

 開発を目指した分類システムは、セキュリティ専門家に近い性能を発揮する必要があった。そこで全てのデータを学習させるのではなく、セキュリティ専門家がトレーニングデータを承認した上で、そのデータを機械学習モデルに与えることにした。

 データに偏りが生じないよう統計的サンプリングを用いて、適量のレビュー用データをセキュリティ専門家に提供することに決め、モデルが機能するようになった段階では手法を多少変えて、稼働中のモデルについてもセキュリティ専門家の評価を受けることにした。

 このようなプロセスの定義を経て、いよいよモデルの設計に入る。Microsoftは、機械学習モデルが2段階に働くようにした。モデルはまず、セキュリティバグと非セキュリティバグの分類方法を学習する。次に、深刻度のラベル(重大、重要、低影響)をセキュリティバグに適用する。

データサイエンティストと専門家はどのように協力するのか

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

AI for エンジニアリング
「サプライチェーン攻撃」対策
1P情シスのための脆弱性管理/対策の現実解
OSSのサプライチェーン管理、取るべきアクションとは
Microsoft & Windows最前線2024
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。