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内存泄漏:成因剖析与高效排查实战指南
android
·云扬·4 小时前
MySQL 8.0 Redo Log 归档与禁用实战指南
android·数据库·mysql
野生技术架构师4 小时前
SQL语句性能优化分析及解决方案
android·sql·性能优化
doupoa5 小时前
内存指针是什么?为什么指针还要有偏移量?
android·c++
非凡ghost6 小时前
PowerDirector安卓版(威力导演安卓版)
android·windows·学习·软件需求
独行soc7 小时前
2026年渗透测试面试题总结-19(题目+回答)
android·网络·安全·web安全·渗透测试·安全狮
爱装代码的小瓶子8 小时前
【C++与Linux基础】进程间通讯方式:匿名管道
android·c++·后端
兴趣使然HX8 小时前
Android绘帧流程解析
android
JMchen1239 小时前
Android UDP编程:实现高效实时通信的全面指南
android·经验分享·网络协议·udp·kotlin
黄林晴10 小时前
Android 17 再曝猛料:通知栏和快捷设置终于分家了,这操作等了十年
android