工单节点使用指南
• 请用平和的语言准确描述你所遇到的问题
• 厂商的技术支持和你一样也是有喜怒哀乐的普通人类,尊重是相互的
• 如果是关于 V2EX 本身的问题反馈,请使用 反馈 节点
icylogic

iOS 上贴吧 App 后台发送 IMEI 等信息,属于正常行为吗

  •  
  •   icylogic · Jul 28, 2018 via iPhone · 6841 views
    This topic created in 2845 days ago, the information mentioned may be changed or developed.

    img1

    本来我已经不用贴吧了,为了给 https://www.v2ex.com/t/474848?p=1 这个帖子的楼主演示一下本地拦截广告和追踪的功能,就想起了用百度系应用演示一下,结果拦截是成功拦截了,但发现日志里出来这么一条(这里的 imei 应该是编码过的)。我印象里 iOS 很久以前就不允许获取 IMEI 了,他可能是找了什么非公开的 api 吧。无论如何,这个行为应该是不正常吧?可能百度系其他应用也有这个行为?

    以及怎么举报比较有效?我去 https://reportaproblem.apple.com 只能看到最近买的一些 app

    另外我在 iPhone 上也看到了同样的现象。


    题外话。拦截效果如下

    img2

    27 replies    2018-07-28 20:21:28 +08:00
    dalieba
        1
    dalieba  
       Jul 28, 2018 via Android
    歪常
    laoyur
        2
    laoyur  
       Jul 28, 2018
    也许是历史遗留字段,用 uuid 之类的替代了,不过还是能起到追踪用户的作用的,但要说这个真的是 IMEI 变换来的,我不太信
    zj299792458
        3
    zj299792458  
       Jul 28, 2018 via iPhone
    确认与本机的 IMEI 一致?
    icylogic
        4
    icylogic  
    OP
       Jul 28, 2018 via iPhone
    @zj299792458 它不是直接发的数字,是编码过的,我也不知道什么编码,只能说手机和平板发送的不一样。
    icylogic
        5
    icylogic  
    OP
       Jul 28, 2018 via iPhone
    @laoyur 我看了下感觉是不知到用什么信息生成的 CUID,但总之是在用设备信息追踪吧。
    cairnechen
        6
    cairnechen  
       Jul 28, 2018
    那只能怪苹果了,留了 keychain 这个漏洞,别人想跟踪用户设备只需要生成一个 uuid 就行了( imei 只是一个命名而已)
    icylogic
        7
    icylogic  
    OP
       Jul 28, 2018 via iPad
    搜到一篇不知道是否相关 http://www.semyouhua.com/m/view.php?aid=1117 ”百度移动统计根据设备出厂 IMEI 号或 MAC 地址精确识别每个用户,在 iOS7 系统禁用 MAC 地址的情况下,系统会自动生成唯一设备标识符,即百度 CUID。 ”
    icylogic
        8
    icylogic  
    OP
       Jul 28, 2018 via iPad
    @cairnechen #6 苹果的责任另说,利用漏洞也不是正当行为。。。
    cairnechen
        9
    cairnechen  
       Jul 28, 2018
    @icylogic 法无禁止即可为,苹果没有明确规定利用 keychain 保存设备标识是否合规(现在已经成了主流做法),被人利用也无话可用,百度获取的也不是 IMEI (也不可能获取到)

    /t/471254
    finab
        10
    finab  
       Jul 28, 2018
    @cairnechen
    keychain 这个不能叫漏洞。 这个也做不到跟踪,不同公司 APP 之间 keychain 数据不共享,天猫上生成的和贴吧上生成的是两个不一样的
    跟踪可以通过账户信息手机号 IP 等, 但这个 uuid 不行

    实时上生成一个 uuid 保存在 keychain 并不违反苹果的规定,本来就是用于存放账号、密码、认证信息等等的
    uuid 顶多相当于设备的一个 token 吧
    mcluyu
        11
    mcluyu  
       Jul 28, 2018
    再正常不过了,你再去抓几个 APP, 都能找到类似的字段,IMEI 现在 iOS 肯定是拿不到了,楼上说的,只是字段名遗留下来了,设备识别标志绝大多数 APP 都会集成并发送, 不管是自己做还是第三方服务集成,肯定都会有,大多数的可能就是用于数据统计分析
    cairnechen
        12
    cairnechen  
       Jul 28, 2018
    @finab
    我理解的跟踪和你理解的跟踪不一样,可能楼主的理解也和你不一样,如果一个应用在我卸载重装之后还能记住我之前的数据,那就是跟踪,至于不同应用之间的共享,那只是更大范围的跟踪罢了
    zj299792458
        13
    zj299792458  
       Jul 28, 2018 via iPhone
    @icylogic 那其实没法证明那就是 IMEI


    @cairnechen keychain 是故意设计的 feature,怎么能是漏洞……
    finab
        14
    finab  
       Jul 28, 2018
    @cairnechen
    是的,就只是相当于某些情况下,用户没有将设备设为全新设备的权利了

    另外多说点,我在你帖子里看到苹果的一句话 “ your iphone should look like the same as everyone else ”
    我的理解是这是对于所有 App 开发者来讲的。厂商有一个新用户时,他无法得到用户信息,因为“ same as everyone ”

    苹果允许 keychain 保存账号密码,这时候就不适用“ same as everyone ”了,因为他都让你保存账号、密码、令牌了....
    个人看法,错了请指正😀
    cairnechen
        15
    cairnechen  
       Jul 28, 2018
    @zj299792458
    如果你把苹果至少有两次 beta 版本尝试卸载应用后删除对应的 keychain 记录当作 bug,那你把这当作 feature 也没问题,只是这不是一个我喜欢的 feature,也不是一个保护隐私的 feature

    @finab
    考虑到"还原“是一个使用率很低的功能,应用使用 Keychain 保存 uuid 实质上完成对设备的标记,其次 Keychain 之所以叫 Keychain 就是苹果希望它能用且只能用来保存账号密码,而不是像现在这样用来保存设备标识,解决这个问题我能想到的办法
    1、将写入 Keychain 视为一种权限申请、必须经过用户同意才能写入 Keychain
    2、允许用户管理 Keychain 保存的内容
    3、之前有传闻苹果意图收购 1password,如果集成这个而废弃现在 Keychain,也是一种可行解

    不管怎样,我认为不经用户允许将用户设备标记是一种侵犯隐私的行为,某种程度上这比 Android 设备获取 IMEI 更糟糕(那个你至少是可以拒绝的,而 iOS 应用你连拒绝的权力都没有,当然,IMEI 的危害更大,因为它是真正设备“唯一”的)
    Nathael
        16
    Nathael  
       Jul 28, 2018
    贴吧比较喜欢监控语音,提取关键字推广告..
    icylogic
        17
    icylogic  
    OP
       Jul 28, 2018 via iPhone
    @zj299792458 的确是没法证明是不是。严谨地只能说是利用可以标注设备的什么信息生成的。。
    我不是做 App 的,不太理解现在这种默认的做法,晚点发个邮件问问苹果的意见吧。
    icylogic
        18
    icylogic  
    OP
       Jul 28, 2018 via iPhone
    @cairnechen 谢谢你的解释,我大概明白现状了。
    donething
        19
    donething  
       Jul 28, 2018
    楼主用的抓包软件要什么名啊?看起来挺好用的
    otakustay
        20
    otakustay  
       Jul 28, 2018
    1. 极大概率这东西不是 IMEI,只是复用了一个字段名称(比如在 android 上,或者在历史上就真的是 IMEI )
    2. 在不是 IMEI 的前提下,作为一个 App 追踪一个设备,多个 session 间确认是同一设备,我认为是一个很合理的需要,没必要怀揣恶意地否定开发者的这类需求
    3. 如果不放心,就当向苹果申诉请苹果确认这一行为是否违规以及是否有危害,而不是先入为主对地在假定对方作恶的前提下,试图去“证明这是 IMEI ”,没必要也暴露了自己的不公正
    iro
        21
    iro  
       Jul 28, 2018
    @donething Quantumult,这其实并不是抓包的
    honeycomb
        22
    honeycomb  
       Jul 28, 2018 via Android
    @icylogic 如果是 cuid 那没什么办法,而不原因清除 keychain,让这个漏洞保留则是苹果的责任。

    它的这个行为不符合它所宣传的"your mac looks like everyone else's macbook"
    donething
        23
    donething  
       Jul 28, 2018 via Android
    @iro 哦,非常感谢,这软件的功能符合我的需求
    fengleidongxi
        24
    fengleidongxi  
       Jul 28, 2018
    @iro 安卓有类似的软件吗
    CANTI
        25
    CANTI  
       Jul 28, 2018
    再正常不过了,你如果用的是 Android 的话,可能上传的信息会更多
    orangeade
        26
    orangeade  
       Jul 28, 2018 via Android
    @fengleidongxi 抓包用 Packet Capture,屏蔽 imei 用 appops
    icylogic
        27
    icylogic  
    OP
       Jul 28, 2018 via iPhone
    @sean328 安卓就不需要问了,大家都知道。。。主要我印象中 iOS 很久以前就没有正规手段获取 imei 了。。。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   921 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 81ms · UTC 20:34 · PVG 04:34 · LAX 13:34 · JFK 16:34
    ♥ Do have faith in what you're doing.