Video Screencast Help
Symantec Appoints Michael A. Brown CEO. Learn more.
Security Response

サーバーサイドポリモーフィック型の Android アプリケーション

Created: 02 Feb 2012 11:43:28 GMT • Translations available: English
Symantec Security Response's picture
0 0 Votes
Login to vote

Windows の世界では、かなり以前からサーバーサイドポリモーフィズムの技法を使ってコンピュータに感染する手口が全世界で確認されてきました。これはつまり、ファイルがダウンロードされるたびに、異なるバージョンのファイルを作成して従来のシグネチャベースの検出をすり抜けようとすることを意味します。最近、この同じ手口が、ロシアの Web サイトでホストされている悪質な Android アプリケーションにも使われていることが判明しました。シマンテック製品では、この亜種をすべて Android.Opfake として検出します。Opfake をホストしているサイトにはリンクかボタンが設置され、それを使うと人気の高い Android ソフトウェアの無料版をダウンロードできることになっていますが、実際にダウンロードされるのは悪質なパッケージです。

このアプリケーションは、ダウンロードされるたびに少しずつ自動的に形態を変えます。それだけでなく、数日ごとに手動でも変更が加えられているところから、作成者は現在もこのマルウェア群の保守にいそしんでいると考えられます。

Opfake がサーバーサイドポリモーフィズムに利用している手法は、可変データによる変更、ファイルの並べ替え、ダミーファイル挿入の 3 つです。以下、それぞれのケースを見ていくことにします。

1 つ目は可変データを使ったケースです。2 つのダウンロードファイルの CRC を比較すると、意味のある変更は "res/raw/data.db" の部分にしかないことがわかります。META-INF にも変更されているファイルがありますが、これにはパッケージのシグネチャデータが含まれているので、res/raw/data.db が変更された事実が反映されているにすぎません。

ファイルの CRC ファイル名
Installer.APK SKACHAT.APK
9dc48f61 074c54b5 META-INF/MANIFEST.MF
b1377893 42ecb534 META-INF/ALARM.SF
248c37f7 65105b65 META-INF/ALARM.RSA
40659b25 40659b25 AndroidManifest.xml
bbd88c2d bbd88c2d resources.arsc
7a3498c4 7a3498c4 classes.dex
6129f361 9e488e9e res/raw/data.db
27bc873d 27bc873d res/drawable-hdpi/logo.png
27bc873d 27bc873d res/drawable-ldpi/logo.png
27bc873d 27bc873d res/drawable-mdpi/logo.png
fa11bed8 fa11bed8 res/drawable-hdpi/icon.png
fa11bed8 fa11bed8 res/drawable-ldpi/icon.png
fa11bed8 fa11bed8 res/drawable-mdpi/icon.png

つまり、共有されているコード(classes.dex に格納されている)はまったく同じで、データが可変だということになります。このコードを調べると、res/raw/data.db にはネットワーク事業者のデータベースが含まれており、有料電話番号の一覧や、ワナにかかったユーザーがこのマルウェアを実行した場合に送信されるメッセージなどが記載されています。この SMS メッセージの内容がダウンロードのたびに変更されるために、毎回異なるファイルが生成されるのです。

2 つ目は、ファイルの並べ替えを使ってポリモーフィズムを実現していたケースです。こちらの場合、APK に含まれるコードファイルとデータファイルがすべて同一で、マニフェストファイルとシグネチャファイルのみが違っていました。

CRC ファイル名
311fa59a META-INF/MANIFEST.MF
86f1655e META-INF/CERT.SF
ed814261 META-INF/CERT.RSA
02568138 AndroidManifest.xml
5539013f classes.dex
c9805df6 res/drawable-hdpi/icon.png
c9805df6 res/drawable-mdpi/icon.png
c9805df6 res/drawable-ldpi/icon.png
1d66a094 res/layout/offert.xml
b93210cd res/layout/grant_access_to_content.xml
169b2a86 res/layout/main.xml
30fe74be res/raw/activation_schemes.cfg
aca144d2 res/drawable/progress_finished.xml
3367b765 res/xml/countries.xml
f3087726 resources.arsc
88a24ad9 0.temp
88a24ad9 1.temp
88a24ad9 2.temp
88a24ad9

つまり、このケースではアプリケーションパッケージ内でコードファイルとデータファイルの順序を並べ替えるだけでポリモーフィズムを実現しているということです。パッケージを作成する際にファイルの順序を変えると、異なるマニフェストファイルとシグネチャファイルが作成されるからです。

3 つ目は、パッケージにダミーの .temp ファイルを使うケースです。1 つのパッケージに 40 個以上のダミーファイルが確認された場合もありますが、ダミーの .temp ファイルの数はダウンロードごとに異なり、アプリケーションがダウンロードされるたびにさらに多くの組み合わせが発生します。ただし、.temp ファイルがこのマルウェアで実際に利用されている形跡はなく、どのファイルにも以下の意味不明な画像が含まれているだけです。

パッケージがダウンロードされて携帯端末にインストールされると、自動時に SMS メッセージが送信され、ブラウザで特定の Web サイトが開きます。このサイトではさらに別のマルウェアや、ときには正規の Android アプリケーションもホストされています。マルウェアの拡散に関与している詐欺サイトの例を以下に示します。

拡散に利用されていることがこれまでに確認されたのは、すべてロシアのサイトですが、パッケージが SMS メッセージを送信する際には、他のヨーロッパ各国のほかオーストラリアや台湾まで含めて、ロシア語以外の言語でも送信できる機能があります。このマルウェアの影響を受けるのは、以下の国または地域です。

アルメニア
オーストラリア
オーストリア
アゼルバイジャン
ベラルーシ
ベルギー
ブルガリア
チェコ共和国
デンマーク
エストニア
フランス
グルジア
ドイツ
アイルランド
イスラエル
カザフスタン
キルギスタン
ラトビア
リトアニア
オランダ
ノルウェー
ポーランド
ポルトガル
ロシア
スペイン
スウェーデン
台湾
英国
ウクライナ
 

今回のマルウェアにはサーバーサイドポリモーフィズムが使われていますが、シマンテックのノートン モバイルセキュリティをお使いのお客様は、このように自動生成される亜種からも保護されます。また、この Android パッケージがホストされている Web サイトへのアクセスも、Web プロテクション機能によって遮断されます。いつものことですが、アプリケーションは必ず信頼できるソースからダウンロードするようにし、アプリケーションのインストール時に要求される許可にも注意を払うようにしてください。たとえば、次のスクリーンショットのように、Android.Opfake は必ず SMS メッセージ送信の許可を要求します。

 

2012 年 2 月 2 日更新:

上記の意味不明な画像に写っている未確認人物は、Свидетель из Фрязино という人物であることが判明しました。情報をお寄せいただいた F-Secure の Sean Sullivan 氏に感謝します。この男性は、さまざまな写真にデジタル加工されて登場していることで知られています。

 

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