トレンドマイクロでは、Android OS を搭載した端末(以下、Android端末)を標的とした特定のアプリケーション(「ANDROIDOS_BOTPANDA.A」として検出)を確認。このアプリは、不正な libraryファイルを含んでおり、実行されると、感染 Android端末は、特定のコマンド&コントロール(C&C)サーバへ接続するゾンビ化端末として悪用されます。この libraryファイルの注目すべき点は、解析を困難にするために自身の不正活動を「ダイナミックライブラリ」という、よく利用すると思われる関数や機能、データを必要に応じて呼び出す機能を持つライブラリ内に隠ぺいしてしまうことです。
「ANDROIDOS_BOTPANDA.A」内に含まれている不正な libraryファイル “libvadgo” は、「Native Development Tools (NDK)」というツールキットによって開発され、そして「Java Native Interface(JNI)」を使って読み込まれました。この NDK は、Android開発者などが、アプリケーションを作成する場合に利用するものです。また、「ANDROIDOS_BOTPANDA.A」は、”com.airpuh.ad/UpdateCheck” というファイルも含んでいます。このファイルは、libraryファイル “libvadgo” を読み込み、以下のコードを利用して関数「Java_com_airpuh_ad_UpdateCheck_dataInit」を呼び出します。
|
解析の結果、「Java_com_airpuh_ad_UpdateCheck_DataInit」の注意すべき動作の1つに、ファイル “/system/xbin/su” を確認することによって、感染端末がルート化されているかどうかを確認する機能を備えていることが判明しました。ルート化されていた場合、このファイルは、”/system/xbin/su” を実行し、さらに以下のように “/system/xbin/su” 内でコマンドを実行します。
|
また、「Java_com_airpuh_ad_UpdateCheck_DataInit」は、”.e[int_a]d” というファイルを実行します。ただし、このファイルは、数分後に削除されます。ファイル “.e[int_a]d” は、まず “/system/lib/libd1.so” の存在を確認し、ファイルを置換します。そして検出および削除を回避するために、”system/lib/lib1.so” のコピー を作成することによって “system/xbin/” 配下の重要なシステムコマンド「[ rm move mount ifconfig chown ]」をフックします。作成されるすべてのファイルは、”system/lib/lib1.so” のコピーです。また “.e[int_a]d” は、”system/bin/svc” に不正なコマンドラインを追加することによってこの SVCファイルを変更します。これにより不正活動が自動的に開始されることとなります。
さらに、ファイル “.e[int_a]d” は、この不正プログラムのメインとなる不正活動を展開します。ポート 8511番を介して C&Cサーバ「ad.<省略>ew.com」、「ad.<省略>o8.com」および「ad.<省略>8.com」と通信を行います。しかしこれらのサーバは、解析時点において、すでにダウンしていたため、感染端末上で、実際どのようなコマンドが実行されるか、確認することができませんでした。
上述したように、本事例が要注意とされるのは、「ANDROIDOS_BOTPANDA.A」が libraryファイル “libvadgo.so” を利用するためです。このような不正プログラムは、解析し難くするために、自身の不正活動をダイナミックライブラリ内に隠ぺいします。また特定のプロセスの終了、重要なシステムコマンドのフック、ファイルの置換を行うことで、自身の検出および削除を困難にします。もし、今後より多くの Android端末を狙う不正プログラムがこのような手段を利用した場合、セキュリティ専門家にとって解析や削除方法の提供はさらに課題となっていくことが予想されます。
「ANDROIDOS_BOTPANDA.A」は、特にルート化されている端末上で動作します。そのため、この不正プログラムは、非公式のアプリ配信ストアを介して拡散した可能性があります。この不正プログラムが存在するため、特に非公式のアプリ配信サイトからアプリをダウンロードする場合、ユーザは細心の注意を払わなければなりません。
「ウイルスバスターモバイル for Android」をご利用のユーザは、「不正アプリ対策」によってこの不正な libraryファイルを含むアプリケーションを検出します。
この不正プログラムに感染している場合、アプリケーションファイルの中の特定のフォルダ “/system/lib” 内にファイル “libd1.so” が存在しています。もしくは、フォルダ “/system/bin” 内の SVCファイルが「/system/bin/ifconfig」というラインを含んでいる場合も感染していると言えます(なお、アプリケーションの起動に必要なファイルを誤って削除することのないよう十分に注意してください)。
こうした Android端末を狙う脅威の被害を避けるためには、Android端末を取り巻く環境を理解して、PC と同様のセキュリティ対策を講じることをお勧めします。
- セキュリティソフトやサービスを導入し、適切に運用すること
- Android端末の標準装備のセキュリティ機能を活用すること(「設定」-「現在地情報とセキュリティ」)
- 「Wi-Fi」の自動接続を無効にすること
- 公式の Androidマーケットや信用ある Androidマーケット以外を利用しないこと
- アプリをダウンロードする際、デベロッパーを確認し、ユーザのレビューにも一読すること
- ダウンロードするごとに、アクセス許可項目を確認し、許可する前に、そのアプリの機能上必要がどうか、十分に確認すること
参考記事:
by Weichao Sun (Mobile Threats Analyst)
翻訳:宮越 ちひろ(Core Technology Marketing, TrendLabs)