第8回 Vistaにおけるデバイスドライバのゆくえ元麻布春男のWatchTower「Windows Vista編」(1/2 ページ)

» 2006年09月05日 08時30分 公開
[元麻布春男,ITmedia]

デバイスドライバの脆弱性が潜在的なセキュリティホールになる

 前回の連載の最後でも記したように、July CTPではWindows Updateのオプションで、各種ハードウェアに対応したデバイスドライバが配布される。古いビルドでは、どうしてもデバイスドライバが間に合わず、Windows XP用のものを流用しなければならないことが多かった。だが、Windows Vistaで大きく変わる部分の1つがデバイスドライバであり、既存のものを流用するのは望ましいことではない。

 Windows Vistaのデバイスドライバ環境が変わるのは、セキュリティと安定性の向上を図ってのことだ。もう少し具体的に言えば、現在カーネルモードで動作しているデバイスドライバのうち、必要性の少ないものをユーザーモードに移そうということである。

 元々Windows NTのアーキテクチャでは、デバイスドライバの多くがユーザーモードで動作するサブシステムドライバと、カーネルモード(Windows Executive)で動作するカーネルモードドライバで構成されていた。カーネルモードで動作するコードは、システム全体を不安定にすることが可能であり、これを極力減らそうという発想であった。

 しかしWindows NT 4.0以降、多くのドライバがカーネルモードへ移されていく。その最大の理由は、Windows 9xから主役の座を奪うためだったと思われる。Windows NT 4.0がリリースされた1996年当時、デスクトップの主役だったのはWindows 95であった。Windows 95はWindows 95 OSR2(OEM Service Release 2)となり、Windows 98、Windows 98 Second Editionと進化して行き、相変わらずデスクトップの主役であった。Windows NTがWindows 9xに苦戦したのは、グラフィックス性能やDirectX系APIのサポートで見劣りしたからだ。

 デバイスドライバをカーネルモードへ移すことは、システムの安定性という観点からはマイナスだが、性能の向上には役立つ(コンテキストスイッチの際のオーバーヘッドが小さいなど)。Windows NT 4.0はWindows 9xに対抗するため、あえて安定性より性能をとったことになるが、このおかげもあって、だんだんと主流のOSとして認められていく。とくにプラグ&プレイのサポートが加わったWindows 2000以降その流れは強まり、Microsoft自身がWindows 9x系OSの開発を打ち切ったこともあり、Windows NTの流れをくむWindows XPが、すべてのPCにおいて主役となった。

 この間、デバイスドライバの大半をカーネルモードにおくというWindows NT 4.0の方針は維持され続けてきた。おかげで性能は上がったが、デキのよくないディスプレイドライバやサウンドドライバが、簡単にシステムをリブートさせてしまう、という問題も抱えたままになってしまった。これは同時に、デバイスドライバに潜む脆弱性が潜在的なセキュリティホールになるということでもある。

Windows Vistaではドライバモデルが大幅に見直されてセキュアな環境を確保

Vistaでドライバ導入時に表示される警告画面

 Windows Vistaでは、ドライバモデルが見直され、カーネルモードドライバとユーザーモードドライバを組み合わせた、いわばWindows NT 3.xへの先祖返りが行われる。これにより、システムの安定性とセキュリティを向上させることが狙いだ。とくに、レガシーの少ないx64版は、デバイスドライバに限らず、カーネルモードで動くコードが厳しく制限される。具体的には、デジタルサインのないコード(デバイスドライバだけでなく、EXEやDLLを含む)をカーネルモードで動かすことはできなくなる

 x86版(32ビット版)では、既存のアプリケーションやデバイスドライバとの互換性を保つ意味から、デジタルサインのないコードをカーネルモードで動かすことが認められるが、この場合も制約が加わる。著作権保護されたHD DVDやBlu-rayコンテンツの再生をサポートするため、Windows Vistaではセキュアな環境、Protected Video Pathが用いられる。システムに1つでもデジタルサインのないカーネルモードドライバが組み込まれると、Protected Video Pathは成立しない。言い換えれば、ディスプレイドライバがデジタルサインされているだけではだめで、すべてのカーネルモードドライバにデジタルサインが必要になる。カーネルモードで動作して、セキュアなデータを取り出そうとするようなマルウェアを排除するためだろう。

 Windows 9xからWindows NT/2000への移行を促すために、当時のMicrosoftはWindowsロゴ取得の条件として、アプリケーションやデバイスドライバがWindows 9xとWindows NT/2000両方に対応することを求めた。おそらくWindows Vistaのリリースに際しては、Windowsロゴ取得の条件として32ビット版と64ビット版の両方に対応することを求めてくるだろう。デベロッパは、ロゴ取得のためには、うちは32ビット版だけ対応すればいいや、などとは言えなくなるはずである(Windowsロゴを取得しないと、大手PCベンダへの採用が著しく不利になる)。64ビット版のドライバを作成するのにデジタルサインが必要になるとしたら、それを32ビット版に使わない手はない。おそらくカーネルモードドライバのデジタルサイン対応は急速に進むだろう。

       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

アクセストップ10

2026年06月10日 更新
  1. 「次世代Apple Intelligence」をフル活用するにはどのような条件がある? 「Siri AI」は日本で使える? 知っておくべき対応モデルのハードル (2026年06月09日)
  2. 「macOS 27 Golden Gate」が2026年秋に登場 初のApple Silicon専用バージョンに (2026年06月09日)
  3. 実売1万円切りでパススルー給電にも対応! KTCの15.6型モバイルディスプレイ「H15F9」は“買い”か (2026年06月09日)
  4. 初のカラー対応「Kindle Scribe Colorsoft」の実力は? 通常モデルとの価格差1万7000円の価値を検証 (2026年06月10日)
  5. 「Geminiの技術は使うが、Geminiではない」 WWDC26で見えたApple流AIとプライバシー戦略の核心 (2026年06月10日)
  6. Apple Siliconはなぜ「オンデバイスAI」に強いのか? NVIDIA「RTX Spark」との比較で読み解くシリコン設計の哲学 (2026年06月08日)
  7. 高騰中のSSD、品薄のHDD──けれど“最終処分”のニーズは変わらず (2026年06月06日)
  8. ミニPCに強みの「MINISFORUM」 ミニワークステーションの新モデルから「謎の拡張カード」まで多彩な製品を披露 (2026年06月10日)
  9. 新GPU「RX 9070 GRE」搭載カード発売! 既存上位モデル「RX 9070 XT」との価格差に悩む声も (2026年06月08日)
  10. コンパクトボディーにスパコン並みのAI性能! 「NVIDIA RTX Spark」搭載ミニデスクトップPCを見てきた (2026年06月04日)
最新トピックスPR

過去記事カレンダー