ファズをくまなく調べる: ファジー ハッシュとディープ ラーニングを使用して、マルウェア検出の回避手法に対抗する

news

今日のサイバーセキュリティの脅威は、飛び回り、レーダーの下にとどまる方法を見つけ続けています。サイバー犯罪者はポリモーフィック マルウェアを使用します。これは、バイナリ コードまたはスクリプトをわずかに変更するだけで、前述の脅威が従来のウイルス対策ソフトウェアによる検出を回避できる可能性があるためです。攻撃者は、攻撃対象の組織に合わせて製品をカスタマイズし、企業ネットワーク全体に侵入して横方向に移動し、データを盗み出し、痕跡をほとんどまたはまったく残さずに立ち去る可能性を高めます。アンダーグラウンド エコノミーは、マルウェア ビルダー、正当なアプリケーションのトロイの木馬化されたバージョン、およびマルウェア オペレーターが回避能力の高いマルウェアを展開できるようにするその他のツールやサービスであふれています。

実際に見られる脅威の数が指数関数的に増加し続けているため、回避戦術の継続的な進化と革新により、ほとんどのマルウェアが 1 回しか見られないシナリオが作成されます。そのため、今日の脅威の状況では、セキュリティ ソリューションは、検出できる固有のマルウェアの数だけにとどまるべきではありません。代わりに、既存の攻撃だけでなく将来の攻撃も防御できる耐久性のあるソリューションを提供する必要があります。これには、脅威に対する包括的な可視性と、膨大な量のデータを処理する能力が必要です。 Microsoft 365 Defenderは、クロスドメイン オプティクスを使用してこのような機能を提供し、AI と機械学習の方法論の革新的なアプリケーションを通じて、データを実用的なセキュリティ情報に変換します。

以前に、 悪意のある PowerShell の検出マルウェアを分類するための新しいアプローチの探索、および動作シグナルの融合による脅威の検出にディープ ラーニングを適用する方法について説明しました。このブログ投稿では、ディープ ラーニングとファジー ハッシュを組み合わせた新しいアプローチについて説明します。このアプローチでは、ファジー ハッシュを入力として使用して、ファイル間の類似性を識別し、サンプルが悪意のあるものかどうかを判断します。次に、自然言語処理 (NLP) に着想を得たディープ ラーニングの方法論が、実際に重要な類似点をより適切に識別し、検出の品質と展開の規模を改善します。

このモデルは、マルウェアを分類する全体的な精度を向上させ、マルウェアのリリースと最終的な検出の間のギャップを埋め続けることを目的としています。一目でマルウェアを検出してブロックできます。これは、高度なサイバー攻撃を含む幅広い脅威から防御する上で重要な機能です。

ケース スタディ: 新しい GoldMax マルウェアを一目でブロック

今年 3 月、Microsoft 365 Defender は、後にGoldMax マルウェアの亜種であることが確認されるファイルのブロックに成功しました。システム管理ソフトウェアを偽装するスケジュールされたタスクとしてネットワーク上に存続するコマンド アンド コントロール バックドアである GoldMax は、2020 年 12 月のSolarWindsに対する攻撃の背後にある脅威アクターであるNOBELIUMのツール、戦術、手順 (TTP) の一部です。

マイクロソフトは、この新たに発見された GoldMax の亜種から顧客を積極的に防御することができました。これは、入力として機能するファジー ハッシュと、NLP やコンピューター ビジョンに触発されたディープ ラーニング技術などの 2 つの主要なテクノロジを活用しているためです。

Microsoft が Trojan:Win64/GoldMax.A!dha として検出する最も初期の GoldMax サンプルは、2020 年 9 月に VirusTotal に最初に提出されました。一方、新しいファイルは 2021 年 6 月、つまり Microsoft が最初にブロックしてから 3 か月後に GoldMax の亜種であることが確認されました。 、私たちはそれを見た途端に顧客を守り始めました。以下のスクリーンショットに見られるように、新しいファイルの TLSH および SSDEP ハッシュ (VirusTotal で公開されたファジー ハッシュ) は、最初の GoldMax 亜種と目に見えるほど似ています。どちらのファイルにも正確な ImpHash とファイル サイズがあり、2 番目のファイルも GoldMax ファミリーの一部であるという最初の結論をさらに裏付けています。

元の GoldMax マルウェアと新しい亜種のファイル プロパティを示す VirusTotal.com のスクリーンショット

図 1. 最初の GoldMax 亜種 (上) と 3 月に検出された新しいファイル (下) のファイル プロパティ (VirusTotal より)

次のセクションでは、ファジー ハッシュと、それらをディープ ラーニングと組み合わせて使用して、新しい未知の脅威を検出する方法について説明します。

ファジー ハッシュについて

ハッシュは、その出力 (ハッシュ) がチェックサムまたは一意の識別子として一般的に使用されるため、マルウェア研究の文献やその他の分野で不可欠な手法になっています。たとえば、SHA-256 暗号化ハッシュを使用して VirusTotal などのナレッジ データベースにクエリを実行し、ファイルに悪意があるかどうかを判断するのが一般的です。最初のウイルス対策製品は、ウイルス対策シグネチャが存在する前にこの方法で動作しました。

ただし、同様のマルウェアを識別または検出する場合、従来の暗号ハッシュは、元のエンティティとハッシュの間の関係を隠して一方向関数と見なすことを目的とする暗号拡散と呼ばれる固有の特性があるため、課題が生じます。このプロパティを使用すると、元のエンティティ (この場合はファイル) に最小限の変更が加えられただけでも、根本的に異なる、検出されないハッシュが生成されます。

以下は、この原則を説明するスクリーンショットです。テキスト ファイル内の単語の変更とその結果としての MD5 ハッシュの変更は、他のファイルのバイナリ コンテンツの変更の影響を表しています。

メモ帳で開いた 2 つのテキスト ファイルのスクリーンショットで、テキストの小さな違いを示し、それらの MD5 ハッシュを比較しています

図 2. 暗号ハッシュの例

ファジーハッシュは、エンティティとハッシュの間の関係を隠しながら、前述の暗号の拡散を破ります。そうすることで、このメソッドは、同様の入力が与えられたときに同様の結果のハッシュを提供します。ファジー ハッシュは、以前に見たものとた新しいマルウェアを見つけるための鍵です。

暗号化ハッシュと同様に、ファジー ハッシュを計算するアルゴリズムがいくつかあります。例としては、Nilsimsa、TLSH、SSDEEP、または sdhash があります。前のテキスト ファイルの例を使用した、SSDEEP ハッシュのスクリーンショットを以下に示します。テキストには 1 単語の違いしかないため、これらのハッシュがいかに類似しているかに注意してください。

2 つのテキスト ファイルのファジー ハッシュを示す Windows PowerShell のスクリーンショット

図 3. ファジー ハッシュの例

ファジー ハッシュの主な利点は類似性です。これらのハッシュはファイルのいくつかの部分または全体で計算できるため、互いに似ているハッシュ シーケンスに注目することができます。これは、以前に検出されなかったファイルの悪意を判断し、タイプ、ファミリ、悪意のある動作、さらには関連する脅威アクターに従ってマルウェアを分類する上で重要です。

深層学習の「自然言語」としてのファジー ハッシュ

深層学習は、その多くのアプリケーションで最近、自然な人間の言語をモデル化する際に注目されています。たとえば、畳み込みアーキテクチャ、 Gated Recurrent Unit (GRU) やLong Short Term Memory ネットワーク(LSTM) などの再帰アーキテクチャ、およびTransformerのすべてのバリアントのような最近の注意ベースのネットワークは、最先端であることが証明されています。感情分析、質問応答、機械翻訳などの人間の言語タスクに取り組む際に。そのため、シーケンスの複雑さと元のスペースの長さを減らすための中間ステップとしてファジーハッシュを使用して、同様の手法をバイナリコードなどのコンピューター言語に適用できるかどうかを調査しました。ファジー ハッシュのセグメントは「単語」として扱われる可能性があり、そのような単語の一部のシーケンスが悪意を示している可能性があることを発見しました。

アーキテクチャの概要と大規模な展開

単語を扱う一般的な深層学習のアプローチは、単語の埋め込みを使用することです。ただし、ファジー ハッシュは正確には自然言語ではないため、事前にトレーニングされたモデルを単純に使用することはできませんでした。代わりに、埋め込みをゼロからトレーニングして、悪意のある指標を特定する必要がありました。

これらの埋め込みを使用して、言語のディープ ニューラル ネットワークでほとんどのことを実行しようとしました。文献の標準的な手法を使用してさまざまなアーキテクチャを調査し、これらの埋め込みに対する畳み込みを調査し、多層パーセプトロンを試し、従来のシーケンシャル モデル (前述の LSTM や GRU など) とアテンション ベースのネットワーク (トランスフォーマー) を試しました。

ファジー ハッシュ モデルのアーキテクチャを示す図

図 4. ファジー ハッシュを使用したディープ ラーニング モデルのアーキテクチャの概要

ほとんどの手法でかなり良い結果が得られました。ただし、このモデルを Microsoft 365 Defender に展開して有効にするために、推論時間やネットワーク内のパラメーターの数などの他の要因を調べました。推論時間は、シーケンシャル モデルを除外しました。これは、それらが精度または再現率の点で最高であったとしても、推論を実行するのが最も遅いためです。一方、私たちが実験したトランスフォーマーも優れた結果をもたらしましたが、数百万のパラメーターがありました.このようなパラメーターは、大規模に展開するにはコストがかかりすぎます。

その結果、畳み込みアプローチと多層パーセプトロンが生まれました。パーセプトロンは、畳み込みフィルターによって本質的に提供される空間隣接性が埋め込み間の関係を適切にキャプチャしないため、これら 2 つの間でわずかに良い結果をもたらしました。

実行可能なアーキテクチャにたどり着いたら、Microsoft が拡張し続けている最新のツールを使用しました。 Azure Machine Learning GPU 機能を使用してこれらのモデルを大規模にトレーニングし、 Open Neural Network Exchange (ONNX)にエクスポートしました。これにより、Microsoft Defender Cloud でこれを大規模に運用するために必要な追加のパフォーマンスが得られました。

ディープ ラーニング ファジー ハッシュ: 重要な類似点を探す

このようなアプローチから生じる疑問は、そもそもなぜディープ ラーニングを使用するのかということです。

機械学習を追加することで、ファジー ハッシュのどの類似点が重要で、どの類似点が重要でないかを学習できます。さらに、膨大な量のデータにディープ ラーニングとトレーニングを追加することで、マルウェア分類の精度が向上し、正当なソフトウェアとマルウェアまたはトロイの木馬化されたバージョンを区別する微妙なニュアンスを理解できるようになります。

深層学習アプローチには、固有の利点もあります。その 1 つは、大量のデータに対して大きな事前トレーニングを作成することです。次に、その転移学習特性を使用して、このモデルをさまざまな分類、クラスタリング、およびその他のシナリオに再利用できます。これは、 OpenAI の GPT3が質問応答を解決する方法など、最新の NLP が言語タスクにアプローチする方法に似ています。

ディープ ラーニングのもう 1 つの固有の利点は、モデルを最初から再トレーニングする必要がないことです。 Microsoft Defender Cloud には常に新しいデータが流れているため、これらの受信データを使用してモデルを微調整し、絶えず変化する脅威の状況に適応して迅速に対応することができます。

結論: セキュリティにおけるディープ ラーニングの計り知れない可能性を活用し続ける

ディープ ラーニングは、脅威の検出を大幅に改善する機会を提供し続けています。このブログ エントリで説明されているディープ ラーニング アプローチは、Microsoft が保護テクノロジにディープ ラーニングを適用して、回避型の脅威を検出してブロックする方法の 1 つにすぎません。データ サイエンティスト、脅威の専門家、製品チームが協力して、AI 主導のソリューションと調査エクスペリエンスを構築します。

ファジー ハッシュを単なるコードではなく「単語」として扱うことで、ディープ ラーニングの自然言語技術が、脅威の状況における現在の課題を解決するための実行可能な方法であることを証明しました。この視点の変化は、サイバーセキュリティのイノベーションにおけるさまざまな可能性を示しており、私たちはそれをさらに探求することを楽しみにしています.

このような多数の AI 駆動型テクノロジにより、 Microsoft 365 Defenderは大量のデータを自動的に分析し、マルウェアやその他の脅威を迅速に特定できます。 GoldMax のケース スタディが示したように、新しい未知のマルウェアを特定する機能は、最も高度な脅威から顧客を保護するために Microsoft 365 Defender が提供する協調的な防御の重要な側面です。

Microsoft 365 Defender を使用して、自動化されたクロスドメイン セキュリティと組み込みの AI を通じて攻撃を阻止する方法について説明します

 

エディル・ガルシア・ラゾ

Microsoft 365 Defender 研究チーム

参照: https://www.microsoft.com/en-us/security/blog/2021/07/27/combing-through-the-fuzz-using-fuzzy-hashing-and-deep-learning-to-counter-マルウェア検出回避技術/

Comments

Copied title and URL