検索
ニュース

Microsoft、ソフトウェアのセキュリティテストに機械学習を適用するニューラルファジング研究を推進システムが過去の経験から学習し、脆弱性発見を支援

Microsoftの研究者は、機械学習とディープニューラルネットワークをソフトウェアのセキュリティ脆弱性発見に利用する「ニューラルファジング」という研究プロジェクトを進めている。初期の実験では有望な結果を示している。

Share
Tweet
LINE
Hatena

 Microsoftの研究者は2017年11月13日(米国時間)、機械学習とディープニューラルネットワークを活用して、ソフトウェアのセキュリティ脆弱(ぜいじゃく)性を発見する新しい方法を開発した、とブログで明らかにした。この新しい方法は、システムが過去の経験から学習し、バグをより効果的に除去できるように支援する。「ニューラルファジング」と呼ばれるこの新しい研究プロジェクトは、従来のファジング技術の強化を目的とし、初期の実験では有望な結果を示している。

ファズテスティング

 Microsoftは最近、ソフトウェアのセキュリティテスト支援ツール「Microsoft Security Risk Detection(MSRD)」をリリースしたばかりだ。Microsoft Azureベースのこのツールは、Windows(正式版)とLinux(プレビュー版)向けに提供されている。

 MSRDはセキュリティテストを大幅に簡素化するため、ユーザーはセキュリティの専門家でなくてもソフトウェアのバグ除去に取り組める。このツールを支える主要技術が「ファズテスティング(ファジング)」だ。

 ファジングは、悪用される可能性が高いエラー状況を引き起こす入力を探すプログラム分析手法で、こうしたエラー状況には「バッファーオーバーフロー」「メモリアクセス違反」「NULLポインタ逆参照」などがある。

 ファジングツール(ファザー)には、以下のようなさまざまなカテゴリーがある。

  • ブラックボックスファザー:新しい入力の生成をサンプル入力ファイルに依存する
  • ホワイトボックスファザー:ターゲットプログラムを静的または動的に分析し、できるだけ多くのコードパスを探索することを目的として新しい入力の調査をガイドする
  • グレーボックスファザー:ブラックボックスファザーと同様、ターゲットプログラムの構造について何も認識していないが、フィードバックループを利用して、以前のプログラム実行から観察された挙動に基づいて調査をガイドする

画像
AFL(American Fuzzy Lop)で報告されたクラッシュ。MSRDでの実験的なサポート(出典:Microsoft)

ニューラルファジング

 2017年、Microsoftの研究者チームは、機械学習とディープニューラルネットワークを利用してファジング技術を改良する研究プロジェクトを開始した。特に、ディープニューラルネットワークをグレーボックスファザーのフィードバックループに挿入した際、どのような機械学習モデルで学習できるのかを探ろうとした。

 同チームは初期の実験として、既存ファザーによる従来のファジングの反復を観察することで、時間をかけて学習を行う効果があるかどうかを調べた。同チームはその方法をグレーボックスファザーの一種である「American Fuzzy Lop(AFL)」に適用した。

 同チームは4種類のニューラルネットワークを試し、4つのターゲットプログラムに対して実験を実施。実験では、4つのファイルフォーマット(ELF、PDF、PNG、XML)のパーサを使用した。

 実験の結果、コードカバレッジ、ユニークコードパス、4つの入力フォーマットのクラッシュに関して、従来のAFLと比べて大幅な改善が見られたという。

  • ニューラルネットワークモデルのLong Short-Term 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ファイルはサイズが大きいために、オーバーヘッドが顕著なのではないかと思われる。

 Microsoftは、ニューラルファジングのアプローチはグレーボックスファジングを実行する「シンプル」「効率的」「汎用的」な新しい方法になると考えている。

  • シンプル

 システムは既存のファザーから手順を学習する。バイトシーケンスを与えるだけで、システムはあらゆる機能を理解し、それらから、どのタイプの入力が重要か、ファザーの注意をどこに向けなければならないかを自動的に予測するようになる。

  • 効率的

 AFLの実験では、最初の24時間で従来のAFLよりもはるかに多くのユニークコードパスを探索するようになった。

  • 汎用的

 AFLでのみテストを行ったが、この実験でのアプローチはブラックボックスファザーやランダムファザーなど、あらゆるファザーに適用できると考えられる。

 Microsoftは、現在のモデルではファジングの場所を学習するだけだが、変異の種類や適用する戦略など、他のファジングパラメーターもこのモデルを使って学習できると考えている。また、Microsoftでは機械学習モデルのオンラインバージョンの構築も考えている。オンラインバージョンのファザーにより、進行中のファジングの反復から常に学習するようになるという。

Copyright © ITmedia, Inc. All Rights Reserved.

Security & Trust 記事ランキング

  1. 日本人の約半数が「1年前より危険」と考えるオンライン詐欺とは マカフィーがホリデーショッピング詐欺に関して調査
  2. 増える標的型ランサムウェア被害、現場支援から見えてきた実態と、脆弱性対応が「限界」の理由
  3. Google Cloudがサイバーフィジカルシステムのレジリエンスを高める10の指標を解説 最初にすべきことは?
  4. ランサムウェア攻撃を受けた企業、約6割が「サプライチェーンのパートナー経由で影響を受けた」 OpenText調査
  5. 長続きする高度セキュリティ人材育成の秘訣を「第19回情報危機管理コンテスト」から探る
  6. NIST、3つのポスト量子暗号(PQC)標準(FIPS 203〜205)を発表 量子コンピュータ悪用に耐える暗号化アルゴリズム、どう決めた?
  7. 米国/英国政府が勧告する25の脆弱性、活発に悪用されている9件のCVEとは、その対処法は? GreyNoise Intelligence調査
  8. インサイダーが原因の情報漏えいを経験した国内企業が約3割の今、対策における「責任の所在」の誤解とは
  9. セキュリティ担当者の54%が「脅威検知ツールのせいで仕事が増える」と回答、懸念の正体とは? Vectra AI調査
  10. 「このままゼロトラストへ進んでいいの?」と迷う企業やこれから入門する企業も必見、ゼロトラストの本質、始め方/進め方が分かる無料の電子書籍
ページトップに戻る