Android 11アプリのサードパーティーカメラアプリ呼出し制限は位置情報への無断アクセスを防ぐため 24
ストーリー by headless
制限 部門より
制限 部門より
Android 11をターゲットにしたアプリで「android.media.action.IMAGE_CAPTURE」などのインテントでカメラアプリを呼び出す際、プリインストールのシステムカメラアプリしか選択できないようになっているが、これはアプリがユーザーの許可なく位置情報を取得しないようにするための変更だという(Android Developersのドキュメント、 The Vergeの記事、 Android Policeの記事、 SlashGearの記事)。
サードパーティーのカメラアプリ呼出し制限はAndroid 11をターゲットにしたアプリの動作の変更点として数か月前からAndroid Developersのドキュメントに記載(Internet Archive 5月31日のスナップショット)されているが、その理由については説明されていなかった。8月に入ってこの動作がGoogleのIssue Tracker(要ログイン)でバグとして報告され、Googleはユーザーのプライバシーやセキュリティを守るための意図した動作だと回答。サードパーティーのカメラを呼び出す場合はパッケージ名などを明示的に指定する必要があるとも説明しているが、ここでも具体的な理由を示さなかったため、独占的だなどと批判を受けることになる。
その後、Android 11の変更点のカメラアプリ呼出し制限の項目は大幅に追記され、呼び出し元アプリの位置情報アクセス許可に応じてEXIFの位置情報メタデータが正しく処理されることを確実にするための変更だと明記された(日本語版は未更新)。変更によりサードパーティーのカメラアプリ使用が制限されることはなく、既定のアプリに設定することも可能とのこと。なお、OEMメーカーの多くは独自のカメラアプリをプリインストールしているが、こういったカメラアプリでEXIFメタデータが正しく処理されるかどうかについては触れられていない。
サードパーティーのカメラアプリ呼出し制限はAndroid 11をターゲットにしたアプリの動作の変更点として数か月前からAndroid Developersのドキュメントに記載(Internet Archive 5月31日のスナップショット)されているが、その理由については説明されていなかった。8月に入ってこの動作がGoogleのIssue Tracker(要ログイン)でバグとして報告され、Googleはユーザーのプライバシーやセキュリティを守るための意図した動作だと回答。サードパーティーのカメラを呼び出す場合はパッケージ名などを明示的に指定する必要があるとも説明しているが、ここでも具体的な理由を示さなかったため、独占的だなどと批判を受けることになる。
その後、Android 11の変更点のカメラアプリ呼出し制限の項目は大幅に追記され、呼び出し元アプリの位置情報アクセス許可に応じてEXIFの位置情報メタデータが正しく処理されることを確実にするための変更だと明記された(日本語版は未更新)。変更によりサードパーティーのカメラアプリ使用が制限されることはなく、既定のアプリに設定することも可能とのこと。なお、OEMメーカーの多くは独自のカメラアプリをプリインストールしているが、こういったカメラアプリでEXIFメタデータが正しく処理されるかどうかについては触れられていない。
ようするに、 (スコア:2, 興味深い)
位置情報権限を与えてないアプリから、カメラを介して取得できるのをブロックしたいってこと?
昔、iアプリ時代も勝手アプリはGPS使えなかったけど、写真の位置情報をEXIFから取得できてたね。
Re:ようするに、 (スコア:3, 参考になる)
>位置情報権限を与えてないアプリから、カメラを介して取得できるのをブロックしたいってこと?
そういうこと。
Google謹製のデフォルトカメラアプリならば位置情報を許可していても、カメラアプリへの連携を許可しただけでは位置情報へアクセスできないのに対し
サードパーティ製のカメラアプリでは内部処理が適切に行われているか不明で位置情報を得られてしまう可能性があった。
そして今まではサードパーティのカメラアプリがGoogle謹製のデフォルトカメラアプリとそっくり入れ替わっていた場合、
ユーザはカメラアプリを連携する際に安全なアプリを選択することが出来ない状態になっていた。
そのためGoogle謹製のカメラアプリのデフォルトパス/apkを固定にし詐称不可とすることで、サードパーティ製のアプリによる乗っ取りを防止した。
なのでサードパーティ製のカメラアプリがGoogle謹製のデフォルトカメラを名乗れなくなっただけで、個々のデフォルト設定がGoogleのアプリに固定されたわけではない。
謹製警察 (スコア:0)
謹製は謙譲語です。
「通信・他のアプリとの連携」の権限がない時点でおかしい (スコア:2, 興味深い)
Googleがプライバシーに配慮してこのような変更を行っているとは思えません。
何故ならば、本当にプライバシーに配慮するならば、
「通信・他のアプリとの連携」の権限をユーザが明示的にon/offできないのがおかしいです。
(インターネット通信の権限は一応あることにはありますがデフォルト許可になっている上ユーザが拒否設定できません)
「電卓」とか「完全オフラインゲーム」のように通信や他のアプリとの連携が不要なツールもあるので、通信や他のアプリとの連携を完全にoffにできたらユーザは安心してそういったアプリをインストールできるはずです。
なのにやらないのは、通信をじゃんじゃんしてもらって、広告やら課金などを利用して儲けたいからでしょう。Appleも同様に通信権限をoffにできませんが、これもアプリ内課金を使ってほしいからだと思います。
なお、インターネット通信権限を設けてもインテント等で他のアプリに渡せば情報が漏れるのでかえってユーザに誤解を与えて危険になるといった主張もありますが、他のアプリとの連携・インテントも含めて拒否できる権限を設ければ解決します。
Re: (スコア:0)
まったく同意。システムモニタ等と称して裏でネットワーク接続するアプリに遭遇したことがあったが(何をしてたのかは不明)、
明示的にインターネット接続を禁止できればそういったアプリをあぶりだせるはず。
何故導入してないのか不思議だ。
Re: (スコア:0)
他のアプリとの連携を拒否したらそのアプリは起動できないのでは?
ホームアプリもただの1アプリにすぎないのだから
Re: (スコア:0)
明示的にサードパーティカメラアプリをパッケージ名で指定すれば
従来通り開けるって事なら、そもそもこの変更に大した意味がないんだよね。
「呼び出し元が位置情報権限無くてもEXIFに位置情報入れちゃうアプリ」
のリストを内部に持ってインストールされてればそれを明示的に呼び出せば良いだけ。
カメラアプリ側で位置情報の不適切付与を回避する機能がある事を宣言させて、
位置情報権限の無いアプリはその宣言がないアプリの呼び出しを禁止するとかでないと無意味。
今の枠組みでやるなら、カメラインテントを位置情報の可・不可で二種類にするのでもいい。
まぁ、この辺に関するGoogleの言い分はネットワーク通信権限の付与UIを作ったのに態々削除してるあたりでお察しだわな。
AppleもGoogleも広告プラットフォーマーだから広告抑制したくないって本音が隠せてない。
# ならそれはそれで安全で匿名な広告通信のAPIと権限くらい設けろよってなるんだけど。
Re: (スコア:0)
Appleが広告プラットフォーマーというのは知らなかったな。
iAdがあった頃ならともかく……
Re: (スコア:0)
ごもっともではあるけど、仮にそれを加えたとしても、ほとんどのアプリが「通信・他のアプリとの連携」権限必須となるだけでしょう。
少なくとも、広告収入を当てにしているアプリは確実にそうなる。
実効力のない「解決」方法だと思いますよ。
前々から疑問に感じていたが (スコア:1)
この手のセキュリティやプライバシー上の修正って、AndroidからforkしたOSには適用されているんだろうか?
具体的にいうとAmazonのFireOSとか。
現行のFireOS 7でようやくAndroid 9相当らしいが、まともに対策やってるとは信じられない。
Re: (スコア:0)
Androidは昔からオープンソースなので、ソースコードの変更は自由です。
なので、それらの変更が取り入れられているかどうかは「作った奴に聞け」でしょう。
Re:前々から疑問に感じていたが (スコア:1)
そうそう、極端な話互換性テストにさえパスできれば内部は自由に弄れる
昔々某メーカーの初めてのAndroid端末を開発してた頃だけど、こんなに改造しちゃって大丈夫だろうか思った事あるしw
Re: (スコア:0)
初めてなのに色々いじるとか、大丈夫じゃない予感しかしませんが...
Re: (スコア:0)
HuaweiのHarmonyOSもAndroidもどきだな
Re: (スコア:0)
Huaweiに限らず中華は大体そうでしょう、XiaomiとかOne Plusとか。
Re: (スコア:0, オフトピック)
え、
そんなにWindowsを信用してるの?
全然意味がわからない (スコア:0)
カメラアプリであっても、位置情報権限がなければ位置情報は取得出来ないし、
それがサードパーティのアプリであってもユーザーが許可してれば位置情報取得出来るのは「当たり前」なのだが。
ストレージの扱いがコロコロ変わるのもそうだが、計画性のない場当たり的な修正が通るのは、何故なのか…
Re:全然意味がわからない (スコア:2)
カメラアプリ (位置情報 許可) → 悪意のあるアプリ (位置情報 不許可) の共有で、
EXIF情報経由で 位置情報 取っちゃうのを禁止したい、
ってあたりは想像できるけど;
それが システムのカメラアプリに限定したら 万事OK,
ってあたりは、確かに よくわからないですね。
引用に書いたるのか と思ったけど、
Android Policeの記事 [androidpolice.com] にも
って 具体的なバッドケースは 説明ないようだし;
Android Developers のドキュメント [android.com] にも、
って、呼び出せないわけじゃないようだし。
後者のあたりから、ピクチャ受 側のアプリが意図しないケースで、という風に想像するけど;
そうすると、その サードパーティ カメラアプリ に ユーザが与えた権限 の問題よね?
アプリ → カメラアプリ のintent呼出時に、
呼出元アプリの権限が カメラアプリに移譲されるわけでもなし。
Re: (スコア:0)
>カメラアプリ (位置情報 許可) → 悪意のあるアプリ (位置情報 不許可) の共有で、EXIF情報経由で 位置情報 取っちゃうのを禁止したい
だとしても、EXIFに含まれているものはあくまでEXIFであって、位置情報ではないからなぁ。
そんなことを言い始めたら、ファイラーだろうがなんだろうが全部権限必要になってしまうし、
メディアファイルを扱う際にメタデータを見れる機能を出すなり警告するなりしてくれる機能を付けてほしい。
今だって、大手のSNSは自前でEXIF消す処理してるわけで、ねぇ。。
Re: (スコア:0)
Exifにアクセスするのに位置情報許諾がいるのでいいやん、というのに全く同意
最近非常に頭に浮かぶフレーズがある。
10で神童、15で天才、20過ぎればただの人。
Googleも20過ぎてだたのでかい会社になったんだよ。総身に知恵が回りかねる感が半端ない。
単にインスタを潰したかっただけじゃないか。
Re: (スコア:0)
EXIFと思われる個所のファイルreadを失敗させるかダミーのデータを返せば良いって言いたいの?
ファイラーがファイルコピー実装するためだけに位置情報権限必要になるとか、狂気的としか思えん仕様だな。
Re:全然意味がわからない (スコア:1)
JPEGとかPNGとかMP3とかはチャンク構造といって付加情報を追加させやすいフォーマットになっている。
サウンドファイルのID3タグや画像ファイルのEXIFはこれを利用して付加しているオプショナルデータに過ぎないので、簡単に取り除けるし互換性の問題もない。
仕様上必須ではない情報が必ず存在する前提で作られているソフトがあればおかしくなる可能性はあるけど、それはそのソフトがダメダメなだけ。
うじゃうじゃ
Re: (スコア:0)
そんな話はしてないから。