ファイルレスマルウェアとは
従来型マルウェアとの根本的な違い
ファイルレスマルウェアとは、ディスク上に実行ファイルを作成せず、主にメモリ上で動作する悪意あるプログラムの総称です。従来型のマルウェアが「.exe」や「.dll」などのファイルとしてハードディスクに保存されるのに対し、ファイルレスマルウェアはWindowsの正規機能やスクリプトエンジンを悪用して攻撃を実行します。
この攻撃手法が登場した背景には、従来のセキュリティ対策の進化があります。アンチウイルスソフトがファイルベースの検知精度を向上させたため、攻撃者はファイルを作成しない手法へと移行しました。その結果、マルウェア感染の検知がより困難になっています。
| 比較項目 | 従来型マルウェア | ファイルレスマルウェア |
|---|---|---|
| ディスクへの書き込み | 実行ファイルを保存 | 保存しない(メモリのみ) |
| 主な侵入経路 | メール添付ファイル、ダウンロード | スクリプト実行、正規ツール悪用 |
| 従来型AV検知 | シグネチャで検知可能 | 検知困難 |
| フォレンジック調査 | ディスク上に証拠が残る | 再起動で証拠が消失 |
| 永続化 | ファイルとして残存 | レジストリやタスクスケジューラを悪用 |
なぜファイルレスマルウェアは検知が困難なのか
ファイルレスマルウェアの検知が困難な理由は複数あります。
まず、アンチウイルスソフトの限界があります。従来のアンチウイルスは、ディスク上のファイルをスキャンしてシグネチャ(マルウェアの特徴的なパターン)と照合します。しかし、ファイルレスマルウェアはディスクにファイルを作成しないため、ファイルスキャンでは発見できません。
次に、ホワイトリストの回避が可能です。多くの組織では、許可されたアプリケーションのみ実行を許可するホワイトリスト方式を採用しています。しかし、ファイルレスマルウェアはPowerShellやWMIなど、業務に必要な正規ツールを悪用するため、ホワイトリストをすり抜けます。
さらに、フォレンジック調査の困難さがあります。ファイルレスマルウェアはメモリ上で動作するため、システムを再起動すると証拠が消失します。証拠保全と法的対応においても、迅速なメモリダンプ取得が必要になります。
- シグネチャベース検知の限界
- 従来のアンチウイルスは既知のマルウェアファイルのパターンを検知するため、ファイルが存在しない攻撃には対応できません。新種のマルウェアに対しても同様の限界があります。
- 正規プロセスへの偽装
- PowerShell.exeやwscript.exeなど、Windows標準のプロセスとして動作するため、プロセス監視でも正規の動作と区別が困難です。
- ネットワーク通信の正常性
- HTTPSを使用した外部通信は、正規のWeb通信と区別がつきにくく、ネットワーク監視でも見逃される可能性があります。
攻撃の増加傾向と被害統計
ファイルレスマルウェアの使用は年々増加しています。セキュリティベンダーの調査によると、2024年時点でサイバー攻撃の約40〜50%がファイルレス手法を使用しています。特にAPT(標的型攻撃)や高度なランサムウェア攻撃において、ファイルレス手法は標準的に採用されています。
増加の背景には、攻撃ツールの普及があります。Cobalt Strike、PowerShell Empire、Metasploitなどのペネトレーションテストツールがファイルレス攻撃機能を備えており、これらが悪用されるケースが増えています。また、RaaS(Ransomware as a Service)においても、ファイルレス手法による初期侵入が一般化しています。
ファイルレス攻撃の手法
PowerShell攻撃の実態
PowerShellは、Windowsに標準搭載されている強力なスクリプト言語であり、システム管理に広く使用されています。しかし、その強力さゆえに攻撃者にも悪用されます。
PowerShellを悪用した攻撃では、以下のようなパターンが確認されています。
- エンコードされたコマンドの実行
- 攻撃コマンドをBase64でエンコードし、「-EncodedCommand」パラメータで実行します。これにより、コマンドラインログを見ても内容が判読できなくなります。
- リモートからのスクリプト取得
- 「Invoke-Expression」と「DownloadString」を組み合わせ、インターネット上のサーバーからスクリプトをダウンロードして直接実行します。ディスクにファイルを保存せずに悪意あるコードを実行できます。
- 難読化技術の活用
- 変数名の置換、文字列の分割・結合、代替コマンドレットの使用など、様々な難読化技術でセキュリティ製品の検知を回避します。
- AMSI回避技術
- AMSI(Antimalware Scan Interface)はスクリプト内容を検査する仕組みですが、攻撃者はAMSIを無効化する技術を使用してこの検査を回避します。
PowerShell攻撃は、フィッシング詐欺メールに添付されたOfficeファイルのマクロから起動されることが多く、ソーシャルエンジニアリングと組み合わせて使用されます。
WMI(Windows Management Instrumentation)悪用
WMIは、Windowsシステムの管理情報にアクセスするためのインターフェースです。正規の用途ではシステム監視やリモート管理に使用されますが、攻撃者にとっても魅力的なツールとなっています。
WMIを悪用した攻撃では、永続化メカニズムとして「イベントサブスクリプション」が使用されます。特定のイベント(例:システム起動)が発生した際に悪意あるスクリプトを自動実行するよう設定することで、再起動後も攻撃を継続できます。
また、リモート実行機能を悪用し、ネットワーク内の他のコンピュータに対してコマンドを実行することも可能です。これにより、権限昇格と横展開が容易になります。
レジストリベースの攻撃
Windowsレジストリは、OSやアプリケーションの設定情報を格納するデータベースです。攻撃者はレジストリを悪用して、以下のような攻撃を行います。
レジストリキーに悪意あるスクリプトやコードを格納し、システム起動時やログオン時に自動実行させる手法があります。ファイルとしては保存されないため、ファイルスキャンでは検知できません。
代表的な悪用されるレジストリキーには、「Run」「RunOnce」キーのほか、より検知されにくい「Winlogon」「Shell」関連のキーがあります。
マクロ・スクリプトによる攻撃
Officeマクロは、ファイルレス攻撃の主要な入口となっています。Wordファイルなどに埋め込まれたマクロが実行されると、PowerShellやWMIを呼び出して攻撃を開始します。
| スクリプト種類 | ファイル拡張子 | 悪用方法 | 検知難易度 |
|---|---|---|---|
| VBAマクロ | .docm, .xlsm | ドキュメント開封時に実行 | 中 |
| VBScript | .vbs | ダブルクリックで実行 | 中 |
| JScript | .js | ダブルクリックで実行 | 中 |
| HTA | .hta | HTMLアプリケーションとして実行 | 低 |
| PowerShell | .ps1 | 直接実行または呼び出し | 高 |
メモリインジェクション技術
メモリインジェクションは、正規のプロセスのメモリ空間に悪意あるコードを注入する技術です。
- プロセスインジェクション
- 実行中の正規プロセス(例:explorer.exe)のメモリ空間に悪意あるコードを書き込み、そのプロセスのコンテキストで実行します。セキュリティ製品からは正規プロセスの動作に見えます。
- DLLインジェクション
- 悪意あるDLLを正規プロセスにロードさせる技術です。CreateRemoteThread APIなどを使用して実装されます。
- リフレクティブローディング
- DLLをディスクに保存せず、メモリ上で直接ロードする技術です。ファイルシステムに痕跡を残さないため、検知がさらに困難になります。
- プロセスホローイング
- 正規のプロセスを停止状態で起動し、そのメモリを悪意あるコードで上書きしてから実行を再開する技術です。
Living off the Land(環境寄生型)攻撃との関係
LOLBins(Living off the Land Binaries)とは
LOLBinsは、Windows標準搭載のバイナリ(実行ファイル)のうち、攻撃者に悪用される可能性があるものの総称です。これらのツールは正規のシステム管理目的で設計されていますが、その機能が攻撃に転用されます。
詳細についてはLiving off the Land攻撃のページで解説していますが、ファイルレスマルウェアと密接に関連する主要なLOLBinsを紹介します。
| ツール名 | 正規用途 | 悪用方法 |
|---|---|---|
| certutil.exe | 証明書管理 | ファイルダウンロード、Base64エンコード/デコード |
| mshta.exe | HTAアプリケーション実行 | リモートスクリプト実行 |
| regsvr32.exe | DLL登録 | スクリプト実行(Squiblydoo攻撃) |
| rundll32.exe | DLL関数実行 | 悪意あるDLL関数の呼び出し |
| bitsadmin.exe | バックグラウンド転送 | マルウェアダウンロード、永続化 |
| wmic.exe | WMI操作 | リモートコマンド実行、横展開 |
ファイルレス攻撃とLOL攻撃の関係
ファイルレスマルウェアとLiving off the Land攻撃は密接に関連していますが、厳密には異なる概念です。
ファイルレスマルウェアは「ディスクにファイルを作成しない」という特性に焦点を当てた分類です。一方、Living off the Land攻撃は「正規ツールを悪用する」という手法に焦点を当てています。
実際の攻撃では、両者が組み合わせて使用されることがほとんどです。例えば、PowerShell(正規ツール)を使ってメモリ上でマルウェアを実行する(ファイルレス)という攻撃は、両方の特性を持っています。
- ファイルレス攻撃の特徴
- ディスクに実行ファイルを保存しない点が特徴。メモリ上での動作、レジストリへの格納、スクリプト形式での実行など、様々な形態があります。
- LOL攻撃の特徴
- OSに標準搭載されている正規ツールを悪用する点が特徴。ファイルを作成するケースもあれば、ファイルレスで実行されるケースもあります。
- 両者の共通点
- いずれも従来のセキュリティ対策(ファイルスキャン、ホワイトリスト)を回避することを目的としており、検知には振る舞い分析やEDRが有効です。
検知技術と対策
エンドポイント対策の重要性
ファイルレスマルウェアに対しては、EDR(Endpoint Detection and Response)が最も効果的な対策技術です。EDRは、エンドポイント上の挙動をリアルタイムで監視し、異常な振る舞いを検知します。
| 製品カテゴリ | ファイルレス対策機能 | 特徴 |
|---|---|---|
| 従来型アンチウイルス | 限定的 | ファイルスキャン中心、スクリプト検知は一部のみ |
| 次世代アンチウイルス(NGAV) | 中程度 | 振る舞い検知、機械学習による異常検出 |
| EDR | 高い | プロセス監視、メモリスキャン、詳細なログ記録 |
| XDR | 最も高い | EDR機能+ネットワーク・クラウド統合監視 |
EDR製品を選定する際は、以下の機能が備わっているかを確認することが重要です。
- メモリスキャン機能:メモリ上の悪意あるコードを検知
- スクリプト監視:PowerShell、WMI、VBScriptの実行を監視
- 振る舞い分析:正規ツールの異常な使用パターンを検知
- プロセス系統分析:親子プロセスの関係性から異常を検知
PowerShell対策の実装
PowerShellは業務で使用されることが多いため、完全にブロックすることは困難です。代わりに、以下の多層的な対策が推奨されます。
- スクリプトブロックログの有効化
- PowerShellで実行されるスクリプトの内容を詳細にログに記録します。エンコードされたコマンドもデコードして記録されるため、攻撃の検知と調査に有効です。グループポリシーで「PowerShellスクリプトブロックのログ記録を有効にする」を設定します。
- Constrained Language Mode(制約言語モード)
- PowerShellの機能を制限し、危険な操作(.NETの直接呼び出し、COMオブジェクトへのアクセス等)を禁止します。WDAC(Windows Defender Application Control)と組み合わせて使用します。
- AMSI(Antimalware Scan Interface)の活用
- AMSIはスクリプトの実行前にセキュリティ製品にスキャンを依頼するインターフェースです。AMSI対応のセキュリティ製品を使用することで、難読化されたスクリプトも検知できます。
- トランスクリプションログの有効化
- PowerShellセッションの入出力をすべてファイルに記録します。対話型セッションでの攻撃活動も記録できます。
ネットワーク監視の重要性
ファイルレスマルウェアであっても、外部との通信は必要です。C&C(Command and Control)通信の検知は、ファイルレス攻撃を発見する重要な手段となります。
監視すべきポイントには以下があります。
- 異常な通信パターン:業務時間外の通信、定期的なビーコン通信
- DNSトンネリング:DNSクエリを悪用したデータ送受信
- 不審なドメイン:新規登録ドメイン、DGA(Domain Generation Algorithm)生成ドメイン
- 暗号化通信の異常:証明書の不整合、異常なTLS接続パターン
アプリケーションホワイトリスト
Windows Defender Application Control(WDAC)やAppLockerを使用して、実行可能なアプリケーションを制限することで、攻撃の成功確率を下げることができます。
| 技術 | 対象OS | 特徴 | ファイルレス対策効果 |
|---|---|---|---|
| WDAC | Windows 10/11 Enterprise | カーネルレベルの強力な制御 | 高い(スクリプトも制御可能) |
| AppLocker | Windows 10/11 Enterprise | ユーザーモードの制御 | 中程度(回避技術あり) |
| SRP(ソフトウェア制限ポリシー) | Windows全般 | レガシー技術 | 低い |
ただし、これらの技術を導入する際は、業務アプリケーションへの影響を十分にテストする必要があります。
インシデント対応と調査
メモリフォレンジックの重要性
ファイルレスマルウェアの調査では、メモリフォレンジックが不可欠です。ディスク上には証拠が残らないため、メモリダンプを取得して解析する必要があります。
- メモリダンプの取得
- 感染が疑われる時点で速やかにメモリダンプを取得します。システムを再起動すると証拠が失われるため、電源を切らないことが重要です。取得ツールとしては、WinPmem、DumpIt、FTK Imagerなどがあります。
- 解析ツールの使用
- 取得したメモリダンプは、Volatility Frameworkなどの解析ツールで調査します。実行中のプロセス、ネットワーク接続、注入されたコード、隠されたプロセスなどを特定できます。
- マルウェア痕跡の特定
- メモリ上の実行コード、フッキングされたAPI、異常なスレッド、インジェクションの痕跡などを調査します。YARA ルールを使用したスキャンも有効です。
マルウェア解析の詳細な手法については、専門ページを参照してください。
ログ分析のポイント
ファイルレス攻撃の痕跡は、各種ログに記録されている可能性があります。
| ログ種類 | 確認ポイント | イベントID例 |
|---|---|---|
| Windowsセキュリティログ | プロセス作成、ログオン | 4688, 4624 |
| PowerShellログ | スクリプト実行、モジュールロード | 4103, 4104 |
| Sysmonログ | プロセス作成、ネットワーク接続 | 1, 3, 7, 8 |
| WMIログ | WMIイベント購読 | 5861 |
特にSysmonの導入は、ファイルレス攻撃の検知と調査に非常に有効です。プロセスのコマンドライン引数、親プロセス情報、ネットワーク接続などを詳細に記録できます。
復旧と再発防止
ファイルレスマルウェアの駆除と復旧では、以下の手順が推奨されます。
- 感染範囲の特定:ログ分析とメモリフォレンジックで感染したシステムを特定
- ネットワーク隔離:感染システムをネットワークから切り離し、拡大を防止
- 永続化メカニズムの削除:レジストリ、タスクスケジューラ、WMIイベント購読を確認・削除
- クリーンな状態への復旧:可能であればバックアップからの復元を実施
- 防御強化:検知を回避された原因を分析し、対策を強化
組織的対策
セキュリティポリシーと設定
ファイルレスマルウェア対策として、以下の設定を組織全体で実施することを推奨します。
| 対策項目 | 設定内容 | 効果 |
|---|---|---|
| PowerShellログ強化 | スクリプトブロックログ、トランスクリプション有効化 | 攻撃の検知・調査が可能に |
| Constrained Language Mode | 一般ユーザーはCLM、管理者のみ完全モード | PowerShell悪用を制限 |
| Sysmon導入 | 推奨設定でのSysmon展開 | 詳細なログ記録 |
| マクロ実行制限 | インターネットからのマクロをブロック | 初期感染を防止 |
| 管理者権限の最小化 | 一般業務にはローカル管理者権限を付与しない | 攻撃の影響を限定 |
| LAPS導入 | ローカル管理者パスワードの自動管理 | 横展開を防止 |
ユーザー教育と意識向上
ファイルレスマルウェアの多くは、フィッシング詐欺メールを入口として侵入します。そのため、ユーザー意識向上は重要な対策です。
- マクロ有効化を促すドキュメントへの警戒
- 不審なリンクやファイルの報告
- 「コンテンツの有効化」ボタンを安易にクリックしない
よくある質問
- Q: アンチウイルスソフトでファイルレスマルウェアは検知できますか?
- A: 従来のシグネチャベースのアンチウイルスでは検知が困難です。ファイルレスマルウェアはディスクにファイルを作成しないため、ファイルスキャンでは発見できません。EDR(Endpoint Detection and Response)やAMSI対応のセキュリティ製品、振る舞い検知機能を持つ次世代アンチウイルスが有効です。
- Q: PowerShellを完全にブロックすべきですか?
- A: 業務でPowerShellを使用している場合、完全なブロックは推奨しません。代わりに、ログ強化(スクリプトブロックログ、トランスクリプション)、Constrained Language Modeの導入、一般ユーザーへの実行制限などの多層的な対策が効果的です。
- Q: ファイルレスマルウェアに感染した場合、再起動で駆除できますか?
- A: メモリ上で動作するコードは再起動で消失しますが、永続化メカニズム(レジストリ、タスクスケジューラ、WMIイベント購読など)が設定されている場合、再起動後に再度実行されます。永続化の有無を確認し、設定されている場合は削除が必要です。
- Q: 中小企業でもファイルレスマルウェア対策は必要ですか?
- A: 必要です。ファイルレス手法はAPT(標的型攻撃)だけでなく、一般的なランサムウェア攻撃でも広く使用されています。中小企業も標的となっており、EDRの導入やPowerShellログの強化など、可能な範囲での対策をお勧めします。
まとめ
ファイルレスマルウェアは、従来のセキュリティ対策を回避するために進化した攻撃手法であり、現代のサイバー攻撃において主流となっています。ディスクにファイルを残さず、PowerShellやWMIなど正規のWindowsツールを悪用するため、検知が困難です。
効果的な対策としては、EDRの導入、PowerShellログの強化、振る舞いベースの検知、ネットワーク監視の組み合わせが推奨されます。また、インシデント発生時にはメモリフォレンジックが不可欠であり、証拠を保全するためにシステムを再起動しないことが重要です。
組織全体でのセキュリティポリシーの策定と、継続的なセキュリティ教育を通じて、ファイルレス攻撃への耐性を高めていくことが求められます。
重要なお知らせ
- 本記事は一般的な情報提供を目的としており、個別の状況に対する助言ではありません。
- 実際にマルウェア感染の被害に遭われた場合は、警察(#9110)やIPA(03-5978-7509)などの公的機関にご相談ください。
- 法的な対応が必要な場合は、弁護士などの専門家にご相談ください。
- 記載内容は作成時点の情報であり、マルウェアの手口は日々進化している可能性があります。
更新履歴
- 初稿公開