何となく Blog by Jitta
Microsoft .NET 考

目次

Blog 利用状況
  • 投稿数 - 761
  • 記事 - 18
  • コメント - 36167
  • トラックバック - 222
ニュース
  • IE7以前では、表示がおかしい。div の解釈に問題があるようだ。
    IE8の場合は、「互換」表示を OFF にしてください。
  • 検索エンジンで来られた方へ:
    お望みの情報は見つかりましたか? よろしければ、コメント欄にどのような情報を探していたのか、ご記入ください。
It's ME!
  • はなおか じった
  • 世界遺産の近くに住んでます。
  • Microsoft MVP for Visual Developer ASP/ASP.NET 10, 2004 - 9, 2011
広告

記事カテゴリ

書庫

日記カテゴリ

ギャラリ

その他

わんくま同盟

同郷

 

ネタ元エントリ:
Vista pre-RC1 のフィードバックをまとめて出してみた
仕様ですか。。。
Windows Vista: 迷惑な「学習機能」
Windows Vista: UAC の抜け道を考える

まとめて出した中の、「FeedbackID=192122 UAC 昇格情報が保存されている」も、「仕様による」としてクローズされました。

なんというか。。。

Vista の UAC では、SETUP や INSTALL という文字列を含んだファイル名を持つプログラムは、「セットアッププログラムだから、管理者特権が必要だ」と判断され、Vista が勝手に昇格ダイアログを表示します。

このダイアログで選べるのは、「昇格して実行」か、「実行しない」です。

ここで、このプログラムが "SetupMenu.exe" という名前だったとしましょう。最近のプリンタやスキャナなどのデバイス ドライバの入った CD は、ドライバ以外のアプリケーションも入っていますが、それらのアプリケーションのインストーラを起動するためのメニュープログラム、をイメージしています。

このとき、"SetupMenu.exe" は、ファイル名に "SETUP" という名前を含んでいるため、「インストーラ」と判断されます。実際には「ラウンチャ」なのですが。

そして、Vista はユーザに聞いてきます。

「インストーラを、管理者として実行しますか?それとも、実行せずにいますか?」

ここで、ユーザは「ラウンチャ」を実行したいのですが、あくまで「ラウンチャ」として実行したいのであり、「インストーラ」として実行したくはありません。しかし、そのような選択肢はありません。含めてくださいという提案をしたのですが、すでにレビューされた案件で、過去の資源を利用するために必要なことをしているそうです。

さて、ユーザはラウンチャを管理者権限付きで実行します。せざるを得ません。そうすると、ここからプロセス分岐されるプログラムは、すべて管理者権限付きで実行されます。

"SetupMenu.exe" が管理者権限で動作しているので、ここから起動されるプログラムはすべて管理者権限付きで起動します。したがって、本当のインストーラに対して、昇格ウインドウが表示されることはありません。

また、本当のインストーラが制限されたユーザで動作するように作ってあっても、それは意味をなさなくなってしまいます。もちろん、単体で起動したときには意味があります。

さて、必要なアプリケーションのインストールが済み、ユーザはラウンチャをとじます。しかし、Vista は "SetupMenu.exe" の動向を監視しています。このプロセスが行ったのは、付随するセットアッププログラムを呼び出しただけで、このプロセス自身が何らかのセットアップ動作を行ったわけではありません。そこで親切にも、Vista はユーザに問い合わせます。

「セットアップが正しく実行されていないようですが、もう一度セットアップを実行しますか?」

ここで選べるのは、「もう一度実行します(昇格プロンプトがまた出る)」と、「正しくセットアップは行われました」です。

待ってください。"SetupMenu.exe" の役割は、ユーザにセットアップすることが出来るアプリケーションを選ぶ UI を提供することです。このため、セットアップされるものはありません。もっとも、ユーザからすると、"SetupMenu.exe" を通じてインストーラを起動し、アプリケーションをセットアップしたのですから、「正しくセットアップは行われました」という状態である、ともいえるでしょう。

しかし、ユーザにとまどいを与える可能性がないでしょうか?本当のインストーラは、「正しくインストールが終了しました」と表示したことでしょう。それなのに、「セットアップが行われなかった可能性があります」と表示されるのです。いったいどっちが本当なの?

次に、昇格済みのプロセスから起動されるプロセスは、すでに昇格済みである、ということについて。

Vista の UAC による昇格ダイアログは、マイクロソフトの署名があるもの、その他の署名があるもの、証明書パスに「信頼する証明書発行機関」が含まれないもの、署名がないもの、の4つによって、表示される内容が異なります。

"SetupMenu.exe" は、「信頼する証明書発行機関」から発行された証明書によって署名されているとします。すると、ダイアログの色は「灰色」で、昇格ダイアログの内容も穏やかなものになります(実際に実行したことがないので、詳細不明)。

ここで、"SetupMenu.exe" の昇格がすんでしまったので、ここから起動されるプロセスは昇格の必要がありません。つまり、それらの署名を、ユーザが確認することはなくなります(もちろん、直接実行する場合を除く)。

ここで、悪意のユーザが、この "SetupMenu.exe" を手に入れ、ここから起動されるプロセスと同じ名前の悪意を持ったプログラムを作り、全体をまとめて再配布したとします。

ユーザは、"SetupMenu.exe" を実行するときに、"SetupMenu.exe" に付けられた署名が信頼できるものであることを、マイクロソフトから示されます。昇格ダイアログは灰色です。

そして、その中に列挙されたアプリケーションをインストールしようとします。しかし、悪意によって書き換えられているため、インストールできたことを確認できません。ただ、悪意のプログラムがインストールされただけです。悪意のインストールには、昇格ダイアログが表示されません。すでに昇格済みですから。

この、"SetupMenu.exe" が呼び出すのが DLL であれば、DLL の署名によって確認できます。しかし、"SetupMenu.exe" が呼び出すのは、外部のメーカーが作ったプログラムです。したがって、"SetupMenu.exe" は署名をチェックしないでしょう。

よしんば、今から作る "SetupMenu.exe" は、署名をチェックするように作ったとしても、このインストーラ判定は「過去の資産との互換性を維持する」為に追加されている機能です。「過去の資産」まで変更することは、容易ではありません。ってか、変更しなくても良いように追加されているものだから、変更しないでしょう。

そして、"SetupMenu.exe" が昇格済みであるため、悪意のプログラムのインストーラも昇格済みであり、管理者権限を乗っ取ることが出来てしまいます。


というようなシナリオを考えたのですが、ワタシよりセキュリティについて明るい人が何人も集まって、議論してレビューした後なのだから、きっとそんなことは出来ないのでしょう

なんにしても、UAC が促すのは「このプログラムの実行を、あなたは意図していますか?」ということです。そのプログラムがどの様な動作をし、その結果どうなるのか、事前に調べておく必要がある、、、ということですかね?

だったらコンパネ中の機能には要らんだろ。意図するからダブルクリックするんだからさ。ユーザが意図的に指示したことについては、意図しているんだから指示しているわけで、確認の必要はないやん。確認の必要があるのは、ユーザの意図が確認できていない場合じゃないかなぁ?


そんなこと考えていると、“開発者がユーザに昇格を指示する”というのも、なんだかなぁ?

ここでは、ユーザが、開発者の意図を確認することは出来ないのです。悪意を持った開発者が、「あんたのコンピュータを乗っ取るけど、昇格して良い?」なんて聞かないのです。ユーザも、そんなこと聞かれたら、もちろん「No!」というでしょう。

そうではなく、「あなたが探していた画像だよ!」と言って、実行ファイルを実行させ、その中で管理者権限を取得するのが問題なんでしょ?それなのに、どうして拡張子をデフォルトで隠すのさ?!

このとき、「便利な機能をインストールするよ!」と、SETUP.EXE を配布すると、Vista が勝手に管理者権限を与えようとしちゃうんですよ。管理者権限を与えずに実行すれば、まだ防げることも、そういう選択肢はないわけです。

ユーザは、「便利な機能」は欲しいのです。でも、それによって「いらない機能」までインストールされるとは思わないのです。

マイクロソフトの回答は、その「「いらない機能」の有無を事前に確認しておくように」ということのような気がするんだけどなぁ。。。

だらだら長くなってきたけどもう一つ。自動判断でインストーラと判断されたプログラムが、インストーラとしての挙動を示さなければ、「もう一度実行しますか?」と聞かれます。このとき、「はい」は、また昇格ダイアログが表示されます。まぁ、プログラムはすでに終了しているんだから、仕方ないかも。

ところが、他のアカウントのホーム パスを見るために表示された昇格ダイアログは、ログアウトしても2回目は表示されません。なんで?仕様だそうです。どんな仕様だよ。

投稿日時 : 2006年9月7日 23:40
コメント
  • # Vista:ちょっと不安。。。
    何となく Blog by Jitta
    Posted @ 2006/09/20 21:27
    Vista:ちょっと不安。。。
  • # re: Windows Vista: UAC の抜け道を考える4
    困ったちゃん
    Posted @ 2007/07/09 14:20
    CreateProcessが失敗する・・・
  • # re: Windows Vista: UAC の抜け道を考える4
    Jitta
    Posted @ 2007/07/09 22:15
    困ったちゃんさん、コメント…と解釈していいのかな?
    CreateProcess が、どの OS で、どの権限から、どんなアクセス権の付いたファイルを、どのように実行しようとしたら、失敗するのでしょう?

    http://blogs.wankuma.com/jitta/archive/2007/04/30/75072.aspx
    この辺にも書いていますが、何でもかんでも失敗するわけではありません。失敗する場合を特定してください。
  • # re: Windows Vista: UAC の抜け道を考える4
    通りすがり
    Posted @ 2008/04/15 12:01
    >意図するからダブルクリックするんだからさ。

    悪意あるプログラムがクリックする可能性があります。
    だからあのように他のUIを止めて確認が出ます。
  • # re: Windows Vista: UAC の抜け道を考える4
    Jitta
    Posted @ 2008/04/16 3:13
    通りすがりさん、コメントありがとうございます。

    > 悪意あるプログラムがクリックする可能性があります。
    クリックの信号を送って起動することもある、ということですね。
    その通りです。ご指摘ありがとうございます。
  • # My brother recommended I might like this blog. He was totally right. This post truly made my day. You can not imagine simply how much time I had spent for this info! Thanks!
    My brother recommended I might like this blog. He
    Posted @ 2019/05/06 5:18
    My brother recommended I might like this blog. He was totally right.
    This post truly made my day. You can not imagine simply how much time I had spent for this info!

    Thanks!
  • # I get pleasure from, lead to I discovered just what I used to be taking a look for. You have ended my 4 day lengthy hunt! God Bless you man. Have a great day. Bye
    I get pleasure from, lead to I discovered just wha
    Posted @ 2019/05/13 14:14
    I get pleasure from, lead to I discovered just what I used to be taking a look for.
    You have ended my 4 day lengthy hunt! God Bless you man. Have
    a great day. Bye
  • # What's up, all the time i used to check webpage posts here in the early hours in the break of day, because i enjoy to find out more and more.
    What's up, all the time i used to check webpage po
    Posted @ 2019/05/17 7:55
    What's up, all the time i used to check webpage
    posts here in the early hours in the break of day, because i enjoy
    to find out more and more.
  • # At this time I am ready to do my breakfast, when having my breakfast coming over again to read other news.
    At this time I am ready to do my breakfast, when h
    Posted @ 2019/07/23 22:19
    At this time I am ready to do my breakfast, when having my breakfast coming over again to read other news.
  • # At this time I am ready to do my breakfast, when having my breakfast coming over again to read other news.
    At this time I am ready to do my breakfast, when h
    Posted @ 2019/07/23 22:20
    At this time I am ready to do my breakfast, when having my breakfast coming over again to read other news.
  • # At this time I am ready to do my breakfast, when having my breakfast coming over again to read other news.
    At this time I am ready to do my breakfast, when h
    Posted @ 2019/07/23 22:21
    At this time I am ready to do my breakfast, when having my breakfast coming over again to read other news.
  • # At this time I am ready to do my breakfast, when having my breakfast coming over again to read other news.
    At this time I am ready to do my breakfast, when h
    Posted @ 2019/07/23 22:22
    At this time I am ready to do my breakfast, when having my breakfast coming over again to read other news.
  • # Hello, I enjoy reading all of your post. I wanted to write a little comment to support you. natalielise plenty of fish
    Hello, I enjoy reading all of your post. I wanted
    Posted @ 2019/07/26 19:36
    Hello, I enjoy reading all of your post. I wanted to write a
    little comment to support you. natalielise plenty of
    fish
  • # Hello, I enjoy reading all of your post. I wanted to write a little comment to support you. natalielise plenty of fish
    Hello, I enjoy reading all of your post. I wanted
    Posted @ 2019/07/26 19:37
    Hello, I enjoy reading all of your post. I wanted to write a
    little comment to support you. natalielise plenty of
    fish
  • # Hello, I enjoy reading all of your post. I wanted to write a little comment to support you. natalielise plenty of fish
    Hello, I enjoy reading all of your post. I wanted
    Posted @ 2019/07/26 19:38
    Hello, I enjoy reading all of your post. I wanted to write a
    little comment to support you. natalielise plenty of
    fish
  • # Hello, I enjoy reading all of your post. I wanted to write a little comment to support you. natalielise plenty of fish
    Hello, I enjoy reading all of your post. I wanted
    Posted @ 2019/07/26 19:39
    Hello, I enjoy reading all of your post. I wanted to write a
    little comment to support you. natalielise plenty of
    fish
  • # ed treatment review https://edpill.cheap/ medications for ed
    EdPills
    Posted @ 2024/02/09 19:55
    ed treatment review https://edpill.cheap/ medications for ed
  • # eva elfie full video https://evaelfie.site/ eva elfie
    EvaElfie
    Posted @ 2024/03/07 1:57
    eva elfie full video https://evaelfie.site/ eva elfie
  • # aviator betano https://aviatorjogar.online/ - aviator betano
    BraAvia
    Posted @ 2024/03/12 17:12
    aviator betano https://aviatorjogar.online/ - aviator betano
  • # sweet bonanza giriş https://sweetbonanza.bid/ - sweet bonanza demo oyna
    Bonanzaj
    Posted @ 2024/03/27 19:25
    sweet bonanza giriş https://sweetbonanza.bid/ - sweet bonanza demo oyna
タイトル
名前
Url
コメント