インストーラが起動したプログラムは権限昇格済み
Windows VistaのUACはけっこう厳しい、というか、うるさいんだけど、これは穴じゃないかと思う現象がありました。
- インターネットからプログラムのインストーラをダウンロード
- インストールしようとすると、インストール前に権限昇格を問うダイアログが出る
- インストーラのオプションで、「インストール後にプログラムを起動」にチェックをつけ、「完了」をクリック
- インストーラが起動したプログラムは、インストーラプロセスの権限を引き継いで、権限昇格された状態で起動することがある
ユーザにとって未知のプログラムなのに、そいつは初回起動時に権限昇格した状態で動けてしまう。しかし、スタートメニューから改めて起動すれば、UACをバイパスするようなことはなく、権限昇格が必要なリスクのある操作が必要なとき、いちいちダイアログが表示される。
…ううむ、これって逆じゃない?
攻撃者は、ユーザにインストーラを信用させてしまいさえすれば、その直後の初回起動でUACをバイパスできる。この攻撃から身を守るには、
- インストーラが表示する権限昇格ダイアログは、インストール行為についての許可のみだと思わない。いつもクリックしてるからと、惰性で許可してしまわない。
- 「インストール後にプログラムを起動」にチェックをつけずにインストールを完了し、改めてスタートメニューから起動すること。
という心がけが必要だろう。しかし、Vistaのスタートメニューは「すべてのプログラム」の一覧性が悪いので、ちょっと試してみたいだけのプログラムについて、いちいちスタートメニューから選び直すのが面倒、って障壁はあるよね。