抖音到底是如何识别 Android 设备的

271 天前
 program9527

我在网上买了一台小米 10 ,系统是澎湃 os 。 然后用这台小米 10 登录抖音账号,需要扫脸验证,扫脸的时候,提示该设备属于风险设备。

出现这种问题基本是手机的原主人拿这台设备做了不正规的事情,被抖音封禁设备了。 一般来说这种识别设备的问题,重新格式化,恢复出厂设置都可以恢复了。然后我恢复了,开机后,还是提示风险设备(换过 wifi 或者手机流量,都不行。)

然后我又等了七天,把小米 10 解锁 bl ,刷了 lineageos 了。还是提示我设备属于风险设备,无法扫脸。账号是正常了。没有封禁。换账号也没用,其他账号只要在这个手机上登录,都会提示风险。

在没有其他权限的情况下,抖音或者其他 app 依靠什么生成设备唯一指纹的啊?不仅仅是抖音,我记得国外有个聊天软件也是直接可以登录聊天,不需要注册账号,依靠设备指纹直接生成账号并聊天

14024 次点击
所在节点    Android
100 条回复
cst4you
270 天前
太多了, 各种 root 检测的方法先来一遍
#系统指纹
#是否锁 BL
#su path 检测
#查 package list
gam2046
270 天前
@levelworm #42 一些公开资料还是有一些的,能提供一些大概的方向,但是更多的是参考意义,实际意义很小,因为能公开的,都是已经不再使用的。常见的,比如 DRM ID ,包名、签名不变的情况下,ID 也不变,其实就可以作为设备标识符。还有许多不常见的方案,或者针对特定品牌的,比如曾经 MIUI ,selinux 规则写劈叉了,getprop 可以直接获取 IMEI ,绕过了 Android framework 限制。

@moonbeama #51 iOS 大体逻辑是相似的,不过因为 iOS 越狱后非常难隐藏,远比 Android 隐藏 BL 锁,root 等等困难。因此对抗端有一条随缘路,就是尽量升级 iOS 版本,越高应用权限收紧越厉害。当然也有一部分头铁团队做对抗,会选择越狱后去魔改,同时尽量隐藏越狱痕迹,这一块其实挺困难的,因为普通团队基本没有什么自主能力可以越狱,大多是第三方提供的方案,风控厂家做针对性检测是相对容易的。
liuidetmks
270 天前
这个问题答案值 10w
qq135449773
270 天前
希望有人做做善事挖出来这个实现原理,然后反馈给 AOSP 。

因为设计上讲现在系统层面是不会允许拿到这种级别的唯一 id 的,肯定是利用到了某些系统级别的 bug 。
engunai
270 天前
一系列算法计算出来的指纹,浏览器环境中都能生成指纹,更别提手机端这种能拿到相对比较高的权限了,比如在你机器内处理一张图片,处理一张音频,获取其他硬件的信息等,甚至用户行为,组合起来生成唯一 ID , 这些开源的都有实现,大厂内部肯定更强
slamDunkLINk
270 天前
楼主澎湃解 BL 是答题解锁的吗
tanranran
270 天前
@liuidetmks 10W 不止
ZeroDu
270 天前
这种大厂的估计骚操作很多,甚至利用漏洞,参考某多多,等爆出了来就是大事
hubaq
270 天前
设备基础信息:设备制造商、设备品牌、设备类型及型号、设备名称、设备操作系统信息、设备内存及存储大小、传感器列表、电池及电量信息、基带信息、开机时间、屏幕亮度及分辨率、CPU 信息、系统时区、系统语言、充电状态、系统内核信息;

设备标识信息(必要):IDFV ;

设备标识信息(可选):IMEI (国际移动识别码)、IMSI (国际移动用户识别码)、MAC 地址、ICCID (集成电路卡识别码)、硬件序列号、IDFA 、Android ID 、OAID 、Google AID ( Google 广告 ID )、蓝牙 MAC ;

设备网络信息:IP 地址(可选)、附近 WIFI 列表(可选)、BSSID (可选)、SSID(可选)、运营商信息、网络类型、网络状态、SIM 卡状态、网卡信息;

设备应用信息:SDK 宿主 APP 信息(包括:应用名称、应用版本、安装时间)、应用列表(可选)。
hubaq
270 天前
某厂商
不同设备生成同一个设备指纹的概率小于百万分之 1 。同设备的设备信息发生变化后指纹重新生成的概率,亿级数据的重新生成率小于 0.0014%
naoying
270 天前
@hubaq 可怕,被监控了
wobuhuicode
270 天前
if not ios return android
program9527
270 天前
@SkywalkerJi 就给了录音录像权限,其他基本的都不会给的,把读取应用列表之类的都禁用了。目前认为是读取了某些硬件参数,然后生成的指纹,无论是 小米原始系统(未解锁 bl ,未刷机、未 root ),还是刷机后的 lineageos 系统,都能被准确识别。
program9527
270 天前
@hubaq 即便是刷机,一些硬件驱动版本、vendor 分区等等都是不会变的,我 adb getprops 查看过,某些数据和刷机前是一样的,估计是从硬件读取某些参数,然后匹配判断的。

但这种太强了。因为我机器是购买的二手机,也就是说地理区域位置都进行了变化,他依旧能够识别的话。说明这种识别已经不依靠 ip 、定位之类的判断,已经能够准确识别全国机器的唯一性了,和 mac 地址没区别了。
proxytoworld
270 天前
大厂有专门的团队搞这个,风控一般,对付一个刷机还是简简单单的
program9527
270 天前
@hubaq 这么牛 13 。都是依靠软件能够读取的数据进行生成的吗?没使用厂商特殊接口,或者类似 Android 漏洞?
lwlizhe
270 天前
我记得一般的简单刷机好像不会修改 imei ,sn 等东西,这个 op 有对比过刷机前后 imei ,sn 这些东西有变化么,举个例子,现在再重新刷一次机,看看这几个东西有没有变化
lonelyparasol
270 天前
肯定有内部或者位置接口拿到了一些信息, 参考 Windows 和 Linux 系统, 大把的漏洞和隐藏接口, 具体规则不是内部人员不清楚的.
wtdd
270 天前
抖音这种可用可不用的 app ,为什么要让他扫脸?
program9527
270 天前
@lwlizhe 改 imei 没用的,依旧能识别。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1075162

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX