筆者は先日公開した「Windows VistaのUACとBitLockerについて知っておくべきこと」という記事で,Windows Vistaに搭載されている主要な2つのセキュリティ機能を解説した。だが,Windows Vistaのセキュリティ技術はこれだけではない。Windows Vistaが「史上最もセキュアなWindows OS」と呼ばれている理由を,詳しく説明しよう。

 Windows Vistaには,セキュアなログオンのサポートや,ファイル・システムとレジストリの仮想化,強化された暗号化ファイル・システム(EFS),サービスとプロセスの隔離,ドライバ署名,64ビットのセキュリティ機能,USBデバイスのコントロール,Network Access Protection(NAP)--など,ITプロフェッショナルにとって役に立つセキュリティ技術が数多く搭載されている。

一から作り直したログオン

 現在,PCにログオンするときには,英数字のパスワードを使う人がほとんどだろう。だがVistaは,スマート・カードのほか,指紋読み取り装置のようなバイオメトリック(生体認証)・デバイスといった,セキュアなログオン方法に対応できるように設計されている。Microsoftは,同社の莫大な数の顧客に,英数字パスワードに代わるもっとセキュアな認証方法に移行してもらえるように,数年がかりの取り組みに着手しているのだ。Vistaは,これらの新しい認証方法をフル・サポートする最初のOSである。

 新しい認証方法に対応できるように,MicrosoftはVistaでWindowsのログオンUIとログオン技術を一から完全に書き直した。Vistaは新しいタイプの認証方法(スマート・カードやバイオメトリクス)以外にも,複数の認証方法をネイティブでサポートしている。さらに,認証システムは拡張可能なため,企業は近いうちにサード・パーティが提供する豊富なソリューション群から,好きなものを選べるようになるはずだ。これらのソリューションは,Vistaのユーザー・アカウント制御(UAC)を含めた,Windowsデスクトップの適切な技術と統合されるだろう。

ファイル・システムとレジストリの仮想化

 レガシー・アプリケーションの多くは,標準のユーザー・アカウントをサポートしていない。レジストリやファイル・システムを変更できる管理者権限がなければ,ユーザーはタスクを実行したり,リソースにアクセスしたりできないのである。

 Vistaでは,ファイル・システムとレジストリがロック・ダウンされており,このようなレガシー・アプリケーションを実行しようとすると,問題が発生することがある。そこでMicrosoftは,レガシー・アプリケーションがインストールと実行の際に問題を引き起こす可能性を下げるため,Vistaに仮想化版のファイル・システムとレジストリを作り出したのだ。

 Vistaでは,ファイル・システムとレジストリへの全ての書き込みは,ネットワーク全体に害を及ぼさないように,自動的かつサイレントにユーザー領域へリダイレクトされる。例えば,アプリケーションのインストーラが「C:\Program Files」に書き込みを試みると,Vistaはそのときのユーザーのアカウント内にある「VirtualStore」ディレクトリに,書き込み操作をリダイレクトする。こうすることによって,アプリケーションからは書き込み操作が問題なく行われているように見え,ユーザーからはアプリケーションが自分の意図した場所に格納されたように見えるのである。マルチユーザーのシステムの場合は,それぞれのユーザーが,リダイレクトされた全てのファイルについて,隔離されたローカル・コピーを持つことになる。

 レジストリ仮想化の仕組みも同様である。Vistaは,「HKEY_LOCAL_MACHINE\SOFTWARE」ハイブを仮想化する。そして,レジストリのシステム全体に及ぶ部分に設定情報を保存しようとするアプリケーションは,「HKEY_CLASSES_ROOT\VirtualStore\MACHINE\SOFTWARE」という新しくできた階層にリダイレクトされるのである。ファイル仮想化の場合と同様に,システム上の全ユーザーがそれぞれ設定情報のコピーを持つことになる。以前のバージョンのWindowsだと,設定情報はグローバルに保存されていたのだ。

 ファイル・システムとレジストリの仮想化は,レガシー・ソフトウエアとVistaの互換性を確保するための暫定措置なので,こうした仮想化は32ビット版のVistaでのみ利用可能である。Microsoftは,Vista対応のアプリケーションが新しいWindowsアプリケーションのガイドラインを順守することを期待している。多くのアプリケーションが新しい開発フレームワークに移植されるにつれて,未来のWindowsのバージョンでは,ファイル・システムとレジストリの仮想化という機能は廃れていくだろう。Vistaの互換性技術は,短期的なソリューションに過ぎないのである。

強化された暗号化ファイル・システム

 Vistaの「Enterprise」と「Ultimate」のエディションは,ディスク全体の暗号化に対して「BitLocker」と呼ばれる新しい自動化されたアプローチを取っているが,ファイルとフォルダを全体的に暗号化する手段としてWindowsが長い間サポートしているのは,暗号化ファイル・システム(EFS)である。Vistaでは,EFSのサポートが単に継続されているだけでなく,セキュリティやパフォーマンス,管理機能がさらに強化されている。

 具体的に言うと,VistaではEFSのユーザー・キーをスマート・カードに保存できるようになったのだ。これによって,管理者はEFSに保護されたデータを,以前よりもセキュアかつ容易に復元できるようになる。さらに,Vistaはシステム・ページ・ファイル,そしてリモート・ファイルのオフライン・コピーの暗号化もサポートしている。これは,管理者たちが何年間も要望し続けていた機能だ。EFSの管理を容易にするために,MicrosoftはEFS関連のオプションをいくつかグループ・ポリシーに追加している。これらのオプションには,「ユーザー認証にスマート・カードを要求する」や「ページ・ファイルの暗号化を強制する」,「それぞれのユーザーの『マイドキュメント』フォルダの暗号化を強制する」などが含まれている。

Windowsサービスとプロセスの隔離

 VistaベースのPCにおける攻撃対象領域を全体的に縮小しようという取り組みのなかで,Microsoftはデフォルトで実行されるサービスの数を減らし,サービスが可能な限り低い特権レベルで実行されるようにした。さらに,Vistaでは全てのサービスが,ローカル・マシンあるいはローカル・ネットワークに制限されるようになっている。これとは対照的に過去のWindowsでは,サービス許可は実行時の特権レベルによって,ローカルの外側にまで及ぶことがあるのだ。個々のプロセスについても,過去のWindowsバージョンと比べて大幅に制約されている。

 UACやファイル・システムとレジストリの仮想化と同様に,サービスとプロセスの隔離はどちらも,低レベル(カーネル)の変更によって,「Windowsが信頼レベルに応じてオブジェクトの分類と隔離を行うようになった」ことで可能になっている。Windowsの整合性をコントロールする新しいコンポーネントを利用すると,小さな権限しか持たないプロセスが大きな権限を持つプロセスの邪魔をするのを,本質的に防げる。Vistaでは,整合性レベルがユーザー特権に勝るのだ。

 例えばWindows XPと違って,Vistaではログオン・ユーザーの特権でマルウエアを実行できなくなっている。マルウエアを発生させたオブジェクトの整合性レベルの範囲内でのみ,マルウエアを実行できるということだ。Vistaのサービスとプロセスの隔離機能のおかげで,OSを効果的に攻撃するマルウエアが,システムの他の場所に侵入することは難しくなっている。

 Vistaには6つの整合性レベルがある。

1:Untrusted(信頼されていない)-匿名のログオンに対してのみ用いられる,使用頻度の低いレベル

2:Low(低)-Internet Explorer 7.0やインターネット一時ファイルのフォルダを含む,インターネット関連の機能に対して用いられる。

3:Medium(中)-デフォルトの整合性レベルで,標準のユーザー・アカウントや,Windowsが生成するファイルの多くに対して用いられる。

4:High(高)-昇格された権限で実行されている管理者アカウントが使用するレベル(デフォルトの状態だと,管理者にも標準のユーザー特権が適用される)。

5:System(システム)-カーネルやシステムのサービスの多くが使用するレベル。6:Installer(インストーラ)-インストールが行われるときにのみ呼び出されるレベル(アンインストーラが正常に機能することを保証するために,インストーラはシステムの他のオブジェクトより高い整合性レベルで作動する必要がある)。