Uniqueness Requirement for Custom Permissions (Android 5.0)
Lollipopのパーミッションの仕組みを調査。(新しい話題ではないですが)
Custom Permissionとは、(SDK既定のパーミッションとは別に)アプリのManifestで新しく<permission>宣言することで追加する独自のパーミッション。
KitKat4.4以前の場合、同一のパーミッション名であれば、最初にインストールされたアプリのProtectionLevelが有効になるというルールだった。(おなじpermission宣言をしているアプリがあとからインストールされても無視)これによって引き起こされる問題は下記の記事をご参考。
参考:
摩訶不思議Androidパーミッション - pochi-pの絵日記
Android の組込みアプリ以外のパーミッションの取り扱い - 冬通りに消え行く制服ガールは✖夢物語にリアルを求めない。 - subtech
Androidのカスタムパーミッションで顧客情報流出のおそれ | トレンドマイクロ セキュリティブログ
Lollipop 5.0以降では、すでにインストール済みアプリのパーミッションと同一のパーミッション宣言を持つアプリは、インストールが拒否されるそうです。
参考:
Android 5.0 Behavior Changes | Android Developers
PackageInstaller | Android Developers
で、このあたらしいLollipopのしくみですが、下記の記事で脆弱性が指摘されているとのこと。(まだ理解できてません・・)
この記事については次回調べます・・・
5/25 訂正、これはPackageInstallerActivityの問題みたい。KitKat以降は問題ないみたい。ややこしい。