この日記はMozillaのプロダクトへの貢献者としての私の成果を中心に、気になったバグやWeb界隈の話題について書いていますが、 断り書きがある場合を除き、いかなる団体のオフィシャルな見解ではありません。あくまでも個人的なものです。 Mozilla Foundation、Mozilla Corporation、及び関連企業の公式情報ではないことに注意してください。

現在、XHTML 1.0 (もどき)から、HTML5なコンテンツに修正中です。古い日記は修正が完了していませんので表示が崩れます。 順次、修正していく予定ですのでしばらくお待ちください。

もずはっく日記(2009年5月)

2009年5月26日

UACを回避してソフトウェアを常駐させることができる?
初回投稿日時: 2009年05月26日23時03分49秒
カテゴリ: 雑談
SNS: (list)

先日、IRCでUACの話をしていた時にふと思いついた話です。

一部の方に絶賛不人気なUAC、基本的には私は好きですし、これの無いWindows XPやWindows 2000を今更使いたくないです。ですが、そのUACも(悪意あるソフトウェア側からみると)抜け穴があるもので、これを利用している一番メジャーなソフトはGoogle Chromeではないかと思います。

Google ChromeはUACによる認証が必要なProgram Files配下ではなく、ユーザフォルダのAppData\Local\Google\Chrome\Applicationに強制的(勝手に、とも言う)にインストールします。各ユーザごとのフォルダは、そのユーザに所有権があるのでUACの承認無しでファイルが作れてしまうためです。これは、悪意あるソフトウェアがGoogle Chromeの実行ファイルを改竄する際にもUACで止めることができない、という非常に危険な話でもあります(この点に関しては是非ともGoogleにはあらためてもらいたいです)。

前置きが長くなってしまいましたが、この話から思いついたのが以下の話です。

同じ条件のUACによる確認が行われない重要なフォルダにスタートメニューがあります。スタートメニューの実体はAppData\Roaming\Microsoft\Windows\スタートメニューにあるためです。さらにこの中にはスタートアップフォルダがあります。そう、UACを回避して、悪意あるソフトウェアを常駐させることが可能な訳です。

もちろん、スタートアップに任意のショートカットを仕込んだり、またその前段階としてその悪意あるソフトウェアを侵入させておかないといけない、という問題はありますが、自動再生の問題を利用したりすることを考えると、ちょっと恐い気がします。

Microsoftにこの件について問い合わせたところ、仕様であるとの回答をもらったので、注意喚起のためにここに書いておきます。一応、以下の方法で、スタートメニューへの書き込み自体でUACのダイアログが出るようにすることもできますので、不安な方は対処すると良いかもしれません。

  1. (設定したい)フォルダのプロパティを開く
  2. セキュリティタブで詳細設定ボタンを押す
  3. 所有者タブで、所有者をAdministratorに変更する
  4. アクセス許可タブで編集ボタンを押す
  5. 「このオブジェクトの親からの継承可能なアクセス許可を含める」のチェックを外す
  6. 権限をコピーするか聞かれるので「コピー」を選択
  7. 現在のユーザからのアクセス許可を削除する
  8. 追加で、Usersを追加し、Usersには読み取りと実行権限だけを与える(つまり、書き込み権限は与えない)

間違いがあるかもしれませんが、その場合、blogなり、なんなりからツッコミを入れていただけるとありがたいです。

関連するかもしれないエントリ

関連するかもしれないエントリを発見できませんでしたが、無いとは限りません。