FileFix攻撃からWindowsを守る完全ガイド

FileFixは、ブラウザの「保存」操作とWindowsのMark of the Web(MoTW)や.hta実行の扱いを突く攻撃手法です。ユーザーが悪意あるページを保存して拡張子を.htaに変えると、mshtaによってセキュリティチェックをすり抜けてコードが実行される危険があります。本稿はエンドユーザー、IT管理者、SOC向けに検出と予防、緊急対応を含む実践的対策をまとめます。
重要な用語(1行)
- MoTW: Mark of the Web、外部からダウンロードされたファイルに付与されるセキュリティフラグ。
- mshta: WindowsのHTMLアプリケーション実行ホスト(mshta.exe)。
- .hta: HTML Applicationファイル拡張子。ブラウザやmshtaで実行可能。
概要
FileFixは、セキュリティ研究者が報告した攻撃パターンで、ブラウザの「Save as(名前を付けて保存)」機能が保存したHTMLファイルにMoTWを適切に付与しない点を悪用します。さらに、.hta(HTML Application)として保存・実行されると、mshtaがそのファイルをユーザー権限で直接実行し、Windowsの実行時検査を回避できる可能性があります。
本ガイドは次を網羅します。
- FileFixがどのように動くかの技術的説明
- 一般ユーザーがすぐに取れる対策
- IT管理者向けの企業対策(グループポリシー、AppLocker等)
- インシデント発生時の簡易ランブック
- いつ対策が不十分になるか(失敗例)と代替案
FileFixの技術的メカニズム
- 攻撃者は悪意あるHTMLをホストするウェブページを用意します。ページ内にスクリプトやダウンローダが埋め込まれています。
- ソーシャルエンジニアリングでユーザーにページを「保存」させます。たとえば「多要素認証(MFA)コードを保存しておけ」と誘導し、ファイル名を特定の拡張子で保存させるよう促します。
- ブラウザの「保存」プロセスでMoTWが正しく付与されない場合、あるいはユーザーがファイル名を変更して拡張子を.htaにして保存した場合、mshtaで直接実行できる.htaファイルが生成されます。
- ユーザーがその.htaファイルをダブルクリックすると、mshtaがファイルをロードし、組み込みスクリプトがユーザー権限で実行されます。この段階でアンチウイルスやWindows Defenderの一部検査を回避する可能性があります。
注: 実行にはユーザー操作(保存・ファイルの開封)が必要なため、完全に自動化されたリモート実行とは性質が異なりますが、ソーシャルエンジニアリングが成功すれば被害は重大です。
まずやるべきこと(エンドユーザー向け)
悪意あるページにアクセスしない
- 信頼できないメールのリンクやチャットのURLを不用意にクリックしない。
- ブラウザは常に最新に更新する。Chrome、Edge、Firefox等はフィッシングやマルウェア保護機能を搭載している。
- Chromeでは「Enhanced Protection(強化保護)」を有効にすると、AIベースの検出がリアルタイムで働く場合がある。
重要: フィッシングメールからの誘導が最も多い感染経路です。リンク先で保存を要求される場面を特に警戒してください。
Windowsで拡張子を常時表示する
既定ではWindowsは既知のファイル拡張子を隠します。これによりファイル名だけを見て拡張子が変わったことに気づかない危険があります。以下で常に拡張子を表示する設定にします。
- エクスプローラーで「See more(三点リーダー)」をクリックし、Optionsを選択します。
- Viewタブに移り、Hide extensions for known file typesのチェックを外します。
これで保存ダイアログやエクスプローラーで拡張子が見えるようになります。
.htaファイルをメモ帳で開く既定に変更する
.htaファイルの既定アプリをmshta(実行)からNotepad(テキスト表示)に変更すると、誤ってダブルクリックしてもスクリプトが実行されず内容が表示されます。手順:
- 設定 > Apps > Default Apps に移動します。
- 「Set a default for a file type or link type」検索欄で「.hta」を検索します。
- もし既定が「Microsoft (R) HTML Application host」なら、Notepadに変更してSet defaultをクリックします。
注: 企業で業務的に.htaを使用している場合は事前に影響を確認してください。多くの一般ユーザーにとって影響は少ないはずです。
mshtaを無効化する(ローカルでの直接対処)
mshta.exe自体を無効化(リネーム)する方法は、ローカル実行を根本的に防ぐ簡単な手段です。ただし管理者権限が必要で、システムファイル操作の取り扱いに注意が必要です。
- 「C:\Windows\System32」と「C:\Windows\SysWOW64」の両方を開きます。
- ファイル名リストで「mshta」を検索し、それぞれのファイル名を「mshta.exe.disabled」などに変更します(管理者権限が必要)。
注意点:
- 元に戻すには元のファイル名に戻すだけです。
- 一部の古い管理スクリプトや運用ツールがmshtaに依存していることがあります。運用環境では影響範囲を調査してください。
IT管理者向け:企業環境での堅牢化
グループポリシー / Intuneでの制御
- AppLockerまたはWindows Defender Application Control(WDAC)でmshta.exeや.htaファイルの実行を禁止するポリシーを作成してください。AppLockerの実装が可能なら、許可リスト(ホワイトリスト)方式で必要なアプリのみ実行許可にするのが最も効果的です。
- Intune/Microsoft Endpoint Managerを使用している場合は、カスタム構成プロファイルで同様の実行制御を配布できます。
実践的なヒューリスティック:
- まずは監査モードで違反を検出し、依存関係を洗い出してからブロックモードに移行すること。
- 例外は最小限にし、ログをSIEMに集約する。
エンドポイント保護の強化
- EDR/EDR連携のアンチウイルスを導入し、ファイル保存イベントやプロセス起動に対するプロセスツリーの可視化を行う。
- ファイル保存時の挙動(例: サイトからHTMLが保存され、.htaにリネームされ、mshtaが起動する)を検出するルールを作る。
ユーザー教育とSOP
- フィッシング演習を実施して「ページを保存して開く」ような誘導に対する耐性を高める。
- ITヘルプデスクと連携した報告フロー(疑わしいファイルを送る、あるいは即時シャットダウンしないで隔離手順)を定める。
インシデントランブック(簡易)
- 影響の切り分け
- 疑わしい.htaを開いたホストをネットワークから分離する(スイッチポート/隔離VLAN)。
- メモの取得
- 実行されたファイル名、実行時間、ユーザー、関連ログ(Windows Event Logs、EDRログ、プロキシログ)を収集する。
- サンプルの静的解析
- .htaの中身(テキスト)をNotepadなどで確認し、外部C2やダウンロード先のURLを特定する。
- 被害範囲の特定
- 同一URL/ホストへアクセスした他の端末の有無を確認する。
- 復旧
- 影響範囲のシステムをクリーンインストールか、署名済みバックアップから復旧する。復旧前にルート原因を排除すること。
- 報告
- 法務・上長・必要なら外部CSIRTへ報告する。
いつ対策が失敗するか(ケーススタディ)
- ユーザーが管理者権限で実行した場合: ローカルでの対策(拡張子表示、既定アプリ変更)は効果が薄れる。管理者権限の悪用でシステムに恒久的な変更を加えられるため、管理者アカウントの乱用を防ぐこと。
- クラウド同期や自動化されたジョブがある場合: 共有フォルダや同期フォルダに保存→他ユーザーが開くフローで横展開する可能性がある。
- レガシーツールがmshtaに依存しているケース: mshtaを無効化すると業務に影響するため、事前に依存調査が必要。
代替アプローチと補助策
- ファイルハッシュやURIのブロックリストを利用して既知の悪性コンテンツをブロックする(プロキシやCASBで)。
- ブラウザのダウンロード制御を強化する(拡張機能や管理テンプレートで保存操作を警告する)。
- Web Content Filtering(カテゴリベースフィルタ)で未知のファイル保存を制限する。
役割別チェックリスト
エンドユーザー:
- 拡張子を表示しておく。
- .htaファイルは開かない、開いてしまったらITに報告。
- ブラウザとOSは常に更新。
IT管理者:
- AppLocker/WDACで実行制御を検討する。
- mshtaの依存調査を行い、不要なら無効化の計画を立てる。
- EDR・SIEMで関連イベントの検出ルールを用意する。
SOC/IRチーム:
- .hta実行の検出シグネチャを用意する(プロセス起動、ネットワーク接続の組合せ)。
- インシデントランブックをドリルする。
テンプレート: 簡易チェックリスト表
項目 | 実施状況 | 備考 |
---|---|---|
拡張子表示 | [ ] | ユーザー教育で徹底 |
.hta既定をNotepadに変更 | [ ] | 影響範囲確認後に展開 |
mshta無効化(リネーム) | [ ] | 管理者のみ実施、バックアップ必須 |
AppLockerでのブロック | [ ] | 監査モードでテスト |
EDRルール追加 | [ ] | SIEMにログ送信 |
まとめ
FileFixは「保存して実行させる」ソーシャルエンジニアリングとWindowsの実行モデルの隙を突く攻撃です。最も効果的な防御は人的リスクの低減(疑わしい保存をしない)、ファイル表示の徹底、.hta実行の無効化、そして企業では実行制御(AppLocker/WDAC)とEDRによる検出体制の構築です。運用上の制約がある場合は段階的に監査→ブロックへ移行し、インシデント時の手順を整備してください。
重要
- 攻撃の多くはソーシャルエンジニアリングに依存するため、技術的対策と教育の両輪が重要です。
参考: Windowsの挙動や更新により将来的に修正が加えられる可能性があります。Windowsやブラウザは常に最新の状態に保ってください。