機械学習による検出を回避する攻撃 - サイバーセキュリティの世界で繰り広げられている戦い

ESET Corporate Blog  26 Nov 2019

過去に猛威を振るったマルウェアが復活

人気が高かった機械学習検出エンジンによる検出が回避されたことが今年の初めに発表されたことで、機械学習テクノロジーの威光は瓦解しました。これは、ゲームソフトウェアから抽出された「特別な文字列」をマルウェアファイルに単に追加する手法であり、オーバーレイとも呼ばれています。WannaCrySamSamランサムウェアなどの悪名高いマルウェアは、この手法をすぐに取り入れ、検出を逃れるようになりました。

機械学習による検出の回避を競う新しいコンペティション

これらのインシデントは、サイバーセキュリティにおける機械学習の現状、そして利点と弱点の両方を正しく認識する必要があることを気づかせてくれます。ESETのチーフプロダクトオフィサーであるJakub Debskは、この8月にVMRay、Endgame、およびMRG-Effitasが主催する機械学習による静的回避のコンペティションに参加しました。これは初めて開催されたコンペティションで、競争が激しく、技術的な問題があったにも関わらず、Debskiは150点満点で133点のトップスコアを達成しました。(注:テスト環境の問題により、ランキングとスコアは最終的に異なる場合があります。今後発表される公式結果については、Endgameのブログにご注目ください。)

このコンペティションで実行された手順は簡単なものではありません。3つの機械学習検出モデル(2つのMalConvモデルと1つのEMBER LightGBMモデル)による検出を回避するように50のマルウェア検体を変更して、さらに変更後もマルウェアが完全に機能させることは至難の業でした。

最初に、Debskiは、マルウェア検体のヘッダーエントリを操作して、EMBER分類器の強力な機能に対抗できることを発見しました。ここでは、カスタマイズしたUPXパッカーを適用し、ファジングスクリプトを実行し、マルウェアが「無害に見える」ようにEMBER分類器を騙すことでした。UPXは、多くの機械学習エンジンが警戒のためのフラグを設定できないほど、広く利用されているパッカーです。

コンペティションにはさらに第二関門があります。攻撃者は2つのMalConv機械学習モデルによる検出をどのように回避できるのでしょうか? Debskiは、極めて効果的な「特殊な文字列」を悪意のある検体に追加しました。これは古くからあるオーバーレイの手法であり、結果としてこのコンペティションに終止符を打つことになりました。

このコンペティションにおけるDebskiの操作手順はこちらからご覧いただけます

回避手法をさらに高度化する実環境の攻撃者

攻撃者は、このコンペティションで許されている簡易な回避手法よりもはるかに多くの攻撃手段を確実に持っているはずです。Debskiは、「あまりにも攻撃者の視点に立って考えすぎたため」、最初は他の競合プレーヤーにわずかなリードを許していたのですが、攻撃者として考えることをいったん止めたところ、最高点を取得するに至りました。実環境はコンペティションよりも混沌としており、攻撃者の手法に制約はありません。Debskiが予選で行ったように、攻撃者は最初にセキュリティ環境に潜む弱点を探し、機械学習による検出が応用されないようにする手段として、特徴抽出ツールをクラッシュさせることを考えるでしょう。

あるいは、このコンペティションで採用されているような、あらゆる種類の静的な機械学習モデルを簡単に通過する自己解凍ツールとドロッパーを使用した動的なアプローチを取るかもしれません。静的分析は特定の時点に制限されるため、遅効性の自己解凍ツールに隠されている悪質な動作を明らかにすることはできません。さらに、自己解凍ツールでデータが圧縮および/または暗号化されると、有用な情報が抽出できなくなり、すべてノイズになります。自己解凍ツールは通常のアプリケーションインストーラーに含まれており、機械学習アルゴリズムを教育し、すべての自己解凍ツールを検出するようにしても、誤検出が多発することになります。

多層防御により保護能力を高める

最終的に、この機械学習のコンペティションがもたらした教訓は、機械学習というひとつの手法にすべてを賭けることは危険であるということです。ESETは、簡単に使用できる機械学習回避テクノロジーが広く普及していることを認識しています。そのため、高いスキルを有する経験豊富なマルウェアアナリストの能力を活用し、機械学習による検出アルゴリズムだけに完全に頼ることなく、複合的な防止策を講ずることを重視しています。

ESETのAugurのようなマルウェアを検出する機械学習エンジンを構築することは、ESETの重要な業務のひとつです。攻撃手法がますます高度化し創造的になる中で、機械学習エンジンも絶えず更新する必要があります。最新のデータを供給することは、機械学習検出エンジンの品質を向上させるために重要です。ESETでは、誤検出やミスを減らすために30年をかけて「検出エンジンに手を加えて」きました。

機械学習の検出を改善する別の方法は、機械学習エンジンに提供する前にデータを解凍することです。これにより、自己解凍ツール機能を介した機械学習検出の回避に対する保護が強化され、動作レベルでマルウェアを検出、エミュレート、および分析できるようになります。

ESET LiveGrid®を有効にしたESET製品で保護される各エンドポイントとデバイスは、新たな脅威を分析するAugurの機能を活用しています。Augurはオフラインでも動作し、インターネットにアクセスしていない場合でもマシンを保護できる軽量で高度な機械学習モジュールです。AugerはESET Dynamic Threat Defense(EDTD)でも使用されています。

機械学習は優れたテクノロジーです。しかし、すべての攻撃を阻止するには、機械学習だけに頼ることはできません。ビジネスで求められる堅牢なセキュリティは、あらゆる攻撃手法からエンドポイントを保護できる、ESETのUEFIスキャナーアドバンストメモリスキャナーなどの多層防御が必要です。狡猾な攻撃者は、機械学習による防御を回避する方法を知っているかもしれませんが、多層防御を実施していれば、組織の内部深くまで到達することはできません。

※Endgame が共同で主催したこの機械学習による静的な回避コンペティションの詳細については、こちらのブログをご覧ください。