ユーザーアカウント制御(UAC)の奇妙な体験――デスクトップは暗転しない?:その知識、ホントに正しい? Windowsにまつわる都市伝説(101)(1/2 ページ)
Windows Vistaで導入された「ユーザーアカウント制御(UAC)」。Windows Vistaではオン/オフしかできませんでしたが、Windows 7以降は4つのレベルで挙動を調整できるようになりました。その1つに「デスクトップを暗転しない」がありますが、これが推奨されない理由、ご存じですか?
Windows Vista/7のUACではデスクトップが暗転する
Windowsでは、ローカルコンピュータに管理者権限を持つ管理者ユーザーと、管理者権限を持たない一般ユーザーを分け、日常的な作業は一般ユーザーでログオンして行うことが推奨されてきました。これは、Windowsに限らず、推奨されることです。
しかし、Windows XPのときには、管理者権限が必要なときにログオンし直したり、「別のユーザーとして実行」や「RunAs」コマンドで資格情報を入力したりすることが煩わしかったため、日常的に管理者権限を持つユーザーでログオンしておき、管理権限を必要としない作業も実行するという利用形態が多く見られました。その結果、マルウェアへの感染がシステム全体に影響するというリスクが増えることになりました。
Windows Vistaで導入された「ユーザーアカウント制御(User Account Control:UAC)」機能により、たとえ管理者権限を持つユーザーでログオンした場合でも、通常は権限が制限された状態(管理グループや特権割り当ての削除)でプログラムを実行するようになりました。そして、管理者権限を必要とする際に「ユーザーアカウント制御」ダイアログボックスを表示して確認を求めるようになりました。
管理者権限を持つユーザーは「続行」ボタンをクリックすることで、権限を昇格(無効化されていた管理グループや特権の取得)できます。一般ユーザーは、管理者権限を持つユーザーの資格情報の入力が要求されます(後者は「肩越し昇格」とも呼ばれます)。たとえ管理者権限を持つユーザーであっても、その管理者権限を行使するには“ワンクッション”必要になります。単にボタンをクリックするだけのことなのですが、それだけでも悪意のある攻撃が成功する確率はずっと低くなります。
Windows Vistaでは「ユーザーアカウント制御」ダイアログボックスが表示される際、デスクトップが暗転して、「ユーザーアカウント制御」ダイアログボックス(および入力システム)以外は操作できなくなります(画面1)。Windows Vistaでは、この既定の動作の他、UACをオフにすることができました(上記の理由によりオフにすることは推奨されません)。
Windows 8以降、デスクトップは暗転しない(暗転しているように見える)
Windows 7以降は、次の4つのレベルでUACの挙動を調整できるようになりました。
- 常に通知する
- アプリがコンピュータに変更を加えようとする場合のみ通知する(既定)
- アプリがコンピュータに変更を加えようとする場合のみ通知する(デスクトップを暗転しない)
- 通知しない
Windows 8以降もWindows 7と同じ4つのレベルで調整できますが、さらに新しい挙動が加わっています。以下の画面2は、Windows 10の「ユーザーアカウント制御」ダイアログボックスですが、Windows 8/8.1も同様です。
前出の画面1と見比べて、何か気が付きませんか。デスクトップ上に開いていたウィンドウやメニュー、タスクバーの類いが何一つ表示されていません。実は、デスクトップを暗転しているように見えて、実際には暗転しない(暗転したように見せる)挙動に変更されたのです。
Windows VistaでUACと同時に実装された「整合性レベル(Integrity Level:IL)」と「ユーザーインタフェース特権の分離(User Interface Privilege Isolation:UIPI)」により、悪意のあるコードが「ユーザーアカウント制御」ダイアログボックスを操作することは困難になっています。
あるプログラム(プロセス)のウィンドウを操作するには、操作元のプロセスが操作対象のプロセスと同じか、またはそれ以上のILを持つ必要があるからです。つまり、既に管理者権限を持っているプロセスでなければ、「ユーザーアカウント制御」ダイアログボックスを操作することはできません。
別の言い方をすると、「既に管理者権限を持つプロセス」を使える人は、「ユーザーアカウント制御」ダイアログボックスを操作することに興味はないでしょう。もっと別の悪いことをこっそりとできるからです。既定のUACの設定を「アプリがコンピュータに変更を加えようとする場合のみ通知する(デスクトップを暗転しない)」に緩和することは、ILとUIPIの壁を取り払ってしまうことになるため、決して推奨されません。
Windows 8以降の“暗転しているように見えるデスクトップ”の正体は、プログラムが実行されていたのとは別のデスクトップ(オブジェクト)です。Windowsは、異なるデスクトップ間のメッセージング(マウスカーソルの位置やキー入力などのやりとり)を許可していません。つまり、UACにはILとUIPIの壁に加えて、さらに「デスクトップの壁」が追加されたのです。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 「Windows Server version 1709」のダウンロード配布が開始――Microsoft
Microsoftは、Windows Serverの「半期チャネル」による初のリリースとなる「Windows Server version 1709」のダウンロード配布を開始した。コンテナやマイクロサービス関連など、多くの新機能を提供する。 - 「Windows Server version 1709」では、Nano Serverコンテナイメージサイズが80%縮小
Microsoftの公式ブログで、2017年秋に投入予定の「Windows Server version 1709」で注目されるNano ServerおよびLinuxコンテナ機能が紹介された。 - 先行き不安なWindows Update――ボクが2017年10月の更新をスキップした(できた)理由
毎月第二火曜日の翌日(日本時間)は、恒例のWindows Updateの日です。最近は何か問題が起きるのではないか、更新に何時間もかかったり、その上失敗したりするのではないかと、恐怖さえ感じます。さて、2017年10月のWindows Updateは無事に済んだのでしょうか。 - Windows Server 2016の今後の“更新”が怖い
テスト環境として構築したWindows Server 2016の物理サーバと仮想マシン。その一部でWindows Updateやシャットダウンに異様に時間がかかるといった現象に遭遇しました。そんな中、Windows Serverの次期バージョンに関する新方針の発表もあって、いろいろな面で“更新”に対する不安が高まっています(筆者の個人的な感想)。