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

» 2006年02月17日 07時00分 公開
[Michael Cherry,Directions on Microsoft]
Directions on Microsoft 日本語版
前のページへ 1|2|3       

レガシーアプリケーションの動作の保証
 現在の一部のWindowsアプリケーションでは、ユーザーは比較的ささいな作業を行う場合でも管理者レベルの権限を要求される。これは多くの場合、ずさんな開発のやり方が原因だ。例えば、一部のアプリケーションは日付形式の指定などユーザー固有の情報を、レジストリやファイルシステム内の、管理者レベルの権限でのみデータ変更が可能な領域に保存する。だが、こうした領域は本来、共有情報やシステム全体の情報専用だ。

 こうしたアプリケーションがWindows Vista上で動作できるようにするため、UACはユーザーごとに、レジストリやファイルシステムの一部のコピーを保持する仮想ストアを作成する。ユーザーレベルの権限で動作するレガシーアプリケーションがシステムの制限領域にアクセスしようとすると、Windowsはその要求をユーザーの仮想ストアに自動的にリダイレクトし、実際のシステムストアが使われないようにする。

 しかし、アプリケーションの互換性対策を提供することにはリスクもある。まず、仮想ストアのような対策の仕組みは複雑であるため、信頼性の問題が発生する原因になる可能性がある。とりわけ、実際のストアと仮想ストアの両方を扱う必要があるユーティリティではその可能性が高い。さらに、下位互換性を確保するためのWindowsコード自体が、Windowsを危険にさらすバッファオーバーフローなどの欠陥を招く恐れもある。

アプリケーション側のアップデートも必要に

 UACに対応したレジストリキーとシステムファイルの場所の仮想化は、不適切な場所へのユーザーデータの保存を防ぎ、既存アプリケーションに対するある程度の互換性を提供するだろう。だが、開発者は権限に関連するすべての問題の解決を仮想化に頼るべきではない。また、この機能がWindowsの今後のすべてのバージョンに搭載されることを当てにするべきではない。開発者は、仮想化を既存アプリケーションのための暫定措置と考えるべきであり、既存アプリケーションを次期リリースにアップデートする際には、制限ユーザー権限で動作するようにしなければならない。

 開発者がVistaの出荷前に権限にかかわる問題を把握することを支援するため、MicrosoftはApplication Verifierを提供している。開発者はこのツールを使って、メモリの破損やセキュリティの脆弱性など細かいプログラミングエラーを発見できる。Application VerifierはアプリケーションのWindowsとのやり取りを監視し、アプリケーションがレジストリ、ファイルシステム、そのほかのOSオブジェクトをどのように使用しているかを調査し、ユーザーが管理者でない場合にアプリケーションがどの程度良好に動作するかを予測する。

Application Verifierの画面
 Application Verifierにより、開発者はアプリケーションについて、使用が管理者のみに制限されているオブジェクトや場所へのアクセスにかかわるエラーなど、さまざまな細かいプログラミングエラーをチェックできる。

 また、開発者は以下のことを保証する必要があると考えられる。

  • 管理者レベルの権限を本当に必要とするアプリケーション機能が、より重要度の低いタスクから分離されている。
  • 管理者権限を必要とする構成作業がインストール時に行われ、ユーザーによってプログラムが初めて実行される場合に行われるようなユーザー設定では、管理者権限を必要としない。
  • アプリケーションがあらかじめ管理者レベルの権限を明示的にチェックすることを、アプリケーションが動作するための前提にしない。

 さらに、アプリケーションは独自の更新やパッチ適用のメカニズムを採用するのではなく、インストールやパッチ適用のためにWindows Installerを活用するべきだ。Windows Installerはシステムと連携して、インストールやパッチ適用が適切な権限レベルで行われるようにするからだ。

前のページへ 1|2|3       

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.

注目のテーマ