#Androidプライバシーの新制限はザル?アプリによる他アプリ監視の実態と抜け穴:Swiggy, Zeptoも該当? インド発アプリに見る、Androidプライバシー保護を迂回するデータ収集 #三3#Androidプライバシーの新制限はザル?アプリによる他アプリ監視の実態と抜け穴:Swiggy, Zeptoも該当? インド発アプリに見る、Androidプライバシー保護を迂回するデータ収集 #三30
https://peabee.substack.com/p/everyone-knows-what-apps-you-use
数年前まで、Androidデバイスにインストールされたアプリは、他のアプリを許可なく表示できたが、2022年以降のAndroid 11から、Googleはアプリ開発者にこのアクセスを制限しました。現在、アプリは他のインストールされたアプリを表示するには、その機能に不可欠であることを示す必要があり、事前に宣言された権限がある場合のみ表示できます。ファイルマネージャーやウイルス対策アプリなど、一部の特定のユースケースには例外が認められていますが、普遍的に広がる問題が潜んでいます。 特にインドのアプリについての調査では、数十のインド製アプリのマニフェストファイルを調査した結果、プライバシーを尊重しているのか疑問が浮かぶほど、驚く頻度で他のアプリのインストール状況を確認していることが分かりました。アプリのクエリには正当な理由もあるものの、一部の企業は意図的にそれを超えているようです。その中の一例としてスウィギーが挙げられ、154のパッケージ名がリストアップされ、ユーザーのインストール状況を不必要に調べていることが示されています。これは、ユーザーの行動プロファイリングを目的としたデータ収集に利用されている可能性があります。 また、他のアプリも同様の問題を抱えており、デザインの優先度が高いゼプトは165のアプリを挙げており、多くの人気アプリがチェックの対象になっています。これにより、異なるユーザーに異なる価格が提示されることもあります。これらのアプリは、ユーザーの行動を追跡し、個人情報を収集する動きが見られます。 アプリのクエリリストはライダー向けのアプリにも及んでおり、特に配達員の携帯電話に関連して失敗のデータを収集し続ける風潮があります。さらに、個人ローンアプリも同様に多くのインストールされたアプリをチェックしており、その手法には疑問が残ります。特定のアプリがその情報をどうやって得ているのかという点で問題が指摘されています。 あらゆるカテゴリのアプリが、フォワーディング機能として一覧を可視化できるように設計されていることが分かり、これがプライバシーに対する大きな抜け穴を生む結果につながっています。多くのアプリで「ACTION_MAIN」というフィルターを利用し、ユーザーに告知することなくインストールされているすべてのアプリを表示することが可能です。実際に、分析した多くのアプリがこの手法を悪用している実態も確認されました。 しかし、この問題は特定の企業だけのものではなく、有名なアプリも同様のリストを持つことが判明し、Googleのパッケージ可視性ポリシーが実際には効果を上げていないことが浮き彫りになります。これに伴い、ユーザーがどのアプリの情報にアクセスしているかについての透明性が欠如しており、どのようにデータが収集されているのか不明確な状況です。 また、各アプリにはそれぞれ異なるアクセス権の要求があり、特にプライバシーに影響を与える許可についても懸念が残ります。たとえば、ZeptoがREAD_SMSのアクセス権を求めるケースでは、ユーザーは何が見られているのかを知ることなく、個人情報を無意識に提供することになります。このような現実は、ユーザーのプライバシーに重大な影響を及ぼす可能性があります。 最終的には、これらのアプリが、ユーザーの行動データを基にしたプロファイリングを行い、さらには広告ネットワークとのデータを照合することで、個人の嗜好に基づいたマーケティング戦略を策定することが危険視されています。インストールされたアプリのデータは機密性が高く、利用にあたっては注意を要することが強調されます。
- 研究では、インド製アプリが他のインストール済みアプリの情報を頻繁にチェックしている可能性があると示唆されています。特に、スウィギーやゼプトなどの人気アプリが154~165のアプリを対象に調査していると報告されています。
- グーグルのパッケージ可視性ポリシーにより、この種のアクセスは制限されていますが、「ACTION_MAIN」フィルターの利用など、抜け穴が存在する可能性があります。
- ユーザーのプライバシーが侵害されるリスクがあり、行動プロファイリングや広告ターゲティングにデータが悪用される可能性が懸念されています。
- パッケージマネージャーを通じた直接アクセス: アプリはPackageManagerを使用してインストール済みパッケージをクエリできますが、Android 11以降、これはQUERY_ALL_PACKAGES権限が必要で、通常のアプリには付与されません。
- 特定のパッケージ名のチェック: アプリはgetPackageInfoメソッドを使用して、事前に知っているパッケージ名がインストールされているかを確認できます。この方法は特別な権限を必要とせず、複数のパッケージを順次チェック可能です。
- ランチャーアクティビティのクエリ: android.intent.action.MAINとandroid.intent.category.LAUNCHERを持つアクティビティをクエリすることで、ランチャーに表示されるアプリのリストを取得できます。これは特別な権限を必要とせず、インストール済みアプリの多くをカバーします。
- スウィギー(Swiggy): フードデリバリーアプリで、154の特定のパッケージ名をチェックし、ユーザーがどのアプリをインストールしているかを調査。
- ゼプト(Zepto): デザイン性の高いデリバリーアプリで、165のアプリを対象に同様の調査を実施。
- 行動プロファイリング: ユーザーがインストールしているアプリに基づき、嗜好や生活習慣を把握し、ターゲティング広告に利用。
- データ悪用: 健康や金融関連のアプリがインストールされている場合、敏感な個人情報が漏洩するリスク。
- 透明性の欠如: ユーザーはどのアプリがデータを収集しているのかを知る手段が少なく、同意プロセスが不十分。
- グーグルによるポリシー強化: パッケージ可視性ポリシーをさらに厳格化し、「ACTION_MAIN」フィルターの悪用を防ぐ具体的な規制を導入。
- ユーザーへの啓発と権限管理: ユーザーがアプリの権限を適切に管理し、不審なアプリをインストールしないよう注意喚起を行う。
- アプリ開発者への教育: 開発者に対して、ユーザーのプライバシーを尊重し、必要最小限の情報のみを収集するよう教育する取り組みを強化。
アプリ名 | チェック対象アプリ数 | 主な機能 |
---|---|---|
スウィギー(Swiggy) | 154 | フードデリバリー |
ゼプト(Zepto) | 165 | クイックコマース |
ライダー向けアプリ | 不明 | 配達員管理 |
個人ローンアプリ | 不明 | ローン提供 |
概要:
- Exodus Privacy: Androidアプリのプライバシー侵害を警告する団体で、アプリがどのような許可を要求しているかを調査しています(リンク: https://exodus-privacy.eu.org/)。
- Swiggy: インドのフードデリバリーアプリで、他の大手アプリ(Weibo、Wechat、Facebook、Snapchat)と比べて要求するアクセス許可が少ない(47件)とされています。ただし、他のアプリが追加サービスのために多くの許可を必要とする一方で、Swiggyも必要以上のデータ収集をしている可能性が示唆されています。
ディスカッションの翻訳: 以下は、ユーザーが提供したディスカッションの一部を日本語に翻訳したものです。全文は長すぎるため、主要なやり取りを抜粋して示します。
- captn3m0 (7時間前):
「ACTION_MAINの抜け穴については以前にも書かれていました(リンク: https://commonsware.com/blog/2020/04/05/android-r-package-vi...)。Googleはこれにパッチを当てることを拒否しています。Android VDP(脆弱性報奨プログラム)に許可バイパスとして提出したらどうなるでしょうか。」 - 3abiton (6時間前):
「Googleがこれを修正しないため、XPL-ExtendedやXPrivacyLuaのようなプロジェクトが絶対に必要です。私はこれらなしではAndroidを使いません。」 - 無知な (2時間前):
「XPrivacyLuaや他のXposed/Magisk拡張はアプリのサンドボックスを壊します。テストデバイスでは制限付きビルドを使う方が良いでしょう。本番デバイスでは、作業プロファイル(GrapheneOSは最大31個をサポート)やプライベートスペース(Android 15+)を使ってアプリを分離することを勧めます。」 - pava (1時間前):
「『アプリのサンドボックスを壊す』ってどういう意味ですか?」 - ネクスル (7時間前):
「パッケージ可視性制限が導入されて以来、この抜け穴は存在し、ほぼ誰でも回避方法を知っています。Googleが修正を拒否したという情報源はありますか?」 - Aznひそか (6時間前):
「その抜け穴は5年前に公開されましたが、修正されていません。Googleが修正を拒否していると公式に書かれたメモが必要ですか?」
ディスカッションの内容の要約
ディスカッションでは、Androidアプリのプライバシー問題、特に他のインストール済みアプリを検出する機能について議論されています。主なポイントは以下の通りです:
- ACTION_MAINの抜け穴:
- Androidでは、ACTION_MAINというインテントフィルターを使うことで、アプリが他のインストール済みアプリを検出できる抜け穴が存在します。この方法は許可を必要とせず、Googleが長年修正を拒否しているとされています。
- 参考リンク: Commonswareブログ
- プライバシー対策ツール:
- XPrivacyLuaやXPL-Extendedのようなツールを使うことで、このようなデータ収集をブロックまたは偽装できます。ただし、これらはアプリのサンドボックス(アプリ同士を分離するセキュリティ機能)を壊す可能性があり、注意が必要です。
- GrapheneOSやAndroid 15のプライベートスペースを使うと、アプリを分離してプライバシーを強化できます。
- Googleの対応:
- Googleがこの問題を修正しない理由は明確ではありませんが、5年以上前から知られているにも関わらず放置されていることが指摘されています。一部のユーザーは、これが意図的な「裏口」ではなく、見過ごされている可能性が高いと考えています。
- アプリのサンドボックスを壊す意味:
- サンドボックスとは、アプリが他のアプリやシステムにアクセスできないようにするAndroidのセキュリティ機能です。XPrivacyLuaのようなツールは、この制限を解除して動作するため、逆にセキュリティリスクを高める可能性があります。
- 現実的な影響:
- Swiggyのようなアプリが他のアプリを検出することは、ユーザーのプロファイリングや広告ターゲティングに利用される可能性があります。たとえば、XboxやPlaystationアプリがインストールされているかを知ることで、ユーザーの興味や経済状況を推測できます。
ユーザーの意図に対する回答
ユーザーのクエリには具体的な質問がないものの、Swiggyや他のアプリのプライバシー問題への関心が示唆されています。以下は、クエリに対する包括的な回答です:
- Swiggyの許可について:
Swiggyは47件のアクセス許可を要求しており、Weibo(104件)やFacebook(85件)に比べれば少ないものの、必要以上の情報を収集している可能性があります。たとえば、他のアプリのインストール状況を知ることで、ユーザーのライフスタイルを分析し、広告や価格設定に利用するかもしれません。 - Exodus Privacyの役割:
Exodus Privacyは、アプリがどのようなトラッカーや許可を持っているかを公開し、ユーザーがインストール前にリスクを評価できるようにします。Swiggyを含む多くのアプリが、プライバシー侵害の可能性があるとして監視されています。 - 解決策:
- 代替OS: GrapheneOSのようなプライバシー重視のOSを使えば、アプリの分離や許可の管理が強化されます。
- ツール: XPrivacyLuaのようなツールで許可を制限できますが、サンドボックスのリスクを理解する必要があります。
- 意識的な選択: アプリをインストールする前に、Exodus Privacyのレポートを確認し、不要な許可を要求するアプリを避けることが推奨されます。
結論
Androidアプリ、特にSwiggyのようなサービスは、必要以上のデータ(例: 他のインストール済みアプリ)を収集する可能性があり、これはプライバシー侵害につながります。Googleが提供する基本的な対策では不十分であり、ユーザーが自分で対策を講じる必要があります。Exodus Privacyのようなリソースを活用し、プライバシー重視の選択をすることが重要です。
- 研究では、ACTION_MAINインテントフィルターがパッケージ可視性制限を回避する抜け穴として以前から知られていたと示唆されていますが、グーグルはこれを意図的に許可している可能性があります。
- グーグルの対応については議論があり、一部では修正を拒否していると見る意見と、Private SpaceやWork Profileで分離問題に対応しているとの見方があります。
- この抜け穴の存在は、XPrivacyLuaのような権限管理ツールの必要性を高めていますが、サンドボックスを壊すリスクも指摘されています。
- 修正拒否の証拠と見る意見: 抜け穴が修正されない事実自体が拒否の証拠と捉える声があります。
- Private SpaceやWork Profileでの対応: グーグルはPrivate SpaceやWork Profileを通じてアプリを分離し、プライバシーを保護しようとしているとの見方もあります。
- Play Storeの審査との乖離: 本来はPlay Storeの審査でこの種の行為は弾かれるべきだが、実際には多くのアプリが通過しているとの指摘があります。
- PackageManager.queryIntentActivities()を使用して、ACTION_MAINとLAUNCHERを持つアクティビティをクエリ。
- これにより、インストール済みアプリの多く(特にランチャーに表示されるアプリ)のパッケージ名とラベルを取得可能。
- 修正拒否の証拠と見る意見: 抜け穴が修正されない事実自体がグーグルの拒否の証拠と捉える声があります。特に、開発者コミュニティでは、この行為がプライバシー侵害に繋がるとして不満が上がっています。
- Private SpaceやWork Profileでの対応: グーグルはAndroid 13以降、Private SpaceやWork Profileを通じてアプリを分離し、プライバシーを保護しようとしているとの見方もあります。これにより、個人用と仕事用のアプリを分離することで、ACTION_MAINの影響を軽減する可能性があります。
- Play Storeの審査との乖離: 本来、Play Storeの審査ではこの種の行為は弾かれるべきですが、実際には多くのアプリが通過しているとの指摘があります。これは、グーグルのポリシー施行の不徹底を反映している可能性があります。
- ネイティブアプリの利点:
- UX(操作性、スムーズさ):ネイティブアプリはレスポンスが速く、操作性が優れている。
- オフライン機能:インターネット接続がない環境でも動作可能。
- パフォーマンス:ハードウェアを直接アクセスし、高速な処理が可能。
- ハードウェアアクセス:カメラ、GPS、センサーなどの直接的なアクセス。
- ウィジェット:ホーム画面に常駐するウィジェットの提供。
- プッシュ通知:リアルタイムの通知が容易。
- 具体例:銀行アプリのセキュリティ機能や、通信環境が劣悪な地域での動作。
- ウェブアプリ(PWA)擁護の意見:
- PWAでも多くの機能は実現可能で、ネイティブアプリのUXも必ずしも優れているとは限らない。
- 多くのネイティブアプリは単なるWebラッパーに過ぎず、ネイティブの利点が薄い。
- フィンガープリンティング(ユーザー識別)
- ターゲティング広告
- ユーザープロファイリング
- データ転売
- 信用スコアリング(特にローンアプリ)
- iOS: 「iPhoneならこの問題はない」という意見に対し、iOSでもプライベートAPI(非公開API)を使えば他アプリの存在を確認できる手法があり、銀行アプリなどが不正検知に利用している例が指摘されました。ただし、iOSでは通常、アプリが照会できる他のアプリリストは事前に宣言する必要があり、AndroidのACTION_MAINのような広範な抜け穴は少ないと認識されています。
- 会社のMDM(モバイルデバイス管理)経由: iOSでも全アプリリストが見えてしまう問題が指摘されましたが、AndroidのWork Profileの方が分離性が高いとの意見がありました。
- Windows: 伝統的にアプリ間の情報アクセスが容易(ウィンドウタイトル列挙など)であることも言及されました。
- Exodus Privacy: アプリの権限やトラッカーを確認するツールとして推奨。
- 権限管理ツール: XPrivacyLuaやAppOps(LSPosed経由、root必要)でアクセスを偽装・ブロック。
- カスタムOS: GrapheneOSの使用が提案されましたが、ACTION_MAINの抜け穴への直接的な対策は限定的で、複数プロファイル機能による分離が有効。
- アプリストアの選択: F-Droidからのみアプリをインストール(オープンソース、権限・アンチフィーチャー表示)が推奨。ただし、ACTION_MAINの抜け穴まで完全にカバーできるかは不明。
- 意識: 不要なアプリをインストールしない、権限要求に注意することが基本。
アプリ名 | チェック対象アプリ数 | 主な機能 |
---|---|---|
スウィギー(Swiggy) | 154 | フードデリバリー |
ゼプト(Zepto) | 165 | クイックコマース |
ライダー向けアプリ | 不明 | 配達員管理 |
個人ローンアプリ | 不明 | ローン提供 |
コメント
コメントを投稿