MIUI 7.2的应用权限智能授予


作为业界良心,小米终于在3月2日(Android 6.0正式发布半年后)正式开始推送MIUI 7.2稳定版(based on Android 6.0.1),我的小米4也在最近收到了OTA推送。
Android 6.0,代号Marshmallow,自发布伊始,其主要新特性运行时权限就备受关注。在6.0之前,都是权限一刀切的处理方式,只要用户安装,manifest申请的权限都会被赋予,并且安装后权限也撤销不了。从6.0开始,Android系统引入了新的权限机制,即运行时权限。关于运行时权限,已经有很多文章介绍了,这里就不哆嗦了,还没来得及了解的同学可以去看下技术小黑屋的这篇文章聊一聊Android6.0的运行时权限
Android6.0将一些敏感权限进行了分类,其中有一个类别叫做危险权限。危险权限实际上才是运行时权限主要处理的对象,这些权限可能引起隐私问题或者影响其他程序的运行,应用在安装时,它在manifest中危险权限不会被授予,必须在APP运行时主动请求,由用户选择是否授予相关权限
Android中的危险权限又进行了分组,每个组内有一个或多个权限,详细可以查阅Permission groups。这里需要注意的是,当组内的任意一个权限被授予时,和它同组的其他权限也会被同时授予

If an app requests a dangerous permission listed in its manifest, and the app does not currently have any permissions in the permission group, the system shows a dialog box to the user describing the permission group that the app wants access to. The dialog box does not describe the specific permission within that group.

举个例子,要允许APP发短信,就得同时允许这个APP收短信。
Are you kidding me?如果这个APP是具有吸费功能的流氓软件呢?所以说Android 6.0权限系统的设计者基本无视了最小权限原则(principle of least privilege)。我们来看一下PHONE和SMS这两个分组:


PHONE和SMS两个组内权限数量多,而且都是敏感权限,如果这些权限组合在一起,那对小白用户来说真的是太可怕了。所以说Android原生系统对普通用户来说真的不算是友好且安全的,它更像是一个面向手机厂商的系统,厂商拿到以后,经过再加工,重新设计成一个面向大众用户的操作系统。
既然原生Android在运行时权限这里设计的并不好,那我们来看看MIUI是怎么做的。


首先安装一个target Android 6.0的应用,6.0已经正式发布半年了,BAT的几大APP基本都符合要求,这里我们选择手机百度APP。
安装完成后,打开手机百度,竟然畅通无阻,使用时并没有看到请求运行时权限的弹窗。奇怪,难道MIUI已经默认将那些权限授予了手机百度吗?我们来到MIUI安全中心-授权管理-应用权限管理,找到手机百度,和之前猜测的一样,在手机百度安装后但未运行时,MIUI就已经默认授予了手机百度一些权限:

反向验证,我们将手机百度的定位权限的选项改为询问,然后再次打开手机百度,果然,手机百度会弹出新手引导提示用户授予权限,接着系统也会显示请求定位权限的弹框:



可以看出,MIUI 7.2在运行时权限的基础上,做了一些细节上的修改,在用户使用类似手机百度这种常用的超级APP时,并不会出现请求权限的弹窗,避免用户选择拒绝后APP无法使用的情况。MIUI应该是统计了用户对APP权限允许和拒绝的数据,针对TOP排行榜靠前的APP,运营出了满足这个APP基本运行要求、并且确保资费和隐私安全的前提下默认的一套权限配置。
我们再来看一下MIUI 7.2对权限是怎么分组的:



令人欣慰的是,除了把读&写手机存储合并以外,其他的敏感权限都是单个权限区分开来的,并没有像原生Android那样按组划分。


继续寻找MIUI对应用权限的智能配置,我们需要反编译分析MIUI安全中心。经过分析,找到保存权限配置的数据库及其相关字段。然后遍历所有权限,每次允许一项权限后,记录代表用户当前所允许权限的int值,转为二进制,如图所示:



可以看出,其实上面的二进制,每一位就代表应用的一项权限。感兴趣的同学可以仔细研究下,涉及到MIUI的权限数据,我这里就不往详细里说了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,542评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,596评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,021评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,682评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,792评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,985评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,107评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,845评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,299评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,612评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,747评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,441评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,072评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,828评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,069评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,545评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,658评论 2 350

推荐阅读更多精彩内容