说说软件测试那些事儿|App用户隐私测试初探


背景:
随着Android版本的不断更新 , 对APP的要求越发严格 , 主要体现在用户隐私的获取上;
目前工信部对各种应用上线要求严格 , 用户未同意隐私调用时 , 严禁APP获取用户隐私信息 。
测试手段迭代:
输入法测试在隐私验证共迭代了三种测试方法 , 分别是:
① 监控接口的信息(加/解密后信息)中是否包含隐私信息;
② 监控Logcat的所有信息中是否包含隐私信息;
③ 监控系统隐私接口函数;
前两种方法主要验证APP是否将用户隐私信息进行外传 , 第三种方法验证APP是否获取了用户的隐私信息 。
下面介绍一下三种测试方法:
一、接口监控(适用于用户同意APP获取隐私后的安全测试)
测试手段:Fiddler-Script修改抓包
方法:
改写Fiddler-Script , 监听每一条请求的Header、Body内容 , 判断是否包含用户隐私信息 , 打印log的同时将结论输出到文档中 , 便于查看 。
在OnBeforeRequest中添加如下代码:
【说说软件测试那些事儿|App用户隐私测试初探】
说说软件测试那些事儿|App用户隐私测试初探
本文插图

二、logcat日志监控(适用于用户同意APP获取隐私后的安全测试)
测试手段:监控Logcat是否有应用写入包含隐私信息的日志;
方法:此处方法比较多 , 可以通过Studio监控过滤 , 也可以通过Adb直接过滤等 , 该方法较简单 , 在此不详细介绍 。
三、监控系统隐私接口函数(适用于用户未同意APP获取隐私前的安全测试)
测试手段:在Root+Xposed设备上 , 通过Hook系统隐私接口函数 , 来监控是否有应用调用该接口;
方法:(举例获取Mac地址)
编写Hook工具 , 关键代码如下:

说说软件测试那些事儿|App用户隐私测试初探
本文插图

在用户未同意隐私权限获取时 , 使用APP , 调节时间等 , 检查Log中是否有接口调用信息 。
以上为本次隐私获取问题测试中的一点心得 , 希望能给大家带来帮助 。


    推荐阅读