Video Screencast Help
Symantec to Separate Into Two Focused, Industry-Leading Technology Companies. Learn more.
Security Response

Apache の拡張によるマルウェアの送信

Created: 03 May 2011 11:23:00 GMT • Translations available: English
Cathal Mullaney's picture
0 0 Votes
Login to vote

シマンテックは先日、Apache フィルタ機能を利用して HTML ページに感染する、悪質な Apache Web サーバーモジュールのソースコードを分析しました。これは Web サーバー上の静的な Web ページに感染するものとは違い、より積極的で複雑な攻撃です。この攻撃が他とは違うところは、Web サーバーそのものが感染の標的になる点です。Web サーバーが感染すると、その Web サーバーに Web ページを要求するすべてのユーザーが被害を受ける可能性があります。これは、静的な Web ページが悪質なコードに感染し、特定のページにのみ感染リスクが存在する場合とは対照的です。

シマンテックは、悪質な Web サイトへのリンクを含むように改変された HTML ページを多く検出しています。たとえば、Trojan.Maliframe!htmlTrojan.Webkit!htmlTrojan.Malscript!html は、クリーンな Web ページが、ユーザーを悪質な Web サイトにリダイレクトする HTML または JavaScript コードを含むように改変された例です。HTML ページに感染し、さらに自身を拡散させる機能を持つ脅威は、W32.RamnitW32.Fujacks.CEW32.Virut.CFのように多く存在します。一般的に、この種の感染では、感染した Web サーバー上にすでに存在する Web ページを標的としています。

Apache は現在、最も広く使用されている Web サーバーの 1 つであり、Windows でも Unix ベースのオペレーティングシステムでも導入できます。Apache は、API を使用して中核となる機能を拡張できます。Apache の API ライブラリには、Apache モジュール API と Apache フィルタリングフレームワークという 2 つの優れた機能があり、これらを使用して Web サーバーに機能を追加できます。独立系の開発者はこれらのプログラミングインタフェースおよびフレームワークにより、Web サーバーのコードベースを変更または再コンパイルすることなく、Apache Web サーバーに新機能を追加できます。また、プログラマーは Apache のフィルタ API により、Web サーバーとの間で送受信されたデータを検査または変更できます。ホスティング会社がクライアントの Web ページに広告を差し込む場合は、この種の出力フィルタが利用されます。クライアントが Web サーバー上に Web ページを作成し、そのページが要求されると、出力フィルタによってページの最後に広告が自動的に追加されます。Web サーバーは処理を実行しながら出力データを検査または変更し、クライアントの Web ページに広告を追加して、サービスを提供するための収益を生みます。

シマンテックは、同じ手順で悪質な Web サイトへのリンクを追加する不正モジュールを発見しました。このような処理中のコンテンツ生成を含め、不正モジュールによるアクションはすべて、Apache API の正規のコードによって実行されます。Apache のコードベースが悪用またはハッキングされるわけではありません。不正モジュールは Apache の本来の機能を利用してユーザーに感染し、悪質な Web サイトにリダイレクトさせようとします。

シマンテックでは、Apache が動作している Linux ホストに感染モジュールを実装し、このマルウェアの活動の出力をすべて取得しました。幸いなことに、元のマルウェアの作成者はソースコードにデバッグ出力オプションを残していました。このオプションを有効にすると、不正モジュールのすべての活動ログが /var/tmp/lol に記録されます。マルウェアのすべての実行結果を取得するために、ローカルホスト IP(127.0.0.1)から送信される 2 つのダミー Web ページ(index.html とsecond.html)を作成しました。これらのファイルには相互リンクを含め、ファイル間を簡単に移動できるようにしました。

分析の結果、感染モジュールは各ページにやみくもに感染するわけではなく、また、感染には無関係なユーザーエージェント、IP、管理者プロセスのチェックを多数実行することがわかりました。感染モジュールを通常どおり実行すると、次の手順が実行されます。

  1. 不正モジュールが実行されている感染した Web サーバーにユーザーが接続し、Web ページを要求します。
  2. 不正モジュールはユーザーから要求されたコンテンツの種類をチェックします。
  3. HTML Web ページが要求されると、不正モジュールは感染プロセスを開始します。
  4. 不正モジュールは検出されないように、次のような多くのチェックを実行します。
    • admin ユーザーまたはプロセスの存在のチェック
    • ブラックリストに登録されている多数のブラウザユーザーエージェントのチェック
    • 不適切な IP 範囲のチェック(既知の検索エンジンの IP 範囲をチェックし、不正モジュールが検索エンジンに感染ページを送信できないようにして、ページ遮断を回避します。)
    • 禁止 IP のチェック
  5. 検出を回避するためのチェックに成功すると、不正モジュールは標的のブラウザを対象とした新しいセッションを作成します。ただし、すぐには感染しません。
  6. 次の Web ページの要求で、感染が実行されます。
  7. 不正モジュールは外部の C&C(コマンド & コントロール)サーバーに対し、新しい iframe タグのクエリを実行します。
  8. アクティブな iframe タグが要求されると、要求された Web ページに挿入されてユーザーに送信されます。
  9. その後、ユーザーの IP を一時禁止リストに追加して、複数の感染を防止することにより、さらに検出を困難にします。

 挿入される iframe タグの形式は次のとおりです。

<style>
.nhie96r8 {
position:absolute;
left:-1140px;
top:-1003px
}
</style>

<div class="nhie96r8">
<iframe src=
" [http://]crocabhysanr4.cz.cc/myi986px/count[削除済み]">
</iframe>
</div> 

ウイルス対策ソフトウェアが動作していないコンピュータでテストを行ったところ、悪質な iframe タグの目的は、ユーザーのブラウザを悪用して偽のウィルス対策ソフトウェアをインストールすることだとわかりました。

この脅威は複雑で、正確な検出が困難な可能性があります。不正モジュールには多くの回避策が盛り込まれており、システム管理者はしばらく感染に気付かない可能性があります。この脅威の検出をさらに困難にしているのは、感染が処理と並行して行われることです。ディスク上には感染した Web ページがないため、格納されている HTML ページでの検出は不可能です。また、多くの検索エンジン関連の IP アドレスがブラックリストに追加されるので、感染ページを検索エンジンの巡回機能に送信し、自動検出プロセスの対象にすることもできません。

このようなモジュールのコンパイルとインストールのプロセスの性質から、感染が拡大するリスクは低いと考えられます。不正モジュールのインストールにはシステム管理者レベルのアクセス権が必要なため、セキュリティの観点からは不正モジュールは大きな懸念ではありません。このモジュールを Web サーバーにインストールするために必要な制御レベルを攻撃者が手に入れた場合は、より大きな問題が発生する可能性が高くなります。

シマンテックでは現在、感染した Apache モジュールを Trojan.Apmod として、また感染した HTML ページを Trojan.Malscript!html として検出しています。

情報を提供してくれた Min Ju(シマンテック)、Chad Gough(4Discovery) の両氏に感謝します。

 

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