ファイルレスの脅威

ファイルレス脅威とは "fileless" という用語は、コンピューターのメモリにのみ存在するバックドアなど、脅威がファイルに含まれていないことを示唆しています。 ただし、ファイルレス マルウェアの定義は 1 つもありません。 この用語は広く使用され、ファイルを操作するために依存するマルウェア ファミリを記述する場合があります。

攻撃には、実行、永続化、情報の盗難などの機能 のいくつかの段階 が含まれます。 攻撃チェーンの一部はファイルレスである場合もあれば、ファイル システムに何らかの形で関与する部分もあります。

わかりやすくするために、ファイルレス脅威は異なるカテゴリにグループ化されます。

ファイルレス マルウェアの包括的な図。
図 1. ファイルレス マルウェアの包括的な図

ファイルレス脅威は、エントリ ポイントによって分類できます。これは、ファイルレスマルウェアがマシンに到達する方法を示します。 これらは、悪用、侵害されたハードウェア、またはアプリケーションとスクリプトの定期的な実行を介して到着する可能性があります。

次に、エントリ ポイントの形式を一覧表示します。 たとえば、悪用はファイルまたはネットワーク データに基づく場合があり、PCI 周辺機器はハードウェア ベクターの一種であり、スクリプトと実行可能ファイルは実行ベクトルのサブカテゴリです。

最後に、感染のホストを分類します。 たとえば、Flash アプリケーションには、悪用、単純な実行可能ファイル、ハードウェア デバイスからの悪意のあるファームウェアなど、さまざまな脅威が含まれている場合があります。

分類は、さまざまな種類のファイルレス脅威を分割して分類するのに役立ちます。 より危険なものもあれば、実装が難しいものもありますが、(または正確に) 高度ではないにもかかわらず、より一般的に使用されるものもあります。

この分類から、感染したマシンに残す可能性のある指紋の量に基づいて、3 種類のメイン種類のファイルレス脅威を収集できます。

種類 I: ファイル アクティビティが実行されない

完全なファイルレスマルウェアは、ディスクにファイルを書き込む必要のないマルウェアと見なすことができます。 そもそも、このようなマルウェアはどのようにしてマシンに感染するのでしょうか? 1 つの例として、ターゲット マシンが、EternalBlue の脆弱性を悪用する悪意のあるネットワーク パケットを受信する場合があります。 この脆弱性により、DoublePulsar バックドアがインストールされ、最終的にカーネル メモリにのみ存在します。 この場合、ファイルやファイルに書き込まれたデータはありません。

また、侵害されたデバイスには、悪意のあるコードがデバイス ファームウェア (BIOS など)、USB 周辺機器 (BadUSB 攻撃など)、またはネットワーク カードのファームウェアに隠れている可能性もあります。 これらすべての例では、ディスク上のファイルを実行する必要はありません。理論的にはメモリ内でのみ動作できます。 悪意のあるコードは、再起動、ディスクの再フォーマット、OS の再インストールから存続します。

ほとんどのウイルス対策製品にはファームウェアを検査する機能がないため、この種類の感染を検出するのが特に困難な場合があります。 製品が悪意のあるファームウェアを検査および検出する能力を持っている場合、このレベルでの脅威の修復に関連する重大な課題がまだあります。 この種類のファイルレス マルウェアは高度なレベルを必要とし、多くの場合、特定のハードウェアまたはソフトウェアの構成に依存します。 簡単かつ確実に悪用できる攻撃ベクトルではありません。 危険ですが、このタイプの脅威は珍しく、ほとんどの攻撃には実用的ではありません。

型 II: 間接ファイル アクティビティ

マルウェアが、かなりのエンジニアリング作業を必要とせずにコンピューター上でファイルレスプレゼンスを実現できる他の方法があります。 この種類のファイルレス マルウェアは、ファイル システムにファイルを直接書き込むわけではありませんが、ファイルを間接的に使用する可能性があります。 たとえば、 Poshspy バックドア 攻撃者が WMI リポジトリ内に悪意のある PowerShell コマンドをインストールし、コマンドを定期的に実行するように WMI フィルターを構成しました。

バックドアをファイルに既に配置する必要なく、コマンド ライン経由でこのようなインストールを実行できます。 マルウェアはインストールされ、理論的にはファイルシステムに触れることなく実行できます。 ただし、WMI リポジトリは CIM オブジェクト マネージャーによって管理される中央ストレージ領域の物理ファイルに格納され、通常は正当なデータが含まれます。 感染チェーンは技術的には物理ファイルを使用しますが、WMI リポジトリは検出および削除できない多目的データ コンテナーであるため、ファイルレス攻撃と見なされます。

タイプ III: 操作するために必要なファイル

一部のマルウェアは一種のファイルレス永続化を持つことができますが、ファイルを使用せずに操作することはできません。 このシナリオの例として、Kovter があります。これは、ランダムなファイル拡張子のシェルオープン動詞ハンドラーをレジストリに作成します。 そのような拡張子を持つファイルを開くと、正当なツール mshta.exe を介してスクリプトが実行されます。

Kovter のレジストリ キーの画像。
図 2. Kovter のレジストリ キー

オープン動詞が呼び出されると、レジストリから関連付けられているコマンドが起動され、小さなスクリプトが実行されます。 このスクリプトは、追加のレジストリ キーからデータを読み取って実行し、最終的なペイロードの読み込みにつながります。 ただし、最初にオープン動詞をトリガーするには、動詞を対象とする拡張子が同じファイルを削除する必要があります (上の例では、拡張子は .bbf5590fd です)。 また、マシンの起動時にこのようなファイルを開くように構成された自動実行キーを設定する必要もあります。

Kovter は、ファイル システムが実用的に使用されないため、ファイルレスの脅威と見なされます。 ランダムな拡張子を持つファイルには、脅威の存在を確認する上で使用できない迷惑データが含まれています。 レジストリを格納するファイルは、悪意のあるコンテンツが存在する場合に検出および削除できないコンテナーです。

感染ホストによるファイルレス脅威の分類

広範なカテゴリについて説明した後、詳細を掘り下げ、感染ホストの内訳を提供できるようになりました。 この包括的な分類は、通常、ファイルレス マルウェアと呼ばれるもののパノラマをカバーします。 これは、攻撃のクラスを中和し、マルウェアが軍拡競争で優位に立たないようにする新しい保護機能を研究および開発するための取り組みを推進します。

悪用

ファイル ベース (タイプ III: 実行可能ファイル、Flash、Java、ドキュメント): 最初のファイルは、オペレーティング システム、ブラウザー、Java エンジン、フラッシュ エンジンなどを悪用してシェルコードを実行し、メモリにペイロードを配信する可能性があります。 ペイロードはファイルレスですが、初期エントリ ベクターはファイルです。

ネットワーク ベース (タイプ I): ターゲット コンピューターの脆弱性を利用するネットワーク通信は、アプリケーションまたはカーネルのコンテキストでコード実行を実現できます。 たとえば WannaCry は、SMB プロトコルの以前に修正された脆弱性を悪用して、カーネル メモリ内にバックドアを配信します。

ハードウェア

デバイス ベース (タイプ I: ネットワーク カード、ハード ディスク): ハード ディスクやネットワーク カードなどのデバイスでは、チップセットと専用ソフトウェアが機能する必要があります。 デバイスのチップセットに存在し、実行されているソフトウェアはファームウェアと呼ばれます。 複雑なタスクですが、ファームウェアはマルウェアに感染する可能性があります。

CPU ベース (タイプ I): 最新の CPU は複雑であり、管理目的でファームウェアを実行するサブシステムが含まれる場合があります。 このようなファームウェアは、ハイジャックに対して脆弱であり、CPU 内から動作する悪意のあるコードの実行を許可する可能性があります。 2017 年 12 月、2 人の研究者から、Intel の最新の CPU に存在する 管理エンジン (ME) 内で攻撃者がコードを実行できる脆弱性が報告されました。 一方、攻撃者グループ PLATINUM には、インストールされているオペレーティング システムをバイパスして、Intel の Active Management Technology (AMT) を使用して 目に見えないネットワーク通信を実行する機能が観察されています。 ME と AMT は、基本的に CPU 内に存在し、非常に低いレベルで動作する自律マイクロ コンピューターです。 これらのテクノロジの目的は、リモート管理を提供するため、ハードウェアに直接アクセスでき、オペレーティング システムに依存せず、コンピューターがオフになっている場合でも実行できます。

ファームウェア レベルで脆弱であるだけでなく、ハードウェア回線にバックドアを直接挿入して CPU を製造することもできます。 この攻撃は過去に調査され、可能であることが証明されました。 x86 プロセッサの特定のモデルには、通常のアプリケーションが特権実行を得ることができる バックドアを効果的に提供 できる、セカンダリ埋め込み RISC のような CPU コアが含まれていることが報告されています。

USB ベース (タイプ I): あらゆる種類の USB デバイスは、悪意のあるファームウェアを使用して、悪意のある方法でオペレーティング システムと対話できる再プログラミングが可能です。 たとえば、BadUSB 手法を使用すると、再プログラミングされた USB スティックは、キーストロークを介してマシンにコマンドを送信するキーボードとして機能したり、トラフィックをリダイレクトできるネットワーク カードとして機能したりできます。

BIOS ベース (タイプ I): BIOS は、チップセット内で実行されているファームウェアです。 マシンの電源が入ると実行され、ハードウェアが初期化され、ブート セクターに制御が転送されます。 BIOS は、低レベルで動作し、ブート セクターの前に実行される重要なコンポーネントです。 Mebromi ルートキットで過去に発生したように、悪意のあるコードを使用して BIOS ファームウェアを再プログラミングすることができます。

ハイパーバイザー ベース (タイプ I): 最新の CPU はハードウェア ハイパーバイザーのサポートを提供し、オペレーティング システムが堅牢な仮想マシンを作成できるようにします。 仮想マシンは、限られたシミュレートされた環境で実行され、エミュレーションを認識せずに理論上です。 コンピューターを引き継ぐマルウェアは、実行中のオペレーティング システムの領域外に隠すために小さなハイパーバイザーを実装する可能性があります。 この種のマルウェアは過去に理論化されており、最終的には実際のハイパーバイザールートキットが 観察されてきましたが、現在までに知られているものはほとんどありません。

実行と挿入

ファイル ベース (タイプ III: 実行可能ファイル、DLL、LNK ファイル、スケジュールされたタスク): これは標準の実行ベクトルです。 単純な実行可能ファイルは、メモリ内で追加のペイロードを実行する第 1 段階のマルウェアとして起動することも、他の正当な実行中のプロセスに挿入することもできます。

マクロ ベース (Type III: Office ドキュメント): VBA 言語 は、編集タスクを自動化し、ドキュメントに動的な機能を追加するように設計された柔軟で強力なツールです。 そのため、攻撃者によって悪用され、デコード、実行、または実行可能ペイロードの挿入などの悪意のある操作を実行したり、 qkG の場合のようにランサムウェア全体を実装したりする可能性があります。 マクロは、Office プロセス (Winword.exe など) のコンテキスト内で実行され、スクリプト言語で実装されます。 ウイルス対策で検査できるバイナリ実行可能ファイルはありません。 Office アプリでは、ドキュメントからマクロを実行するにはユーザーからの明示的な同意が必要ですが、攻撃者はソーシャル エンジニアリング手法を使用して、ユーザーをだましてマクロの実行を許可します。

スクリプト ベース (タイプ II: ファイル、サービス、レジストリ、WMI リポジトリ、シェル): JavaScript、VBScript、PowerShell のスクリプト言語は、Windows プラットフォームで既定で使用できます。 スクリプトにはマクロと同じ利点があり、テキスト ファイル (バイナリ実行可能ファイルではありません) であり、インタープリターのコンテキスト (wscript.exe、powershell.exe など) 内で実行されます。これは、クリーンで正当なコンポーネントです。 スクリプトは汎用性が高く、ファイルから (ダブルクリックして) 実行することも、インタープリターのコマンド ラインで直接実行することもできます。 コマンド ラインで実行すると、悪意のあるスクリプトを、WMI リポジトリから WMI イベント サブスクリプションとして自動実行レジストリ キー内の自動起動サービスとしてエンコードできます。 さらに、感染したコンピューターへのアクセス権を取得した攻撃者は、コマンド プロンプトでスクリプトを入力する可能性があります。

ディスク ベース (タイプ II: ブート レコード): ブート レコードはディスクまたはボリュームの最初のセクターであり、オペレーティング システムのブート プロセスを開始するために必要な実行可能コードが含まれています。 Petya のような脅威は、ブート レコードを悪意のあるコードで上書きすることで感染できます。 マシンが起動すると、マルウェアはすぐに制御を取得します。 ブート レコードはファイル システムの外部に存在しますが、オペレーティング システムからアクセスできます。 最新のウイルス対策製品には、スキャンして復元する機能があります。

ファイルレスマルウェアを倒す

Microsoft では、セキュリティ環境を積極的に監視して、新しい脅威の傾向を特定し、脅威のクラスを軽減するためのソリューションを開発しています。 広範な脅威に対して有効な耐久性のある保護をインストルメント化します。 マルウェア対策スキャン インターフェイス (AMSI)、動作監視、メモリ スキャン、ブート セクター保護を通じて、Microsoft Defender for Endpointは、難読化が多い場合でもファイルレスの脅威を検査できます。 クラウドの機械学習テクノロジを使用すると、新しい脅威や新たな脅威に対してこれらの保護をスケーリングできます。

詳細については、「見えないが見えない: 動作監視、AMSI、次世代 AV を使用したファイルレス マルウェアの無効化」を参照してください。

その他のリソースと情報

Microsoft 365 E5全体に脅威保護機能をデプロイする方法について説明します。