背景:
随着Android版本的不断更新,对APP的要求越发严格,主要体现在用户隐私的获取上;
目前工信部对各种应用上线要求严格,用户未同意隐私调用时,严禁APP获取用户隐私信息。
测试手段迭代:
输入法测试在隐私验证共迭代了三种测试方法,分别是:
① 监控接口的信息(加/解密后信息)中是否包含隐私信息;
② 监控Logcat的所有信息中是否包含隐私信息;
③ 监控系统隐私接口函数;
前两种方法主要验证APP是否将用户隐私信息进行外传,第三种方法验证APP是否获取了用户的隐私信息。
下面介绍一下三种测试方法:
一、接口监控(适用于用户同意APP获取隐私后的安全测试)
测试手段:Fiddler-Script修改抓包
方法:
改写Fiddler-Script,监听每一条请求的Header、Body内容,判断是否包含用户隐私信息,打印log的同时将结论输出到文档中,便于查看。
在OnBeforeRequest中添加如下代码:
二、logcat日志监控(适用于用户同意APP获取隐私后的安全测试)
测试手段:监控Logcat是否有应用写入包含隐私信息的日志;
方法:此处方法比较多,可以通过Studio监控过滤,也可以通过Adb直接过滤等,该方法较简单,在此不详细介绍。
三、监控系统隐私接口函数(适用于用户未同意APP获取隐私前的安全测试)
测试手段:在Root+Xposed设备上,通过Hook系统隐私接口函数,来监控是否有应用调用该接口;
方法:(举例获取Mac地址)
编写Hook工具,关键代码如下:
在用户未同意隐私权限获取时,使用APP,调节时间等,检查Log中是否有接口调用信息。
以上为本次隐私获取问题测试中的一点心得,希望能给大家带来帮助。