UAC のフィードバックとフォローアップ

この “E7” ブログを始めたとき、ワクワクすると同時に少し不安でもありました。ワクワクするのは当然です。不安と言うのは、いつか収拾がつかなくなるかもしれないと思ったからです。まずく設計された機能についてブログを書くから収拾がつかなくなるのか、それともよく設計された機能についてまずいブログを書いてしまうから収拾がつかなくなるのかは分かりません。一部の人には、UAC のトピックについて私たちは両方のことをしたように見えるでしょう。あの時の私たちの対話は、多くの人が耳を傾けていないと感じ、また、さまざまな観点が正しく伝わっていない感じるものでした。それは私たちが目指した対話ではなく、改善できるよう最善を尽くすつもりです。

今回の投稿では、このブログ自体と製品の機能の両方を正しい方向へ持っていきたいと思っています。みなさんが、このブログに関する最近のできことをどうお考えになられているか、とても心配です - Windows 7 は面白すぎます。しかし少々私たちも手に負えないくらいに、なってきました。この投稿によりみなさんがまた元のとおりに楽しめる状態に戻ることを願っています!

まず初めにフィードバックの中から代表的なコメントをご紹介します。それから、私たちが行おうとしている変更についてお話し、どう前進するかに関して私たち全員が同じ考えであることを確認したいと思います。コメントについてですが、次のような声が寄せられました:

@srousseyさんのコメント:

世の中の 95% の人はあなたたちが間違っていると思っています、たとえ、その人たちの方が間違っていたとしても。問題は、彼らはあなたたちの製品を買ったり薦めたりしてくれる人だということです。つまり、変更を実装することによりセキュリティが強化されたと誤った認識を与えて (あいまいなセキュリティと大差ないですが) 彼らを喜ばせるのですか? それとも、本当にセキュリティの境界線を強化するのですか?

そして @Thackさんのコメント:

Jonさん、
考えを共有してくれてありがとうございます。おっしゃることは分かりました。
さて、ひとつのとてもシンプルな変更を呼びかけるために発言したいと思います。
UAC のプロンプト レベルを特別なケースとして扱うのです。UAC へのあらゆる変更に対して、それがユーザーによるものでもプログラムによるものでも、ユーザー アカウントの種類や現在のプロンプト レベルにかかわらず、UAC プロンプトを表示するようにするのです。
これが、みんなが望んでいることです。他に変更は必要ありません。デフォルトのレベルは今のままで、UAC もそのままにしてください。UAC プロンプト レベルに対する非常な特殊なケースの変更についてだけお話しているのです。
大して面倒なことにはならないでしょう。ほとんどの人は (仮にそうであるとしても) UAC のレベルを一度変更するだけです。
あなたたちは確信しているようですが、UAC のプロンプト レベルを変更しようとするものが本当にあるのか、知りたいです。
想定されるマルウェアがどのようにマシンに入り込むか、まだ誰も実際にやって見せていないことは問答無用です。そのうち誰かが他の境界線を通り抜けるでしょう。
私の言っていることが納得できないようでしたら、広報の論争はマイクロソフトにとって非常に簡単なことなのでしょうね。
Jon さん、お願いです。少しの変更で多くのユーザーからの信頼とすばらしい広報活動が得られます。

Thack

これらや他に寄せられたたくさんのフィードバックを参考にさせていただき、RC (Release Candidate) 版では 2点ほど変更する予定です。ひとつ目として、UAC コントロールパネルは高信頼性プロセスで実行され、昇格が必要となります。これはこの議論の前にすでに作業を始めていたことで、こうすることにより SendKeys および同類のすべての機能が動くのを阻止します。ふたつ目は、UAC のレベルを変更する場合も確認のプロンプトが表示されるようになります

@mdaria510さんのコメント:

たまには、あなたたちの理想と矛盾しているのもいいことです。みんなを安心させるためにも、特例を設けてください。

これは私たちがどこに向かっているかを総括しています。最初の変更はバグ修正で、実は他にもふたつ似たようなのがあります—多くの方々には、すでに普通にWindows 7 を使っていただいています。しかしまだベータ版なのです。二番目の変更は直接フィードバックによるものです。モデルのこの「矛盾」はまさに私たちが歩んでいる道です。UAC の設定はパスワードのようなものだと考えています。つまり、パスワードを変更するには、古いパスワードを入力する必要があります。

フィードバックで、「UAC は特別だ、なぜなら、もし昇格せずに変更できたら、今後の警告を黙って無効にするのに使用され得るからで、よって UAC の設定を変更するには昇格を必要とすべき」というものがあります。コメントの問題点について、私たちは存在しないセキュリティへの印象や期待を促したくないのです—やはり、発行元を信頼できない限り、コードをダウンロードすべきではないのです。HTML、EXE、VBS、BAT、CMD などはすべてコードで、標準ユーザーとして実行しても管理者として実行しても、環境 (ユーザーの設定やファイル) を変更する可能性を持っています。私たちは承諾なしにコードがマシンに入り込まないようにする手助けをすることにフォーカスしており、多くの他社製ツールももっと役に立ちます。みなさんに新しい UAC コントロールと新しいデフォルト設定を満足していただきたいので、フィードバックによって明らかにされた、これまでに述べた変更を加えることにしました。

この件について話し合いながら、Windows 7 のセキュリティをどう評価するかに関して、私たち全員が同じ考えで前進していることを確認したいと思います。UAC の設定はさておき、Windows 7 Beta の脆弱性の側面についての議論はコードがマシンに入り込むところから始まっていますが、示されたケースでは Windows のメカニズムがそれを阻止してしまいます。また、複数の手順を示して潜在的なセキュリティ上の弱点を説明してくださることもありますが、その最初の手順をよく見ることが重要です—もしその最初の手順が「まずマシン上でコードを実行させる」であるとすれば、設定を変更しようがするまいが、その後のことはすべて形のないものです。承認なしにコードがマシンに入り込み実行される能力を、私たちはとても真剣に受け止めています。Jon の投稿でも手短に強調されていましたが、Windows 7 の作業は、ユーザーの承認なしにコードを入手して実行することのないよう、PC を安全に保つために適所の保護を強化することです。そしてもちろん、Windows のコードがシステムの改ざんや保護を逃れるような行為から安全であるよう確認し続けていきます。

システム全体のセキュリティについて繰り返しお伝えしたいと思います。Windows 7 は SD3+C であり、Vista よりもっと堅牢に設計されています—それが私たちの優先事項です。私たちの誰も、決して Windows 7 が Vista より安全性に不安があると思われたくありません。Windows 7 の設計のポイントは、デフォルトで Windows Vista より堅牢であることだからです。

私たちは Windows 7 について設計およびブログを書く過程で間違いを犯してしまったと思った、と言いました。しかし、私たちは今後も対話を続けていきたいと思います。そして、エンジニアリング、おそらく Windows 7 のエンジニアリングは特に、広範囲の表現された観点による活発な議論のようなものだということをみなさんに分かっていただければ嬉しく思います。議論がとても活発になることや観点が浮き彫りになることは続いていってほしいと思います。逆に、私たちは学ぶ機会を得て、学んだことについて正直になりたいと思いますし、みなさんにもそうあってほしいと思います。このブログは私たちにとってもうひとつ別の製品を構築しているようなものです。そして、とてもすばらしい経験をしています。さあ、みなさん、仕事と本来の Windows 7 のエンジニアリングについての対話に戻りましょう。そして、もちろんもっとも重要なことですが、私たちは今後もあらゆる観点からの意見を聞き、私たちの考え方を共有し、全員がすばらしいと思える Windows 7 という製品を提供するために一緒に作業していきます。

--Jon と Steven