Android - 权限管理漏洞

所属分类 :Android - 权限管理漏洞
缺陷详解 :应用未正确实施最小权限原则或滥用已声明的权限可能导致敏感信息泄露。例如,恶意代码利用已授予的权限绕过用户授权,访问通讯录、位置、短信等敏感资源。部分开发者还可能滥用权限以执行不必要的操作,违反用户隐私或安全性。
导致结果和风险

  • 敏感数据泄露:未经授权访问通讯录、短信、位置信息等。
  • 系统滥用:恶意短信发送、拨打高收费电话等。
  • 用户隐私侵害:应用后台监听、定位追踪等。

缓解和预防措施:

  1. 遵循最小权限原则,仅声明必要权限。
  2. 使用动态权限请求(Android 6.0+),并确保运行时权限请求符合逻辑。
  3. 采用静态和动态分析工具,检测代码中不必要的权限调用。
  4. 定期检查权限声明和实际调用是否匹配,移除多余权限。

规则检测点

  • 在AndroidManifest.xml中检查以下权限是否声明并使用:
    • android.permission.INTERNET:涉及HttpURLConnection等网络操作。
    • android.permission.SEND_SMS:调用SmsManager.sendTextMessage。
    • android.permission.ACCESS_FINE_LOCATION:涉及FusedLocationProviderClient等定位API。
  • 确保未声明已废弃或系统级权限,如MODIFY_PHONE_STATE。

AndroidManifest.xml

AndroidRequest.java

复制代码
触发缺陷:使用httpGet访问网络时,由于在配置文件中没有添加权限<uses-permission android:name="android.permission.INTERNET" /> 导致抛出SecurityException。

缺陷跟踪:

  1. 在AndroidManifest.xml第()行没有配置android权限[android.permission.INTERNET]
  2. 在AndroidRequest.java第(11)行使用[HttpGet]访问资源,并没有配置对应的访问权限,建议添加对应的访问权限[android.permission.INTERNET]。如果程序不需要用户权限来访问敏感资源,容易导致敏感信息泄露。

缺陷描述:

所属缺陷:恶意程序。缺陷发生位置:在AndroidRequest.java中的第11行。

缺陷说明: 在AndroidManifest.xml文件的第(1)行没有配置android权限[android.permission.INTERNET],在(AndroidRequest.java)第(11)行使用[HttpGet]访问资源,并没有配置对应的访问权限,建议添加对应的访问权限[android.permission.INTERNET]。如果程序不需要用户权限来访问敏感资源,则不需要配置上述访问权限,否则容易导致敏感信息泄露。

**参考:**CWE-265


相关推荐
风浅月明4 分钟前
[Android]页面间传递model列表
android
法迪6 分钟前
Android自带的省电模式主要做什么呢?
android·功耗
风浅月明7 分钟前
[Android]AppCompatEditText限制最多只能输入两位小数
android
没有晚不了安19 分钟前
1.11作业
android
zhangphil22 分钟前
Android Coil3缩略图、默认占位图placeholder、error加载错误显示,Kotlin(1)
android·kotlin
貂蝉空大1 小时前
uni-app开发安卓和ios app 真机调试
android·ios·uni-app
少年芒2 小时前
Leetcode 490 迷宫
android·算法·leetcode
IT猿手2 小时前
2025最新智能优化算法:鲸鱼迁徙算法(Whale Migration Algorithm,WMA)求解23个经典函数测试集,MATLAB
android·数据库·人工智能·算法·机器学习·matlab·无人机
兰琛3 小时前
12.1 Android中协程的基本使用
android
liujingtech5 小时前
Kotlin实践下来 takeIf 并不是所有场景的银弹
android