セキュアなマルウェア??

この2週間で、韓国から大量のAndroidマルウェアのサンプルが送られてきました。

サンプルを詳しく検証してみると、これらの中にいくつか違いがあることがわかり、異なる亜種として分類してみることにしました。

1つ目の亜種であるAndroid/Malapp.A!tr.spyは、皮肉にも「SmsProctect」(スペルが間違っていますが)と自称しており、被害者の電話が受信するSMSメッセージに対してスパイ行為を行います。

また、被害者の電話に保存されているJPEG画像を盗み出します。

セキュリティの付加

このウイルスのユニークなところは、SSHSCPを利用して、これらのファイルをアタッカーのサーバへコピーするところです。SSHを介してサーバで認証を行うため、ユーザー名とパスワードを被害者の電話からアタッカーのサーバへ送る認証工程があるのです。さらに、電話からサーバへ画像ファイルを転送するのに、SCPプロトコルが使われています。こうした機能を実行するため、このパッケージには既成の「com.trilead.ssh2」というライブラリが使用されています。

分析時には、マルウェアが使用していたURLはすべて削除されていました。

通話を選択してブロック

もう1つの亜種、Android/Malapp.C!tr.spyは上記の拡張版です。

追加の特徴として、被害者の電話の着信、発信を選択してブロックする機能がついています。
このマルウェアは感染した電話の通話を監視します。新たに電話をかけたり、着信があったりすると、その番号がこのパッケージが保有している電話番号リストにあるかをチェックします。リストにある番号と一致すると、着信の場合は被害者に気づかれないようにし、発信の場合はそれがキャンセルされます。

私が分析したサンプルのなかに含まれていた番号のいくつかは、韓国政策金融公社韓国住宅金融公社のものと一致しました。被害者が保有している口座の取引やアクティビティの異常を警告する、こうした機関からの電話をユーザーが受けるのを防ぐため、これらの番号がブロックされているのではないか、というのが私の仮定です。

このマルウェアには技術的制約があります。通話ブロック機能を実行するために必要な「MODIFY_PHONE_STATE」の権限が、Androidのバージョン2.3以降のシステムアプリケーションには使えないのです。つまり、この機能はAndroidのバージョン2.2か、それ以前のものを実行している電話でしか動作しないのです。

アプリの提供者

このパッケージ名を使って検索をかけてみると、Google Playストア上で「Ching Chung Huang」という名前のアカウントが、同じパッケージ名のアプリケーションをいくつか提供していることがわかりました。もちろん、これらのアプリケーションとアカウントはすでに消えていました。下の画像は同じ開発者が自分のアカウントを停止する前に提供していた、別のアプリケーションのキャッシュコピーです。

図1
図1:今回の開発者がGoogle Playに載せていたアプリケーションの1つのキャッシュ画面

他のマルウェア作成者のことを考えた設計

しかし、このマルウェアの興味深いところは、他のマルウェア作成者のことを考え、容易に修正を加えられるように設計されているところです。必要となるサーバのIP、電話番号のリスト、ファイルタイプがすべてパッケージ内にテキストファイルとして入っており、容易に修正を加え、このマルウェアの別バージョンを作成することができるようになっています。

Dropboxを用いた将来的進化

今回のマルウェアの2つの亜種には、「yingmao_va」というユーザーキーを使ってDropbox APIで通信を行う機能が実装されていますが、この機能はコードのどこにも使われていません。被害者の電話から回収したファイルをDropboxのアカウントへアップロードすることが、このマルウェアの進化における次の段階なのではと私たちは推測しています。下の画像はDropboxの認証情報を含むコードです。

図2
図2:Dropboxの認証情報を含むコード

なぜスパイ行為を?

このようにSMSに対してスパイ行為を行うマルウェアの数が、なぜ急激に増加しているのでしょうか。考えてみる価値はありそうです。おそらくこれらは、mTANOTPを盗み出すZitmoSpitmoといったトロイの木馬の安上がり、かつ労力のかからないバージョンなのではないか、と私は考えていますが、ユーザーのPCがPC版のマルウェアに感染していなければ、パズルのピースは揃いません。しかし、アタッカーが古典的なキーロガーやRATを使用して被害者のバンキングの認証情報を回収し、その後mTANあるいはOTPを盗み出すために、手動で被害者の電話にAndroidのトロイの木馬を送りつける、というシナリオであれば、使えるものなのかもしれません。

もう1つの可能性としては、販売目的、または他の攻撃で利用する目的で、被害者のSMSメッセージから、銀行口座番号、連絡先の電話番号、email ID、その他のアカウント詳細といった情報を収集するため、このトロイの木馬が使われている、というシナリオです。

上記の他どのようにしてマルウェア作成者は、こうしたSMSに対するスパイ行為から利益を得ていると思いますか?