トレンドマイクロでは、Android向けアプリの公式マーケットである「Google Play」上で、2つの不審なバーコードリーダーアプリを確認(トレンドマイクロでは「AndroidOS_HiddenAd.HRXJA」として検出)しました。この2つのアプリにはどちらも、不審な活動が含まれていましたが、確認時点で既に100万回以上ものダウンロードが記録されており、多くの人がインストールしたものと考えられます。不審な活動の中には、ユーザがデバイスをアクティブに使用していない時でも広告が表示されるなどの動きも含みます。以下の動画はその例です。
動画1:広告ページの点滅
画面が点滅したように見えますが、一体何が起きたのでしょうか。原因は何なのでしょうか。本記事では、活動に使用されたコードを調査してその答えを見つけていきます。
前述のように、このアプリはバーコードリーダーアプリに偽装しています。実際は、アプリのバーコードリーダー機能は宣伝通りに動作します。ただし、アプリはバックグラウンドでのサービスも起動し、受信した通知を使用してサービスをバックグラウンドで実行し続けます。このサービスは、「com.facebook」というパッケージ名でFacebookのアプリと誤解させて自身の存在を隠匿しようとします。
このサービスは、タイマーを使用して15分毎に広告を表示します。「ランダムなデータ」を利用して、動作を制御しつつユーザに気づかれないように隠匿します。
ここで使用される「ランダムなデータ」は、C&Cサーバから受信されます。その内容には、サーバからの構成情報、広告ID、およびその他のコマンドが含まれます。このコマンドは、デバイスのブラウザで指定されたコンテンツを開いたり、インテント「FLAG_ACTIVITY_NEW_TASK」を使用してアクティビティを開始したりする可能性があります。 この手法は、どのアプリが新しいアクティビティを開いたのかをユーザに知られることなくアクティビティを開始することを可能にします。
不正アプリは15分間隔で広告を表示するよう要求し、広告のステータスを監視するリスナーも追加します。広告ページは開かれてもすぐに閉じられるため、ユーザ側には一切広告が表示されません。その代わり、上述の動画1で見られるように、「点滅」が発生します。
トレンドマイクロでは、2020年3月に公開したモバイル詐欺に関する脅威レポート(英語)で広告詐欺の戦術と手法を列挙しました。 今回の不正アプリが使用する特定の手法は、レポート内の指標「偽」のカテゴリに分類されます。広告は実際に開かれ、閲覧も記録されましたがすぐに閉じられ、人間の目では捉えられないほどでした。
このプロセスは、ユーザが対象のデバイスをアクティブに使用していない場合や、画面が閉じている場合でも発生します。図8のネットワーク通信から、図4と同じ広告IDを持つ広告関連の通信がまだ存在していたことがわかります。
加えて、このアプリは興味深い手法を利用して偽装し、対象のデバイスにインストールされている他のアプリをあたかも不正なものであるかのように仕立て上げました。これは、ユーザが何らかの不審なアクティビティに気づいた場合、本来の原因である不正アプリがアンインストールされないようにするために行われます。以下の動画から分かるように、デバイス上に記載されている最近のタスク一覧を見ると、不正アプリは、デバイスにインストール済みの他のアプリの名前とアイコンを利用しています。
動画2:模倣した名前とアイコンを利用するアプリ
以下の図から分かるように、コマンド「adb shell dumpsys activity」を介してAndroid Debug Bridge(adb)を使用することで、実際の原因となっているアプリを見つけることが可能です。
これらのアドウェアは、バーコードリーダーアプリとして同一の開発者名で数年にわたりGoogle Playストア上に公開されていました。2018年時点で、このアプリの不審な動作についてコメントしている利用者が確認できます。トレンドマイクロでは2019年時点で、これらのアプリをアドウェアとして対応しましたが、当時は、本記事で解析したような悪質な活動は確認されませんでした。今回、解析で悪質な活動が確認されたことにより、本記事公開前にGoogleに報告しました。現在、対象のアプリはGoogle Playから削除されています。
トレンドマイクロでは、このキャンペーンの一部であるアドウェアと同様の動作を示す、合計51個の異なるパッケージ名の不正アプリを確認しました。これらのアプリは、合計95個の固有の検体に分類できました。これらのアプリのうち、Google Play上で配布されていたものはすべて本記事公開前にGoogleによって削除されました。また、サードパーティのマーケット経由で拡散されていたものもあります。アプリの入手の際には、Google Playや携帯電話事業者のアプリマーケットなど、信頼できる運営者のマーケットを使用してください。また、以前はバーコード、QRコードなどの読み取りにはアプリが必要でしたが、現在ではほとんどのバージョンのAndroidでバーコードリーダー機能が標準で搭載されています。自身が使用する端末の機能をよく確認し、必要なアプリのみをインストールするようにしましょう。
■トレンドマイクロの対策
トレンドマイクロクラウド型セキュリティ技術基盤「Smart Protection Network(SPN)」の機能である「Mobile App Reputation Service(MARS)」では、主要なサンドボックスおよび機械学習技術を使用してAndroidおよびiOSの脅威に対応し、マルウェア、ゼロデイおよび既知の脆弱性攻撃、プライバシーの流出、およびアプリケーションに潜む脆弱性からユーザを保護します。個人向けiOSおよびAndroid端末向け製品「ウイルスバスターモバイル」および法人向け「Trend Micro™Mobile Security」ではMARSを利用した対策機能を実装しています。同時にデバイス所有者のデータおよびプライバシーを保護する多層セキュリティ機能と、ランサムウェア、不正なWebサイト、IDの窃取からデバイスを保護する機能も利用可能です。
■侵入の痕跡(Indicators of Compromise、IoC)
今回の記事に関する侵入の痕跡は、こちらを参照してください。
参考記事:
- 「Barcode Reader Apps on Google Play Found Using New Ad Fraud Technique」by Jessie Huang (Mobile Threats Analyst)
翻訳: 下舘 紗耶加(Core Technology Marketing, Trend Micro™ Research)