Video Screencast Help
Scheduled Maintenance: Symantec Connect is scheduled to be down Saturday, April 19 from 10am to 2pm Pacific Standard Time (GMT: 5pm to 9pm) for server migration and upgrades.
Please accept our apologies in advance for any inconvenience this might cause.

Backdoor.Bifrose と Tor の関係を探る

Created: 21 Jun 2011 11:20:31 GMT • Translations available: English
Cathal Mullaney's picture
0 0 Votes
Login to vote

Backdoor.Bifrose にシマンテックが最初に注目したのは、2004 年のことでした。Backdoor.Bifrose は、侵入したコンピュータに対する不正なアクセスを可能にするリモート管理バックドアツールです。このマルウェアがインストールされると、プロセスを実行する、ウィンドウを開く、リモートシェルを開く、システム情報(パスワードやビデオゲームのシリアル番号など)を盗み出す、画面ショットを生成する、Web カメラからビデオを取得するなど、さまざまな機能が実行可能になります。Bifrose は過去に解析済みですが、このトロイの木馬でもっと注目すべき特徴のひとつが、ほとんどの記事やマルウェア解析では無視されているか、または見過ごされています。それは、選択しだいで Bifrose が Tor ネットワークを利用できるということです。Tor は、サイトに書かれた概要では次のように定義されます。

「個人や団体がインターネット上でプライバシーとセキュリティを強化できる、仮想トンネルのネットワークです。ソフトウェア開発者が、プライバシー機能を組み込んだ新しい通信ツールを作成することもできます。Tor は、組織や個人がプライバシーを侵害されずにパブリックネットワーク上で情報を共有できるようになる、多様なアプリケーションの基盤となります」

そこで今回は、Backdoor.Bifrose を簡単に振り返ったうえで、この脅威が「秘匿サービス」機能を使ってどのように Tor ネットワークを利用するのかを説明します。

Backdoor.Bifrose は、Bifrost リモート管理ツールのバックドア検出メカニズムです。Bifrost は、完全なカスタマイズが可能なアプリケーションであり、GUI を備え、基本的なマニュアルも用意されています。設定のオプションしだいで、潜在的な攻撃者は、感染の方法、アクセスさせるリモートアドレス、トロイの木馬のインストールディレクトリ、一部のルートキット機能などを指定できます。このため、一般的な機能は感染が起きるより前に攻撃者の管理下に入ってしまうので、予測が困難です。

コンピュータに感染したマルウェアは Internet Explorer を起動し、Internet Explorer のアドレス空間に自身をインジェクトします。これでマルウェアは、システムファイアウォールによってフラグ指定されることなく、設定されたリモートのコマンド & コントロール(C&C)サーバーと自由に通信できるようになります。侵入を受けたコンピュータは次に、IP 番号、ホスト名、アクティブユーザー、クライアントのバージョンなど、一部の設定情報と識別情報をリモートの攻撃者に送信します。

C&C サーバーへの接続が確立されると、侵入を受けたコンピュータは完全にリモートの攻撃者によって制御されてしまいます。このコンピュータと、対応する C&C サーバーとの間の通信は、暗号化された接続を使って実行されます。Backdoor.Bifrose が使う C&C サーバーは一般的に、動的 DNS を使ってホストされ、ホスト名はポート 81 で応答を準備します。C&C ホストはこのように予測可能なパターンをとり、標準以外の IP ポートを使っているので、ネットワークトラフィックをある程度解析すれば、侵入を受けたコンピュータの識別はごく簡単です。

トロイの木馬 Backdoor.Bifrose で注目に値する特徴のひとつは、そのモジュール式構造です。感染するとき、Backdoor.Bifrose は addon.dat というファイルをインストールまたはダウンロードできます。このファイルは Backdoor.Bifrose 用に暗号化されたプラグインです。攻撃者が使える機能を追加しますが、Backdoor.Bifrose の基本動作に必須ではありません。このように、マルウェアの機能は追加のプラグインに応じてさらに拡張することが可能なのです。

Bifrost は、最初のリリースからほぼ 2 年後に更新版がリリースされ、このとき疑わしい挙動が加わりました。Backdoor.Bifrose の新しいプラグインが開発され、これもやはりオプションでダウンロードするか、脅威にパッケージすることが可能でした。マルウェアの作成者は、Tor のルーティングを利用して悪質な C&C プロトコルを実行できる追加の機能を導入しました。

Tor は本来、クライアント側の匿名性の維持に関連して使われるものです。たとえば、ユーザーは自分の IP アドレスがリモートサイトで知られないようにできます。ところが Tor には、サーバー側つまり受信側の匿名性を有効にするという、あまり知られていない機能もあります。これが、秘匿サービスとして知られている機能です。
Tor ネットワークをトロイの木馬の通信媒体として使うというのは斬新な発想であり、トロイの木馬にステルス性とセキュリティの新たな層が加わります。通信に使われるのはそれ以前と同じく、Internet Explorer にインジェクトされたスレッドですが、ここではトロイの木馬が Tor の秘匿サービスプロトコルを使って C&C サーバーにコールバックを試行することができます。

Bifrose Trojan calling back to its C&C server using Tor’s hidden service protocol

図 1: トロイの木馬 Bifrose が、Tor の秘匿サービスプロトコルを使って C&C サーバーにコールバック

Tor の秘匿サービスを利用すると、匿名性を保ったままインターネットサービスを提供できます。これは、内部的な .onion ホスト名を使って実行されます。これらのドメインは実際には最上位ドメイン(TLD)ではなく、Tor ネットワークの内部ドメイン名であり、Tor ネットワーク内からしかルーティングできません。.onion のドメイン名は、秘匿サービス、たとえば秘匿 Web サーバーを実行しようとするコンピュータ上で生成されます。

An example of Tor's hidden services

図 2: Tor の秘匿サービスの例

秘匿 Web サーバーに対して一意の .onion ホスト名が生成されます(例: 1aqqwrr3444abtsa.onion)。秘匿サーバーが Tor ネットワークに接続すると、.onion ホスト名でアクセスできるようになり、接続が受け入れられて匿名のサービスが可能になります。このような動作は、リモートサーバーの匿名性を維持したまま安全な通信方法を実現できるので、トロイの木馬の側から言っても非常に効果的です。トロイの木馬が Tor ルーティングを利用するもうひとつの利点は、Tor ネットワークを使うとき必要とされる本来の暗号化です。暗号化されるために、侵入先のコンピュータとリモートサーバーとの間の通信を解析することは、それだけ困難になります。

Backdoor.Bifrose 用の Tor プラグインは、ビルド時の Backdoor.Bifrose に .onion ホスト名をハードコードする必要があります。コンピュータが、Tor 機能を持った Backdoor.Bifrose に感染すると、Internet Explorer にインジェクトされたスレッドがプラグインの Tor 関連の関数を呼び出そうとします。Tor プラグインには、Bifrose が Tor ルーティングを使うための関数として、torInit、torConnect、torRead、torWrite、torClose、torShutdown が含まれています。Bifrose はプラグインの Tor 機能を使って通常どおりに動作するようになり、通信が不明瞭化されてリモート C&C サーバーの匿名性が維持されます。IP や非標準のリモートポートは使われないため、このように動作するとファイアウォールレベルでリモート接続を遮断する試みも無効になります。

2004 年以来、Bifrost の人気は急激に衰え、オリジナルの作成者がリモート管理ツールを進んで開発することはなくなりました。また、Tor プラグインも現在は機能しません。プライベートビルドはバージョン番号で特定でき、その数は少なくありませんが、Bifrose は寿命の終わりを迎えつつあります。トロイの木馬の最初の例が Tor ネットワークを使ってリモート接続を不明瞭化しているので、存続はしています。

シマンテックは現在、このタイプのトロイの木馬を Backdoor.Bifrose として検出しています。このブログで説明している脅威に備えるためには、定義ファイルとシグネチャを最新の状態に保つようにしてください。

このブログに情報を提供してくれた Gavin O’Gorman 氏に感謝します。

 

* 日本語版セキュリティレスポンスブログの RSS フィードを購読するには、http://www.symantec.com/connect/ja/item-feeds/blog/2261/feed/all/ja にアクセスしてください。