TigerのDashboardにセキュリティ問題、その対処法は

TigerのDashboard機能に、ユーザーに無意識にDashboardウィジェットをダウンロードさせ、インストールさせることができるセキュリティ問題があると指摘されている。(IDG)

» 2005年05月10日 14時35分 公開
[IDG Japan]
IDG

 Mac OS X v10.4 Tigerの新機能「Dashboard」に、マルウェア作者により悪用される恐れがある問題があるとして、「Zaptastic: Blueprint for a widget of mass destruction」というWebページがこの問題を実証している。このページを記したStephan.comと名乗る人物は、Safari 2.0のデフォルト設定を利用して、ユーザーに無意識にDashboardウィジェットをダウンロードさせ、インストールさせる方法を説明している。

 よくある誤解だが、ウィジェットを自動インストールすると、ウィジェットが自動的に実行されると思われている。実のところはそうではない。ウィジェットがWidget Bar(Dashboard Bar)にダウンロードされてインストールされたからと言って、そのウィジェットが実行されていることにはならないのだ。起動されていないウィジェットは何もできない。

 ウィジェットをWidget Barに自動インストールしたくない場合は、Safariの設定で「ダウンロード後、安全なファイルを開く」をオフにするだけでいい。そうすれば、ダウンロードしたファイルは、ユーザーが設定したダウンロードフォルダにとどまる。

ただのJavaScriptではない

 これを聞いた人は、まずこう思ったかもしれない。「ただのJavaScriptが、どれほどのダメージをもたらすのか?」――「ダメージは大きい」というのがその答えだ。ウィジェットはただのJavaScriptではない。さらにAppleはJavaScriptに、Webブラウザが思いもよらない幾つかの新たなトリックを教えている。

 ウィジェットはユーザーが所有するものであり、ユーザーができることは何でもできる。例えば、許可を求めずにホームディレクトリからファイルを削除することができるし、コマンドラインからユーザーが実行できることを何でも実行できる。ユーザーが呼び出し可能なAppleScriptも呼び出せる。ちょっと不安になってきたのなら、それは正しい反応だ。

可能な対策

  • 先に述べたように、安全なファイルを開かないようにSafariを設定する。あるいは、Safariを利用していないのであれば問題ない。ウィジェットを自動インストールしなければ問題の多くは避けられる。

  • ウィジェットが格納されている場所に気をつけること。Appleは、ウィジェットは「/Library/Widgets」「~/Library/Widgets」のいずれかにウィジェットが格納されるとしているが、常にそうとは限らない。デスクトップにウィジェットをダウンロードしてダブルクリックした場合、デスクトップから直接ウィジェットを起動することになるし、ウィジェットはDashboardに表示されても、Widget Barには表示されない。

  • ウィジェットをダウンロードする際に、その機能を把握する。特定の日までのカウントダウンを表示する機能だけを実行するはずのウィジェットに、HTML、CSS、JavaScript以外のものが含まれているわけがない。ウィジェットをダウンロードする際に、ウィジェットにアプリケーションが含まれているという警告が表示されたら、ダウンロードを受け入れる前によく考えた方がいい。

中身を調べる

 ちょっと時間をかけてテキストエディタ(お勧めはBare BonesのTextWranglerだ)を使うのが嫌でなければ、ウィジェットを立ち上げる前にその中身を見てみるといい。~/Library/Widgetsから調べたいウィジェットを選んで、コントロールキーを押しながらクリックし、コンテキストメニューから「パッケージの内容を表示」を選択する。

 ウィジェットは基本的に、特定のサフィックスが付いたフォルダに見える。ウィジェットには最低でもHTMLファイル、Info.plistファイル、Default.pngファイルが含まれる。ほとんどの場合、ウィジェットには.js(JavaScript)と.css(Cascading Style Sheets)も含まれる。

 Info.plistファイルはウィジェット自体に関する情報を格納しており、この情報はテキストエディタで見ることができる。このファイルには次のような行が含まれる。

<key>AllowNetworkAccess</key> <true/>

 これは、このウィジェットがユーザーのネットワークにアクセスすることを許されているという意味だ。ユーザーが、このウィジェットにそのような機能を持たせるべきでないと考えているのなら、何かおかしなことが起きているのかもしれない。このほかに探すべきキーとしては、AllowInternetPlugins、AllowJava、AllowSystemがある。AllowInternetPluginsは、ウィジェットがWebKitと、QuickTimeやFlashなどのブラウザプラグインにアクセスできることを指す。AllowJavaはウィジェットがJavaアプレットにアクセスできるということで、AllowSystemは、ウィジェットがコマンドラインユーティリティを実行できるという意味だ。また、ウィジェットが上記の動作すべてを実行できるAllowFullAccessには本当に気をつけるべきだ。

 .jsファイルを開き、widget.openApplication、widget.system、またはwidget.openURLを含む行を探す。ウィジェットの機能にもよっては、これら自体は危険なものではない。しかし、Dashboardに画像を表示するためだけのウィジェットの場合、アプリケーションを起動したり、システムやインターネットにアクセスしたりしないはずだ。

 Appleはこれらの問題を把握しているため、近いうちにこれに対処するための変更を行うだろう。それまでの間は気をつけなければならない。

Copyright(C) IDG Japan, Inc. All Rights Reserved.

注目のテーマ