Android 4.3に搭載されていたパーミッションコントロールが可能になる新機能”App ops”の存在が発見されました!
- App Ops: Android 4.3's Hidden App Permission Manager, Control Permissions For Individual Apps! [Update] - ANDROID POLICE
App opsはAndroid 4.3では隠し機能になっていて、設定アプリから直接アクセスすることが出来ませんが、
- アクティビティを直接起動できるアプリ(Nova Launcherなど)を利用して、Activities→設定→App opsを選択し、ショートカットを作って起動する
- Permission Managerをインストールして起動する
※このアプリはただのApp opsを起動するショートカット機能のみを有するアプリです
※ご利用は自己責任で!
カテゴリは、位置情報・プライベート
メッセージ・端末の4種類
個別アプリを選択した様子
表示されているアプリを選択すると、制御可能なパーミッションが一覧で表示され、そのパーミッションが最後に使われた時間が表示されます。(レイアウトが崩れてますね、正式機能ではないからでしょうかw)
ここで気にしていて欲しいのは、全てのパーミッションではなく、”App opsにてコントロール可能なパーミッションのみ”が表示されることです。(後述します)
・パーミッションコントロール成功例
ギャラリーのカメラ機能をOFFにすると、カメラを起動してもエラーとなります
(ギャラリーとカメラはアイコンは違っても同一アプリであることに注意)
Chromeの位置情報機能をOFFにすると、Googleのページにアクセスして位置情報の使用を許可しても、現在位置が”不明”になり、位置情報にアクセスできていないことがわかります
・パーミッションコントロール失敗例
マップの位置情報をOFFにしても、マップを起動すると現在位置を取得できます
これは、設定→アカウント(Google)→位置情報の設定→Googleアプリに位置情報へのアクセスを許可するをONにしているためだと考えられます。
・個人的に想定していた挙動とは異なっていた点
全ての権限がApp opsにて制御可能ではありません。
例えば、Powerampのパーミッションは、
- ネットワーク通信
ネットワークへのフルアクセス
ネットワーク接続の表示 - 電話/通話
端末のステータスと ID の読み取り - ストレージ
USB ストレージのコンテンツの変更または削除 - Bluetooth
Bluetooth デバイスのペアの設定 - ロック画面
画面ロックの無効化 - システム ツール
システム設定の変更
sticky ブロードキャストの配信
保護されたストレージへのアクセスのテスト - 電池への影響
端末のスリープの無効化 - 音声設定
音声設定の変更
設定の変更だけ
なので、悪意のあるアプリが”端末のステータスと ID の読み取り”権限を利用して、電話番号や端末ID等をアプリの読み取ることを防ぐことは出来ないようです。
もちろん、ネットワークへのフルアクセスも制御できません。
また、インストール直後には制御できなかったパーミッションがアプリ起動後に制御可能になったりします。
例えば、Angry Birds Space Premiumは、
- 現在地
おおよその位置情報(ネットワーク基地局) - ネットワーク通信
ネットワークへのフルアクセス
インターネットからデータを受信する
Wi-Fi 接続の表示
ネットワーク接続の表示 - 電話/通話
端末のステータスと ID の読み取り - ストレージ
USB ストレージのコンテンツの変更または削除 - アカウント
この端末上のアカウントの検索 - システム ツール
保護されたストレージへのアクセスのテスト - 電池への影響
端末のスリープの無効化
(左)インストール直後は何も表示されないけれど、
(右)アプリを1度起動すると位置情報が制御可能になります
インストール時に表示されていない機能であっても、アプリ内で1度でも利用すると表示されるようになるようです。
これでは困りますよね(; ̄ー ̄A
しかもスクリーンショットでは、0分前に位置情報にアクセスされてしまっています。悪意のあるアプリであった場合、位置情報をサーバーに送信されてしまっているかもしれません。
パーミッションが拒否されたことをトースト通知してくれたりしてくれるといいのですが、そういうことも今のところしてくれません。エラーが表示されるだけです。
ということで、まだまだ未完成な機能(公式機能ではないので当然ですがw)なのですが、ある程度の制御は現時点で可能ですし、今後Androidアプリ利用時に”このパーミッションさえなければ…”とインストールを諦める必要も無く安全にアプリを利用できるようになりそうなので、今後のアップデートにより正式機能となるのが楽しみですね♪