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のしくみですが、下記の記事で脆弱性が指摘されているとのこと。(まだ理解できてません・・)

New Android Installer Highjacking Vulnerability Exposes Android Device Users to Data Theft and Malware

 

この記事については次回調べます・・・

5/25 訂正、これはPackageInstallerActivityの問題みたい。KitKat以降は問題ないみたい。ややこしい。