IOS追踪用户设备的几种办法与反追踪

最近在研究某APP,该APP可以在任意的IOS设备上做到卸载后再次安装仍可以追踪的功能,经过对IOS系统机制的一系列研究,有了一系列的了解,故写一篇文章进行记录。

常见的标识:
IMEI IMSI MAC
这些就不需要多谈了。

APP卸载后,一些仍不会变化的特征:

IDFA:
广告标识符,在设置中搜索“广告”即可看到一个叫还原的按钮,可以重置掉当前的设备标识符

OpenUdid/udid
IOS9以后,出于安全考虑,苹果禁止APP获取udid进行追踪用户,故一些人想出了歪招,在KeyChain和剪切板中存储一个id,在IOS 10.3(只是据说,但实测仍会存留)后,只要把是同一Group的APP全部卸载就会清理掉
KeyChain,否则即便删除APP,这些数据仍旧存在。
粗暴的应对办法:
越狱手机删除 /var/KeyChains/keychain-2.db 如果有keychain-2.db-shm等扩展名的文件,也一同删除,删除后请马上重启手机,同时手机保存的所有wifi密码,icloud都会失效要重新验证

Preferences
越狱的机器有权限写入一些文件,而且删除的应用仍存留应用的配置文件,一般来讲APP开发者会在这里面写上一些追踪用户的标记数据。
应对办法:
越狱手机删除 /var/moblie/Library/Preferences 下的对应的plist文件,不要乱删,避免影响其他应用的使用。

如果没有越狱,终极解决办法:
重置并抹除全部数据

市面上的手机伪造,一键新机APP的原理也不过如此,懂得原理后就可以自己写hook或者清理工具了。

也希望这些APP做好自己的本分,不要试图在未经允许的情况下收集/分析用户信息。

发表评论

邮箱地址不会被公开。 必填项已用*标注