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


相关推荐
m0_632482501 天前
Android端测试类型、用例设计、测试工具(不涉及自动化测试)
android
走在路上的菜鸟1 天前
Android学Dart学习笔记第九节 Patterns
android·笔记·学习·flutter
AllBlue1 天前
unity导出成安卓工程,集成到安卓显示
android·unity·游戏引擎
QQ_4376643141 天前
常见题目及答案
android·java·开发语言
菜鸟小九1 天前
mysql运维(主从复制)
android·运维·mysql
走在路上的菜鸟1 天前
Android学Dart学习笔记第十一节 分支
android·笔记·学习·flutter
恋猫de小郭1 天前
解读 Claude 对开发者的影响:AI 如何在 Anthropic 改变工作?
android·前端·ai编程
Digitally1 天前
如何将照片从 Mac 传输到 Android
android·macos
用户41659673693551 天前
Android 系统开发进阶:将应用配置为系统应用的完整指南
android
三少爷的鞋1 天前
Retrofit 核心流程模拟实现深解析
android