インターネットカフェでWebを閲覧している間、デスクトップやブラウザに表れることがある広告について、疑問を抱いたことはないだろうか。当社のアナリストの1人Wayneは、もちろん疑問に思った。

 Wayneは最近あるサンプル(SHA1: c8c643df81df5f60d5cd8cf46cb3902c5f630e96)を分析し、興味深い解答を得た。このサンプルはそのコードにちなんでLanExと命名されたルートキットで、当社ではRootkit:W32/Sfuzuan.Aとして検知する。

LanEx (55k image)

 Wayneはサンプルを調査して、58wangweiと称する中国の広告企業に辿り着いた。この会社はカフェの経営者向けに、PCを見る眼球の動きの流れから、利益を最大化することを目指すアフィリエイトプログラムを実施している。彼らのソリューションは?カフェのユーザに、広告を提示することだ。

 この広告サイトの、マーケティング上の宣伝文句では「インターネットカフェのPC1台は、PCのアイドル時間を除いて、平均で1日当たり20時間動作している」としている。その主張を後押しする統計については知らないが、非常に個人的で非公式な見解が裏付けになっているように思える。

 ともかく、カフェの経営者が興味を持つと、ソフトウェアパッケージを(ルートキットのインストーラ込みで)ダウンロードできるWebページへと導かれる。このページにはコントロールパネルがあり、ルートキットの様々な機能を設定できる。たとえばWebブラウザに設定するデフォルトページなどだ。用意されている各種の選択肢は、ほぼ例外なくすべて中国本土に的を絞った検索エンジンだ。そして、たとえばある検索エンジンに訪れたユニークユーザ数1000人ごとに26元など、選択肢ごとに金額が定められている。

 経営者がパッケージをコンピュータにマニュアルでインストールすると(続いてルートキットをダウンロードする)、あら不思議!お金がどんどん入ってくるんでしょ?いや、そうでもない。経営者にとって、なにもかも順風満帆というわけではない。少なくともサポートフォーラムの1つ(中国語のみ)では、パッケージに関しての詳細を尋ねたり、マシンにBSoD(Blue Screen of Death)を引き起こすことについての不平をいう経営者がいる。

LanEX_BSOD (427k image)

(ソース:bbs.icafe8.com)

 経営者の大半は、ルートキットがマシン上で何をしているのかに気づいていない。このプログラムは主に広告を表示することを目的としている。

   •  SSDTフックを通じて、広告モジュールに属すプロセスを隠ぺいする
   •  SSDTフックにより、広告モジュールのプロセスが終了させられることを回避する
   •  NDISフックを用いて、(URLのIPアドレスおよびポート番号に基づき)特定のWebページへのアクセスを妨げる

 経営者がルートキットのインストーラをダウンロードしたWebページ上にあるコントロールパネルには、広告モジュール関連のプロセスに加えて、隠ぺいしたいプロセスを選択するためのオプションもある。これは、デフォルトでは隠されている。

 技術的にこのルートキットでもっとも興味深い部分は、ネットワーク越しに送付されるすべてのHTTPリクエストとレスポンスのメッセージをフィルタするためにNDISフックを用いる点だ。もし禁止されているHTTPリクエストがあったら、ルートキットによってパケットが改ざんされ、精巧に作られたHTMLページが返される。

 このHTMLページは非表示のiframeまたはHTTP 302リダイレクトで、ユーザのブラウザを特定のWebサイトにリダイレクトする。

lanex_redirection (107k image)

 ユーザにとっては、使用中のマシンにこのルートキットがあるということは、広告の露出から避けられない、ということになる。あるいは、要求していないWebサイトにリダイレクトされることもある。

 このルートキットは主に広告を表示することを指向したものだが、アドウェアではない。システム上ではるかに悪意に満ちたアクションを実行し得る、完全な能力があるのだ。そして、インターネットカフェの経営者すら、自社のマシンに何をインストールしたのか常にしっかりと把握しているわけではないように見える。