BYOVD攻撃(rwdrv.sys)からWindowsを守る完全ガイド

TL;DR
このガイドは、正規署名された脆弱ドライバーを悪用するBYOVD攻撃(Bring Your Own Vulnerable Driver)からWindowsを守る手順を示します。主要対策はWindowsのセキュリティ機能有効化、不要なカーネルレベルユーティリティの削除、標準アカウントの利用、代替アンチウイルス導入、そして運用上のチェックリストとインシデント対応手順の整備です。
BYOVD(Bring Your Own Vulnerable Driver)は、正規に署名されたが脆弱性を含むドライバーを悪用してカーネル権限を奪取する攻撃手法です。攻撃者は既存または追加した脆弱ドライバーを利用してカーネルコード実行を行い、Microsoft Defenderなどの保護機能を停止させ、ランサムウェアを含む任意の悪意あるコードをインストールします。本ガイドでは、攻撃の仕組み、検出と予防、運用手順、インシデント対応フロー、テストケースやチェックリストを含めた実践的対策をまとめます。
攻撃の概要(技術フロー)
攻撃者は以下の手順でWindows環境を掌握します。これを理解することが防御の第一歩です。
- 初期アクセスを獲得する(ネットワーク侵害、RATなど)。
- システム上に既に存在する、あるいは新たにインストールされた正規ドライバー(例:rwdrv.sys)を利用してカーネル権限を奪取する。
- カーネル権限を得た後、悪意あるカーネルドライバー(例:hlpdrv.sys)を設置・起動する。
- 悪意あるドライバーがレジストリ等を編集してMicrosoft Defenderのシールドを無効化する。
- 保護が失われた状態でランサムウェアやその他のペイロードを展開する。
例えば最近報告された攻撃チェーンでは、rwdrv.sys(オーバークロックやファン制御ツールがインストールすることがある正規ドライバー)を足がかりにAkiraランサムウェアが展開された事例が知られています。
重要な観点
Important: 正規に署名されたドライバーだからといって安全ではありません。脆弱性が存在すれば、攻撃者はそれを利用してカーネルレベルで任意の操作を行えます。
Note: 本稿では既知のツール名を例示していますが、同様のリスクは他のドライバー/ユーティリティにも当てはまります。
具体的な防御手順
以下はエンドユーザーと管理者が今すぐ実施できる防御策です。順に取り組んでください。
1) Windowsのセキュリティ機能を有効化する
Windowsにはデフォルトで無効化されているが、BYOVDやカーネル脆弱性を利用する攻撃を抑止できる機能が存在します。検索で「windows セキュリティ」を開き、下記を有効にします。
- 制御されたフォルダーアクセス(Controlled Folder Access): ランサムウェアによるファイル暗号化を抑止します。Windows セキュリティ → ウイルスと脅威の防止 → 設定の管理 → 制御されたフォルダーアクセス を有効にし、保護するフォルダーを追加します。
- コアアイソレーション(Core Isolation)/メモリ整合性(Memory Integrity): カーネルの整合性を保ち、悪意あるドライバーや脆弱なドライバーの悪用を難しくします。デバイス セキュリティ → コア アイソレーションの詳細 を開き、可能な限り有効化してください。Memory Integrity を有効化する際は署名されていないまたは古いドライバーとの互換性問題が起きる場合があります。
注: メモリ整合性を有効にする前に、ドライバー互換性を確認し、必要ならベンダーの最新ドライバーを適用してください。
2) 不要なカーネルレベルユーティリティをアンインストールする
多くのユーティリティ(ThrottlestopやRWEverythingなど)はカーネルドライバーをインストールします。脆弱なドライバーが既に存在すると、攻撃者はそれを再利用できるため、不要であればアンインストールしてください。
管理者特権でコマンドプロンプトを開き、システム内にrwdrv.sysが存在するか確認します:
where /r C:\ rwdrv.sys
ドライバーが見つかった場合は、そのドライバーをインストールしたアプリケーションを特定してアンインストールします。また、以下のコマンドで現在ロードされているドライバー一覧や署名情報を確認することができます(管理者権限が必要です):
driverquery /v
pnputil /enum-drivers
さらに署名情報を精査する場合はSysinternalsのsigcheck等を使ってドライバー署名を確認してください。
3) 日常作業は標準アカウントで行う
攻撃は管理者権限に依存する場合が多いため、日常の作業アカウントを標準権限に限定することで被害を抑えられます。管理者権限はソフトウェアのインストールやシステム変更時のみ使用し、通常は標準ユーザーで作業します。新規アカウントの作成手順:Windows 設定 → アカウント → その他のユーザー → ユーザーを追加 → 標準に設定。
4) 他社製アンチウイルス/EDRの併用
攻撃者の目的はMicrosoft Defenderを無効化することにあるため、別ベンダーのアンチウイルスやEDR(Endpoint Detection and Response)を併用することで、Defenderが無効化された場合でも検知が残る可能性があります。各社の実装が異なるため、同じ無効化手順が通用しない点が利点です。
5) ドライバー管理と追加対策(管理者向け)
- Secure Bootを有効化する。
- カーネルドライバーのロード制御(ドライバー署名ポリシー)を強化する。
- Windows Defender Application Control(WDAC)やDevice Guardの導入を検討する。
- Attack Surface Reduction(ASR)ルールを有効化する。
- Microsoft Defender for Endpoint等のEDRでカーネル操作を監視する。
- Driver Verifierをテスト環境で活用し、不審なカーネルドライバーを検出する。
検出・監視のヒント
- Sysmonやイベントログ(特にカーネルドライバーのロード、Service Control Manager イベント、WMIC/PowerShellの不審な実行)を監視する。
- EDR製品のカーネルモニタリングや整合性検査アラートを有効化する。
- 異常なレジストリ変更(Defender関連キー)を検出する。
例: レジストリの保護対象を監視し、Defenderシールドが急に無効化された場合は即時アラートを出すルールを整備してください。
インシデント対応(ランサムウェアやBYOVDの疑い時)
以下は管理者・SOCが従うべき実務手順(ランサムウェア展開前後の基本フロー)です。
インシデント初動(30分以内に実行)
- 感染疑い端末をネットワークから隔離する(物理的またはスイッチレベルで切断)。
- 影響範囲の特定:接続先、最近のログイン、実行されたペイロードを収集する。
- EDR/ログからカーネルドライバーのロード履歴(最近のドライバー名)を抽出する。
- レジストリ変更(Defenderの設定変更)を確認し、変更元を特定する。
- 重要なディスクイメージを取得する(forensic用)。
フォレンジックと復旧
- イメージ取得後に影響を受けたドライバーとプロセスを削除する手順を計画する。
- 可能であればクリーンなOSイメージでの再インストールを推奨(最も安全)。
- 被害のスコープが判明するまで、バックアップの整合性を確認し、感染済みのバックアップは隔離する。
ロールバック(推奨)
- 端末の完全復旧が難しい場合、工場出荷イメージまたは構成管理で管理されたクリーンイメージへ復元。
- パッチ適用、ドライバー更新、セキュリティ設定の再適用を行う。
- 同じ脅威が再発しないよう、管理者は問題となったドライバーの利用を停止し、組織ポリシーを更新する。
運用チェックリスト(役割別)
エンドユーザー(個人):
- 日常は標準アカウントで作業する。
- 不要なユーティリティ(Throttlestop等)をインストールしない。
- 定期バックアップをオフライン/隔離で保持する。
IT管理者:
- Core Isolation と Controlled Folder Access を既定で有効化するポリシーを配布する。
- ドライバーインベントリを取得し、署名や提供元が不明なドライバーをレビューする。
- Secure Boot、WDAC、ASRを導入するロードマップを作成する。
SOC/IRチーム:
- EDRでカーネルイベントとレジストリ変更を監視するルールを作成する。
- インシデント対応用のプレイブックとフォレンジック手順を維持する。
テストケースと受け入れ基準(SPO)
目的: BYOVDによる保護回避を検知・阻止できることを評価する。
テストケース例:
- 正常ケース: 新規ドライバーをインストールし、Memory Integrityが有効でもブロックされないケースを確認。
- 攻撃模擬: テスト環境で脆弱なドライバー利用を模擬し、EDR/ASR/制御フォルダが適切に機能するか検証。
受け入れ基準:
- 制御フォルダーアクセスでテスト暗号化がブロックされること。
- EDRがカーネルドライバーの不正ロードを検知しアラートを生成すること。
- 管理ポリシーにより不要ドライバーが検出・隔離されること。
メンタルモデルとヒューリスティクス
- 「既に存在する正規ドライバー = 安全」は誤り。署名=安全ではない。
- 最小特権の原則(Least Privilege)は、被害の機会を減らす最も効果的な初期対策である。
- カーネルはOSの基盤:ここに入られると影響は広範囲になる。カーネル保護を最優先に。
いつこの対策が効かないか(反例)
- 攻撃者が既に管理者権限を保持しており、かつファームウェア/UEFIレベルで改竄している場合、OSレベルの防御だけでは不十分です。
- 組織が古いOSを使用し、パッチやセキュリティ機能がサポートされていない場合、本ガイドの多くの機能を適用できないことがあります。
リスクマトリクス(定性的)
- 発生確率: 中〜高(脆弱ドライバーの普及度に依存)
- 影響度: 高(カーネル権限取得→広範囲の侵害)
- 緩和策: Core Isolation/Controlled Folder/EDR/標準アカウント
汎用プレイブック(短縮版)
- 予防: ポリシーで不要ドライバーを禁止、Core IsolationとControlled Folderを有効化。
- 検知: EDRでカーネル挙動とレジストリ改変を監視。
- 初動: 影響端末を隔離、イメージ取得、ログ保存。
- 復旧: クリーンイメージへ復元、ドライバーとOSを更新。
- 事後: IOC共有、ポリシー強化、従業員教育。
短い用語集(1行)
- BYOVD: 正規だが脆弱なドライバーを悪用する攻撃。
- rwdrv.sys: 例示された脆弱な正規ドライバーの一つ。
- hlpdrv.sys: 攻撃チェーンで悪用される可能性のある悪意あるドライバーの例。
- Core Isolation / Memory Integrity: カーネル整合性保護機能。
- Controlled Folder Access: ランサムウェアのファイル暗号化を防ぐ機能。
まとめ
BYOVDは正規ドライバーの脆弱性を悪用してカーネル権限を奪取し、Microsoft Defenderを無効化することでランサムウェアやその他の攻撃を容易にします。防御は複数レイヤーで行うことが重要です。まずはCore IsolationとControlled Folder Accessを有効にし、不要なカーネルユーティリティを除去、日常作業は標準アカウントで行い、必要に応じて第三者のEDR/AVを併用してください。管理者はドライバーのインベントリ管理、WDAC・Secure Bootの導入、そしてインシデント対応手順の整備を行ってください。
重要: 本ガイドの手順は現時点での一般的な推奨に基づくもので、環境や組織の要件に応じて調整してください。