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

自定义权限风险

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。

猜你喜欢

转载自blog.csdn.net/u010889616/article/details/80959846
今日推荐