App隐私合规检测

1、检测的原理

1)静态检测

不运行 App 的前提下,直接对 APK 包(或源代码)进行反编译,分析其代码结构和隐私相关 API 调用。例如:

  • 敏感API:是否调用了获取设备信息(如 IMEI、MAC、定位等)的 API;
  • 安装包/SDK:如,是否使用了第三方 SDK,及其数据收集行为;
  • 权限清单:权限申请(Manifest 文件中声明的权限)与实际用途是否匹配。

2)动态检测

在模拟器或真机环境中运行 App,通过流量抓包、系统监控、以及模拟UI点击等方式,观察 App 实际的运行行为。

例如:

  • 实际采集了哪些个人信息;
  • 是否将信息明文或未加密传输;
  • 是否存在数据频繁上传至境外服务器等。

3)什么是hook

动态检测中,通过“钩住”某些系统函数或 App 内部函数,在这些函数被调用前/后执行我们自定义的逻辑,从而实现:

  • 拦截函数调用;
  • 查看函数调用的参数和返回值;
  • 修改调用行为或结果。

简单说,Hook 就像在 App 原本的函数里“偷偷加一段代码”,你可以监视、篡改或记录它的行为。

frida、Xposed 都是常见的hook工具。

2、开源方案

frida +hook+python+js:https://github.com/zhengjim/camille

https://juejin.cn/post/7087584184222351373

Asm:https://github.com/allenymt/PrivacySentry

https://juejin.cn/post/7075516981620785182

Xopose:https://github.com/ChenJunsen/Hegui3.0

https://blog.csdn.net/cjs1534717040/article/details/118731361

3、商业产品调研

百度:史宾格

360:加固宝

梆梆安全

4、方案实践

选择方案 :frida +hook+python+js:https://github.com/zhengjim/camille

1)、安装frida

需要在PC端安装frida客户端,通过USB连接手机(root后)后在手机端安装frida-server端,通过在PC端对手机进行调试。

PC侧客户端安装:通过python pip安装

手机终端侧安装:

下载和客户端一样版本的server端,通过adb命令(mac通过homebrew安装)push到手机上:

adb **push** 本地frida-server文件路径 /data/**local/**tmp/

安装好后,启动server端:

adb查看手机包名:adb shell pm list packages

筛选:adb shell pm list packages | grep xx

adb更多使用命令

2)、运行脚本

userModule函数中封装了对app各类隐私行为的检测,按需去掉注释即可:


控制台运行结果:

posted @ 2022-12-03 17:53  人间修行  阅读(568)  评论(0)    收藏  举报