Dell 製ドライバーに存在し続ける Windows Kernel レベル攻撃の脆弱性

Dell driver fix still allows Windows Kernel-level attacks

2021/12/13 BleepingComputer — 2021年5月に、Dell 製のドライバーに存在する5つの脆弱性が、まとめて CVE-2021-21551 として公開されたが、それは 12年間にわたる悪用の末の修正でもある。しかし、Dell の修正は、さらなる悪用を防ぐために、十分な包括的なものとは言えず、セキュリティ研究者が警告しているように、今後の BYOVD (Bring Your Own Vulnerable Driver) 攻撃の格好の候補となっている。

Rapid7 の研究員である Jake Baines は、「Dell のアップデートは、”write-what-where” の状態を修正せずに、管理者ユーザーのアクセスを制限しているだけのものだと判明している。Microsoft のセキュリティ境界定義によると、Dell の修正プログラムはセキュリティ問題を除去したことになる。しかし、部分的に修正されたドライバーは、依然として攻撃者に余地を残す可能性がある」と説明している。

BYOVD とは

BYOVD とは Bring Your Own Vulnerable Driver の略語であり、脅威アクターがターゲット・マシン上に、正規かつ脆弱なドライバーをインストールする攻撃手法である。
続いて、この脆弱がドライバーが悪用され、ターゲット・システム上での特権昇格やコード実行などを許すことになる。

この攻撃手法は、長年にわたりワイルドかつ広範囲で展開されている既知のものだ。Microsoft は、Windows の DSE (Driver Signature Enforcement) のルールを厳しくし、この問題を緩和しようとしているが、残念ながら駆除できていない。

署名のないドライバーを Windows カーネルにロードできる、オープンソースのエクスプロイトが少なくとも4つあり、そのうちの1つである KDU は、14以上のドライバーオプションをサポートしている。これだけを見ても、洗練されたアクターにより作成され、個人的かつ独占的に使用されるカスタム・ツールはさておき、BYOVD が永続的な脅威であることは明らかだ。

Dell の問題

Dell の dbutil_2_3.sys ドライバーは、脆弱性 CVE-2021-21551 が存在するドライバーであり、BYOVD 攻撃を容易にする可能性がある。Rapid7 の研究者たちが警告しているように、この問題は最近のドライバー・バージョンにも当てはまる。
dbutildrv2.sys 2.5/2.7 には、write-what-where 条件が存続しているため、攻撃者はカーネルコードを実行するための、署名付きドライバーの候補を合計で3つ持っていることになる。

この脆弱性を利用する攻撃者は、前もって管理者権限を必要とするため、この脆弱性を気にするのは馬鹿げているかもしれない。しかし、高度な脅威アクターは、この脆弱性を利用して、Windows の最高特権レベルであるカーネルモード (ring 0) でコードを実行できる。

このレベルのアクセス権を持つ脅威アクターは、UEFI ルートキットの展開/エクスプロイトやルートキットのアーティファクトの隠蔽/Windows の全コマンドの実行などが可能となる。最終的に、高度な脅威アクターは、検知を回避する攻撃を継続し、対象デバイス内に数ヶ月間も常駐することが可能となる。研究者たちは、LSA protection-subversion 攻撃を実装した、Metasploit モジュールを開発し、その様子をビデオで紹介している。

Rapid7 のレポートによると、「昇格した特権を持つ攻撃者は、このモジュールを使用し、任意の PID のプロセス保護を有効/無効にできる。Dell のドライバーは、Microsoft が発行した最新の署名要件に対応しているため、特に価値がある。さらに問題なのは、これらの最近のバージョンのドライバーはブロックされる可能性が低く、ターゲットを絞ったステルス的な悪用に利用可能な状態が続くことだ」と述べている。

問題への対処

Rapid7 によると、脅威アクターは、依然として dbutil_2_3.sys の悪用に限定されているため、現時点でバージョン 2.5/2.7 は悪用されていない。しかし、研究者たちは、これは時間の問題だと考えており、さらなる検出と緩和の努力が必要だとしている。

この問題について、Rapid7 が Dell に問い合わせたところ、「製品チームで慎重に検討した結果、この問題は、攻撃を実行するために特権レベルが必要であるため、脆弱性ではなく弱点に分類した。それは、Windows Driver Model に記載されているガイダンスと一致している。この問題に関して、セキュリティ・アドバイザリの公開や CVE の発行は予定していない」と述べている。

しかし、このドライバーを悪用する脅威アクターが、ring 0 のアクセス権を得ることは可能であるため、Rapid7 は管理者に対して、悪意のドライバーがシステムにロードされるのをブロックするために、以下のセキュリティ対策を実施するようアドバイスしている。

  • Microsoft のドライバー・ブロック・ルールを利用する (現在の Dell ドライバーは含まれていない)
  • サードパーティ製 EDR ソリューションで 2.3/2.5/2.7 の3つのハッシュを使用する
  • Hypervisor-Protected Code Integrity (HVCI) を有効にする。

    最後に、脆弱性のあるドライバーを Microsoft に提出し、ブロック・リストに含めるよう圧力をかけることも検討してほしい。

Bring Your Own Device (BYOD) をもじった、Bring Your Own Vulnerable Driver などという言葉が在るのですね。ドライバーや BIOS の脆弱性は、ユーザーによる対応も煩雑になりますし、それをサポートするベンダーの手間も大変です。だからと言って、放置しておけばサイバー攻撃に対象になるということで、Microsoft も Windows の DSE (Driver Signature Enforcement) ルールを厳しくしているようですが、スマートに解決されると良いですね。

%d bloggers like this: