点击蓝字 关注我们
日期:2025年4月9日
作者:L-Noname
介绍:静态分析移动应用收集个人用户信息权限的方法。
0x00 前言
本篇主要讲静态分析移动应用收集个人用户信息权限的方法,主要是通过Apktool
对APK
进行反编译得到AndroidManifest.xml
文件。
通过静态分析方式读取APK
中的AndroidManifest.xml
文件中的uses-permission
字段信息来查找申请使用的敏感权限。
0x01 工具及反编译准备
工具下载地址:https://github.com/iBotPeaches/Apktool
将下载好的apktool.jar
使用apktool.jar d -f test.apk
即可。
0x02 Android静态分析
执行完命令后会在jar
下生成一个APK
同名文件夹,里面存放了明文的AndroidManifest.xml
文件。
本次主要的关注点在AndroidManifest.xml
文件的uses-permission
标签。
uses-permission
是使应用正常运行而用户必须授予的系统权限,也是Android
预定义权限最常用的标签。
以下列举一些收集个人用户信息敏感权限:
获取粗略位置 ACCESS_COARSE_LOCATION
获取精确位置 ACCESS_FINE_LOCATION
访问定位额外命令 ACCESS_LOCATION_EXTRA_COMMANDS
获取模拟定位信息 ACCESS_MOCK_LOCATION
获取网络状态 ACCESS_NETWORK_STATE
获取WiFi状态 ACCESS_WIFI_STATE
电量统计 BATTERY_STATS
绑定设备管理 BIND_DEVICE_ADMIN
绑定输入法 BIND_INPUT_METHOD
使用蓝牙 BLUETOOTH
蓝牙管理 BLUETOOTH_ADMIN
变成砖头 BRICK
拨打电话 CALL_PHONE
通话权限 CALL_PRIVILEGED
拍照权限 CAMERA
改变配置 CHANGE_CONFIGURATION
改变网络状态 CHANGE_NETWORK_STATE
使用闪光灯 FLASHLIGHT
获取应用大小 GET_PACKAGE_SIZE
读取联系人 READ_CONTACTS
重启设备 REBOOT
录音 RECORD_AUDIO
发送短信 SEND_SMS
设置闹铃提醒 SET_ALARM
更新设备状态 UPDATE_DEVICE_STATS
写入联系人 WRITE_CONTACTS
读写系统敏感设置 WRITE_SECURE_SETTINGS
读写系统设置 WRITE_SETTINGS
编写短信 WRITE_SMS
个人隐私信息包括:IMEI
、androidID
、mac
地址、联系人隐私、短信隐私、通讯录信息、通话记录等信息。
通过判断是否索要了相关权限,方便进一步确认相关个人隐私问题。
0x03 IOS静态分析
iOS
应用的打包格式是IPA
格式,其实就是zip
压缩包,直接unzip
即可。
IPA解包后目录结构为:
Payload/
└── AppName.app/
├── App 可执行文件(二进制)
├── Info.plist (权限声明)
├── 各种资源(图片、xib、bundle、framework)
我们今天着重看的是权限声明Info.plist
。
如请求使用Face ID
权限时弹出的提示文案。
以下是一些常见的权限:
位置权限 NSLocationWhenInUseUsageDescription、NSLocationAlwaysUsageDescription
通讯录权限 NSContactsUsageDescription
相机权限 NSCameraUsageDescription
麦克风权限 NSMicrophoneUsageDescription
照片库权限 NSPhotoLibraryUsageDescription
蓝牙权限 NSBluetoothAlwaysUsageDescription
运动数据 NSMotionUsageDescription
这些字段表明App
请求了哪些隐私权限,但不代表一定使用了它们,需要结合测试去验证此功能。
此外还可以通过分析可执行文件查看API
调用权限来进行分析。
0x04 结语
以上是静态分析移动应用收集个人用户权限的方法,欢迎一起讨论交流。
免责声明:本文仅供安全研究与讨论之用,严禁用于非法用途,违者后果自负。
点此亲启
原文始发于微信公众号(宸极实验室):『工具使用』静态分析移动应用收集个人用户信息权限的方法
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论