欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Android静态安全检查(八):自定义Permission检测

程序员文章站 2022-05-14 21:13:10
...

自定义权限风险

Android系统提供了很多权限,同时也允许应用根据自己的需求创建自定义的权限(Permission),该Permission在AndroidManifest.xml的标签如下

<permission android:name="com.wzj.test"/>

无论是系统权限还是自定义权限,都有一个叫做 android:protectionLevel属性,它代表权限的风险级别,有四个值,缺省为normal

  • Normal:权限被声明为Normal级别,任何应用都可以申请,在安装应用时,不会直接提示给用户,点击全部才会展示。
  • Dangerous:权限被声明为Dangerous级别,任何应用都可以申请,在安装应用时,会直接提示给用户。
  • Signature:只有和该apk(定义了这个权限的apk)用相同的私钥签名的应用才可以申请该权限
  • SignatureOrSystem:有两种应用可以申请该权限,一个是和该apk同样的签名,另一种是在/system/app目录下的应用

如果一个应用自定义权限定义为Normal或Dangerous,可以被外部第三方的应用申请到,则说明该权限可能存在风险问题。

检测方法

查看AndroidManifest.xml所有的Permission,查看android:protectionLevel设置的什么级别,如果是Normal或Dangerous,可以被外部第三方的应用申请到,该权限存在安全问题。

修复方案

应用自定义权限的风险级别设置为Signature或者SignatureOrSystem。

相关标签: Android Permission