米Microsoftは5日(現地時間)、一部べータテスターらの間で論争となっていたWindows 7のUAC機能実装問題について回答した。Windows 7ではUACの警告レベルを4段階のスライダーで設定可能だが、ベータ版では簡単なスクリプトでユーザーが意図しないうちに警告レベルの変更が可能となっている。問題報告後もMicrosoftはこの動作を「仕様」だとして次のリリースであるRC版でも変更しない意向を示していたが、多数のユーザーらからの反論を受け、最終的にレベル変更時に警告ウィンドウを表示するなどの修正をRC版で加える予定だと説明している。

この問題は、マルウェアなどの危険なコードを含むプログラムの実行を未然に防ぐUAC機能で、ユーザーが手動で操作しなくても、プログラムが直接ダイアログのパラメータを操作して自動的に警告レベル変更が可能だというものだ。ユーザーが知らぬ間にプログラムが警告レベルを落とし、悪意のあるコードを実行することも可能である。

1月初旬にWindows 7ベータ版がリリースされた後、さまざまなユーザーがベータ版のテストに取り組んでいる。その中で一部のテスターらが上記の問題に気付きMicrosoftに報告したところ、同社はベータテストに参加する開発者らの情報交換サイト「Connect」で「仕様です (By Design)」とコメントして不具合として取り上げることはなかった。だが同件がUAC実装の不具合だと考えるテスターらは現象を再現するVBScriptによる簡単なコードを記述し、「i started something」や「within windows」という名称のサイトでそれぞれ状況を説明し、Microsoftや他のテスターらに問題を訴えかけた。スクリプトはシンプルなもので、UACのダイアログを開いてキーボードショートカットを順番に実行して警告レベルを変更するだけだ。

だが、その後もMicrosoftはこれを問題とは認めず、今後も変更する予定はないとのコメントをWindows 7の開発ブログの中で記述している。コメントを投稿した同社Windowsコアシステム部門SVPのJon DeVaan氏によれば、スライダーを操作できるプログラムが存在するということは、ユーザーがUACの機能を切っている、あるいはユーザーがプログラムの実行を許可することでUACのチェックを通過している状態にあるという。実際、コードの実行時にはUACが事前に警告を出す仕様になっている。またWindows 7に搭載されるInternet Explorer 8の持つSmartScreen Filterや電子メールソフトがインターネット越しでのプログラム実行を監視しており、問題が発生する可能性は少ないと説明する。UACの警告レベルが下げられた後にプログラムが追加のマルウェアをダウンロード、実行する可能性があるが、この時点ですでにUACの防衛線は突破されていることになる。UACはあくまでユーザーにシステム設定の変更をともなうプログラムの実行を通知するもので、防衛線であったり100%のセキュリティを提供するものではないというのが同社のスタンスだ。

この件について多数の意見がテスターらから寄せられた。テスターらからの提案はシンプルで、UACのレベル変更に際してユーザーに確認をとるためのダイアログを表示すればいいというものだ。利便性とセキュリティという背反する問題のようにも思えるが、実際にはUACのレベル変更作業は通常の利用でほとんど発生するものではないため、ダイアログの追加は一種の安心料みたいなものである。こうした提案は最初に問題が報告されたころからMicrosoftに対して行われており、同社がシステムデザイン上の問題を理由に要求を拒み続けていたような流れだといえる。だが最終的にMicrosoft側では要求の受け入れを決め、RC版で「UACダイアログの特権モードでの実行」「レベル変更時へのユーザー確認」の2つの変更を行っていくと発表した

Microsoftの説明するように、現時点でセキュリティ的には大きな問題ではない可能性のある今回の話題。だが重要なのは、こうした議論がユーザーとMicrosoftとの間できちんと行われたこと、またユーザーの意見に同社が耳を傾けて製品へと反映したことにある。ベータテスターたちは先鋭的なユーザーであり、今後製品を宣伝するうえでの貴重な意見の持ち主たちだ。今回の決断はWindows 7が成功するうえでの小さな積み重ねの1つとなるだろう。