中国のハイテク大手である百度によって作られた2つのAndroidアプリに、ユーザーに関するセンシティブな情報を収集するコードが含まれていることが、カリフォルニア州サンタクララに本拠を置くサイバーセキュリティ企業・パロアルトネットワークスのグローバル脅威インテリジェンスチームである「Unit 42」のレポートで判明しました。Googleはこの報告を受けて調査を行い、2020年10月28日付で2つのアプリをGoogle Play上から削除しています。

Data Leakage Found From Android Apps on Google Play With Millions of Downloads

https://unit42.paloaltonetworks.com/android-apps-data-leakage/

Baidu Mobile Apps in Google Play Leak Sensitive Data | Threatpost

https://threatpost.com/baidu-apps-google-play-data/161556/

Baidu's Android apps caught collecting sensitive user details | ZDNet

https://www.zdnet.com/article/baidus-android-apps-caught-collecting-sensitive-user-details/

モバイルアプリがデータを収集し、そのデータが外部に流出することはよくある問題ですが、漏えいしたデータはユーザーのプライバシーを侵害し、サイバー犯罪者の攻撃に利用されることもあります。Unit 42の研究者である Stefan Achleitner氏とChengcheng Xu氏は、機械学習ベースのスパイウェア検出システムを用いた調査を行い、重要なデータを漏えいする可能性がある複数のAndroidアプリがGoogle Play上にあることを突き止めたとのこと。

研究者らが報告したデータを流出させる危険があるAndroidアプリには、百度製の検索アプリであるBaidu Search Boxや地図アプリのBaidu Mapsが含まれていました。これらのアプリは合計で600万回以上もダウンロードされており、中にはユーザーが端末を変更しても追跡し続けられる重要な情報も、アプリによって収集されていたと報告されています。



Androidアプリが収集することが多い情報として、「携帯電話のモデル」「画面解像度」「携帯電話のMACアドレス」「通信キャリア」「ネットワーク(Wi-F、2G、3G、4G、5G)」「Android ID」「International Mobile Subscriber Identity(IMSI)」「International Mobile Equipment Identity(IMEI)」などがあります。

このうち、画面解像度などはサイバー犯罪者に知られてもほぼ無害ですが、携帯電話ユーザーに割り当てられる一意の識別番号であるIMSIや、携帯電話や衛星電話に割り当てられる識別番号のIMEIなどはさまざまな使い道があります。

たとえば一般的にSIMカードに関連付けられているIMSIを使えば、端末を変えて電話番号を再取得した場合でもユーザーを識別・追跡することが可能となります。また、IMEIを利用すればプロバイダーに「電話が盗まれた」と報告し、携帯電話を無効化してネットワークへのアクセスをブロックさせることができます。これらの情報はサイバー犯罪者にとって利益が大きいため、さまざまな手法で盗み出そうとしているとのこと。

GoogleがAndroidアプリ開発者向けに記した「一意の識別子に関するベスト プラクティス」でも、IMSIやIMEIといった一意の識別子の機密性について強調されており、識別子が必要な場合は別のものを利用するように推奨されています。

一意の識別子に関するベスト プラクティス | Android デベロッパー | Android Developers

https://developer.android.com/training/articles/user-data-ids



しかし、Unit 42の研究者がスパイウェア検出システムでGoogle Play上のAndroidアプリを調査したところ、Baidu Search BoxやBaidu Mapsに使われるプッシュ通知用ソフトウェア開発キット(SDK)に、IMSIやMACアドレスを含む重要なユーザーデータを収集するコードが発見されたとのこと。他にも、3Dのインテリアを配置できるHomestylerというアプリなどにも、同様の問題があることが判明したと研究者は述べています。

アプリがこれらの情報を収集すること自体はAndroidアプリに関するポリシーに違反しているわけではなく、あくまで「推奨されていない」という程度にとどまっていますが、研究者はこの問題を百度やGoogleのAndroidチームに通知しました。その後、Googleは百度のアプリについてさらなる調査を行い、研究者が報告したもの以外の違反が見つかったとして、2020年10月28日付で2つのアプリを削除しました。

百度の広報担当者は、Unit 42からの報告によってGoogleの調査が引き起こされたものの、ユーザーデータの収集自体はGoogleの許可を得て以前から行っていたものであり、今回アプリが削除された理由とは関係ないと説明。百度はアプリの問題を改善するために取り組んでおり、Baidu Search Boxは11月19日に問題を修正したバージョンで再リリースされています。Baidu Mapsも今後、Googleに指摘された問題を修正して再リリースする予定だとのこと。

アプリが収集したデータが健全な目的のみに使用され、外部に流出しないのであればそこまで深刻な問題にはなりません。しかし、研究者がAndroidマルウェアについて分析したところ、いくつかのマルウェアはBaidu Search BoxやBaidu Mapsで使われるSDKを悪用し、デバイスデータの抽出・送信に使用されていることがわかったそうです。たとえ正当な目的で開発されたアプリであっても、セキュリティに問題があれば悪意のあるサイバー犯罪者につけ込まれる可能性があるため、Androidアプリ開発者はGoogleが推奨するベストプラクティスに従い、データを正しく収集するべきだと研究者は主張しました。