※本ブログは、Mobile Malware Researcher 中島大輔によるものです。
※本ブログの内容は2013年12月17日時点のものです。
※2013/12/18 更新情報を追記しました。
GoogleアカウントID(アカウント名) ― 多くの場合、Gmailアドレス ―は、Android端末ユーザーの重要な識別子の1つです。McAfeeは、このGoogleアカウントIDを密かに収集する多数の不審な日本語アプリの存在をGoogle Play上で確認しています。Googleアカウントのパスワードが盗まれるわけではありませんが、IDの漏洩だけでもセキュリティおよびプライバシーに対するリスクがあります。
下の2つのアプリ – 占いアプリと出会い系アプリ – は、アプリ起動直後に端末のGoogleアカウントIDを取得し、外部のWebサーバーへ密かに送信します。アプリのダウンロード数はそれぞれ10,000~50,000回に上ります。McAfee Mobile Security は、これら不審なアプリを Android/ChatLeaker.D として検出します。
Fig.1: GoogleアカウントIDを収集する2つのアプリ
また別の30種以上のアプリは、アプリ起動直後に端末のGoogleアカウントID、IMEI、IMSIを取得し、ユーザーに知られることなく特定のWebサーバーへ送信します。これらのアプリのカテゴリーは多岐にわたり、また複数の開発者名でGoogle Play上に公開されていますが、データ送信の実装コードや送信先が共通であることから、実際には同じ開発者か関連するグループによるものだと推測しています。一部のアプリはかなり以前に公開された形跡があり、また日本語以外の外国語にも対応していることも影響してか、これらのアプリのダウンロード回数は少なくとも合計数百万回以上に上ります。McAfee Mobile Security はこの種の不審なアプリを Android/GaLeaker.A およびその亜種として検出します。
Fig.2: GoogleアカウントID、IMEI、IMSIを収集する30種以上のアプリ
これらのアプリがなぜGoogleアカウントIDを密かに収集しているのか、どのように使用しているのか、どのように安全に管理しているのかは不明です。また、私たちの検証時に収集されたGoogleアカウントIDを利用した不正行為も今のところ確認できていません。しかし、どのような使用方法にせよ、これらのアプリはこの情報の自動収集の事実と利用目的について事前にユーザーに明示し、かつそれを拒否する機会をユーザーに与えるべきです。
Androidアプリは、インストール時にGET_ACCOUNTS(この端末上のアカウントの検索)権限の要求が許可されると、AccountManagerクラスのメソッドを使用してGoogleアカウント(およびその他のアカウント)のIDとそれに付随する情報を取得することができます。この権限は、アプリがGCM(Google Cloud Messaging)機構を使用する場合などにしばしば要求されます。GCMは、アプリがサーバーから端末へのプッシュデータ送信を使用できるようにするためにGoogleによって提供されている標準的な仕組みです。そのためユーザーは、アプリがGCMを使用するためにこの権限を要求しているのか、あるいは本当にアカウントIDを取得したいのか(悪意のある用途を含む)を見分けること、すなわち、この権限要求の許可が安全か否かを判断することが困難だといえます。
Fig.3: GET_ACCOUNTS権限の要求
GET_ACCOUNTS権限が与えられてもアカウントのパスワードを取得することは不可能ですが、アカウントIDの漏洩自体にもいくつかのリスクが潜みます。
- アカウントIDが他の悪意ある人物と共有されたりメールアドレス収集業者に販売されたりする。
- アカウントID(メールアドレス)宛にスパムや詐欺メールが送信される。
- ユーザーが弱いアカウントパスワードを設定していた場合、パスワードを見破られアカウントに不正アクセスされる。
- アカウントIDを使用してユーザー登録を行ったSNS(例えば、Google+)やコミュニケーションサービス上での個人情報が特定される。
特に、Android端末ユーザーは端末入手時に作成したGoogleアカウントID(Gmailアドレス)を使用して様々なサービスに登録し、またサービス側もそのメールアドレスによるユーザーの検索を可能とする初期設定を行う場合があるため、上の最後に挙げたリスクには注意する必要があります。例えば、ユーザーがあるSNS上で自身のプロファイルを公開しており、かつ、登録メールアドレスによる自身の検索を許可する設定(多くのサービスでは初期設定)が有効な場合、攻撃者にそのメールアドレスを知られると容易に自身のプロファイルが探し出されてしまう危険があります。
Fig.4: Gmailアドレスによるユーザー検索で名前が知られてしまう例
もう一つ注意する点として、GET_ACCOUNTS権限の許可により、Androidアプリは端末上に登録されているGoogleアカウント以外の様々なアプリやサービスのアカウントID – 例えば、Facebook、Twitter、LinkedIn、Tumblr、WhatsAppなどのID – も取得できることが挙げられます。もしこれらのアカウントIDが漏洩すると、ユーザーはそれらのIDに関しても上で述べたような同じ危険にさらされます。
Fig.5: Android端末に登録される様々なアカウントの例
SNSや類似のサービスのユーザーは、「メールアドレスによる検索を許可」オプションの設定を再確認し、本当にそれを望む場合以外はその設定を無効にすることをお奨めします。また一般に、このようなアカウントIDを不特定多数の他者が閲覧可能な場所に公開することは、本当にそれが必要でない限り避けた方が良いでしょう。
2013/12/18 更新情報
以下の1個の不審な出会い系アプリもGoogleアカウントIDを密かに収集するため Android/ChatLeaker.D として検出します。
以下の12個の不審なアプリ(多くはメディアダウンロードアプリ)もGoogleアカウントID、IMEI、IMSIを密かに収集するため Android/GaLeaker.A または Android/GaLeaker.B として検出します。
また、Google Playではなく、Android/GaLeaker.Aアプリ群に関連するWebサイト上で以下の2個の不審なアダルト動画ダウンロードアプリを確認しています。これらもGoogle Play上のアプリと同様の動作を行うため、ともにAndroid/GaLeaker.Aとして検出します。
なお、12月17日に報告した Android/GaLeaker.A および Android/GaLeaker.B として検出される不審アプリのほとんどは12月18日現在、Google Play上で削除されたか一時的に非公開とされているようです。しかし、再公開されたり別のアプリとして新規公開されたりする可能性もあるため、引き続き注意が必要です。
※本ページの内容はMcAfee Blogの抄訳です。
原文:Suspicious Apps on Google Play Leaking Google Account IDs