Android静态安全检测 -> 自定义权限的保护级别
2016-07-13 17:23
716 查看
自定义权限的保护级别 - protectionLevel属性
一、Manifest文件中权限相关的知识
1. <uses-permission>标签
【1】语法定义
【2】属性
android:name 可以是系统的权限名称,也可以是其他APP通过<permission>标签声明的权限名称(用于两个应用之间的交互)
android:maxSdkVersion 标注该权限所支持的最大API版本号
2. <permission>标签
【1】语法定义
【2】属性
android:name 自定义的权限名称
android:label 对权限的简短描述
android:icon 用来标识权限的图标
android:description 对权限的更加详细的描述
android:permissionGroup 权限所属权限组的名称
android:protectionLevel 权限的保护等级
- normal
属性的默认值,代表低风险权限,只要申请了就可以使用(在AndroidManifest.xml中添加<uses-permission>标签),安装时不需要用户确认
- dangerous
高风险权限,安装时需要用户的确认才可使用
- signature
只有当申请权限的应用程序的数字签名与声明此权限的应用程序的数字签名相同时(如果是申请系统权限,则需要与系统签名相同),才能将权限授给它
- signatureOrSystem
签名相同,或者申请权限的应用为系统应用(在system image中),与signature类似,只是增加了rom中自带的app的声明 ,尽量不要使用该选项,因为signature已经适合绝大部分的情况
【3】参考链接
http://blog.csdn.net/self_study/article/details/50074781
3. <uses-permission>与<permission>的区别
【1】<uses-permission>
系统权限或者其他APP通过<permission>声明的权限
调用别人东西的时候,自己需要声明的权限
【2】<permission>
自定义权限
别人调用这个程序时,需要用<uses-permission>来声明
【3】示例
应用A的Manifest文件中声明权限,并注册Broadcast Receiver
应用B发送消息给A,需要在B的Manifest文件中声明使用相应的权限,A才能收到
【4】参考链接
http://blog.csdn.net/lilu_leo/article/details/6940941
http://www.cnblogs.com/lwbqqyumidi/p/3793440.html
4. <permission-tree>标签
【1】语法定义
5. <permission-group>标签
【1】语法定义
6. 参考链接
https://developer.android.com/guide/topics/manifest/permission-element.html
http://blog.csdn.net/self_study/article/details/50074781
二、触发条件
1. 定位AndroidManifest.xml文件中的自定义权限
【1】对应的特征:<permission
2. protectionLevel属性设置为normal
【1】显示设置android:protectionLevel="normal"
【2】默认情况下,属性的值也为normal
三、漏洞原理
【1】自定义权限的保护等级(android:protectionLevel属性)设置为normal,或没有显示设置(默认情况也为normal),可能会导致敏感信息泄露
四、修复建议
【1】建议将自定义权限的保护级别设置为signature或者signatureOrSystem
相关文章推荐
- Serv-U 550 Permission denied 的解决办法
- FTP 550 Permission denied 只能建文件夹,没法删除及上传文件的原因说明
- PHP使用Session遇到的一个Permission denied Notice解决办法
- Apache启动错误Permission denied: httpd: could not open error log file解决方法
- Android中Permission权限机制的具体使用
- Android权限控制之自定义权限
- Android中的Permission权限机制介绍
- apache You don't have permission to access /test.php on this server解决方法
- ubuntu上使用dex2jar遇到的权限问题的解决
- Android 自定义权限的使用以及遇到的问题
- 学习Express之nginx配置负载均衡
- Nginx报错 13: Permission denied
- fpc exam- copyright
- Android permission 访问权限大全
- Apache 403 Forbidden
- loadRunner11破解过程中遇到的问题
- 一些报错解决办法
- sys/ipc.h
- Android6.0权限申请