MS: VistaのUACはユーザをいらいらさせるために作った 213
ストーリー by mhatta
不便さをユーザに転嫁するのはちょっとねえ 部門より
不便さをユーザに転嫁するのはちょっとねえ 部門より
非常に残念な人 曰く、
CNET Japanの記事によると、Windows Vistaのユーザアカウント制御機能(UAC)は、故意にユーザをいらいらさせ、サードパーティのソフトウェアメーカーにセキュリティの高いアプリケーションを作るよう圧力をかけるために搭載したものらしい。Windows VistaのUACの設計担当責任者だったDavid Cross氏が、サンフランシスコで開催されたRSA Conference 2008においてそう述べたそうだ。氏によれば、
とのこと。(Vistaに)UACを搭載したのはユーザーをいらいらさせるためだ。これは真面目な話だ。これまでのWindowsシステムでは、大部分のアプリケーションをインストールしたり実行したりするのに管理者権限が必要だったが、ユーザーの多くが管理者権限を持っていた。(中略)UACはISVのエコシステムを変えつつあり、アプリケーションのセキュリティは高まっている。エコシステムを変えること、それこそがわれわれの目的だったのだ。事実、警告が表示されるようなアプリケーションの数は減っている。確かにUACを有効にしているとイライラしますが、記事で書かれているように、大抵のユーザは何も考えずに許可、あるいはイライラしない為にUACを無効にしていると思います。よってこの機能は、イライラさせる以外、やっぱり何の役にも立ってないような気が…。
激しいミスリード? (スコア:5, すばらしい洞察)
「独立系ベンダーを中心としたセキュアじゃないソフトを作っている
ベンダーに、もっとセキュアを書かないといけなくなるように、
そんなソフトを使おうとするユーザをイライラさせた」というのが
正しい解釈なのでは?
まるでMSが悪意による戦略でやっているかのようなミスリードですね。
手段と目的を取り違えてますな。
たしかに、Vista登場後、Vistaに対応したソフトは、昔よりも安全に
なってきているような気がする。
気がするだけで根拠はないが。
Re:激しいミスリード? (スコア:2, 参考になる)
確かにその通りだがそれが最も最も最も最も最も改善すべき点
すべてのユーザが「管理者権限を要求することに疑問を持つ」ように教育しなければならない
それを諦めることは絶対に間違っている
そんなに不合理な話じゃないよ (スコア:5, すばらしい洞察)
要するに、セキュリティの点でお行儀の良いアプリケーションに報酬を与え、
お行儀の悪いものを罰するようなシステムを作りたかった。その一環として
ユーザの苛立ちというものをコインの代わりとして組込んだ、という話ですよ。
お行儀の悪いアプリケーションがすみやかに排除され、その結果としてUACオンでも
ユーザがいらいらする機会がなくなり、なおかつ良好なセキュリティが維持されれば、
システムとして成功を収めたと言える。
Vista の潜在的ユーザは黙って Mac OS X などと比較し、Microsoft の公式説明に
欺瞞が隠されていないかチェックすれば宜しい。
Re:そんなに不合理な話じゃないよ (スコア:1)
「イライラするからお行儀のいいソフトウェアを選ぼう」と思う人よりは、「イライラするからUACを切ろう」と思う人のほうが多そうです。
Re:元記事ぐらい読もうよ (スコア:2)
Re:そんなに不合理な話じゃないよ (スコア:2, 参考になる)
># TLBキャッシュを有効にするためのプログラムをスタートアップで走らせてる。
企業ユーザーや普通の性能を気にしないユーザーにとってバグ回避のマイクロコード組み込みは「勝手な事」ではないよね?
性能と引き換えにシステムの不安定さを取るのは限定されたユーザーでは?
ちなみにスタートアップはスタートメニューに書き込める権限のあるユーザー(通常ユーザー)ならUACに引っかからずに書き込めるのでUACの対象なのでしょう。
タスクスケジューラで回避しては如何ですか? [google.co.jp]
Re:不合理でないが不本意 (スコア:3, 興味深い)
(2)レジストリ(HKCU)に設定を保存すればよいです。shell:AppDataやshell:Local AppDataに保存してもOK
(3)環境変数tmp/tempに従えば通常設定なら問題ないはず。(GetTempPathとかで取れる)
(4)設定の書き込み先が上記の通りなら要求されないはず。プログラムや周辺データの更新ならProgram Files以下のファイルを置き換えるのでUACが要求されるのは正当な動作かと。
(5)まぁ、そういう逃げ道もありますよね。
>いきなり作れと言われても
まぁ、上記全てWin2kの頃からヤレよ?ってありましたし・・・ [microsoft.com]
# どっかで見たと思ったら自分の発言 [srad.jp]だったorz
UAC切らない派 (スコア:5, すばらしい洞察)
Re:UAC切らない派 (スコア:3, 参考になる)
元ACと同じく、UACはVistaで追加された機能の中で最も評価できる機能だと思う。
私はプライベートでOSXも常用しているが、あちらはソフトウェアアップデート時にパスワード入力が必要だ。
むしろUACは、ユーザに手間をかけさせないよう良く練られていると言えるのじゃないか?
Re:UAC切らない派 (スコア:3, 参考になる)
そのときだけ管理者権限になって管理できる仕組みがありました。(それは、それでい
ろいろ問題が発生したようですが)
でも、Windowsの場合はそんな用意がなかったか、きちんとアナウンスされてな
かったので、みんなAdmin権限で作業するようになっちゃっただけ。
で、その習慣が蔓延しちゃった今頃になって、すばらしいセキュリティ機能を発明し
たかのごとく、UACなんか導入したからみんなイラついてるんです。10年以上放置、
あるいは悪習を奨励しておきながら今頃、「俺たちってセキュリティの最先端」みた
いな発言をするから......
まあ、いつものことですが。
Re:UAC切らない派 (スコア:4, 参考になる)
「きちんとアナウンスされてなかった」と言いたいのかも知れませんけど、それではMSが可哀想です。
Re:UAC切らない派 (スコア:5, 参考になる)
runas だけでは実行ユーザーを変更できてもUAC的に昇格した状態にはなりません。
そのプロセスの中で管理者権限を必要とするプログラムの実行時にUACのダイアログが出てきます。
たとえパスワードを知っていたとしても、自動で昇格させられるコマンドは存在しないわけで、マルウェア対策としてはがんばってると思います。
# 右メニューの「管理者として実行」から Cmd.exe を1つ起動しておくと、その中から起動したものはUACダイアログ出てこなくなるのでそーゆーコマンドプロンプトを1つ上げっぱなしにしています。
Re:UAC切らない派 (スコア:2, 参考になる)
ある意味素直なアプリケーションでそれを実行すると、「別のユーザ」のプロファイルに書きこんでしまうので、実際に実行したいユーザ環境では起動できなかったりするんですよねぇ。
困ったもんです。
Re:UAC切らない派 (スコア:2, 参考になる)
Shift キーを押しながら右クリックすればメニューが出ます。 RunAs コマンドもあります。
Re:UAC切らない派 (スコア:4, すばらしい洞察)
Windowsの管理はUIが通常のデスクトップと同様なので簡単そうに見えてるだけです。
しかし実態はLinuxやUnix系より遥かに複雑なセキュリティモデルであるアクセス権限や遷移モデルを理解していないとダメです。
そこら辺の理解が出来ていない人はActiveDirectoryすらマトモに理解できないかと。
開発も同様WindowsNT系ってプログラムを単純に動かすだけならかなり楽です。
ちょこっとメモリやりソースがリークしてたりしてもシステムには簡単には影響でないし。
しかし、真に動かすWindowsロゴを目指そうとした場合様々なハードルがあります。
例えばフォントサイズや高コントラスト配色に設定されたらその通りのUIになるように切り替える必要があります。
Windows上でポリシーが設定されていればそれにあわせて挙動を変更しないといけません。
# ユーザーに任意のアプリケーションを起動させないように機能にロックを掛けるなど
他PCに移動してログインしても大丈夫なように設定の保存先や保持する内容も吟味しなければなりません。
ファイルの読み書き、設定の読み書き、API呼び出しといった全てに細かいセキュリティ権限が存在し、
一覧表示、読み込み、新規書き込み、追記書き込み、削除、属性の設定、読み出し、所有者。暗号、偽装、匿名化等様々な属性やオプションがあります。
はっきり言うとRWX程度しか存在しないLinux等の簡易なセキュリティモデルよりかなり複雑です。
設計段階でセキュリティを意識し、どこでどのようにデータを使うか、そして必要な権限はどれ位かを意識しないと不要なUACを要求されます。
ある意味DBAの方の方がこういった権限モデルを意識して設計したり触る事が多いので理解しやすいかも。
正しく理解していれば最低権限であるゲストユーザーでも正しく動作するアプリケーションを作れますし、
そういったソフトであればUACも最小限しか出ないはずです。
しかし、そういった手間を掛けなかったり、設計するSEや日曜プログラマが理解していない為にダメダメな物が主流になってるのが現状なんですけどね。
Re:UAC切らない派 (スコア:2, すばらしい洞察)
Re:UAC切らない派 (スコア:1, すばらしい洞察)
Re:UAC切らない派 (スコア:3, 参考になる)
MacOSX のパスワードダイアログ? 本当にそのダイアログはOSが出したものか、毎回確認している? gtkのgksu(だっけ? gtk使わんので知らん)なんて言わずもがな。suだって、suって打ってるからまだ多少安心できるけど、実行したプログラムが勝手にsuのプロンプト出したらまずmalwareを疑うのが筋。
他のインターフェィスと明らかに違う表示をした上で、その判断を受け付けるまで他の操作を一切拒絶する、というのは、確かにできて当たり前なんだけど、ポピュラーな商品としてはVistaがはじめて採用したセキュリティUIだと思うよ。
Re:UAC切らない派 (スコア:3, 参考になる)
> 確かにUACを有効にしているとイライラしますが、記事で書かれているように、
> 大抵のユーザは何も考えずに許可、あるいはイライラしない為にUACを無効にしていると思います。
と書いてるけど、ソースの記事に書いてあるのは
> Microsoftがオプトイン方式でユーザーから収集した情報によると、
> ユーザーの88%はUACを有効にしているという。Cross氏はこのデータを挙げ、
> UACを無効にしているユーザーが多いというのは作り話だと主張した。
> さらに、ユーザーが内容を読みもせず、やみくもに警告を了承しているというのも作り話だという。
で、この段落の後にもこれを否定する内容は書いてない。
Re:UAC切らない派 (スコア:3, すばらしい洞察)
それより腹立たしいのは、UACがオンの状態で、「行儀の悪いプログラム」がレジストリのKHLM以下に書き込んだり、Program Files以下に書き込んだりしようとしたときに、一切の警告を出さずに透過的に仮想記憶域にリダイレクトされる機能です。
詳細は「uac リダイレクト virtualstore」で検索 [google.co.jp]してください。
警告を出した上でリダイレクト処理するなら、私もUACをオンにして常用しようと思ったかもしれません。しかしそうではないので、UCAは切っています。
つまり私がUACを切る理由は、ダイアログボックスが嫌だからではなくて、リダイレクト機能が嫌だからなのです。
UAC VirtualStore リダイレクト機能だけを無効にする (スコア:2, 参考になる)
というか私も好きではなかったのでさっき無効にしたところ。
設定画面の画像を自分のblog [live.com]
に置いときました。
Re:UAC VirtualStore リダイレクト機能だけを無効にする (スコア:2, 参考になる)
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System
下にEnableVirtualizationをDWORDで作ってを0にすればOKかと。
参考:ユーザーアカウント制御(UAC)に関するセキュリティポリシー一覧 [pasofaq.jp]
各派閥へのコメント (スコア:3, おもしろおかしい)
ひどい上から目線でごめんなさい。
私も UAC の布教活動をしております。…が成果は芳しくありません。
UAC どころか Vista いらねーと言われる有様。
悔い改めなさい (スコア:2, おもしろおかしい)
客「イライラしてやった。今は反省している。」
Re:UAC切らない派 (スコア:1)
Best regards, でぃーすけ
Re:UAC切らない派 (スコア:1)
Re:UAC切らない派 (スコア:1)
ディスプレイの入力切り替え表示が出てしまって、ディスプレイのEXITボタン押す羽目に。
入力装置ならともかく、そうでないものの操作を強いられるのって
イラっとくるのレベルを超越してると思うんです。
# 主電源ついてる装置の電源コンセントが抜かれてるときとか。
Re:UAC切らない派 (スコア:1)
ポートをListenするソフトを初めて起動するときにファイアーウォールソフトが警告するときも同じように思っていました。
変かなぁ?
Re:UAC切らない派 (スコア:2, 参考になる)
他のコメントにもありますが、保護されたデスクトップを切ることで暗転せずに昇格確認ダイアログは表示されるようになりますよ。もちろん「ボタンを押すだけで昇格」だけではなく「パスワード入力必須」にすることもできます。
ただ、あの暗転している状態は他のアプリからの干渉を受けない状態となっているため (OS 機能である音声入力も受け付けなくなります) スパイウェアなどからパスワード入力時にパスワードを守ったり、昇格 ok メッセージを伝えさせないようにするという防衛目的でもあります。この点でもよくできていると思いますよ。
管理ツール以下は何を開こうとしても出てくるのがうざいのは同意ですね。イベントを見たいだけなんだよ! とか。
UAC は su/sudo/gksu 等の他実装と比べ、うざさ、使いやすさのバランスとカスタマイズ可能な機能の面で現状最強だと思いますよ。
かなりアレなカスタマイズパターンとしては、確認なしで自動昇格 + 署名されているソフトウェアのみ昇格可能の形にするとかなり強烈。試してないけど、企業用ならこれで自社内 CA と MS CA だけ残して消してしまうとかやると、管理面でかなり楽になるかも?
相手を間違えている (スコア:3, おもしろおかしい)
新UACはこんなのにすれば、行儀のいいソフトが増えるんじゃないでしょうか
「こんな行儀の悪いプログラムを売ってる会社はろくなものじゃありません」
→はい/そうですね
「このプログラムの使用はお勧めできません。○○社の××の方が安くて安全でおすすめです」
→注文する/アンインストールする
それがMSクォリティ (スコア:1, 興味深い)
要は、消費者から訴追されないように、ってことが主眼ですから、その意味では十分役割を果たしているとは言えるでしょう。
Re:それがMSクォリティ (スコア:2, すばらしい洞察)
MacOSXだって似たようなものなんだが。
Re:それがMSクォリティ (スコア:1)
fjの教祖様
Re:それがMSクォリティ (スコア:1, おもしろおかしい)
頼む。赤い盾をタスクトレイに出すな。 (スコア:1)
#でもあの盾出さない仕様にすると、プリインストールのVista機全部UAC無効に変わったりして。
Re:頼む。赤い盾をタスクトレイに出すな。 (スコア:1, 参考になる)
実行時に管理者権限の必要なアプリケーション (スコア:1, すばらしい洞察)
でしょうね。
# ひょっとしてアプリケーション開発者の手抜き?
Re:実行時に管理者権限の必要なアプリケーション (スコア:2, すばらしい洞察)
どの操作に管理者権限が必要なのか理解していないから。
じゃないのかな。
Re:実行時に管理者権限の必要なアプリケーション (スコア:2, 興味深い)
# 同じかは知らないけどVista対応した某ゲームやってます。
Re:実行時に管理者権限の必要なアプリケーション (スコア:1, すばらしい洞察)
個人のプログラム作成者にありがちだけど、過去の実装方法をいつまでも引きずってる例は少なからずある
(レジストリ書き込み=悪と捉えがちだけど、HKCU配下に設定を書く方が多ユーザ対策として一番楽なんだよね)
Re:実行時に管理者権限の必要なアプリケーション (スコア:1)
Windowsのアプリでは、管理者権限がないと
まともに動作しないソフトが多かった気がします。
自分も「せっかくUserというグループがあるんだから、できるだけ…」
というクチでしたが、普通に使えなかったので断念。
これじゃぁ意味ないじゃん、と思ったものですがね。
Windowsって、どうも「管理者」と「使用者」を
しっかり区別できていないような気がする。。
できているなら、管理者にさせないようにもう少し何とか…
例えばショートカットに実行権限をつけておいて…とか。
VistaのUACに関しては、
スケジューラからの自動起動で例のダイアログが出て、
使い物にならなかったので無効にした…
「今後このソフトに限ってダイアログを出さない」
なんてチェックがあればなぁ…と
Re:実行時に管理者権限の必要なアプリケーション (スコア:2, おもしろおかしい)
> 何で管理者権限が必要なのか理解できません。
ソフト屋「え!?だって、画像を管理するわけでしょ?」
だめ押しをしたかったのですね (スコア:1, おもしろおかしい)
Re:だめ押しをしたかったのですね (スコア:2, おもしろおかしい)
「そのものか」って「そのものが」でしょう?
そういうのすごくイライラするの。
きっちりしてよ!
# リトマス試験紙ですよ。
# 声が聞こえちゃったら負けです。
Re:だめ押しをしたかったのですね (スコア:1)
「Windowsそのものが、イライラするように作られているじゃないか。」
と句読点を打つ事はできます。少なくとも最後に句点は打てます。
別に「,」「.」としてもらっても構いません。
=-=-= The Inelegance(無粋な人) =-=-=
その中にはMicrosoftの製品もある (スコア:1, おもしろおかしい)
>警告のうち、80%は10本のアプリケーションが原因となっているが、その中には、ISVの製品もあればMicrosoftの製品もある。
Microsoftにも行儀の悪いアプリがあったってこと?
管理者権限を持つユーザーでも (スコア:1)
その辺の設計思想がよく分らない。
Re:管理者権限を持つユーザーでも (スコア:2, 参考になる)
1.「標準ユーザとしてログイン」→管理者権限が必要なときに管理者パスワードの入力を求められるユーザ
2.「管理者としてログイン」→普段は非管理者として動作して、必要なときにワンクリック確認が必要なユーザ
3.「UAC切って管理者ログイン」→UNIXのrootで日常作業するのとほぼ同義
ということ。
UNIXには1と3に相当するものしかなく、いちいちパスワード入力が必要だが、高速でrootパスを入れるのが染みついている人が多く文句も出ない。
Vistaはデフォルトで1と2から選ぶが、実は1と2は本質的な差ではあまりない。ただユーザの意識とアプリケーションの対応が追いついてない部分はある。
よほど冒険好きか、無知か、短期か、いずれかであれば3を選ぶことも可能。
…特にVistaが劣ってるとは思わないけどねえ。
Re:管理者権限を持つユーザーでも (スコア:2, 興味深い)
Re:管理者権限を持つユーザーでも (スコア:2, 参考になる)
権限の大きい順に、
管理者権限ユーザ(UACオフ) > 管理者権限ユーザ(UACオン) > 一般ユーザ
みたいな感じで。
# ただ、UACのオン/オフはシステム全体に働いてしまい、しかも切り替えには再起動が必要なので、そう簡単には切り替えられませんけど。
UACオフ時の管理者権限ユーザは、rootと同じで昇格の必要がありません。
一般ユーザはそのままではシステム全体に関わる設定が行えないため、設定を行う時点で管理者パスワードが要求されます。(sudoと同じ)
一方、UACオン時の管理者権限ユーザは必要に応じて権限昇格ダイアログ(パスワード不要)が表示されますが、sudoとは違って認証後しばらくそれを覚えているような機能はありません。コントロールパネル系ではボタンを押すたびにダイアログが表示されることも多く、これが嫌われる原因のような気もします。
でも、Vistaでもエクスプローラ自体を「管理者として実行」させてしまえば、そこから起動される子プロセスは管理者権限を持ったままです。
エクスプローラからコントロールパネルの実行もできますから、こうしてしまえば権限昇格ダイアログが表示されるのはエクスプローラ起動時の1回だけで済みます。
(もちろん、常用が危険なのは言うまでもないですが)