資格情報の「聖域」を守る:Windows Credential Guardによる物理的防御の実践
現場でインシデント対応をしていると、どんなに強固なファイアウォールを築いても、最後には必ず「管理者権限を奪取した攻撃者が、メモリ上のハッシュを盗み出して横展開(ラテラルムーブメント)する」というシナリオに突き当たります。
特にWindows環境における「パス・ザ・ハッシュ(Pass-the-Hash)」攻撃は、OSの認証プロセスである lsass.exe のメモリをダンプするだけで完結してしまう、極めて安価で破壊力の高い手口です。これを防ぐための切り札が Credential Guard です。
今日は、教科書的な説明は抜きにして、なぜこれが「ゲームチェンジャー」なのか、そしてどう実装すべきかを解説します。
—
1. なぜ「パス・ザ・ハッシュ」は防げないのか?
攻撃者の視点で考えてみましょう。彼らはネットワークに侵入後、Mimikatz のようなツールを使い、lsass.exe のメモリ領域を読み取ります。ここには、ログインユーザーのNTLMハッシュやKerberosチケットが平然と置かれています。
これに成功すれば、パスワードそのものを知らなくても、そのユーザーになりすましてドメインコントローラーや他のサーバーへ自由にアクセスできてしまいます。従来のOSの保護機能では、管理者権限(System権限)を持つ攻撃者からメモリを隠し切ることは不可能でした。
そこで登場するのが VBS(仮想化ベースのセキュリティ) です。
—
2. Credential Guardが「聖域」を作る仕組み
Credential Guardを有効にすると、WindowsはCPUの仮想化支援機能を利用して、OS本体とは完全に隔離された「仮想化コンテナ(アイソレーテッド・ユーザーモード)」を作成します。
このコンテナの中で認証プロセス(LSAIso.exe)が実行されるため、たとえOS上で System 権限を取られたとしても、攻撃者はその隔離されたメモリ領域に触れることすらできません。攻撃者が Mimikatz を実行しても、そこにあるはずのハッシュは「空」あるいは「無価値なデータ」として返されます。
—
3. 実務でのデプロイメント:構成管理の勘所
Credential Guardは、クライアントOS(Windows 10/11 Enterprise)やサーバーOS(Windows Server 2016以降)で利用可能です。手動設定もできますが、数百台規模の環境であれば グループポリシー(GPO) で制御するのが鉄則です。
GPOによる設定項目
以下のパスをポリシーに設定し、展開してください。
- パス:
コンピューターの構成 > 管理用テンプレート > システム > Device Guard > 仮想化ベースのセキュリティを有効にする - 設定:
有効 - オプション:
「資格情報ガードの構成」を「有効(UEFI ロックあり)」に設定
> 注意点: 「UEFIロックあり」を選択すると、リモートからのポリシー削除だけで無効化できなくなります。これは悪意のある攻撃者がポリシーを書き換えて防御を解除するのを防ぐための重要なステップです。
—
4. 運用の罠:Credential Guardを「殺す」構成を避ける
いくらCredential Guardを入れても、設計が甘ければ意味がありません。特に注意すべきは以下の設定です。
① レジストリによる強制確認(監査用スクリプト)
現場で「本当に保護されているか」を確認するには、PowerShellで以下のコードを実行し、CredentialGuard が Running になっているかを確認してください。
# Credential Guardの稼働状況を確認するスクリプト
# 戻り値で 1 が返れば有効です
(Get-CimInstance -ClassName Win32_DeviceGuard -Namespace root\Microsoft\Windows\DeviceGuard).SecurityServicesRunning
② サービス停止の罠
Credential Guardを有効にすると、一部のレガシーな認証プロトコルや、特定のカーネルモードドライバーと競合が発生することがあります。導入前に必ずテスト環境で、自社の業務アプリや認証基盤が正常に動作するかを検証してください。
—
5. まとめ:防御の多層化という思想
Credential Guardは「銀の弾丸」ではありません。しかし、攻撃者が最も好む「横展開」というステージを物理的な技術で封じ込めることは、インシデントレスポンスにおいて極めて高いROI(投資対効果)を発揮します。
私がインシデント対応を行う際、最も絶望するのは「堅牢なハーデニングが施され、ハッシュが盗めない環境」です。攻撃者は標的を変えざるを得なくなります。
読者の皆さんも、OSのパッチ当てだけで満足せず、こうした「カーネルレベルでの防御」をぜひ標準構成に組み込んでください。それが、あなたの守るシステムを「攻略困難なターゲット」に変える第一歩です。
何か技術的な質問や、導入時のトラブルがあれば、いつでも現場の知見を共有します。安全な運用を。
コメント