「Kotlin」で作成された不正アプリを初めて確認:ユーザを有料 SMS サービスに登録

トレンドマイクロは、プログラミング言語「Kotlin」で開発されたものでは初めてとなる Android 端末向け不正アプリ(「ANDROIDOS_BKOTKLIND.HRX」として検出)を確認しました。Kotlin は、マルチプラットフォーム向けアプリケーション開発のためのオープンソースのプログラミング言語です。トレンドマイクロが Google Play で確認した検体は「Swift Cleaner」という名称で、不要なデータを削除し Android 端末を最適化するユーティリティツールに偽装していました。この不正アプリは 2018 年 1 月 9 日の時点で 1,000 回から 5,000 回インストールされており、遠隔からのコマンド実行、情報窃取、テキストメッセージ(ショートメッセージサービス、SMS)の送信、URL の転送、広告クリック詐欺等が可能です。また、ユーザの許可無しに有料の SMS サービスに登録する機能も備えています。


図1

図 1:Android 端末の最適化アプリを装った「Swift Cleaner」

■プログラミング言語「Kotlin」

Google は 2017 年 5 月、Kotlin を Android アプリ開発のための第一級言語に選定したことを発表しました。Kotlin のリリース以来、公式の統合開発環境 Android Studio では 17% 以上のプロジェクトでこの言語が使われています。Kotlin で開発された人気アプリには、Twitter、Pinterest、Netflix などがあります。

開発元によると Kotlin は、定型的なコード量を大幅に削減した簡潔な記述を可能にし、Null 値参照のような例外の予防による安全性、JVM や Android、およびブラウザの既存ライブラリが利用可能な相互運用性、Java 用の IDE やコマンドラインからのビルドが可能なツール選択の柔軟性などの特徴を備えたプログラミング言語です。

ツールによる開発支援機能も非常に便利です。Android Studio 3.0 は Kotlin による開発を補助するツールを提供しています。また、コピーした Java のファイルやコードを変換する機能も備えています。

しかし、上述した Kotlin の特徴が不正アプリの作成においても効果的かどうかはまだ分かっていません。

図2

図 2:Kotlin で開発された不正アプリのパッケージ構造

■技術的な解析

Swift Cleaner を起動すると、この不正アプリは対象端末の情報をコマンド&コントロール(C&C)サーバに送信し、タスクを受信するためにバックグラウンドサービスを開始します。初めて感染した際、Swift Cleaner は C&C サーバから取得した特定の番号に SMS を送信します。

図3

図 3:Swift Cleaner は感染端末の情報を収集し、SMS で送信

この不正アプリが SMS コマンドを受信すると、C&C サーバは URL を転送し広告クリック詐欺を実行します。

図4

図 4:C&C がネットワーク経由で送信したタスク(左)、タスクを実行する不正アプリのコード(右)

この不正アプリの広告クリック機能では、C&C サーバから「Wireless Application Protocol(WAP)」でタスクを実行するコマンドを受信します。WAP は携帯端末などからインターネットにアクセスするための通信規格です。その後、注入された不正な JavaScript のコードによって正規表現による置換が実行されます。正規表現とは検索パターンを定義するための一連の文字列です。これによって、攻撃者は特定の検索文字列内の広告の HTML コードを取り出すことができます。続いて、端末のモバイルデータを密かに開き、base64 方式の画像のコードを変換して CAPTCHA による認証を突破し、完了したタスクを C&C サーバに送信します。

図5

図 5:完了したタスクを C&C サーバに送信

Swift Cleaner は、ログイン情報や CAPTCHA 画像と合わせて、ユーザの端末情報を C&C サーバにアップロードすることも可能です。これらの情報を受信した C&C サーバは、ユーザを有料の SMS サービスに自動的に登録します。

図6

図 6:有料 SMS サービスの料金として利用されるトークンをアップロード

図7

図 7:有料 SMS サービスへの登録に使用する CAPTCHA 画像をアップロード

■被害に遭わないためには

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

トレンドマイクロは既に今回の脅威について Google に通知しており、Google はこの不正アプリからユーザを保護するために、Google のセキュリティサービス「Play プロテクト」による防御が有効であることを検証しています。

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

関連する SHA256 値、パッケージ名、ラベル名は以下のとおりです。

SHA256 パッケージ名 ラベル名
77D0C7DD4B3D87BE6D9DFB0A9C371B4D8EEADCCB8FDE41D942F1C35E5E3EC063 Com[.]pho[.]nec[.]sg[.]app[.]CleanApplication Swift Cleaner
5886316C0B54BBB7CE6978ACDB1AB4E2CF2B1494647B9D9AD014802E6BF5C7B8 com[.]pho[.]nec[.]pcs Swift Cleaner
AEEF3FF7CC543BBACB6AB4DF8DA639B98BE8F3C225678A4D0935F467BC6D720E com[.]pho[.]nec[.]pcs Swift Cleaner
621092856E20E628A577DBE9248649EAE78D1AF611D9168635B22057C6C7552B com[.]pho[.]nec[.]pcs Swift Cleaner
329B9C5670ECDF25248E484E23C21BBC86F943D7573FF131C0DC71BC80812D1C com[.]pho[.]nec[.]pcs Swift Cleaner
2856F3D1282DDC6BCFE65B0C91A87D998EDCCB777387E3F998BC3B6F1D0B3342 com[.]pho[.]nec[.]pcs Swift Cleaner
4F649E0EA6A6F022E7A5701CECB5B7653D1334EB40918E52DB8F3DAACFB3B660 com[.]pho[.]nec[.]pcs Swift Cleaner
AB2C4886A4E0681A55B29C653B506B66721A3F36A1B098AFA7F56DA6F89BF5DE com[.]pho[.]nec[.]pcs Swift Cleaner
7D3E61C2C58906E09D56121BE94601744E362E6F8C6B7BF87472B62B0CF8CE57 com[.]pho[.]nec[.]sg Swift Cleaner
B4822EEB71C83E4AAB5DDFECFB58459E5C5E10D382A2364DA1C42621F58E119B com[.]pho[.]nec[.]sg Swift Cleaner

関連する C&C サーバは以下のとおりです。

  • hxxp://adx[.]gmpmobi[.]com
  • hxxp://52[.]76[.]80[.]41

参考記事:

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