Symantec Security Response Weblog
Malware Update with Windows Update」より
May 10,2007 Posted by Elia Florio

 コンピュータ・プログラマやOSの設計者は,自分たちの製品に新機能を搭載する際に,必ず「この機能は誰が使うのか」という問題を検討する。まっとうな目的のために開発された機能であっても,使い方によっては危険な武器になることがある。正当な技術が「Backdoor.Rustock」や「Trojan.Linkoptimizer」などのマルウエアに悪用された例としては,Alternate Data Streams(ADS)とEncrypted File System(EFS)が有名だ(詳細)。

 こうした悪用の例がまた一つ見つかった。

 筆者は2007年5月の第1週,システムへ悪質なファイルをダウンロードする興味深い手口について,友人(Frank Boldewin氏)と意見を交換した。Frankは,2007年3月末にドイツでスパム・メール経由で広まったトロイの木馬を分析し,そのトロイの木馬が面白い方法を使ってファイルをダウンロードすることに気付いた。ダウンローダとして機能する際に,「Background Intelligent Transfer Service」(BITS)というWindowsコンポーネントを利用していたのだ。BITSは,Windows Updateがパッチ・プログラムをダウンロードしてWindowsを最新状態に保つために使う主要コンポーネントである。Wikipediaの解説を以下に引用する。

Background Intelligent Transfer Serviceは近ごろのMicrosoft Windowsに搭載されているコンポーネントで,マシン間のファイル転送を省力化する。主に最近のWindows UpdateやWindows Server Update Services,Systems Management Serverがクライアント・マシンにソフトウエア・アップデートをダウンロードするために使うほか,Microsoftのインスタント・メッセージ製品がファイル転送に利用している。

 BITSは,バック・グラウンドで動く非同期ダウンロード・サービスであり,ネットワークの帯域を食いつぶさずにパッチやアップデート,その他ファイルをダウンロードできる。コンポーネントとして優れている上,HTTPに対応し,COM API経由でプログラムすることもできる。Windowsで好きなファイルを何でもダウンロードできる完璧なツールといえる。ただ残念なことに,悪質なファイルのダウンロードも可能だった。

 なぜマルウエアはファイルのダウンロードにBITSを使うのだろう。理由は簡単。BITSはWindowsの構成要素であるため,クライアント・マシン側のファイアウォールに信頼されており,ファイル・ダウンロードを妨げられることがないからだ。通常,マルウエアはファイアウォールを迂回しなければならないが,実際に最もよく使われる手法は目立ってしまうか,プロセスへのコード挿入を必要とするため,怪しい動作を検出されやすい。具体的には,以下に挙げる手法が一般的だ。

  • 奇妙なネットワーク接続をユーザーに警告するファイアウォールのウィンドウに対して,「はい,許可します」というメッセージを送り続けるスレッドを常に動かす
  • ファイアウォールのサービスを停止する。ファイアウォールのプロセスを終了させる
  • 通常ファイアウォールが信頼しているInternet ExplorerやSvchostといったアプリケーションのプロセスに,悪質なコードを挿入する
  • ネットワーク・ドライバにパッチを適用し,ファイアウォールのフィルタリング機能を無効にする

     悪質なファイルのダウンロードにBITSを使うアイデアは,Windows自体がダウンロードを実行するのでファイアウォールを迂回できるうえ,プロセスへのコード挿入という怪しい動作を行う必要がないため,とても賢い方法だ。事実,今回例として使った悪質なダウンローダは,CoCreateInsance()でCOMインタフェースを介してBITSコンポーネントにアクセスし,CreateJob()およびAddFile()でダウンロードするファイルとダウンロード先を指定している。

     現在のところ,この種の攻撃をすぐに回避できる方法はない。BITSがダウンロードするファイルを確認することも難しい。恐らくBITSのインタフェースは「高いレベルのアクセス権限を持つプロセスからのみアクセスされる」という設計思想であったか,「BITSを利用するダウンロード処理は信頼できるURLに限られているはず」という前提があったのだろう。

     参考情報を書いておく。以前からBITSによるダウンロード方法の解説が密かに出回っており,2006年末ごろ“アンチ・ファイアウォール・ローダー”の例がロシアのあるオンライン・フォーラムに投稿された。

     この件を報告してくれたFrank Boldewin氏に感謝する。


    Copyrights (C) 2007 Symantec Corporation. All rights reserved.
    本記事の内容執筆時点のものであり,含まれている情報やリンクの正確性,完全性,妥当性について保証するものではありません。

    ◆この記事は,シマンテックの許可を得て,米国のセキュリティ・ラボの研究員が執筆するブログSecurity Response Weblogの記事を抜粋して日本語化したものです。オリジナルの記事は,「Malware Update with Windows Update」でお読みいただけます。