パソコンに保存してある情報を送信するスパイウエアの中には,プログラムの中にあらかじめ書き込まれたアルゴリズムに基づいて,ファイルを探し出すものもある。例えば,「TROJ_HIROFU.A」は,ユーザーによって違う場所にあるメール・ソフトのアドレス帳ファイルまで盗み出す。

 実は,アドレス帳ファイルの保存場所とファイル名は,メール・ソフトごとにレジストリの決まった場所に書き込まれている。TROJ_HIROFU.Aは,まずレジストリからOutlook Expressのアドレス帳の所在情報を取得する。そして,取得した所在情報に基づいてアドレス・ファイルを盗むわけだ。

 デスクトップの情報を持っていくスパイウエアも存在する。代表例は,P2Pによるファイル共有ネットワーク「Winny」を介して広がったAntinny.Gだ(図1-2)。

図1-2●Antinny.Gはパソコンのデスクトップ情報をP2Pネットワークにばらまくスパイウエア
図1-2●Antinny.Gはパソコンのデスクトップ情報をP2Pネットワークにばらまくスパイウエア
パソコンが保存する情報を狙うスパイウエアには,レジストリ以外の情報を盗み出すものもある。Antinny.Gはデスクトップの画像とドキュメントを圧縮ファイルにまとめ,ユーザー名をファイル名に付けて送信する。
[画像のクリックで拡大表示]

 Anntiny.Gをユーザーが実行すると(図1-2の(1)),デスクトップの画面データとデスクトップ上に存在するWord,Excel,PowerPointのデータ,テキスト・データを取得。さらにOutlook Expressの送受信データも加えて一つの圧縮ファイルにまとめる(同(2))。

 Antinny.Gは,どのパソコンにもあるデスクトップ・フォルダの中から拡張子によってファイルを選択する。Outlook Expressの送受信データはデスクトップ上にないが,こちらはレジストリの情報から所在を見つけ出すしくみになっているようだ。

 まとめた圧縮ファイルのファイル名には,誰のパソコンから盗んだかがわかるように,パソコンに登録されている組織名やユーザー名がつけられ,Winnyネットワークに公開される(同(3))。企業や官庁の情報がWinnyネットワークに漏れた事件のほとんどは,Antinny.Gとその亜種による。

 今のところ保存情報を盗むスパイウエアのほとんどは,盗む情報の場所が決まっているか,簡単な探索機能しか備えていない。だからといって,レジストリやデスクトップ以外に保存してある情報が盗まれないとはいえない。プログラムに探索アルゴリズムを組み込めば,パソコンの中のファイルを検索するスパイウエアを作るのはさほど難しくない。例えば,「顧客情報という単語が含まれるデータ」を探し出すスパイウエアがどこかで登場しているかもしれない。

狙った情報だけを盗むキー・ロガー

 次に,内部に保存してある情報ではなく,パソコンの入出力情報を盗み出すスパイウエアを見ていく。この種のスパイウエアには,キー入力を収集するキーEロガー,画面情報を盗むキャプチャ,ネットワークへの入出力データを盗むスニファの三つがある。

 特にキー・ロガーは,国内でもオンライン・バンキングのログイン情報を盗むのに実際に使われた。そこで,実際に犯罪に使われたTSPY_BANCOS.ANM(TSPY)を例にキー・ロガーの動きを見てみよう(図1-3)。

図1-3●キー・ロガーは条件にあった入力情報だけを収集
図1-3●キー・ロガーは条件にあった入力情報だけを収集
TSPY_BANCOS.ANMの例。オンライン・バンキングのWebサイトにアクセスしたときというように条件を絞って情報を盗み出す。
[画像のクリックで拡大表示]

 ユーザーがTSPYをうっかり実行してしまうと,まずレジストリが書き換えられて,ユーザーがパソコンを起動するたびにTSPYが確実に実行されるようになる。こうしてTSPYはパソコン内に常駐する。

 常駐したTSPYは,キーボード入力をやみくもに収集するわけではない。TSPYの目的はオンライン・バンキングのログイン情報。それ以外の情報は無視する。TSPYに必要ない情報まで送信されるのであれば,情報を受け取った犯人がそれらの中からログイン情報を見つけ出すのは難しいだろう。

 そこでTSPYは常駐しながら,ユーザーが使うInternet Explorerのアクセス先を監視する(図1-3の(1))。TSPYにはオンライン・バンキングのログイン画面のURLやIPアドレスがあらかじめ登録されている。そして,Internet Explorerが登録先のURLやIPアドレスにアクセスしたタイミングでキーボード入力の収集を始める(同(2))。こうして目的のログイン情報だけを抜け目なく盗み出す。

 TSPYは,こうして集めた情報をあらかじめ登録されているWebサイトにHTTPで送信する(同(3))。TSPYを放った犯人は,このWebサイトに集まったログイン情報を元に,他人の銀行口座から預金を引き出していた。

遠隔操作なら何でも盗める

 次は,パソコンを遠隔操作して情報をのぞき見るリモート・コントロールだ。

 リモート・コントロールは,インターネット上ではあまり使われない。使われるのはおもに,LAN内で他人のパソコンをのぞき見るとき。また,悪意を持って開発されたツールのほかに,管理用のツールがスパイウエア目的で使われることも少なくない。「スパイウエア対策ソフトで企業のパソコンを調べてみると,知らない間に他人にインストールされているリモート・コントロール・ソフトが見つかることがある」(アークンの渡部章代表取締役)。

 リモート・コントロールは,ユーザーのパソコンにインストールされるリモート・コントロール・サーバー(以下リモコン・サーバー)と,遠隔から情報を盗み出すのに使われるリモート・コントロール・クライアント(同リモコン・クライアント)がセットで動く(図1-4)。

図1-4●リモート・コントロール・ソフトが情報を盗み出す手順
図1-4●リモート・コントロール・ソフトが情報を盗み出す手順
スパイウエアとして使われるリモート・コントロール・ソフトは,ユーザーのパソコンの画面では動作がわからない。知らない間に情報が盗まれてしまう。
[画像のクリックで拡大表示]

 ユーザー側パソコンにインストールされたリモコン・サーバーは,まずリモコン・クライアントとの間の通信路を確保する。具体的には,リモコン・クライアントからのアクセスを待ち受けるTCPポートを開く。スパイウエア専用のリモコン・サーバーの中には,メールなどを使ってリモコン・クライアントにアクセス用のIPアドレスを通知するものもある。

 アクセス方法を得た犯人は,リモコン・クライアントからIPアドレスを指定してリモコン・サーバーにアクセスする。接続できれば,あとはクライアントからサーバーを思いのままに操作できる。サーバー側のファイルにアクセスしたり,サーバー内のアプリケーションを実行したりする。また,サーバー側のキー入力を横取りしたり,画面をキャプチャしたりできるものも多い。サーバー側の画面に操作内容を表示しないようにして,ユーザーに気付かれることなく,操作や入力内容を監視する。

収集した情報に合わせて広告を表示

 ここまで見てきたのは,おもに犯罪などに使われる可能性の高いスパイウエア。これに対し,アドウエアはその位置付けがちょっと微妙だ。

 アドウエアとは,ユーザーのパソコンに広告を自動表示させるソフトのこと。アドウエアの中には,ユーザーのWebアクセスの履歴をセンターに送って,その情報を基にユーザーの嗜好に合った広告を表示するものがあり,これがスパイウエアと見なされるケースがある。

 Webアクセスの履歴が盗み見されることを嫌うユーザーにとっては,こうしたアドウエアはまさにスパイウエアそのものだ。ただ,自分の嗜好に合わせて広告が表示されるのは迷惑でないと考えるユーザーもいる。このようなユーザーにとっては,アドウエアはスパイウエアとはいえない。

 それでも,アドウエアの機能は押さえておく必要がある。そこで,フリー・ソフトにバンドルされて配られる米クラリアの情報送信機能付きアドウエアである「Gator」でその動きを見てみよう(図1-5)。

図1-5●アドウエアでも情報が送られることがある
図1-5●アドウエアでも情報が送られることがある
アドウエアは,ユーザーに合わせた広告を表示させるソフト。アクセス履歴などの情報を送信するものが多い。
[画像のクリックで拡大表示]

 例えばパスワード管理ツール「Gator eWallet」をインストールすると,同時にGatorもパソコンに入ってくる(図1-5の(1))。するとGatorは,ほかの多くのスパイウエアと同じように,常駐して動くようにレジストリを書き換える。ユーザーがWebブラウザでWebサイトにアクセスすると(同(2)),GatorはWebサイトのURLや,Webサイトに入力した情報をゲインのWebサイトに送る(同(3))。

 情報を受け取ったゲインは送られてきた情報を基に,広告用のWebページを生成してGatorに送り返す。ゲインからのWebページを受け取ったGatorは,ユーザーのデスクトップ上に新しいブラウザ・ウインドウを立ち上げ,広告ページを表示する(同(4))。

 このように,あるサービスを効果的に提供するために,ユーザー側の情報をセンターに送るしくみを持つソフトは増えている。こうしたソフトをスパイウエアと見なすかどうかは,判断が難しい(カコミ記事参照)。

iTunesはスパイウエア? 騒動からわかった「暗黙のルール」

 スパイウエアは,気付かぬ間にユーザーの情報を送信するもの。形式的にユーザーの許諾を得るアドウエアがスパイウエアなら,スパイウエアとそうでないものの境界はどこにあるのだろうか。米アップルコンピュータの音楽再生ソフト「iTunes」を例に考えてみよう。

再生音楽の情報を送信

 iTunesは,パソコン内に保存している音楽ファイルの再生や,アップルの運営する「iTunes Music Store」から音楽コンテンツを購入するのに使うソフト。2006年1月に公開されたiTunes6.0.2からは,音楽再生画面にMusic Storeの簡略版「MiniStore」を表示する機能が付いた。

 MiniStoreの広告は,ユーザーが再生したコンテンツに応じて切り替わる。例えば,あるアーチストの楽曲を再生すると,そのアーチストのほかの楽曲の広告が表示される。公開されてすぐ,米国の複数のブログで「iTunesはスパイウエア(アドウエア)に当たる」という指摘が書き込まれ,マスメディアでも報じられるなど騒ぎが広がった。

 iTunesは,MiniStoreの広告を表示するために,再生した音楽のアーチスト名,曲名,ジャンル,ユーザーの識別情報をアップルに送る。しかし,情報を送信するという告知はわかりにくかった。インストール時に表示されるソフトウエア・ライセンスには書かれておらず,関連文書を「Music Storeサービス条件」,「顧客向けプライバシ・ステートメント」とたどってようやく確認できる状態だった。

明確な表示と初期設定オフで収束

 騒動を受けアップルは,直ちにiTunesを修正。インストール直後に立ち上げた初期画面で,MiniStoreを使うと情報を送信することを明記した。初期設定ではMiniStore機能をオフにし,ユーザーが選択しなければ情報を送らないようにした。こうした対応で,iTunesの「スパイウエア問題」はほぼ収束した(図A)。

図A●iTunesは情報の送信を簡単に止められる
図A●iTunesは情報の送信を簡単に止められる
iTunesは,再生した楽曲などの情報をアップルコンピュータのWebサイトに送る。ただしユーザーに明確に告知し,簡単に情報を止められるようになっている。
[画像のクリックで拡大表示]

 修正されたiTunesがアドウエア型のスパイウエアと異なる点は二つある。一つは,最初に立ち上げたときにはっきりと情報送信の内容を説明すること。もう一つは,ユーザーが了承しない限り情報を送信しないことだ。明確に説明があり,送信をやめる選択肢が与えられているなら,ユーザーにとって問題にならない。

 今のところ,あるソフトがスパイウエアかどうかを判断する統一基準はない。米国では2006年1月に業界団体「アンチスパイウエア連合」がスパイウエアのガイドラインを取りまとめたが,スパイウエアの範囲を明示するには至っていない。 ただ,iTunes騒動を見る限り,スパイウエアと見なされないためのルールが確立しつつあることは確かだ。