こんにちは、阿久津です。Windows Vistaから導入された新機能のなかでも不評だったのが、UAC(ユーザーアカウント制御)です。本来、一般権限と管理者権限を持つユーザーの差異は、現行OSのベースとなったWindows NT時代に導入されたもの。コンシューマOSとして開発されたWindows 9x系と、業務用OSとして位置付けられたWindows NT系OSはその性格も異なり、当時のその差異に戸惑った方も少なくないでしょう。

そもそもコンピュータを常日頃から管理者権限を持って活用するのは非常に危険です。マルウェアの大量被害を例に出すまでもなく、自由度の高さは同時にセキュリティレベルの低下につながってしまうからです。そのためNT系OSでは、管理者特権を一般ユーザーと分離することで、OSのセキュリティレベルを強化する方針を選択しました。

しかし、9x系OSとNT系OSを融合させて生まれたWindows XPでは、システム設定やアプリケーション導入など、各種制限を嫌う多くのユーザーが、常用アカウントに管理者権限を付加し、OSを活用する結果となってしまいました。もちろん管理者権限を持つシステムアカウントと常用するユーザーアカウントの切り替えが容易いではなかった、という問題もありましたが、結果的には管理者権限を常に保有しないとOSのカスタマイズもままならなかったのは事実。これがUACという機能を生み出す土台となったわけです。

Windows VistaにおけるUACは、これらの反省点を前に生み出された機能です。管理者権限を付加したアカウントでも、通常は一般ユーザーレベル権限で動作し、デバイスドライバの導入など管理者権限をOSが求める際にダイアログを表示。パスワードの入力を持って、権限昇格を行なうというものでした。

そもそも利便性とセキュアレベルは反比例するものです。しかしながら、管理者権限を付加したアカウントでWindows XPを使ってきたユーザーには、UACによる確認ダイアログは煩雑以外の何ものでもありません。またユーザーのなかには"自分の操作を確認されることに不快感を覚える"方も少なくないでしょう。

図1: UACのレベルは4段階。ベータ版ではスムーズに切り替えることができます

これらの点を踏まえて、Windows 7ではUACに警告レベルを設けました。1段目はすべての設定変更に対してダイアログを表示し、確認をうながすというもの。これはWindows Vistaと同じ状態となります。2段目はコントロールパネルなどを経由したWindows 7の設定変更時にダイアログを表示するというもので、これが既定値。3段目も2段目と同じく設定変更時にダイアログが表示されますが、デスクトップが暗く表示され、操作できなくなるセキュアデスクトップを無効にします。これは、一部のビデオドライバで描画の応答性が著しく落ちる環境向けと言えるでしょう。そして4段目は一切の確認を行ないません。つまりUACの無効化です。

図2: レベル1と2では警告範囲が異なると同時に、セキュアデスクトップが有効になります

図3: レベル3の警告範囲はレベル2と同じながらも、セキュアデスクトップが無効になります

図4: UACを無効にすると再起動をうながされるのは、Windows 7でも同じです

本来ならここで話は終わるはずでしたが、UACの動作は一般公開されたベータ1(ビルド7000)から、開発者や一部ベータテスター向けに公開されるであろうRC(製品出荷候補)版で若干の改良が加わる予定だと、本誌でも報じられました

そもそもUACの警告レベルはスライダーで切り替え、ウィンドウ内の<OK>ボタンをクリックすることで変更可能です。UACの警告レベルが1から他のレベルに変更する場合は、確認ダイアログを表示。レベル2~3の間ならばそのまま設定され、レベル4に変更する場合は再起動が必要となります。上記の改良は、このスライダーによる変更が、簡単なスクリプトで変更できることを見つけたユーザーコミュニティが改良を求めた結果とされています。

このままではスクリプトを用いたマルウェアを仕込むことで、UACを無効にし、マルウェア本体による活動を容易にしてしまうため、ムダなリスクを背負うことになります。そのため、RC版ではレベル変更時に警告ウィンドウを表示するなど、何らかの改良を加えることになりました。この点に関しては春過ぎに登場すると噂されているRC版登場時に再度ご報告させてください。

そろそろ誌面も尽きてきましたので今回はこの辺で。次回もWindows 7の新機能をチェックしていきましょう。

阿久津良和(Cactus)