ロシアのカスペルスキーラボは、6月に極めて高度なAndroid向けトロイの木馬「Backdoor.AndroidOS.Obad.a」の検出を伝えたが、以降の調査で判明したことをブログで報告した。同マルウエアの作成者は、別のモバイルマルウエアによるボットネットを使って拡散する手段を築いているという。

 カスペルスキーラボはこれまで、基本的に4通りの手口によってさまざまなバージョンのObad.aが配信されるのを確認しているが、最も関心を抱いているのは、違うモバイル向けトロイの木馬「SMS.AndroidOS.Opfake.a」を利用して拡散する方法だ。この手口では、「MMSメッセージが届きました。メッセージを読むにはwww.otkroi.comにアクセスしてください」という内容のテキストメッセージが送信され、ユーザーがリンクをクリックするとOpfake.aが仕込まれた「mms.apk」という名前のファイルが自動でモバイル端末に読み込まれる。ユーザーがファイルを起動するとマルウエアがインストールされ、C&Cサーバーから命令を受け取る。C&Cサーバーは、端末のアドレス帳に登録されているすべての相手に、「MMSメッセージが届きました。メッセージを読むにはhttp://otkroi.net/12にアクセスしてください」というメッセージを送るよう指示する。

 ユーザーがリンクをクリックすると、mms.apkあるいは「mmska.apk」というファイル名でObad.aが自動的に読み込まれる。

 カスペルスキーラボがロシアの主要モバイル事業者1社から入手したデータによると、5時間のあいだにOpfake.aの変種を含むメッセージが600通送信された。ほとんどが感染した端末から送られている。従来はこのような送信はSMSゲートウエイから行われていた。また、わずか数台のOpfake.a感染デバイスがObad.aへのリンクを配信していることから、マルウエア作成者はモバイルボットネットの一部を拡散に利用していると、カスペルスキーラボは判断している。

Backdoor.AndroidOS.Obad.aの検出数

 Obad.aの初期のバージョンは、従来ながらのショートメッセージングサービス(SMS)スパムを拡散に利用していた。今でも初歩的な手段として使われ、テキストメッセージに掲載されているリンクをクリックすると、Obad.aが仕込まれたmms.apkファイルが自動で読み込まれる。ただし、ユーザーがファイルを起動しない限り、同マルウエアはインストールされない。

 また、他のモバイル向けトロイの木馬と同様、Obad.aは「Google Play」を偽装したアプリケーションストアからも配信されている。同社は2つの偽サイト「p1ay-goog1e.mobi」「p1aygoog1e.com」をこれまで確認している。

偽Google Playの製品ページ

 正規のWebサイトを乗っ取ってユーザーを不正なページにリダイレクトする方法も使われている。Obad.aはモバイルユーザーに感染することを目的としているため、パソコンから問題のサイトにアクセスしてもリダイレクトされないが、モバイルデバイスからアクセスすると、OSにかかわらず「nbelt.ru」ドメインのサイトに誘導される。ページ上のどこでもクリックすると、Obad.aがデバイスにダウンロードされる。

リダイレクト先のページの例

 カスペルスキーラボは、過去3カ月の調査でObad.aの変種を12種類確認した。すべてが同じ機能を持ち、高度な難読化機能を備えている。デバイス管理者権限の奪取を許す脆弱性を利用するため、削除が極めて難しい。なお問題の脆弱性は「Android 4.3」で修正されている。

 Obad.aはほとんどが独立国家共同体(CIS)諸国で検出され、感染の試みの83%以上がロシアで確認されているという。

高度な攻撃「NetTraveler」が新たな手口で再来

 ロシアのカスペルスキーラボは、世界40カ国の重要組織を襲った高度で執拗な攻撃(APT攻撃)「NetTraveler」(別名「Travnet」あるいは「Netfile」)が新たな手口を採用しているとしてブログで注意を呼びかけた。

 NetTravelerの攻撃対象は、チベットおよびウイグルの活動家、石油会社、科学研究センター、大学、民間企業、政府関連機関、大使館、軍事契約業者など広範に及ぶ。

 今回カスペルスキーラボは、複数のスピアフィッシング電子メールが数人のウイグルの活動家に送られたことを確認した。

スピアフィッシング電子メールのサンプル

 電子メールのメッセージ本文には「人権団体の世界ウイグル会議(WUC)の広報担当者が新疆ウイグル自治区における大量殺戮に関して以下の声明を発表した」と書かれ、WUCのWebサイトへのリンクと思われるURLが掲載されている。しかし実際にはNetTraveler関連のドメイン「weststock[ドット]org」に誘導される。

リンク先のWebページのコード

 誘導先のサイトには「new.jar」と名付けられたJavaアプレットが仕込まれている。new.jarはJavaバージョン5、6、7に存在する脆弱性(CVE-2013-2465)を悪用する。なお、この脆弱性は米オラクルが2013年6月にパッチを公開している。

 new.jarには「file.tmp」というファイル名のペイロードが含まれ、ヘッダー情報を信じるとすれば、2013年5月30日に作成された。

file.tmpのヘッダー情報

 このNetTravelerの亜種は、IPアドレス「198.211.18.93」でホスティングされている未知のマルウエア制御(C&C)サーバーとやりとりする。IPアドレスは米国のロサンジェルスにあるマルタコムという企業が取得したもので、同サーバー専用に使われていた。

IPアドレス情報

 また、NetTravelerはスピアフィッシングに加え、新たに水飲み場攻撃も採用するようになった。カスペルスキーラボは8月に、weststock[ドット]orgから仕掛けられた感染の試みを多数検知し、遮断した。リダイレクト先は、東トルキスタンのイスラム協会に属するウイグル関連サイトになっている。このサイトのコードを見ると、iframeタグが挿入されているのが分かる。

iframeタグが埋め込まれたサイト

 6月にNetTraveler攻撃が明るみになった際、攻撃者はすぐに既知のC&Cサーバーをすべて閉鎖し、中国、香港、台湾にサーバーを新たに設置した。そして現在も妨害されることなく攻撃を続けているようだ。カスペルスキーラボによれば、新たに水飲み場攻撃を追加したNetTravelerは、スピアフィッシングを用いた攻撃と比べて明らかに感染率が高いという。

マルウエア作成者が採用するさまざまな検出回避手法

 米マカフィーはこれまで、コードベースの検出を回避するためにマルウエアが使うさまざまな手法についてブログで取りあげてきた。そしてまた、従来と異なる手口を用いる一連のサンプルを確認したことを報告した。この手口は、ダイナミックローディング機構に関連している。

 ダイナミックローディングとは、ランタイム環境でライブラリーをメモリーに読み込み、ライブラリーに含まれる関数や変数のアドレスにアクセス、あるいはアドレスを実行するためのメカニズム。ダイナミックローディングには、読み込むライブラリーの名前を引数に持つ「LoadLibrary API」が用いられる。

 下図は一般的なLoadLibraryコードだが、これでは振る舞いとコードにもとづいたセキュリティ機能にすぐに検出されてしまう。

一般的なLoadLibraryコード

 そこで、偽アラートを表示する一部のマルウエアファミリーは、検出をすり抜けるために、引数をLoadLibrary APIに渡す複数の手段を採用している。マカフィーが確認した以下の4パターンのコードは、いずれも同じ結果をもたらし、スタック内に引数を移動する。

引数を移動する4つのパターン