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ではない。さらにAppleはJavaScriptに、Webブラウザが思いもよらない幾つかの新たなトリックを教えている。
ウィジェットはユーザーが所有するものであり、ユーザーができることは何でもできる。例えば、許可を求めずにホームディレクトリからファイルを削除することができるし、コマンドラインからユーザーが実行できることを何でも実行できる。ユーザーが呼び出し可能なAppleScriptも呼び出せる。ちょっと不安になってきたのなら、それは正しい反応だ。
ちょっと時間をかけてテキストエディタ(お勧めは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.
Special
PR