现在手机设备是不是还是可以轻松的获取到类似 imei 这样的唯一识别号?

2021-10-16 10:20:28 +08:00
 MengiNo

我的 iPhone 昨天返厂了,今天要转钱于是就用 iPad 下载了一个 中国建设银行 app 。结果转账时发现被限额 5000,原因是还有一台设备 《曾经登录》 过 app 。要我必须去之前的设备解绑也好授权也好,能把 iPad 的权限提升成 “强绑定设备” 操作才能不受限。

我的情况是这样的,像这类银行 app 从来都是,用时即下用完即删的状态,所以其实我的 iPhone 里其实也没有 中国建设银行 app,加上昨天返厂时已经抹掉过 iPhone 。如果建行没有本事识别出抹掉过的 iPhone,那这个功能不就纯粹恶心用户?他既然敢做成这样,是不是说明其实 app 已经掌握了一套哪怕 iOS 提供假的 mac 地址、哪怕 iOS 不提供 imei 、哪怕抹掉后重置用户标识的情况下,还是有办法获取到你的手段?

5081 次点击
所在节点    问与答
42 条回复
llopppp
2021-10-16 15:34:00 +08:00
设备指纹这个说法是存在的,只不过看是否要搭建环境。
前两天我云闪付 app 直接用的数据迁移,在新手机上直接打开 app,提示登陆状态失效,同时原手机登陆状态也失效了。。提示的就是设备指纹变化。
Maskeney
2021-10-16 20:02:56 +08:00
针对标题:IMEI 基本获取不到,但是唯一识别号很容易获取尤其是国产机,iPhone 也不例外甚至还有通过钥匙串持久化的
针对内容:建行这个你纯粹是想多了,根本不需要关联设备的唯一识别号,只需要强认证后保存一个 token 即可,即使你同一台设备卸载重装也是会告诉你当前设备是新设备的,不要把它想得太复杂,尤其是电子银行下水道的建行
icyalala
2021-10-16 20:16:26 +08:00
如果删除 App 要清空 keychain,那 keychain 就完全没必要存在了,所以说那是 beta 版的 bug 。
苹果需要做的是在 iOS 下提供像 Mac 那样的系统级 Keychain 查看工具。 @dingwen07
dingwen07
2021-10-16 23:09:02 +08:00
@icyalala #23

https://developer.apple.com/forums/thread/22874?answerId=75464022#75464022

> Indeed. This behaviour is more of an artefact of the implementation rather than a designed-in feature.

我并不那样认为
snorlax
2021-10-16 23:46:39 +08:00
@ahhui #11 除了抹掉还有别的清空 keychain 或者禁用 keychain 的方法吗?
huxiaofan1223
2021-10-17 00:59:15 +08:00
老哥我比你还惨,ios15 降级到 14.8,我也被限额了,还得去线下解锁
huxiaofan1223
2021-10-17 01:03:28 +08:00
@just1 可以增加验证方式吧,比如人脸识别,输入某张卡的银行卡密码,手机短信验证,我手机降级之后也被限额了,可他就是要你去线下,你说气不气?
huxiaofan1223
2021-10-17 01:05:57 +08:00
@Rocketer 那可能是缓存起来的数据了
MengiNo
2021-10-17 01:22:32 +08:00
@huxiaofan1223 我今天去线下,结果明明只是一个 app 的功能,结果有身份证没带卡还不行。完了我说拿挂失补一张卡出来总可以吧,他说新补的卡限额 1w,我说那 1w 也不成啊,他说那总比你现在 5000 好吧,不要的话只能回去拿卡。问就是风控、安全。讲真论银行这块真就汇丰这种资本主义性质的银行玩得明白,看钱不就完事了讲那么多,卡里就两块钱爱干嘛干嘛,搞这么复杂你等下自己把自己锁了,他们还得倒贴一个人的工时给你做这些有的没的手续。
daviddeng
2021-10-17 01:30:13 +08:00
@MengiNo 对于银行来说通过银保监会的安全审查最重要,考虑到大多数人群有关网络的认识我认为银行的做法是正确的,即银行是为纯粹的小白提供安全的金融服务而不是某些对网络有一定了解的人群,此外,银行不需要追踪设备,银行只需要确认这台设备“不是”之前那台设备就可以了,所以它可以直接读取用户标识就可以了,一旦标识改变就认为这是一台新设备
WebKit
2021-10-17 01:39:47 +08:00
现在除了系统以外,无论是 iphone 还是 android 都获取不到手机的硬件 id 的(imei mac 等等)
WebKit
2021-10-17 01:41:01 +08:00
@nsynet57 关不关无所谓 Android10 以后返回的都是空的
ruri
2021-10-17 08:29:33 +08:00
楼主可能还不是很懂现在的用户跟踪技术,以前软件喜欢拿 IMEI 数据是因为这玩意儿和硬件绑定,基本上不可能变动(除非换 SoC 了,因为 IMEI 存储在基带里面)。但现在软件并不需要拿到 IMEI 也能跟踪用户,我举几个常见的例子:
通过设备 ID 来判断设备是否为同一个,不过有些操作系统给软件的设备 ID 是虚拟的,并不是用物理硬件生成的 ID 。
通过在存储设备里生成一个 token 来判断设备是否为同一个,Android 软件在 /sdcard 里到处拉屎就是为了实现这个方案。

第二种跟踪方案目前在 Android 端除了通过 su 权限执行 mount --bind 以外(现成的轮子有“存储空间隔离”APP 和其它一些 Magisk 模块),没有任何办法避免,即使是 Android 11 + target 30 以后。因为 APP 在媒体目录里面依旧可以随便读写(例如 pilipili )。
RightHand
2021-10-17 08:29:40 +08:00
运营商 app,权限很高,并且国内有一键通讯 sdk 。正常需要授权,银行嘛,不知道
ruri
2021-10-17 08:34:32 +08:00
第三种方法就是通过网络的一些信息来识别,例如 WIFI 的 SSID 和 WIFI 的位置信息。还有移动网络也能获取手机号码: https://www.v2ex.com/t/498548#r_6314563
跟踪用户的技术多种多样,这就是为什么谷歌敢取消 cookie 的原因,因为它有更好的跟踪办法了,取消 cookie 可以打压友商竞品。
fan123199
2021-10-17 09:18:40 +08:00
,Android 现在没必要去获取 imei 号,获取 Android id 就行,这个是个不需要权限的 id,是跟着系统+app 走(每个 app 互相不一样),但是对于同个 app,是一致的,所以可以判断。iOS 应该是用 idfa 。 另外,这个判断逻辑是没有问题的,银行欺诈比你想象的多,风控也做了很多。问题在于后续的处理。一般其他银行是不用去线下的,这个线下就完成放弃了用户体验,只为了风控。
ahhui
2021-10-17 09:59:01 +08:00
@snorlax 从目前掌握的信息看,还没有清空和禁用的方法。楼上有人提到曾经苹果想在卸载 app 的时候删除 keychain 里的数据,但是最终没上线,估计是因为这样造成的问题会更多吧。
longxk
2021-10-17 13:21:07 +08:00
谷歌现在限制了设备唯一标识的获取,但是国内 OV 华米等厂商为了广告收入又提供了 OAID,基本等于设备唯一标识
huxiaofan1223
2021-10-17 13:33:43 +08:00
@MengiNo 还好我没去,我也不打算去了,以后尽量不用建行卡了吧
icyalala
2021-10-17 13:35:14 +08:00
@dingwen07 看来我想错了。。
根据那个苹果工程师的其他回答,确实是因为隐私问题想要改掉 keychain,但是因为有兼容问题所以又改回来了。

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

https://www.v2ex.com/t/808171

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

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

© 2021 V2EX