セキュリティ基盤を刷新するVista権限モデルの影響度(2/3 ページ)

» 2006年02月17日 07時00分 公開
[Michael Cherry,Directions on Microsoft]
Directions on Microsoft 日本語版

Windows XPを非管理者として実行する場合

 一部のWindows XPユーザーは、Windowsを常に管理者レベルの権限で利用することによるセキュリティリスクを心配し、管理者レベルとユーザーレベルの2つのアカウントを作成する。そして彼らはできるだけユーザーレベルの(最低限の権限の)アカウントを使用する。だが大抵の場合、これでは快適に作業することができないため、こうしたユーザーはあきらめて、管理者権限のアカウントを1つだけ使うやり方に戻るケースが多い。

 ユーザーがこのアプローチをあきらめる主な理由は次のとおりだ。

  • 一部の作業を行うためにいったんログアウトして管理者アカウントでログオンし直すことを頻繁に強いられる。
  • Windowsアプリケーションの多くは管理者権限がないと動作しない。
  • 「RunAs」コマンド(Microsoftはこのコマンドを、Windows XP上で権限を一時的に昇格する方法として推奨している)は正常に機能しない場合が多く、多くのアプリケーションで利用できない。

 Windows XP SP2はメインストリームサポートフェーズにあり、多くの顧客に利用されているが、最低限の権限で通常の作業を行えるようにする仕組みは、Windows Vistaで実現されるものの、Windows XPには適用されない。Microsoftはこの仕組みの実現を、サポートでカバーされるバグやコーディングミスの修正ではなく、アーキテクチャの強化と位置づけている。

ユーザー・アカウント・コントロールの導入

 Windowsのセキュリティを競合OSに匹敵するレベルに強化するため、MicrosoftはWindows Vistaで設計を見直し、ユーザー・アカウント・コントロール(UAC)という機能をサポートしている。UACでは、管理者承認モード(AAM)で使われる特別な種類のアカウントが作成される。デフォルトではこのアカウントは制限ユーザーとして動作するが、ユーザーはより高い権限が必要な場合には、グループポリシー設定に応じた管理者資格情報や承認を提供でき、これによって権限が昇格され、新しいソフトウェアのインストールなど、管理者レベルの作業が行えるようになる。昇格した権限は特定の作業についてのみ有効であり、ほかのプログラムには影響しない。その作業が完了すると、例えば、新しいソフトウェアがインストールされると、その作業を実行する昇格されたプロセスは終了し、昇格した権限は失われる。

 UACによってWindowsのセキュリティ強化を実現するには、Microsoftはどの作業を管理者のみに制限するかを決定し、一時的な権限昇格を容易にし、Windowsアプリケーション間でやり取りされるメッセージを隔離しなければならない。また、Microsoftはアプリケーションの互換性を極めて重視しており、Windowsの機能変更に伴うアプリケーションの不具合を防止するという観点から、レガシーアプリケーションが管理者権限なしで動作できるようにすることにも取り組んでいる。

高い権限が必要な作業の決定
 Windows XP上で管理者レベルの権限が必要であることが妥当な作業として、アプリケーションのインストールや削除などがあるが、管理者権限が現在必要な作業の中には、より低い権限のユーザーが実行できるようにしても安全なものもある。例えば、これまでユーザーは、システム時間を変更するには管理者レベルの権限が必要だった。だが、ユーザーがノートPCを持って異なるタイムゾーンの地域に出張や旅行に行くことも多い。こうした場合のために、Vistaでは非管理者ユーザーがコンピュータのタイムゾーン設定を管理できるようになる。

一時的な権限昇格
 ユーザーが管理作業を行う場合に、ユーザーレベルのアカウントからログオフして管理者アカウントでログオンし直さなくても済むようにしなければならない。Vistaでは、ユーザーはボタンをクリックしたりダイアログボックスを使って管理者資格情報を提供し、管理作業を行うことができる。管理者権限は特定の作業についてのみ有効であり、その作業が完了すると、ユーザーは自分のユーザーレベル権限に戻る。

メッセージの隔離
 Windows OSとアプリケーションはメッセージを介して通信する。メッセージはアプリケーションによってキューに置かれ、取り出され、処理される。例えば、ユーザーがウインドウをクリックすると、「クリック」メッセージがそのウインドウのキューに置かれる。現行版のWindowsでは、Windows上で動作するすべてのアプリケーションがほかのどのアプリケーションにもメッセージを送ることができる。ほかのアプリケーションがそれらのメッセージを必要としない場合も含めてだ。Windows Vistaでは、アプリケーションやプロセスは自身よりも権限が高いアプリケーションやプロセスに、メッセージを使って入力を送ることはできない。これにより、プログラムが自身よりも高い権限でタスクを処理したりコードを実行することが防止される。

Copyright(C) 2007, Redmond Communications Inc. and Mediaselect Inc. All right reserved. No part of this magazine may be reproduced, stored in a retrieval system, or transmitted in any form or by any means without prior written permission. ISSN 1077-4394. Redmond Communications Inc. is an independent publisher and is in no way affiliated with or endorsed by Microsoft Corporation. Directions on Microsoft reviews and analyzes industry news based on information obtained from sources generally available to the public and from industry contacts. While we consider these sources to be reliable, we cannot guarantee their accuracy. Readers assume full responsibility for any use made of the information contained herein. Throughout this magazine, trademark names are used. Rather than place a trademark symbol at every occurrence, we hereby state that we are using the names only in an editorial fashion with no intention of infringement of the trademark.

注目のテーマ