モバイル端末の性能は、ある程度の仮想通貨を実際に発掘するには不十分だという疑いがあります。しかし、機器の消耗、電池の短命化、通常よりも重たい動作など、感染端末がユーザに与える影響は明確です。
トレンドマイクロは、2017年10月中旬、不正に仮想通貨を発掘する能力を備えたアプリを Google Play 上で確認しました。これらのアプリは、検出を逃れるために、JavaScript を動的に読み込み、ネイティブコードを追加する手法を利用します。トレンドマイクロは、これらの不正アプリを「ANDROIDOS_JSMINER(ジェイエスマイナー)」および「ANDROIDOS_CPUMINER(シーピーユーマイナー)」として検出しています。
仮想通貨を発掘する不正アプリがアプリストアで確認されたのは今回が初めてではありません。2014年3月には、密かに仮想通貨を発掘する機能を備えた不正アプリ「ANDROIDOS_KAGECOIN」がGoogle Playで確認されています。
■「ANDROIDOS_JSMINER」:「Coinhive」を利用して仮想通貨を発掘
以前、本ブログでは、改ざんしたWebサイトによってサポート詐欺ページに誘導し、JavaScript「Coinhive」を利用してユーザに仮想通貨を発掘させる「サポート詐欺」について解説しました。今回確認されたANDROIDOS_JSMINERは、アプリを介して同様の攻撃を実行します。トレンドマイクロが確認した2つのアプリのうち、1つは「ロザリオの祈り」のためのアプリと思われ、もう1つはユーティリティアプリでした。
図1:Google Play で確認された「ANDROIDOS_JSMINER」を含む不正アプリ
図2:Google Play で確認された「ANDROIDOS_JSMINER」を含む不正アプリ
これら 2つのアプリは同じ動作を示します。起動すると、Coinhive から JavaScript のライブラリを読み込み、攻撃者の「Site key」を使用して仮想通貨の発掘を開始します。
図3:アプリ起動時に発掘を開始するコード
このJavaScript のコードは、アプリ内で Webページを表示する「WebView」の中で実行されます。しかし、初期設定で非表示になっているためユーザが画面を見ることはできません。
図4:WebView は非表示(INVISIBLE)に設定されている
不正なJavaScript の実行時には CPU使用率が極めて高い数値を示します。
■「ANDROIDOS_CPUMINER」:正規アプリをトロイの木馬化
「ANDROIDOS_CPUMINER」として検出されているもう一方のファミリは、正規アプリに仮想通貨発掘ライブラリを追加して再パッケージしたアプリが配布されているものです。
Google Play上で確認されたこの不正アプリの 1つは、壁紙アプリに偽装していました。
図5:Google Playで確認された不正な仮想通貨発掘アプリ
仮想通貨発掘コードは、「cpuminer」のライブラリを修正したもののようです。正規のcpuminer はバージョン2.5.0 までしかリリースされていませんが、この不正アプリは 2.5.1 を利用しています。このコードは図6のように、正規アプリに追加されています。
図6:「CPUMINER」によって正規アプリに追加されたコード
図6のコードは、Google Play上で確認されたアプリからではなく、同じファミリの検体から取得したものであることに注意してください。
図7:不正アプリで確認された修正されたcpuminerのコード
仮想通貨発掘コードは、ダイナミックDNSサービスを利用する攻撃者のサーバから設定ファイルを取得します。この設定ファイルは、発掘プロトコル「Stratum」を介して攻撃者の発掘プールに関する情報を提供します。
図8:仮想通貨の発掘によって得られた利益
図8から、攻撃者はさまざまな仮想通貨を発掘しており、その発掘額もそれぞれであることが分かります。また、24時間で発掘した仮想通貨の価値が 170米ドル(約19,300円、2017年10月31日時点)をわずかに越える金額であることも確認できます。
トレンドマイクロは、「ANDROIDOS_CPUMINER」のファミリの検体を合計 25個確認しています。法人利用者向けモバイル用セキュリティ対策製品「Trend Micro Mobile Security」は既に、「ANDROIDOS_JSMINER」の亜種と同様に、「ANDROIDOS_CPUMINER」の亜種を検出対応しています。
今回確認された脅威は、現実的にはそれほど多くの利益を攻撃者にもたらしませんが、モバイル端末でさえ仮想通貨の発掘に利用されるようになっていることを示しています。ユーザは、アプリのインストール後に端末のパフォーマンスが低下していないかどうか注意を払う必要があります。
弊社は既に今回の事例を Google に通知しており、本記事で解説した不正アプリは Google Play から削除されています。
■侵入の痕跡(Indicators of Compromise、IoCs)
以下は今回の脅威に関連するGoogle Playで確認されたアプリです。
SHA256値 | アプリの名称 | パッケージ名 | 検出名 |
---|---|---|---|
22581e7e76a09d404d093ab755888743b4c 908518c47af66225e2da991d112f0 |
Recitiamo Santo Rosario Free | prsolutions.rosariofacileads | ANDROIDOS_JSMINER |
440cc9913d623ed42563e90eec352da9438 a9fdac331017af2ab9b87a5eee4af |
SafetyNet Wireless App | com.freemo.safetynet | ANDROIDOS_JSMINER |
d3c0bed627edab9ac1bbc2bcc6e8c3ff45b 4708afa527790e42a4a6fe2c045f0 |
Car Wallpaper HD: mercedes, ferrari, bmw and audi | com.yrchkor.newwallpapers | ANDROIDOS_CPUMINER |
参考記事:
- 「Coin Miner Mobile Malware Returns, Hits Google Play」
by Jason Gu, Veo Zhang, Seven Shen (Mobile Threat Analysts)
翻訳:澤山 高士(Core Technology Marketing, TrendLabs)