第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年09月09日 更新
  1. 超小型レトロオーディオ体験をFIIO「Snowsky ECHO NANO」で スマホリスニングのモヤモヤを解消するかも? (2026年09月08日)
  2. 「RTX Spark」搭載のWindows PCは10月に登場 LAN内のPCを束ねてローカルAI処理を分散・高速化する「NVIDIA PAIR」β版も公開 (2026年09月07日)
  3. 10月に登場する「RTX Spark」搭載PCで見た“不可解な”設定値 次期Windowsで変わるGPUメモリの仕組み (2026年09月07日)
  4. 両手が塞がっていても瞬間解錠できるスマートキー「SwitchBot スマートロック Ultra 顔認証パッド」がセールで20%オフの2万7980円に (2026年09月08日)
  5. 再来する“グラボ複数挿し”需要! 220mm径の巨大ファン搭載ケースやFractal新モデルがアキバで話題に (2026年09月07日)
  6. 省スペースで静音性に優れた3Dプリンタ「Bambu Lab A1 mini」がセールで25%オフの2万9900円に (2026年09月08日)
  7. 実売1万円台&縦置き対応! ONPUの14型モバイルディスプレイは初心者の強い味方だった (2026年09月08日)
  8. バッテリーを外せば約639g! 最新CPU「Intel Arc G3 Extreme」搭載の8型ゲーミングPC「OneXFly APEX Air」に触ってきた (2026年09月07日)
  9. HUION、アス比3:2の90Hz駆動ディスプレイを搭載したペン入力対応12.2型Androidタブレット (2026年09月08日)
  10. ラトックシステム、デュアル4Kディスプレイにも対応したHDMI切替器 (2026年09月08日)
最新トピックスPR

過去記事カレンダー