マルウエアの開発者が,WindowsのBITS(Background Intelligent Transfer Service)を使って,Windowsにマルウエアを送り込むようになってから,かなりの時間が経過した。BITSはファイルのダウンロードを目的に設計されたサービスであり,全WindowsがBITSを標準的に利用しているので,彼らがBITSを使うことは,理に適っている。特にBITSは,使用されていない帯域を利用することでネットワーク使用を最適化しているので,自らの動作をユーザーに目立たなくしている。

 BITSの悪用を防ぐに当たっての第一の問題は,BITSがWindows UpdateやSystems Management Server(SMS),Microsoftメッセンジャーといったツールによって使用されることである。そのためにBITSは通常,ファイアウオールに信頼されており,ネットワーク上でトラフィックを双方向にやり取りできる。マルウエア開発者によるBITSの悪用を防ぐに当たってのもう1つの問題は,悪意のあるアプリケーションがBITSを使ってファイルをダウンロードするとき,そのトラフィックがアプリケーションそのものではなく,BITSからダウンロードされているように見えることだ。

 ファイアウオールによる情報漏えいをテストする人たちは,BITSの潜在的な危険性をかなり前から認識しており,1年以上に渡って,この問題について公の場で議論してきた。米Microsoftの「bitsadmin.exe」というツールと連携して,BITSがいかに簡単にWebサーバーからファイルをダウンロードできるのかを実証するプログラムが,少なくとも1つ存在する。「bits_tester.exe」がそれだ。

 「Firewall Leak Tester」というWebサイトのGuillaume Kaddouch氏によると,現在BITSの活動を制御できる唯一の方法は,「svchost.exe」(Windows XP以降の場合)あるいは「services.exe」(Windows 2000の場合)がネットワーク上で通信する能力を制限することだそうだ。例えば,自分のネットワーク上,あるいは自分のネットワークとMicrosoftのソフトウエア・アップデート・サイトの間でだけ,BITSがファイル転送をしていることをより確実にしたければ,「svchost.exe」または「services.exe」に対して「deny-all(すべて拒否)」ポリシーを実装し,BITS経由でコンテンツを受け取るときに使いたい発信元ホストについては,具体的に例外を設けるというのだ。

 Microsoftは,開発者が使えるようにBITS API(アプリケーション・プログラミング・インターフェース)も公開しているので,アップデートや他のコンテンツのダウンロードにBITSを使う他の合法的なデスクトップ・アプリケーションについても,例外を設ける必要があるかもしれない。

 マルウエアがBITSを悪用することの危険性は,ソフトウエアのダウンロードに留まらない。BITSはファイルのアップロードもできるため,重大な情報漏えいの原因になりうるのだ。ただしアップロードは,BITSが,BITSの拡張をインストールしたMicrosoftのIISサーバーにアップロードする場合のみ可能である。この場合も,「deny-all」ポリシーが役に立つ。

 Elia Florio氏は今月,「Symantec Security Response」というブログの記事で,BITS問題を再び提議した。同ブログでFlorio氏は,MicrosoftはBITSのセキュリティを高めることができると示唆した。「BITSが何をダウンロードすべきで,何をダウンロードすべきでないかをチェックするのは,簡単なことではない」と彼は書いている。「恐らく,BITSのインターフェースは,より高い特権レベルでのみアクセスできるように設計されるべきなのだろう。あるいは,BITSは信頼できるURLからのみコンテンツをダウンロードするように,制限を加えられるべきだ」

 BITSが悪用されている問題や,BITSに新たなセキュリティ層を追加する考えがあるかどうかについて,Microsoftはこれまであまり多くを語っていない。Microsoftの考えが明らかになるまで,他のセキュリティ・ソリューションが,BITSを悪用する可能性のあるマルウエアを検出できない場合に備えて,自分のシステムは自分で守る必要がある。

 筆者はちょっとした調査を行って,BITSがMicrosoftからファイルやアップデートをダウンロードするのに使う可能性のあるサイトのURLを,リストにまとめてみた。以下のリストは完全ではない可能性が高いが,ファイアウオールの規則を定める足がかりとして使うことはできるだろう。ファイアウオール規則の要件によっては,以下のサーバー・アドレスにおなじみのプレフィックス「HTTP」または「HTTPS」を追加する必要があるかもしれない,ということには注意しよう。HTTPSアクセスが必要になる2つのアドレスには,注釈をつけてある。それ以外のアドレスは,通常のHTTPアクセスで大丈夫だ。

windowsupdate.microsoft.com
*.windowsupdate.microsoft.com
*.windowsupdate.microsoft.com (HTTPSが必要)
*.windowsupdate.com
update.microsoft.com
*.update.microsoft.com
*.update.microsoft.com (HTTPSが必要)
download.windowsupdate.com
*.download.windowsupdate.com
download.microsoft.com
wustat.windows.com
ntservicepack.microsoft.com

 規則の仕組みによっては,BITSに「HTTP」と「HTTPS」の両方で「*.windowsupdate.com」と「*.microsoft.com」,「*.windows.com」にアクセスすることを許可して,手間を減らせる。