とあります。そこで Intego のニュースを見に行くと 10 月 31 日付けの「Intego セキュリティ・メモ」でレポートされていました。こちらは日本語なので概要はそれを見るとよいでしょう。偽物 DNS を使わせてユーザを危険なサイトに誘導するものだそうです。そこでは対策は Intego の VirusBarrier X4 を最新ウィルス定義と共に使用することとなっていてちょっと手前味噌です。当然ですが。更に
同時にIntegoでは、信頼できないソースや疑いのあるウェブサイトから、絶対にソフトウェアをダウンロードしてインストールしないようにお勧めします。
Intego セキュリティ・メモ から2007年11月1日に引用
とあります。これは普段このサイトでこのカテゴリの記事を書くときにもよく書いていることです。ブラウザからダウンロードしたものを自動で開くような設定にしておくのは厳禁です。
さて、対策と予防の前に知りたくなるのが既に感染しているかどうかですね。これは「Macworld: First Look: Trojan Horse warning: What you need to know」の「How to detect the trojan horse」の節に詳しく書かれています。英語なので内容を紹介しておきます。
まず Mac OS X 10.5 (Leopard) を使っている人は GUI を使って調べることができるそうです。私は Leopard を持っていないから書き写しになってしまうので、その方法は「Macworld: First Look: Trojan Horse warning: What you need to know」を直接ご覧ください。
Leopard 以前の Mac OS X を使用している人はターミナルを使って次をしてください。これは root というシステム管理用の特殊なアカウントで cron という仕組みを使って定期的に実行される内容をリストアップする操作です。管理者権限があるユーザでログインして行ってください。
sudo crontab -l
パスワードが訊かれたらログインのときのパスワードを入力してください。その入力は画面にエコーバックされません。
もちろんあなたが何か設定している場合もあり得ますが、そうでなければ普通はなにもリストされません。しかし感染していると次のような行がリストアップされます。
* * * * * "/Library/Internet Plug-Ins/plugins.settings">/dev/null 2>&1
これは一分毎に /Library/Internet Plug-Ins/plugins.settings を実行するという内容です。このファイルは感染していない私の Mac には存在していません。更に scutil というコマンドを使うとマルウェアが効力を発揮しているかどうかを知ることができます。次はそれを調べたときの様子です。IP アドレスやドメイン名は伏せています。入力する内容は strong 要素で強調されています。
$ scutil
> show State:/Network/Global/DNS
<dictionary> {
ServerAddresses : <array> {
0 : 192.168.###.###
1 : 192.168.###.###
}
SearchDomains : <array> {
0 : xxxxxx.xx.xx
}
}
> exit
$
私の場合、システム環境設定で設定している DNS サーバは二つあってそれが ServerAddresses というところに表示されます。SearchDomains はマシンの名前だけで IP アドレスを調べようとしたときに試しに付与してみるドメイン名がリストアップされています。これもシステム環境設定で設定した内容ですが、普通はこの設定をしない人の方が多いと思うので SearchDomains の項目自体が表示されないでしょう。
このようにシステム環境設定で設定した内容だけが表示されれば大丈夫です。別な方法もあります。次のは実際に使われている DNS サーバを全てリストアップする方法を使ってリストアップしたときの様子です。ここでも IP アドレスやドメイン名は伏せ、入力する内容は strong 要素で強調されています。
$ scutil --dns
DNS configuration
resolver #1
search domain[0] : xxxxxx.xx.xx
nameserver[0] : 192.168.###.###
nameserver[1] : 192.168.###.###
order : 200000
resolver #2
domain : local
nameserver[0] : 224.0.0.251
nameserver[1] : ff02::fb
options : attempts:4
port : 5353
timeout : 2
order : 300000
resolver #3
domain : 254.169.in-addr.arpa
nameserver[0] : 224.0.0.251
nameserver[1] : ff02::fb
options : attempts:4
port : 5353
timeout : 2
order : 300001
resolver #4
domain : 0.8.e.f.ip6.arpa
nameserver[0] : 224.0.0.251
nameserver[1] : ff02::fb
options : attempts:4
port : 5353
timeout : 2
order : 300002
$
224.0.0.251 あるいは ff02::fbという DNS サーバがリストされていますが、これは iTunes ライブラリを共有するときなどに使われる特殊なものです。
三つの感染確認の方法を紹介しました。万が一あなたの Mac OS X が感染したらそれを駆除しなければなりません。でなければあなたの個人情報が盗まれたりフィッシングに遭うことになります。ウィルス定義がアップデートされた Intego の VirusBarrier X4 で駆除できると思いますが、商用ソフトウェアなので必ずしも誰もが持っているわけではありません。「Macworld: First Look: Trojan Horse warning: What you need to know」では手動の駆除方法が載っています。これも紹介しておきましょう。
まず最初に行うのは偽の DNS 情報を登録するために仕込まれたプログラムの削除です。それは /Library/Internet Plug-Ins/plugins.settings です。Finder のメニュー [移動]-[フォルダへ移動...] で /Library/Internet Plug-Ins を入力してフォルダを開き、そこにある plugins.settings を削除してください。ゴミ箱も空にしてください。
次は、削除したファイルを一分毎に実行するようになっている設定を消去します。上に書いた
sudo crontab -l
で
* * * * * "/Library/Internet Plug-Ins/plugins.settings">/dev/null 2>&1
だけがリストされるのであれば次のようにします。
sudo crontab -r
そうでなければ
sudo crontab -e
として、vim で編集して当該の行を削除してください。
そしてたった今の DNS 設定を元に戻すためにシステム環境設定の [ネットワーク] で DNS サーバの欄の内容を一旦他所にコピーしてから、それと同じ内容を書き込み、[今すぐ適用] ボタンで反映させてください。これでクリーンになるはずです。一度 Mac OS X を再起動し、もう一度上に書いた感染確認をしてみてください。