Simple Science

最先端の科学をわかりやすく解説

# コンピューターサイエンス# 暗号とセキュリティ

マルウェア検出の増え続ける課題

マルウェア作成者とアンチウイルスソフトの戦いを見てみる。

― 1 分で読む


マルウェア検出の危機マルウェア検出の危機の脅威に苦しんでる。アンチウイルスソフトは進化するマルウェア
目次

マルウェアは、コンピュータを破壊したり情報を盗んだりする有害なソフトウェアだよ。年々、マルウェアはもっと一般的になって、さらに複雑になってきていて、検出が難しくなってる。サイバー犯罪者たちは、伝統的なセキュリティプログラムが見つけられないようにマルウェアを隠す新しい方法を次々と考え出してるんだ。これって、マルウェアを作る側と、それに対抗するツールを開発する側の間の常に続く戦いだね。

この記事では、一般的なアンチウイルスソフトウェアが、さまざまな技術を用いて隠された古いタイプのマルウェアをどれくらい検出できるかを見ていくよ。それに加えて、AIチャットボットのような新しいツールを使ってマルウェアを作成することについても調査するんだ。

マルウェアの問題

マルウェアはかなり増えていて、毎年数十億の攻撃が発生してるよ。サイバー犯罪者は、マルウェアを普通のソフトウェアのように偽装して、ユーザーを騙してインストールさせることが多いんだ。コンピュータに入ると、個人情報を盗んだり、ボットネットって呼ばれる感染したコンピュータのネットワークを作って企業に攻撃を仕掛けたりする深刻な被害を引き起こすことがある。

マルウェアは、いろんな技術を使って検出を逃れるように設計されることがあるんだ。伝統的なアンチウイルスソフトウェアは、主にデータベースに保存された既知のマルウェアの署名を照合することに頼ってる。もし新しいマルウェアがデータベースにない場合は、見逃される可能性があるんだ。

アンチウイルスソフトウェアとその限界

アンチウイルス(AV)ソフトウェアは、マルウェアに対する最も一般的な防御策だよ。通常、マルウェアを検出するために二つの主な方法があるんだ:

  1. 署名ベースの検出:ファイルをスキャンして、既知のマルウェアのパターンや署名を探す方法だ。ソフトウェアはファイルを既知のマルウェアの署名のデータベースと照合して、マッチしたらそのファイルを悪意のあるものとしてフラグを立てる。

  2. ヒューリスティック検出:この方法は、既知の署名と一致しない場合でも、ソフトウェアが危険を示す行動を探すんだ。プログラムの動作を分析して、疑わしい活動をチェックする。

これらの方法は、既知の脅威に対しては効果的だけど、新しいマルウェアや改変されたマルウェアにはよく対応できないんだ。サイバー犯罪者は、悪意のあるコードを隠すためにさまざまな技術を使っているから、伝統的なアンチウイルスプログラムは脅威を検出するのが難しくなるんだ。

サイバー犯罪者が使う回避技術

サイバー犯罪者は、マルウェアを隠すためにいくつかの方法を使ってるよ。一般的に使われる技術には:

  • コードの難読化:人間や機械が読みづらく分かりにくくするようにコードを変更すること。

  • ポリモーフィズム:マルウェアのバリエーションを作成して、その外観や動作を変えて検出ツールを欺く。

  • パッキング:マルウェアコードを圧縮したり暗号化したりして、アンチウイルスソフトウェアが分析しにくくする。

  • ジャンクデータ:マルウェアファイルに不必要なデータを追加して、検出ツールを混乱させる。

これらの方法によって、マルウェアはセキュリティ対策をすり抜けて、ユーザーや組織に脅威を与え続けるんだ。

研究の目標

この研究の目的は、一般的なアンチウイルスプログラムが、上記の技術を使って難読化または隠された古いタイプのマルウェアをどれくらい検出できるかを評価することだよ。また、AIツール、チャットボットのようなものが、効果的なマルウェアを作る手助けになるかを理解することも目指してる。

方法論

この分析を行うために、いくつかの一般的なアンチウイルスプログラムを異なるマルウェアサンプルに対してテストしたよ。この研究のために作成されたマルウェアサンプルは、伝統的な技術と新しい回避技術を組み合わせて使用するように設計されたんだ。アンチウイルスプログラムは、正確にパフォーマンスを測定できるように、隔離された環境で評価された。

マルウェアの作成

研究では、C++、Go、Rustなどの一般的なプログラミング言語を使ってさまざまなタイプのマルウェアを開発したよ。マルウェアは、各アンチウイルスプログラムがどれくらい検出できるかを評価するために、さまざまな回避技術を使って設計された。

テスト環境

アンチウイルスプログラムは、それぞれ別の仮想マシンにインストールされて、クリーンなテスト環境を維持したんだ。各仮想マシンには最新のアップデートが入っていて、公平な評価ができるようにしてあった。そして、マルウェアをこれらのシステムで実行して、各アンチウイルスソリューションの検出率を測定したよ。

研究の結果

オリジナルのマルウェア実行ファイル

テストの最初のラウンドでは、オリジナルのマルウェアサンプルの検出率はかなりばらばらだった。いくつかのアンチウイルスプログラムはマルウェアを悪意のあるものとしてフラグを立てることに成功したが、他のプログラムは検出に苦労した。

  • すべてのアンチウイルスプログラムは、一般的なペネトレーションテストツールであるMetasploitフレームワークを使って作成されたマルウェアを検出した。これは期待されていたことで、セキュリティソフトウェアにも広く知られているから。

  • その一方で、SliverやNimPlantのような新しいフレームワークで作成されたマルウェアは、約半分のアンチウイルスソリューションしか検出されなかった。いくつかのプログラムは、複数のマルウェアサンプルを完全に検出できなかった。

修正されたマルウェア実行ファイル

マルウェアに簡単な修正を加えたとき、例えばジャンクデータを追加したり、あまり一般的でないプログラミング言語を使ったりすると、検出率は大幅に減少した。たとえば:

  • Goで書かれたマルウェアは、特定の技術を組み合わせることで逃避率が33%から58%に増加した。

  • ジャンクデータを使うことで、マルウェアファイルのサイズが膨らみ、さらなる回避率の向上が見られ、多くのサンプル実行が完全に検出を回避できた。

ChatGPTのマルウェア作成への役割

研究の一部では、AIチャットボットであるChatGPTがマルウェアを作成するのに役立つかをテストしたよ。最初の結果では、チャットボットは人間の助けなしに機能する悪意のあるコードを生成するのに苦労した。でも、リモートコマンド実行のためにTCPリスナーを作成するという別のアプローチが開発された。

チャットボットが生成したコードを使ったテストでは、ほんの少数のアンチウイルスプログラムだけが悪意のある動作を検出できた。一方で、ジャンクデータを追加することで、再び検出を回避するのに非常に効果的だった。

アンチウイルスとEDRソリューションの比較

エンドポイント検出と応答(EDR)ソリューションも、伝統的なアンチウイルスプログラムと一緒にテストされたんだ。この分析では、EDRソフトウェアはテストされたマルウェアに対して、アンチウイルスの対策と大差ない検出率しか示さなかったよ。これは、単にEDRソリューションを持っているだけでは、巧妙に偽装されたマルウェアに対する追加の保護を保証するわけではないことを示唆してる。

重要な観察

研究を通じて、さまざまなアンチウイルスソリューションの挙動に関していくつかの重要な観察があったよ:

  • 一部のソフトウェアは悪意のあるプロセスを検出したけど、元の実行ファイルを隔離することには失敗していて、将来の攻撃に対してシステムが脆弱なままだった。

  • KasperskyやAviraのような特定のアンチウイルスプログラムは、マルウェアを効果的に隔離することができて、他の多くよりも高い検出能力を示した。

  • 一部のアンチウイルスソリューションは、サイズのしきい値に基づいてファイルを疑わしいとフラグを立てていて、サイズが小さいファイルは検出を回避できることがあった。

結論

全体的に、この研究は、アンチウイルスソフトウェアがマルウェアとの戦いにおいて重要な役割を果たしている一方で、多くのプログラムが隠された脅威を効果的に検出するのに苦労していることを示してるよ。サイバー犯罪者が検出を逃れるために使う技術は、しばしば単純で、複雑な戦略よりも簡単な変更に依存している。

マルウェアが進化し続ける中で、防御メカニズムも進化する必要があるんだ。サイバー脅威の進化する状況に追いつくために、アンチウイルス技術の継続的な改善が明確に必要だね。

さらに、ChatGPTのようなAIツールとの最初のテストは、マルウェア開発におけるこのような技術の可能性と限界の両方を明らかにしている。検出されないマルウェアを作成することにはいくらか成功したけど、ツールを洗練し強化するには人間の介入が重要だね。

この研究は、マルウェア製作者が使う手法と、現在のセキュリティソリューションの限界を理解することの重要性を強調してる。今後の研究は、これらのテストを拡大して、より多くのアンチウイルス製品やマルウェアのバリエーションを含めて、これらの保護手段の効果をよりよく理解することに焦点を当てるべきだよ。

オリジナルソース

タイトル: Bypassing antivirus detection: old-school malware, new tricks

概要: Being on a mushrooming spree since at least 2013, malware can take a large toll on any system. In a perpetual cat-and-mouse chase with defenders, malware writers constantly conjure new methods to hide their code so as to evade detection by security products. In this context, focusing on the MS Windows platform, this work contributes a comprehensive empirical evaluation regarding the detection capacity of popular, off-the-shelf antivirus and endpoint detection and response engines when facing legacy malware obfuscated via more or less uncommon but publicly known methods. Our experiments exploit a blend of seven traditional AV evasion techniques in 16 executables built in C++, Go, and Rust. Furthermore, we conduct an incipient study regarding the ability of the ChatGPT chatbot in assisting threat actors to produce ready-to-use malware. The derived results in terms of detection rate are highly unexpected: approximately half of the 12 tested AV engines were able to detect less than half of the malware variants, four AVs exactly half of the variants, while only two of the rest detected all but one of the variants.

著者: Efstratios Chatzoglou, Georgios Karopoulos, Georgios Kambourakis, Zisis Tsiatsikas

最終更新: 2023-05-06 00:00:00

言語: English

ソースURL: https://arxiv.org/abs/2305.04149

ソースPDF: https://arxiv.org/pdf/2305.04149

ライセンス: https://creativecommons.org/licenses/by/4.0/

変更点: この要約はAIの助けを借りて作成されており、不正確な場合があります。正確な情報については、ここにリンクされている元のソース文書を参照してください。

オープンアクセスの相互運用性を利用させていただいた arxiv に感謝します。

著者たちからもっと読む

類似の記事