ニューラルネットワークに基づくマルウェア検出分析

ニューラルネットワークに基づくマルウェア検出分析

今日、あらゆる業界にとって、「マルウェアを効果的に検出する方法」は、ネットワーク セキュリティに関する共通の問題となっています。マルウェア感染インシデントは、数百万ドルの経済的損失をもたらす可能性があります。現在のウイルス対策製品やマルウェア検出ツールは、一般的にシグネチャベースの検出テクノロジを使用しており、既知のさまざまな種類のマルウェアを識別するために一連のルールを手動で設定する必要があります。しかし、相対的に言えば、この方法は対象を絞ったものであり、新しいタイプのマルウェアを識別することはできません。

ほとんどの環境では異なるコードが使用され、毎日何百万もの新しいマルウェアが作成されるため、このアプローチは非常に非効率的です。したがって、急速に変化する現在のマルウェア エコシステムに適用できる検出テクノロジが緊急に必要であり、機械学習はまさに必要なものである可能性があります。

実際、多くのスタートアップ企業やサイバーセキュリティ企業が、機械学習をベースにしたセキュリティ検出システムの開発に着手しています。これらの企業は通常、高品質なシステムを開発するために、特徴量エンジニアリングやデータ分析に多くの人的資源と物的資源を費やしますが、実際には、特徴量エンジニアリングを介さずにオペレーティングシステムやハードウェア全体でマルウェアを検出できる一連の技術を開発することができます。詳細については、最新の調査レポートを参照してください。

このレポートでは、悪意のある Windows 実行可能ファイルを検出するようにトレーニングできる人工ニューラル ネットワークを紹介しています (実行可能ファイルの生のバイト シーケンスのみが入力として使用されます)。この方法には、次の利点があります。

  1. 手動でのコンパイルやコンパイラ関連の知識は必要ありません。これは、トレーニングされた分析モデルが非常に適用性が高く、マルウェアの自己進化に適応できることを意味します。
  2. 計算の複雑さはシーケンスの長さに比例するため、大きなファイルに適しています。
  3. バイナリ コード内の重要なサブ領域を識別して法医学的分析を行うことができます。
  4. このアプローチは、新しいファイル形式、コンパイラ、命令セット構造でも機能します。必要なのはトレーニング データとモデルだけです。

したがって、マルウェア監視のために機械学習を使用してマルウェアの生のバイトシーケンスを分析および識別することは、機械学習コミュニティにおける有望な研究分野になると考えています。

ディープラーニングをマルウェア検出に適用する際の難しさは何ですか?

最近、研究者たちはニューラル ネットワークをコンピューター ビジョン、音声認識、自然言語処理に適用することに成功していますが、この成功の理由の 1 つは、生データ (ピクセルやテキストの個々の文字など) から特徴を学習できることです。したがって、これらの成功事例にヒントを得て、実行可能ファイルの元の文字を使用してニューラル ネットワークをトレーニングし、対象ファイルが悪意のあるものであるかどうかを判断できるようになるかもしれません。これが実現できれば、マルウェア検出ツールを大幅に簡素化でき、検出精度が向上するだけでなく、マルウェアのわかりにくいが非常に重要な特性を特定できるようになります。

しかし、ディープラーニングをマルウェア検出の分野に適用するには、解決すべき問題がまだ多く残っています。たとえば、Microsoft の Windows PE マルウェアの場合、解決する必要がある問題は次のとおりです。

  1. 入力シーケンス内の 1 つの文字を単位として扱うということは、約 200 万の時間ステップでシーケンス分類問題を処理することを意味します。私たちの知る限り、これはこれまでのニューラル ネットワーク ベースのシーケンス分類器の入力長をはるかに超えています。
  2. マルウェアのバイトには、人間が読めるテキスト、バイナリ コード、画像などの任意のオブジェクトなど、さまざまな形式の情報が含まれている可能性があります。また、一部暗号化されたコンテンツも含まれています。
  3. 関数間の呼び出しコマンドやジャンプコマンドは並べ替えることができるため、関数間には複雑な空間相関関係が存在します。

解決

これらの課題と問題に対応するために、私たちは多数の異なるニューラル ネットワーク構造をテストしましたが、前述の課題により、一般的ではないニューラル ネットワーク構造とパラメーターを試す必要がありました。

モデルを設計する際には、主に次の 3 つの機能を考慮しました。

  1. 計算とメモリ使用量においてシーケンスの長さを効率的にスケーリングする機能。
  2. ファイル全体をインストルメント化するときにローカル環境とグローバル環境を考慮する機能。
  3. マルウェアマーカーの分析を支援する機能。

最後に、設計できる最も適切なマルウェア検出ネットワーク モデルを次の図に示します。

データとモデルのトレーニング

このネットワークをトレーニングおよび検証するために、2 セットのデータ セットを使用しました。最初のトレーニング セット グループ A は、オープン ソース データから収集しました。グループ A には、43,967 個の悪意のあるファイル サンプルと 21,854 個の無害なファイル サンプルが含まれています。 2 番目のグループ (グループ B) のサンプルは、産業用ウイルス対策ベンダーによって提供され、実際の攻撃シナリオにおける悪意のあるファイルと無害なファイル サンプル (合計 400,000 個のファイル サンプル、それぞれ半分ずつ) が含まれています。しかし、実験の後半では、1,011,766 個の悪意のあるファイル サンプルを含む 2,011,786 個の固有のバイナリ ファイル サンプルを含む、より多くのトレーニング コーパス (グループ B) を受け取りました。ニューラル ネットワーク モデルの収束をタイムリーに得るには、大量のデータ セットを使用してネットワークをトレーニングする必要があります。

トレーニングと分析の結果を下の図に示します。

結果から、私たちのモデルはグループ A のトレーニング データセットに最も適しており、次いでグループ B に適していることがわかります。しかし、より大きなコーパス(200 万のテスト文書)を使用してトレーニングを続けると、ネットワーク モデルが継続的に改善されることがわかりました。

要約する

マルウェア検出は確かに有望な研究分野であるため、この研究が機械学習コミュニティにマルウェア検出の分野をより積極的に探求するよう促すことを願っています。ディープラーニングは画像、信号、自然言語処理において目覚ましい成果と進歩を達成しているため、これらの技術をマルウェア検出などのまったく異なる分野に拡張できる可能性があります。

<<:  水滴事件の裏側:スマート監視下では逃げ場はなく、カモフラージュやマスク着用も無意味!

>>:  人工知能がとても人気ですが、機械学習とディープラーニングの違いがわかりますか?

ブログ    
ブログ    

推薦する

GPT-4 を搭載した初のヒューマノイドロボット!プログラミングは不要 + ゼロショット学習、口頭フィードバックに基づいて動作を調整可能

事前のプログラミングやトレーニングなしで GPT-4 を使用してヒューマノイド ロボットを制御すると...

機械学習の導入を容易にする 6 つのツール

今日、多くのベンダーは、データインテリジェントなビジネスユーザーが AI テクノロジーを採用できるよ...

欧州はAI規制を推進

先週、欧州の議員らは画期的な人工知能規制であるEU AI法案を圧倒的多数で賛成票を投じた。この法案は...

新人機械学習エンジニアが犯しがちな6つの間違い

機械学習やデータサイエンスのプロジェクトに取り組む際に、初心者がよく犯す間違いにはどのようなものがあ...

清華大学などは、シンボリックメモリと組み合わせて、大規模モデルの複雑な推論能力を向上させるChatDBを提案した。

ChatGPT、GPT-4、PaLM、LLaMAなどの大規模言語モデルの普及に伴い、大規模言語モデ...

ワンクリックで 2D GAN を「3D」化、CUHK が教師なし 3D 再構築の新しい方法を提案

CUHK の MMLab チームによるこの研究は、2 次元 GAN がオブジェクトの 3 次元構造を...

...

情報の流れの中のゲーム:「易典子心」の探求と思考

[51CTO.comより引用] 「易典子訓」アプリを開くと、オープニング画面に「良質なコンテンツ、価...

大規模なモデルをグローバルに微調整できないわけではなく、LoRA の方がコスト効率が高いだけです。チュートリアルは準備完了です。

データ量とモデルパラメータの数を増やすことが、ニューラル ネットワークのパフォーマンスを向上させる最...

...

...

...

今後のマシンビジョンのトレンド

統計によると、人間が得る情報の 83% は目から得られます。目が「心の窓」と考えられているのも不思議...

早く見て!無料の機械学習コーストップ10

この記事では機械学習入門、ディープラーニング、自然言語処理などを網羅した関連講座10選を紹介します。...