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


相关推荐
草明1 小时前
android 蓝牙连接-兼容旧版本
android
鹏多多.2 小时前
Flutter使用screenshot进行截屏和截长图以及分享保存的全流程指南
android·前端·flutter·ios·前端框架
Flywith244 小时前
【每日一技】Warp Workflow 使用示例
android·前端
冬奇Lab5 小时前
JobScheduler与WorkManager:任务调度机制
android·源码阅读
summerkissyou19876 小时前
Android-view-绘制流程及自定义例子
android·app
常利兵7 小时前
Android “解锁”屏幕方向:APP适配新征程
android·gitee
红藕香残玉簟秋9 小时前
【安卓学习】配置开发环境
android·学习
用户69371750013849 小时前
Android R8 深度解析:为什么 Google 用R8取代 ProGuard?
android·android studio·android jetpack
seabirdssss9 小时前
联想拯救者Y7000P上使用ADB无法监听到通过USB连接的安卓设备
android·adb