「Monero」を発掘する Android 端末向け不正アプリ「HIDDENMINER」、端末に不具合を発生させる可能性も

トレンドマイクロは、感染端末の計算能力を盗用して仮想通貨「Monero(XMR)」を発掘する Android 端末向け不正アプリ「HIDDENMINER(ヒドゥンマイナー)」(「ANDROIDOS_HIDDENMINER」として検出)を確認しました。この不正アプリは、ユーザが感染に気付かないように自身を隠ぺいし、管理者権限を悪用することによって活動を継続する機能を備えています。管理者権限の悪用は、「SLocker」のような Android 端末向けランサムウェアでよく確認されていた手法です。

HIDDENMINER をさらに詳しく解析したところ、この不正アプリに関連する発掘プールとウォレットアドレスを確認することができました。あるウォレットアドレスからは 26 XMR(2018 年 4 月 2 日時点で約 495,000 円)の Monero が引き出されていたことも判明しています。ウォレットアドレスの利用状況から、感染端末を利用した非常に活発な仮想通貨発掘活動が行われていることが分かりました。

HIDDENMINER は端末の CPU の計算能力を利用して Moneroを発掘しますが、発掘活動を停止する機能は無く、制御や最適化も行いません。そのため、端末のリソースを消費し尽くすまで発掘を続けます。これによって端末が過熱し、場合によっては物理的な損傷が発生する可能性もあります。

このような特徴は、Monero を発掘する Android 端末向け不正アプリ「Loapi」も同様です。Laopi による仮想通貨発掘活動では、電池が膨らんでスマートフォンのカバーが外れた事例がリサーチャによって報告されています。また、Laopi は、ユーザが管理者権限を無効化しようとすると端末の画面をロックしますが、HIDDENMINER でも同様の機能が確認されています。

HIDDENMINER はサードパーティのアプリストアからダウンロードされます。今のところインドおよび中国のユーザに影響を与えていますが、今後、その他の国々に拡散することも十分考えられます。

HIDDENMINER に関連するウォレットアドレスの状態

図 1:HIDDENMINER に関連するウォレットアドレスの状態

■感染の流れ

HIDDENMINER は正規 Google Play アプリの更新に偽装し、「com.google.android.provider」という名称のアプリとして管理者権限を要求するポップアップ画面を立ち上げます。この画面には Google Play アプリのアイコン画像が使われています。ユーザが「Activate」をクリックし管理者権限を許可するまで、ポップアップ画像が表示され続けます。ユーザが管理者権限を許可すると、HIDDENMINERはバックグラウンドで Monero の発掘を開始します。

HIDDENMINER がユーザに管理者権限の許可を要求する画面

図 2:HIDDENMINER がユーザに管理者権限の許可を要求する画面

■技術的な解析

HIDDENMINER は、インストール後にラベルを空文字列に変更しアイコン画像を透明にするなど、さまざまな手法を利用して自身を隠ぺいします。端末の管理者権限取得後には、「setComponentEnableSetting()」関数を呼び出し、アプリ自体がホーム画面に表示されないようにします。HIDDENMINER は自動的に管理者権限で実行され、次回起動時まで密かに活動を続けます。これは、Android 端末向けアドウェア「DoubleHidden」と同じ手法です。

HIDDENMINER が自身を隠ぺいする手法

図 3:HIDDENMINER が自身を隠ぺいする手法
空文字列のアプリラベルと透明なアイコン画像(左)
管理者権限取得後はアプリ自体を非表示(右)

HIDDENMINER は、検出および自動解析を回避するためのアンチエミュレータ機能も備えています。この機能はリポジトリホスティングサービス「GitHub」で公開されている Android 用エミュレータ検出ツールを悪用したもので、自身がエミュレータによって実行されているかどうか確認することが可能です。

サンドボックス技術によるエミュレーションを回避するコード

図 4:サンドボックス技術によるエミュレーションを回避するコード

HIDDENMINER が Monero を発掘するコード

図 5:HIDDENMINER が Monero を発掘するコード

■管理者権限の悪用

管理者権限が付与されたアプリを削除するためには、先に管理者権限を無効化する必要があります。しかし、HIDDENMINER はユーザが管理者権限を無効化しようとすると端末の画面をロックし、不正アプリを削除できないようにします。これは「Nougat(Android 7.0)」より前の Android OS に存在する不具合を利用した手法です。

HIDDENMINER が管理者権限の無効化を妨げるコード

図 6:HIDDENMINER が管理者権限の無効化を妨げるコード

Google はこのセキュリティ課題を Nougat 以降の Android OS で修正し、機能の一部として画面をロックすることができないように、アプリに与えられる管理者権限を制限しました。これにより、管理者権限を持つアプリであっても、「onDisableRequested()」関数を通して管理者権限を無効化する要求を検知することができなくなりました。「onDisableRequested()」関数の悪用は、いくつかの Android 端末向けランサムウェアや、「Fobus」のような情報窃取型不正アプリが端末に足がかりを築くために利用していた手法です。

今回の事例は、モバイルセキュリティのベストプラクティスに従うことの重要性を再確認する機会と言えます。個人ユーザおよび企業は、正規アプリストアからのみアプリをダウンロードし、製造業者にリリース状況を確認するなどして端末の OS を定期的に更新してください。また、アプリに許可する権限は慎重に設定してください。

■トレンドマイクロの対策

不正アプリのインストールをブロックするために、トレンドマイクロは個人利用者向けには「ウイルスバスターモバイル」、法人利用者向けには「Trend Micro Mobile Security」を提供しています。これらの製品ではトレンドマイクロのクラウド型セキュリティ基盤「Trend Micro Smart Protection Network(SPN)」の機能である「モバイルアプリケーションレピュテーション(MAR)」技術や「Web レピュテーション(WRS)」技術により、不正/迷惑アプリの検出や不正/迷惑アプリに関連する不正 Web サイトのブロックに対応しています。また、アプリ、データ保護、および環境設定の管理を提供するとともに、脆弱性を利用した攻撃から端末を保護し、不正なアクセスを防止します。

■侵入の痕跡(Indicators of Compromise、IoC)

「ANDROIDOS_HIDDENMINER」(パッケージ名「com.android.sesupdate」)に関連した SHA 256 値は以下の通りです。

  • 7FBF758FEAF4D992B16B26AC582A4BDCFC1A36B6F29B52FC713A2B8537F54202
  • E62C034516F28A01ABD1014D5D9CAA7E103AE42C4D38419C39BC9846538747FA
  • 975A12756CA4F5E428704F7C553FD2B2CCC12F7965DD61C80BEC7BCBA08C1B37
  • FD30B04CE4A732FB830A03C1A0AC0FBB0972C87307E515646239B0834156FA0E
  • D21899BDAB5B1D786D8FC6C133385650A4CDA2B71A394B1F8DDC5C0EC39F1523
  • BF9C41EE9D4A718F6B6958EC2E935395E79882B0EBEE545E2C84277DBA70A657
  • B924A8EC7CFC1D5DDD9828467D7FC583FA6B35F441170D171C7A084FFD1799AD
  • B40E2EEF49EDB271BBA2E5AD15C773E6EBDF4BFE5822AD93DDFE20847B8F9D67
  • 419629E1644B0179F0AE837FE3F8D80C6E490A59838E485EEDA048BF8DF176D2
  • 3039B2FF2E1EDB522FFADAEAED8B0CEE1519CFA56FABE7CE6F0F6A50816D026D
  • 1C24C3AD27027E79ADD11D124B1366AE577F9C92CD3302BD26869825C90BF377
  • 0156051E50544F9F725B75E32E0ACE888E53FBC79CAC50835B9A9EB39F0FCA84

HIDDENMINER が使用する Monero 発掘プールは以下の通りです。

  • pool[.]minergate[.]com
  • monero[.]hashvault[.]pro
  • monero[.]hashvault[.]pro
  • supportxmr[.]com

HIDDENMINER に関連した Monero のウォレットアドレスは以下の通りです。

  • 49Bq2bFsvJFAe11SgAZQZjZRn6rE2CXHz4tkoomgx4pZhkJVSUmUHT4ixRWdGX8z2cgJeftiyTEK1U1DW7mEZS8E4dF5hkn
  • 43QGgipcHvNLBX3nunZLwVQpF6VbobmGcQKzXzQ5xMfJgzfRBzfXcJHX1tUHcKPm9bcjubrzKqTm69JbQSL4B3f6E3mNCbU
  • 486GAqHxZnCYNcN2V1SEASSoWmifzXZNrDVgZayZXytJFbr1hSaXGyCbLGzwyX1heyhcLaps2ZvWFGs1AJKSjEKJNvsTq9q

参考記事:

翻訳: 澤山 高士(Core Technology Marketing, TrendLabs)