マルウェア101:マルウェア入門
2023年2月1日、Jonathan Tanner
1971年に最初のウイルスが作成されて以来、精巧さにおいても拡散の度合いにおいても、マルウェアは大きく成長してきました。より多くの情報がデジタル化されるにつれて、その情報を盗み出そうとする試みも増え、その攻撃の連鎖の中にしばしばマルウェアが含まれています。このブログは、マルウェアの概要、特にさまざまなタイプのマルウェアの戦術および目的について理解を深めるためのシリーズの第1弾です。
新たな亜種と複雑化
マルウェアがいっそう複雑化し、複数インテント(意図)の亜種が増加するに従って、配布されるマルウェアの種類についても異なる対処法が必要になってきています。そこで、よりわかりやすくするためにこのシリーズではカテゴリー別に説明します。ウイルス対策ソフトで作成・使用されている「Win32/Trojan…」のような旧式の文字列では、このような文字列を使った異なるタイプの亜種を完全に捕捉することはできません。代わりに、実際にはいくつものタイプに分類されるべきであっても単一の亜種として認識するのです。
とはいえ、これらの文字列は、マルウェアのさまざまな側面を表すものであり、今でも非常に有用です。マルウェアのさまざまな動作や側面をとらえることができますが、マルウェアがあまりに多面的であるため、すべての側面・動作をとらえることはできません。
マルウェアの検出で最もよく知られている静的解析ソフトウェアは、現在でも「アンチマルウェア」ではなく「アンチウイルス」と呼ばれていますが、その使用目的は、意図よりも使用される特定の技術を示すものです。アンチウイルスソフトウェアはもともと、ウイルスが最も一般的なマルウェアとして使用され、配布されていた時代にさかのぼります。そこから、この名前が付きました。こうしたウイルスも、単に自己増殖するだけではありませんでしたが、高度で多面的な今日のマルウェアとは雲泥の差でした。
それ以降のマルウェアの変化は、動機の変化、つまり、今日流通しているほとんどのマルウェアの基礎となっている、国家/政治目的と金銭的利益という非常に実質的な2つの動機が組み込まれたことに大きく関係しています。最初のウイルスと最初のワームは、単にそれが可能であることを証明するために作成されたにすぎません。
デジタルで利用可能なデータの量と性質、そのようなデータを売買するマーケットプレイスの創設と進化、そしてデータを保有する組織とその他の組織の両方にとってのデータの重要性ににもとづいて、マルウェアの作成方法と使用方法は進化してきました。その結果、マルウェアの検出方法も変化しています。
マルウェア検知の進化
マルウェア対策ソフトには、近年いくつかの異なる手法が用いられています。ただ残念ながら、ビジネス環境以外のエンドユーザーにとって最も身近で手頃な価格で利用できるのは、従来のアンチウイルスソフトです。この技術では、ファイルやメモリ、ネットワークトラフィックなどを検索して、マルウェアと関連することが知られている特定のバイト列を探します。ここで登場するのが、前述の分類文字列です。というのも、マルウェアの検出に使用されるバイト列に、分類文字列が内部的にマッピングされるためです。これは静的解析の一種で、ファイルの実行を必要としない解析です。しかし最近では、これ以外の手法も使われています。より高度な静的解析のオプションも数多く存在し、しばしば検出を支援するために機械学習が使われています。Barracuda Advanced Threat Protectionも、検出の一部で同じような技術を使用しています。
マルウェアの解析と検知のもう一つの主要なタイプは動的解析です。サンプルを実行し、実行された動作や行為を観察するのです。悪意のあるファイルを実行する可能性もあるため、当然、エンドユーザーのマシンで実行されるべきものではありません。通常、ファイルを安全なサンドボックスのあるサーバにアップロードして実行し、挙動を観察します。このため、動的解析は 「サンドボックス化」と呼ばれることもあります。動的解析では、マルウェアの実行をエミュレートすることもできますが、これは複雑なプロセスであり、ほとんどのソリューションでは、単にサンドボックス環境を使用することが望ましいとされています。動的解析は、Advanced Threat Protection の原点であり核心です。というのも、ほかの方法は、特定のファイルタイプを対象としていたり、見逃す可能性があったりするのです。
今後に向けて
このブログシリーズでは、マルウェアの側面によって 4 つのカテゴリ(感染方法、ペイロード/目的、伝播方法、回避方法)に分け、各ブログでそれぞれのタイプのマルウェアをみていきます。
例えば、先ほどの「Trojan」という文字列は、感染方法、つまりマルウェアがデバイスに感染するための手段を指します。感染が成功すると、マルウェアはその目的(ペイロード/目的)を達成するために、ほかのアクションを実行します。別のマルウェアをダウンロードしてシステムにインストールするといった単純な目的の場合もあれば、保存したパスワードを盗み、次いでシステムにボットを埋め込み、ネットワークの残りの部分をスキャンして他の脆弱なマシンを探すといった多くの目的から成るケースもあります。マルウェアはまた、感染したマシンや他のマシンに自分自身をコピーしようとする場合があります。これがすなわち、伝播です。さらにマルウェアは、特定の高度だが一般的なデザインパターンを使用して検知を回避するケースがあります。
各カテゴリーのタイプは、いずれも従来のアンチウイルスソフトウェアが使用していた分類文字列に関連するものですが、マルウェアの中には複数のタイプが含まれているため、カテゴリー別に見ていくことで、タイプが実際に説明している挙動を区別することができます。マルウェアの各タイプにどのような意味があり、どのような動作をするのか、また、「アンチウイルスをインストールする」以外にどのような防御方法があるのか、さらに歴史や進化についても紹介します。また、注目すべき事例を通して、マルウェアのタイプとそれを体現した有名な事例を結びつけられるようにします。
原文はこちら
Malware 101: Introduction to malware
Feb. 1, 2023 Jonathan Tanner
https://blog.barracuda.com/2023/02/01/malware-101-introduction/
No comments yet.