プロフェッショナル サービス
Trellix Thrive Solution Services Cyber Consulting Services
教育とトレーニング
研修サービス トレーニング コース

ファイルレス マルウェアとは

ファイルレス マルウェアは、正規のプログラムを使用してコンピューターに感染する悪意のあるソフトウェアの一種です。ファイルに依存せず、フットプリントも残さないため、検出と駆除は困難です。今では、攻撃者は組織が攻撃をブロックするために用いる戦略を把握しており、防御を回避するために、ますます高度な標的型マルウェアを生み出しています。ハッキング技術が新しいほどその効果も大きいため、時間との勝負です。ファイルレス マルウェアは、あらゆる対策の回避に有効であるため、かなり高度なセキュリティ ソリューションでなければこれを阻止できません。

ファイルレス マルウェアが主流の攻撃方法として登場したのは 2017 年にさかのぼりますが、当時の攻撃方法の多くが、それからしばらくの間使用されていました。Frodo、Number of the Beast、The Dark Avenger は、この種のマルウェアの初期の例です。最近では、民主党全国委員会に対するハッキングや Equifax への侵害など、注目を集めたファイルレス攻撃があります。

ファイルレス感染は非常に狡猾であり、それゆえに非常に効果的です。ファイルレス マルウェアは、「検出できない」とも言われます。これはまったくその通りというわけではなく、ファイルレス攻撃は、ウイルス対策、ホワイトリスト、その他の従来のエンドポイント セキュリティ ソリューションでは検出できないことが多いという意味です。実際に、Ponemon Institute によると、ファイルレス攻撃の成功率はファイルベース攻撃の 10 倍です。

ファイルレス攻撃が発生する仕組み

ファイルレス攻撃を大きく分類すると、低被観測性特性 (LOC) 攻撃に該当します。この攻撃は、ステルス攻撃の一種であり、ほとんどのセキュリティ ソリューションによる検出を回避できるため、フォレンジック分析に影響を及ぼします。従来のウイルスとはみなされないまでも、ファイルレス マルウェアもメモリー内で動作する点で類似の働きをします。ファイルレス感染はファイルに保存されたり、機器に直接インストールされたりすることなく、直接メモリーに侵入します。悪意のあるコンテンツがハード ドライブにアクセスすることはありません。LOC 攻撃の多くは、Microsoft Windows PowerShell を悪用したものです。PowerShell とは、管理者がタスクの自動化と構成管理のために使用する便利な正規ツールです。PowerShell は、コマンドライン シェルと関連するスクリプト言語で構成されており、攻撃者はこれを使って Windows のあらゆるものにアクセスすることができます。

Example of a fileless attack kill chain

図 1: ファイルレス攻撃のキル チェーンの例

上の図は、ファイルレス攻撃が発生する仕組みを示しています。現在行われているほとんどの高度な攻撃と同様に、ファイルレス攻撃も多くの場合、ソーシャル エンジニアリングを使用して、フィッシング メールのリンクや添付ファイルをクリックするように誘導します。ファイルレス攻撃は通常、ラテラル移動に使用されます。つまり、企業ネットワーク上の貴重なデータへのアクセス権の入手を目的として、デバイス間を移動します。ファイルレス マルウェアは、ホワイトリストに登録された、信頼されたアプリケーション ( PowerShell のほか、wscript.exe や cscript.exe などの Windows スクリプト ホストの実行ファイルなど) またはオペレーティング システムの内部に入り込むため、不審なものとして検出されることなく悪意のあるプロセスを開始します。こうした攻撃は、ホワイトリストに登録されたプログラムであれば、セキュリティ アプリケーションによってモニタリングされないといった信用モデルを悪用するものです。

上記のシナリオで注目すべき点は、ウイルス対策とマルウェアの防御をくぐり抜け、悪意のあるプログラムをこっそり侵入させる方法を、ハッカーが模索しなくてもよいということです。ほとんどの自動センサーでは、コマンド ラインが変更されても検出できません。訓練を受けたアナリストであればこうしたスクリプトを識別できるかもしれませんが、大抵はそもそもどこを調べればよいかわかりません。

ファイルレス攻撃を防ぐには

サイバーセキュリティ業界においてエクスプロイトを阻止する技術が向上していることから、ファイルレス攻撃の寿命もより短くなっています。ファイルレス感染を防ぐ方法の 1 つに、ソフトウェアを最新の状態に保つことがあります。これは特に Microsoft アプリケーションに当てはまり、Microsoft 365 スイートのリリースではセキュリティ対策が強化されています。Microsoft は Windows Defender パッケージもアップグレードし、PowerShell からの通常と異なるアクティビティを検出できるようにしました。

ファイルレス攻撃対策を成功させるための鍵は、脅威のライフサイクル全体に対応する統合されたアプローチです。多層防御により、攻撃前、攻撃中、攻撃後といったキャンペーンの全段階を調査できるため、攻撃者よりも優位に立てます。

次の 2 点が特に重要です。

  • 起きていることを確認して測定する機能: 攻撃に用いられた手法の検出、PowerShell または他のスクリプト エンジンでのアクティビティのモニタリング、集約された脅威データへのアクセス、ユーザー アクティビティの可視化。
  • 標的システムの状態を制御する機能: 任意のプロセスの停止、攻撃に含まれるプロセスの修復、感染デバイスの隔離。

ファイルレス攻撃を阻止するには、必要なときに必要な場所で適切なアクションを展開し、迅速かつ連鎖的に実行できる包括的なアプローチが必要です。

特定の種類のファイルレス脅威から保護するには

Trellix の研究チームには、世界中の 250 人以上の研究者が参加しています。Trellix をご利用いただくと、悪意のある脅威が疑われるオブジェクトや動作を分析し、さまざまなファイルレス脅威の亜種を直接ブロックするツールの開発に取り組む、当社のエキスパート チームを味方につけることができます。Trellix は、ファイルレス脅威のさまざまな亜種をブロックするシグネチャをいくつかリリースしています。以下に例を挙げます。

ファイルレス脅威: リフレクティブ セルフ インジェクション
リフレクティブ ローディングとは、PE (Portable Executable) をディスクではなくメモリーから読み込むことを指します。巧妙に作成された関数/スクリプトによって、PE が反射的にロードされます。このとき、ロード済みモジュールとしてプロセスに登録されないため、フットプリントを残さずにアクションが実行されます。PowerShell は、それらのスクリプトの実行に最も広く使用されているアプリケーションの 1 つです。このイベントは、PowerShell スクリプトが PowerShell プロセス自体に PE を挿入しようとするファイルレス攻撃を示しています。

ファイルレス脅威: リフレクティブ EXE セルフ インジェクション
リフレクティブ ローディングとは、PE をディスクではなくメモリーから読み込むことを指します。巧妙に作成された関数/スクリプトによって、実行ファイル (EXE) が反射的にロードされます。このとき、ロード済みモジュールとしてプロセスに登録されないため、フットプリントを残さずにアクションが実行されます。PowerShell は、それらのスクリプトの実行に最も広く使用されているアプリケーションの 1 つです。このイベントは、PowerShell スクリプトが PowerShell プロセス自体に EXE を挿入しようとするファイルレス攻撃を示しています。

ファイルレス脅威: リフレクティブ DLL リモート インジェクション
リフレクティブ ローディングとは、PE をディスクではなくメモリーから読み込むことを指します。巧妙に作成された関数/スクリプトによって、DLL が反射的にロードされます。このとき、ロード済みモジュールとしてプロセスに登録されないため、フットプリントを残さずにアクションが実行されます。PowerShell は、それらのスクリプトの実行に最も広く使用されているアプリケーションの 1 つです。このイベントは、PowerShell スクリプトがリモート プロセスに DLL を挿入しようとするファイルレス攻撃を示しています。

ファイルレス脅威: DotNetToJScript 技術を用いた悪意のあるコードの実行
このイベントは、DotNetToJScript 技術を用いた悪意のあるシェルコードの試行を示しています。この技術は、CACTUSTORCH などの普及しているファイルレス攻撃で使用されます。DotNetToJScript 攻撃ベクトルが行われると、COM により公開されている .NET ライブラリを利用したメモリーから、悪意のある .NET アセンブリ (DLL、EXE など) を直接読み込み、実行できるようになります。他の一般的なファイルレス攻撃技術と同様に、DotNetToJScript は、悪意のある .NET DLL または EXE をコンピューターのハード ドライブにまったく書き込みません。

Explore more Security Awareness topics