脅威アクター集団が、正規のWindowsドライバーをひそかに悪用し、エンドポイント防御を自らに向けさせるケースが増えている。
Bring Your Own Vulnerable Driver(BYOVD)として知られるこの手法では、攻撃者がデジタル署名済みでありながら欠陥のあるドライバーを読み込み、それを悪用してカーネルレベルの完全なアクセス権を取得できる。
攻撃者は「正規のデジタル署名付きながら脆弱なドライバーを標的システムに読み込む。そして、そのドライバーの欠陥を悪用し、Windowsで最高の権限レベルに当たる、任意のカーネルモード(Ring 0)コード実行権限を取得する」と述べた Picus Securityの研究者。
BYOVD攻撃の仕組み
攻撃者は足場を確保するとBYOVDを展開し、EDRなどのセキュリティ制御を無効化する。これにより、暗号化や認証情報の窃取、ラテラルムーブメントを妨げるものがなくなる。
関与するドライバーは正規のデジタル署名付きであるため、通常はWindowsに組み込まれた信頼性チェックを通過する。その結果、攻撃者は明らかに悪意のあるカーネルコードを展開するのではなく、信頼されたコンポーネントを武器にできる。
BYOVDは初期アクセスの経路ではない。攻撃者はまず、フィッシング、認証情報の窃取、公開されたサービスの悪用、または初期アクセスブローカーからのアクセス購入などの手段で、ローカル管理者権限を取得する必要がある。
管理者権限を確保すると、BYOVDの手順が始まる。
BYOVDの実行プロセス
最初のステップでは通常、脆弱な.sysドライバーファイルをディスクに配置する。攻撃者は権限による障壁を避けるため、書き込み可能なC:\Windows\TempやC:\Users\Publicなどのディレクトリにファイルを置くことが多い。
これらのドライバーは、ハードウェアユーティリティー、監視ツール、ゲームソフトなど、正規ベンダーのインストーラーから直接取り出されることが多く、表面的な検査では無害に見える。
次に攻撃者は、Windows Service Control Managerを使い、通常はsc.exe createやsc.exe start、あるいはNtLoadDriver APIを介してプログラムからドライバーを登録し、Windowsカーネルに読み込ませる。
ドライバーには有効なデジタル署名が付いているため、Windowsは即座に警告を出すことなく、カーネル空間への読み込みを許可する。
本格的な悪用は、ドライバーが有効になった後に始まる。脆弱なドライバーの多くは、安全でない入出力制御(IOCTL)コードを公開しており、任意のメモリ読み取り・書き込み操作を可能にする。
細工したDeviceIoControlリクエストを送信することで、攻撃者はこうした欠陥を悪用し、カーネルメモリに直接アクセスする。これにより、オペレーティングシステムの保護領域を読み書きできるようになる。
カーネルの任意読み取り・書き込み能力を得ると、攻撃者はエンドポイント保護を体系的に解体できる。
カーネル構造体からEDRのコールバック登録を削除し、メモリ上の改ざん防止ルーチンにパッチを適用し、カーネルレベルAPIを使ってウイルス対策プロセスを終了させるほか、EPROCESS構造体の変更などによってプロセスオブジェクトを操作し、悪意のある活動を隠すこともできる。
この段階では、セキュリティソフトがインストールされたままに見えても、エンドポイントは実質的に無防備になる。
Genshin Impactのドライバー悪用
Picusの研究者が分析した攻撃の1つでは、ランサムウェア攻撃者が動画ゲームmhyprot2.sysアンチチートドライバー(Genshin Impact)を悪用した。
正規に署名されたドライバーをインストールした後、付随する実行ファイルが特定の制御コードを送信し、指定したウイルス対策プロセスを終了するようドライバーに指示した。
ドライバーはRing 0で動作していたため、正常にZwTerminateProcessを呼び出してセキュリティサービスを停止し、ランサムウェアの展開への道を開いた。その後、暗号化段階は妨害を受けることなく進行した。
Windowsのドライバー信頼モデルの隙間
BYOVDが効果を発揮するのは、Windowsのドライバー信頼モデルが持つ構造的な特性による。
Windows 10以降、新しいカーネルモードドライバーの大半は、MicrosoftのDev Portalを通じて署名されなければならない。
しかし、後方互換性の要件により、Secure Bootが無効になっている場合や、システムがクリーンインストールではなくアップグレードされた場合など、特定の条件下では一部の従来型クロス署名ドライバーの読み込みが許可される。
こうした互換性の例外が、攻撃者に新しい署名の偽造や窃取を行わせることなく悪用できる、信頼性の隙間を生み出す。
Microsoftの脆弱なドライバーのブロックリストは、本質的に事後対応型だ。ドライバーが追加されるのは、脆弱性が特定・公開された後であり、多くの場合、悪用された後である。
更新は通常、Windowsの主要リリースと同時に行われるため、新たに発見された脆弱なドライバーや、あまり知られていない脆弱なドライバーが長期間利用可能なまま残ることがある。
その結果、BYOVDはWindowsのセキュリティ機構を正面から回避するのではなく、依然として読み込みを許可されている信頼されたドライバーを悪用する。
BYOVDへの防御戦略
BYOVDから身を守るには、1つの設定変更やセキュリティ制御だけでは不十分だ。
この手法はカーネルレベルで動作し、正規ドライバーへの信頼を悪用するため、組織は多層的な制御を適用する必要がある。
- ハイパーバイザーで保護されたコード整合性(HVCI)を有効にし、Credential Guardを含む仮想化ベースのセキュリティ(VBS)スタック全体を有効にして、カーネルメモリを改ざんから保護する。
- Windows Defender Application Control(WDAC)ポリシーとMicrosoftの脆弱なドライバーのブロックリストを適用し、読み込みを許可するドライバーを制限する。
- 不要なローカル管理者権限を排除して特権アクセスを強化し、最小権限を徹底し、多要素認証を管理者アカウントに必須とする。
- 監視し、不審なドライバーの読み込みを検知して警告を発するほか、SysmonイベントID 6やWindowsイベントID 7045など、カーネルサービスの作成イベントも監視する。
- Secure Bootを有効にしたままにし、グループポリシーによってドライバーのインストールを制限し、従来型または未承認のクロス署名ドライバーが読み込まれるのを防ぐ。
- 不要または古いサードパーティー製ドライバーを定期的に監査して削除し、カーネルの攻撃対象領域を縮小する。
- セキュリティ制御を継続的に検証し、インシデント対応計画をテストする、侵害・攻撃シミュレーションを通じて、防御がBYOVDの手法を効果的に検知・封じ込められることを確認する。
これらの対策を組み合わせることで、被害の波及範囲を抑え、長期的なレジリエンスを構築できる。
攻撃対象領域となる従来型ドライバー
BYOVDは、攻撃者の戦術における実践的な変化を示している。脅威アクターはゼロデイエクスプロイトだけに頼るのではなく、環境内にすでに存在する正規で信頼されたコンポーネントを悪用することが多い。
従来型ドライバー、広範な管理者アクセス、事後対応型のブロックリストが存在する限り、この手法は実行可能なままだ。
セキュリティチームにとって、ドライバーの信頼性は本質的に安全だとみなすのではなく、攻撃対象領域全体の一部として評価すべきだ。
従来型ドライバーの悪用を受け、組織はゼロトラストソリューションを導入し、暗黙の信頼を最小限に抑え、継続的な検証を徹底している。





