公開システムが過去の経験から学習し、脆弱性発見を支援:Microsoft、ソフトウェアのセキュリティテストに機械学習を適用するニューラルファジング研究を推進Microsoftの研究者は、機械学習とディープニューラルネットワークをソフトウェアのセキュリティ脆弱性発見に利用する「ニューラルファジング」という研究プロジェクトを進めている。初期の実験では有望な結果を示している。});Microsoftの研究者は2017年11月13日(米国時間)、機械学習とディープニューラルネットワークを活用して、ソフトウェアのセキュリティ脆弱(ぜいじゃく)性を発見する新しい方法を開発した、とブログで明らかにした。この新しい方法は、システムが過去の経験から学習し、バグをより効果的に除去できるように支援する。「ニューラルファジング」と呼ばれるこの新しい研究プロジェクトは、従来のファジング技術の強化を目的とし、初期の実験では有望な結果を示している。Detection(MSRD)」をリリースしたばかりだ。Azureベースのこのツールは、Windows(正式版)とLinux(プレビュー版)向けに提供されている。MSRDはセキュリティテストを大幅に簡素化するため、ユーザーはセキュリティの専門家でなくてもソフトウェアのバグ除去に取り組める。このツールを支える主要技術が「ファズテスティング(ファジング)」だ。ファジングは、悪用される可能性が高いエラー状況を引き起こす入力を探すプログラム分析手法で、こうしたエラー状況には「バッファーオーバーフロー」「メモリアクセス違反」「NULLポインタ逆参照」などがある。ファジングツール(ファザー)には、以下のようなさまざまなカテゴリーがある。Lop)で報告されたクラッシュ。MSRDでの実験的なサポート(出典:Microsoft)ニューラルファジング2017年、Microsoftの研究者チームは、機械学習とディープニューラルネットワークを利用してファジング技術を改良する研究プロジェクトを開始した。ディープニューラルネットワークをグレーボックスファザーのフィードバックループに挿入した際、どのような機械学習モデルで学習できるのかを探ろうとした。同チームは初期の実験として、既存ファザーによる従来のファジングの反復を観察することで、時間をかけて学習を行う効果があるかどうかを調べた。Lop(AFL)」に適用した。同チームは4種類のニューラルネットワークを試し、4つのターゲットプログラムに対して実験を実施。実験では、4つのファイルフォーマット(ELF、PDF、PNG、XML)のパーサを使用した。実験の結果、コードカバレッジ、ユニークコードパス、4つの入力フォーマットのクラッシュに関して、従来のAFLと比べて大幅な改善が見られたという。Memory(LSTM)に基づくディープニューラルネットワークを使用したAFLシステムは、ELFとPNGという2つのファイルパーサについて、従来のAFLと比べてコードカバレッジが10%程度改善した。ユニークコードパスについては、ニューラルAFLは従来のAFLと比べ、PDFを除く全てのパーサでより多くのユニークパスを発見した。PNGパーサでは、24時間のファジング後、従来のAFLと比べて2倍のユニークコードパスを発見した。libpngファイルパーサにおける時系列(時間)での入力の増加(出典:Microsoft)報告されたクラッシュ数の比較は、ファザーを評価する良い方法だ。ELFファイルパーサでは、ニューラルAFLは20回以上のクラッシュを報告。従来のAFLはゼロだった。XMLのようなテキストベースのファイルフォーマットでも、ニューラルAFLは従来のAFLよりも38%多くのクラッシュを発見した。PDFでは、従来のAFLの方がニューラルAFLよりも新しいコードパスの発見に優れていた。どちらのシステムもクラッシュを一切報告しなかった。readelf(左)とlibxml(右)における時系列(時間)でのクラッシュの報告数(出典:Microsoft)全体的にPDFを除く全てのインスタンスで、ニューラルファジングを使用する方が、従来のAFLを上回っていた。PDFファイルはサイズが大きいために、オーバーヘッドが顕著なのではないかと思われる。新しい方法になると考えている。シンプルシステムは既存のファザーから手順を学習する。バイトシーケンスを与えるだけで、システムはあらゆる機能を理解し、それらから、どのタイプの入力が重要か、ファザーの注意をどこに向けなければならないかを自動的に予測するようになる。効率的AFLの実験では、最初の24時間で従来のAFLよりもはるかに多くのユニークコードパスを探索するようになった。汎用的AFLでのみテストを行ったが、この実験でのアプローチはブラックボックスファザーやランダムファザーなど、あらゆるファザーに適用できると考えられる。Microsoftは、現在のモデルではファジングの場所を学習するだけだが、変異の種類や適用する戦略など、他のファジングパラメーターもこのモデルを使って学習できると考えている。Microsoftでは機械学習モデルのオンラインバージョンの構築も考えている。オンラインバージョンのファザーにより、進行中のファジングの反復から常に学習するようになるという。Brainwave」(開発コード名)を発表。Intelの新FPGAを採用した。Reality」といった「未来のコンピューティング」を実現するためのテクノロジーと、それに向けてMicrosoftが提供する製品、サービスが多数紹介された。今後、同社が「AIで主導権を握る」ために注力する4分野も明らかにした。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。