Android - 权限管理漏洞

embedded/2024/11/28 9:24:04/

所属分类: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

---------------------------------------------------------------------------------------------------


http://www.ppmy.cn/embedded/141153.html

相关文章

挑战 Cursor,Codeium 推出下一代 AI IDE Windsurf

适应技术不是人类社会的长项 面向我们展开的 是越发不可知 而被忽略的险境 自从 AI 的出现&#xff0c;在 IDE 的领域&#xff0c;不断的有新的带有 AI 性质的 IDE 出现&#xff0c;这不 Codeium 公司在前几天又推出了一款新的 AI IDE windsurf。 用过 vscode 的同学或多或少…

gdscript体会

前言&#xff1a;gdscript是Godot引擎提供的编程语言&#xff0c;代码结构上与Python类似 gdscript的match语句失效&#xff1f; gdscript提供match实现其它编程语言的switch case效果&#xff0c;常见的结构如下 var value 0match value:-1:print("left") 0:prin…

五,[GXYCTF2019]Ping Ping Ping1

进入靶场&#xff0c;有提示 我们在url试着输入本地IP&#xff0c;返回了ping命令 既然要在url处传参&#xff0c;那就用postman&#xff0c;再输入ip127.0.0.1 & ls&#xff0c;试着列出目录内容 ok&#xff0c;好像是个脏话,它过滤了空格 试着穿越又看到了脏话&#xff0…

Linux 共享环境搭建

NFS网络文件系统 说明&#xff1a;这个主要是应用于Linux系统与Linux系统之间的通信。 服务端 步骤&#xff1a; 在被共享的系统中安装nfs服务 sudo apt-get install nfs-kernel-server注意&#xff1a;如果系统提示无法定位软件包&#xff0c;就需要更新软件源 sudo apt-g…

使用Cmake导入OpenCV库的大坑记录

CMakeLists.txt cmake_minimum_required(VERSION 3.20)set(OpenCV_DIR D:/Package/opencv4/opencv/mingw-build/install) #这里根据自己OpenCV位置设定find_package(OpenCV REQUIRED)project(PROJ1 CXX)add_executable(PROJ1 main.cpp)target_include_directories(PROJ1 PR…

常用指标采集 exporter

1. MySQL https://github.com/prometheus/mysqld_exporter可用性 表示MySQL实例是否已停机 mysql_up 表示数据库正常运行的时长&#xff0c;通常使用该指标配置告警&#xff0c;监控运行少于半小时的MySQL实例mysql_global_status_uptime 数据库连接 连接错误是数据库中的…

WPF——ICON按钮制作

前言 首先ICON按钮&#xff0c;即带图标按钮&#xff0c;即图标按钮。 图标按钮在开发时&#xff0c;主要是有两种方式来进行。一是在Button的Content内添加Image&#xff0c;然后设置Image的属性Source来实现&#xff0c;这种方式主要是简单易操作&#xff0c;对于初学者来说…

计算机网络基础回顾

网络有几层&#xff1f; OSI 模型 OSI&#xff08;开放系统互联&#xff09;模型由七层构成&#xff0c;分别是&#xff1a; 物理层 (Physical Layer)&#xff1a;负责传输原始比特流&#xff0c;处理物理连接和电气信号。 数据链路层 (Data Link Layer)&#xff1a;负责节点…