V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lasm
V2EX  ›  程序员

抵制跨站点隐私追踪库 supercookie

  •  2
     
  •   lasm · 2021-03-01 23:26:03 +08:00 via Android · 7024 次点击
    这是一个创建于 1365 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近 GitHub 出现了一个新的项目,https://github.com/jonasstrehle/supercookie
    根据作者的介绍,Supercookie 使用了 favicon 的一个 bug,可以生成一个对于浏览器的唯一 ID 。它不会根据你的网络环境而改变。甚至你开启了隐私模式,刷新缓存,重启操作系统也是无效的。
    原理: https://supercookie.me/workwise#content-threat-model
    当你的浏览器请求 favicon (即网站小图标)的时候,会尝试从本地的 F-Cache 读取,若本地没有存储则会向服务器请求。在对网站的多次访问中通过对 favicon 请求的解析就可以构建一个唯一的 ID 。因为 F-Cache 中包含了足以实现唯一性的信息。

    你可以在 https://demo.supercookie.me 尝试 demo,若你的浏览器几次生成的 ID 一致,则你的浏览器中招了。

    影响:这个方法大大威胁了我们的隐私安全,普通用户根本不知道 F-Cache 的管理,一般的缓存清理方法也没有效果。这可能导致互联网对你用户信息的全方位统计和挂钩,任何一个小网站都可以通过这种方式来定位某一个人在该网站或者跨网站的任何资料。这对于公民隐私权是一个极大的威胁。也就是说,我们直接暴露于了老大哥。
    然而作者和某些使用者毫无惭愧之意,叫嚣着“SPREAD TO WORLD”和技术无罪论。我在 issue 上面对他们进行了批评,然而却被倒打一耙挂了起来。参见
    https://github.com/jonasstrehle/supercookie/issues/10

    我认为,这属于妥妥的技术作恶,虽然我们知道大型互联网公司有多种手段通过账号信息大数据分析我们的隐私,但大型互联网公司有政府机构监管,而这种恶意 bug 的滥用将会使我们的隐私权受到极大的侵犯,无论在哪个法制健全的国家这都是不能容忍的。

    你们对这种技术作恶的 repo 有什么看法?如何看待这种 repo ?下一步应该怎么处理?

    知乎讨论同步: http://www.zhihu.com/question/447111920?utm_source=qq&utm_medium=social
    71 条回复    2021-04-10 18:11:56 +08:00
    ericls
        1
    ericls  
       2021-03-01 23:32:10 +08:00
    浏览器厂商封了就是
    codehz
        2
    codehz  
       2021-03-01 23:35:26 +08:00 via Android   ❤️ 19
    技术不发出来人家就用不了了吗?
    让浏览器厂商应对才是正确的解决方法
    Al0rid4l
        3
    Al0rid4l  
       2021-03-01 23:40:44 +08:00   ❤️ 9
    虽然我不喜欢, 但是对于抵制这件事也持保留态度, 因为根本问题并不会因为抵制而消失, 抵制也只是解决提出问题的人罢了, 问题最终需要浏览器厂商去解决
    本质上这和其他安全漏洞一样, 不妥之处或许是作者没有直接将其作为漏洞报给厂商而是选择了公开 POC, 当然也不知道作者之前是否有提交过被无视就是了
    Zzzzzzzzzzz
        4
    Zzzzzzzzzzz  
       2021-03-01 23:41:28 +08:00   ❤️ 19
    解决问题 ❎
    解决提出问题的人 ✅
    lp10
        5
    lp10  
       2021-03-01 23:44:05 +08:00
    好像找个往 canvas 里面加噪音的插件就可以了
    ak47iej
        6
    ak47iej  
       2021-03-01 23:44:35 +08:00   ❤️ 2
    现在公开出来才能逼迫浏览器厂商出来封堵啊..不然下架了你以为那些公司不会用?
    jinliming2
        7
    jinliming2  
       2021-03-02 00:10:53 +08:00
    已经被浏览器封了吗? Chrome Canary 90.0.4430.8,亲测隐私模式两次 ID 不一样、访客模式两次 ID 也不一样。
    网页未在正常模式中打开过,直接右键隐身模式打开,测试完第一次 ID 72 43 0C 25 AE 90,关掉窗口后(但没有退出浏览器),再次重新在隐身模式打开,测试第二次 ID 28 8E 96 EE BB 6D 。
    然后开启 Chrome 右上角头像里的访客模式,测试第三次 ID ED 07 C8 AD BF A5 。关掉访客窗口后再次重新打开访客窗口,测试第四次 ID 2B E9 51 B5 87 43 。

    Firefox Nightly 88.0a1 ,开启了 Never remember history (火狐我主要做测试用,所以日常开着这个,干净)。未进入隐私模式,在正常模式下第一次测试 ID EC 1B 88 42 18 B1,关闭浏览器重新打开,第二次测试 ID D1 9A EB 51 D0 0C 。
    7gugu
        8
    7gugu  
       2021-03-02 00:18:19 +08:00 via iPhone   ❤️ 3
    据我所知,火狐在上个版本就把 super cookie 给屏蔽了
    ttyhtg
        9
    ttyhtg  
       2021-03-02 00:18:42 +08:00
    经测试,我的 id 不一样:
    9D 5B AD E9 7B AF
    7B E6 10 6A 3B 84
    B5 3E 1E 1B 18 B6
    ttyhtg
        10
    ttyhtg  
       2021-03-02 00:19:57 +08:00
    @7gugu 哦,忘了说,我就是用火狐测的
    7gugu
        11
    7gugu  
       2021-03-02 00:21:18 +08:00 via iPhone
    @ttyhtg 👍
    Greatshu
        12
    Greatshu  
       2021-03-02 00:42:41 +08:00
    支持,这个 repo 影响力越大,这个 bug 解决得越快
    chrome 88.0.4324.190 实测隐身窗口可以追踪
    2kCS5c0b0ITXE5k2
        13
    2kCS5c0b0ITXE5k2  
       2021-03-02 00:45:30 +08:00 via iPhone
    提出问题很正常啊 没人提出问题才不正常
    ysc3839
        14
    ysc3839  
       2021-03-02 00:50:59 +08:00
    @Greatshu 我这里 Chrome 88.0.4324.190 和 Edge 88.0.705.81 的隐身模式,分别访问两次的 ID 都不一样。
    Greatshu
        15
    Greatshu  
       2021-03-02 01:10:31 +08:00
    @ysc3839 #14 EDGE 开严格隐私可以刷出不同 ID,chrome 怎么设置都不行
    Jirajine
        16
    Jirajine  
       2021-03-02 01:37:52 +08:00   ❤️ 1
    他这个库的目的就是为了促进修复这个 bug 啊,要抵制也是抵制 fingerprintjs.com 这种。
    datou
        17
    datou  
       2021-03-02 01:39:31 +08:00
    windows 版 Chrome 88.0.4324.190 中招....
    ysc3839
        18
    ysc3839  
       2021-03-02 01:57:00 +08:00
    @Greatshu 我还怀疑是什么扩展起的作用,用访客模式也是不同的 ID……
    autoxbc
        19
    autoxbc  
       2021-03-02 02:04:11 +08:00
    感觉只是使隐私模式失效,并没有使常规模式泄露更多信息
    fengchang
        20
    fengchang  
       2021-03-02 03:18:50 +08:00   ❤️ 2
    你的脑回路很奇怪,没了这个库难道广告联盟不会自己写吗?
    fengchang
        21
    fengchang  
       2021-03-02 03:20:41 +08:00   ❤️ 6
    我看了一下你的 github issue,对方不是说的很明白了

    Demonstration purposes to force the major browser vendors to take action against this vulnerability. Very far from collaborating with the dark side!

    你还有啥不懂的?
    dingwen07
        22
    dingwen07  
       2021-03-02 03:39:03 +08:00 via Android
    Android Chrome 中招
    muzuiget
        23
    muzuiget  
       2021-03-02 04:12:13 +08:00
    就一个技术验证,有什么好抵制,等浏览器想对策就是了。
    elfive
        24
    elfive  
       2021-03-02 08:06:52 +08:00 via iPhone
    开源的安全,才能有机会保证相对的安全。
    闭源的安全,肯定不能保证绝对的安全。
    cslive
        25
    cslive  
       2021-03-02 08:16:12 +08:00   ❤️ 1
    chrome 隐私模式无用,chrome 版本 88.0.4324.190 (正式版本) ( 64 位)
    dLvsYgJ8fiP8TGYU
        26
    dLvsYgJ8fiP8TGYU  
       2021-03-02 08:32:07 +08:00
    iOS Safari / Firefox Windows / Firefox Mac 均中招
    belin520
        27
    belin520  
       2021-03-02 08:36:13 +08:00 via iPhone
    这不就是反馈一个 bug 吗?浏览器跟进修复就好了

    好事啊
    Lemeng
        28
    Lemeng  
       2021-03-02 08:40:40 +08:00
    这种问题,说大不大说小不小,出现问题,浏览器厂商应该跟进
    whileFalse
        29
    whileFalse  
       2021-03-02 08:41:21 +08:00   ❤️ 13
    我想起来有个 Repo 公布了人们常用的 N 个密码,提醒大家不要用这些密码。
    然后有人发了个 issue:“我的密码是 xxxx,你现在把它公布出来对我的账户安全造成了威胁,请求从列表中删除”
    cominghome
        30
    cominghome  
       2021-03-02 08:45:07 +08:00
    翻了翻你提的那个 issue,其实大家说得都有道理,但个人觉得 po 主片面了。
    不要先入为主地看待问题,要中立,如果因为这个项目漏洞被封了,你觉得是好还是坏呢?(没准现在已经有公司偷偷摸摸用了好久了...)
    krixaar
        31
    krixaar  
       2021-03-02 09:12:22 +08:00   ❤️ 2
    这个抵制我没看明白,人家详解原理做了个 POC 然后引发关注度等主流浏览器厂商修复,说白了就是“吹哨人”,你发个 Issue 批评人家干什么?
    treblex
        32
    treblex  
       2021-03-02 09:13:01 +08:00
    FS1P7dJz
        33
    FS1P7dJz  
       2021-03-02 09:23:49 +08:00
    公开才会引起重视
    不然别说一般用户,就算是程序员也很难想到小小的 favico 可以泄露隐私
    learningman
        34
    learningman  
       2021-03-02 09:35:20 +08:00 via Android
    你被挂起来挺合理的
    典型掩耳盗铃
    no1xsyzy
        35
    no1xsyzy  
       2021-03-02 09:40:06 +08:00   ❤️ 4
    第一,LZSB
    第二,这个 repo 的发布方式可能不符合 security 的惯例。惯例上说,问题不应直接公开,而应先提交给厂商,在规定期限后公开,Project Zero 设定的是 90 天。repo 内未见提交过厂商的声明。
    第三,第二并不妨碍 LZSB
    abersheeran
        36
    abersheeran  
       2021-03-02 09:40:36 +08:00   ❤️ 1
    “我发现了一个漏洞可以持续的追踪用户足迹,它……”
    “你是谁?你发这些是受谁指使的?你知道不知道发出来有多少人的隐私安全会受到威胁?”

    v2ex 上天天有人骂某些机构尸位素餐,怎么,换到自己身上也这个腔调了?互联网基础设施上不知道有多少地方有漏洞,互联网头部公司、美国国家安全局用自己发现的漏洞干事不知道多少年了。现在有一个人公开了一个小东西,你在这抵制?抵制个鬼啊,不如多发几封邮件让苹果、微软、谷歌的人去完善浏览器。
    janxin
        37
    janxin  
       2021-03-02 09:42:15 +08:00
    看了一下,Firefox 86.0 应该已经修正了这个问题了。

    这个直接披露 POC 是确实不是很恰当。当然,如果在之前反馈给 Chrome 和 Firefox 等浏览器厂商人家不修,那就是厂商傻逼。
    shintendo
        38
    shintendo  
       2021-03-02 10:12:34 +08:00


    Firefox Yes
    phpc
        39
    phpc  
       2021-03-02 10:20:35 +08:00
    Windows firefox 78.7.0esr (64 位) 两次生成的 ID 不一样
    DOLLOR
        40
    DOLLOR  
       2021-03-02 14:28:20 +08:00
    Opera74 两次隐私模式下不一样
    fucUup
        41
    fucUup  
       2021-03-02 14:29:06 +08:00
    chromium 的同事说这个问题是 P2, 应该会做
    S4m
        42
    S4m  
       2021-03-02 14:46:35 +08:00
    开源的情况下,厂商至少能想办法抵制这类追踪方法。
    有这个时间不如去抵制国内那些客户端追踪 SDK 。
    Rhilip
        43
    Rhilip  
       2021-03-02 15:22:21 +08:00
    emm,你抵制有啥用,掩耳盗铃吗?
    xianxiaobo
        44
    xianxiaobo  
       2021-03-02 15:52:41 +08:00
    活该被挂
    GreenDam
        45
    GreenDam  
       2021-03-02 16:15:38 +08:00
    《情商》
    yolee599
        46
    yolee599  
       2021-03-02 16:36:58 +08:00
    Firefox 86.0 好像已经这个问题做了修复。

    https://blog.mozilla.org/security/2021/02/23/total-cookie-protection/
    imn1
        47
    imn1  
       2021-03-02 16:37:13 +08:00
    纯粹就是个立场问题,抵制 or 不抵制的表态都不能说错

    即使浏览器禁了,还有 APP 可以用上,除非商店有针对地下架相关应用
    简单说,站在其中一方立场,期望全行业封杀,防止未有规范时被滥用,这个主张可以有,但很难做到

    换个立场,网站追踪用户信息,是否作恶,并不能有罪推定
    如果这个技术可以实现免登录保持“唯一”,还是有一定用途的,方便对同一设备的权限管理
    例如 GDPR 并不禁止收集,只限定收集的事项遵守“最初之约定”

    砒霜也能药用,要规管只能立法
    chinvo
        48
    chinvo  
       2021-03-02 17:03:01 +08:00
    Remove my password from lists so hackers won't be able to hack me?
    ayase252
        49
    ayase252  
       2021-03-02 17:10:02 +08:00 via iPhone
    😅我看这个 issue 去年 4 月份就在 chromium 开了啊。也该修好了吧
    dqzcwxb
        50
    dqzcwxb  
       2021-03-02 17:11:59 +08:00
    与其听信谣言,不如相信**
    momocraft
        51
    momocraft  
       2021-03-02 17:15:58 +08:00
    你要是知道有人用 POC 交流安全研究 岂不是要气到爆炸
    Zikinn
        52
    Zikinn  
       2021-03-02 17:24:36 +08:00
    Chrome Windows 88.0.4324.190
    实测隐私模式可以追踪
    TomatoYuyuko
        53
    TomatoYuyuko  
       2021-03-02 17:31:32 +08:00
    类似的技术之前就有吧,比如数字指纹,不过那个碰撞几率比较高
    dsg001
        54
    dsg001  
       2021-03-02 17:38:38 +08:00
    ff68,开小号模式、隐私模式获取的 id 都不一样
    jim9606
        55
    jim9606  
       2021-03-02 17:56:30 +08:00
    Edge88.0.705.81 没有复现。

    我目前见过比较牛的是 fingerprintjs,基于 EFF 的一项研究做的,利用浏览器特性生成的 ID,例如分辨率、插件列表、字体列表等,隐私模式也会中招。不过不清楚这个方案的 ID 唯一性做得怎样,猜测不怎么好。
    https://fingerprintjs.github.io/fingerprintjs/

    不过也没必要太在乎这个了,哪个大众化的网站不是一打开就要你登录账户才能用?灰产用这个感觉收益不怎么行。
    codehz
        56
    codehz  
       2021-03-02 18:49:12 +08:00 via Android   ❤️ 3
    @no1xsyzy 之前的论文已经通知浏览器厂商修了
    不过这里有一件趣事,论文作者故意没通知 Mozilla,因为他们不是有 bug 导致 favicon 没缓存吗,然后作者反过来提一个 bug 报告要求 firefox 修 https://bugzilla.mozilla.org/show_bug.cgi?id=1618257 就为了让论文里可以写在所有浏览器上都能用,被 Mozilla 发现以后一顿批判
    这里有几十天前 hn 关于此事的讨论 https://news.ycombinator.com/item?id=26051370
    no1xsyzy
        57
    no1xsyzy  
       2021-03-02 19:04:27 +08:00
    @imn1 App 的 F-Cache 是系统层面的吗?
    no1xsyzy
        58
    no1xsyzy  
       2021-03-02 19:10:03 +08:00
    发出去了…… 浪费铜币
    ——
    @codehz ……
    我劝!论文作者:钓鱼业障重。(🤣
    ——
    在 OP 的 issue 里发了个关于本贴的 Write-up,建议把 OP 放置了
    总结为官僚主义我觉得没什么问题吧
    imn1
        59
    imn1  
       2021-03-02 19:24:03 +08:00
    @no1xsyzy #57
    我不懂 APP 开发,但我觉得有技术能达到目的,自然能想到办法用上,除非这个技术实现成本比较高
    parametrix
        60
    parametrix  
       2021-03-02 21:05:01 +08:00
    Firefox yes. (特别是发现 Firefox 在 Big Sur 上硬件加速播放 vp9 以后 :)
    iConnect
        61
    iConnect  
       2021-03-02 21:11:49 +08:00 via Android
    @Jirajine 这种屏幕指纹做的是多维精确度,没法完全解决的。
    paradoxs
        62
    paradoxs  
       2021-03-02 21:21:02 +08:00
    其实你们不用担心 chromium 会处理不了这种东西, 其实 chromium 会处理的东西挺多的。
    很多色站都被处理过(不管是技术上的还是另外一种层面的),特别是某个 A 开头的色站。(不方便开展)
    niceworld
        63
    niceworld  
       2021-03-02 23:21:39 +08:00
    edge 88.0.705.81
    有的,开和不开隐私模式出来 id 的一样 :(
    不过我看#55 楼没用复现,就感觉很玄学
    nikan999
        64
    nikan999  
       2021-03-02 23:34:35 +08:00
    The demo of "supercookie" as well as the publication of the source code of this repository is intended to draw attention to the problem of tracking possibilities using favicons.
    作者的 readme 在你发这个 issue 之前就有说过是为了别人关注这个漏洞啊,通过一定的影响力。
    no1xsyzy
        65
    no1xsyzy  
       2021-03-02 23:54:58 +08:00   ❤️ 1
    @imn1 这一漏洞是运用了 F-Cache ( Favicon Cache )来下探针,一个 App 已经能存储数据,再用 F-Cache 绕远路了呀。
    少数泄漏点是系统 WebView,实际上也是浏览器。

    更 Meta 地看,这一漏洞的核心在于外部缓存的存在,通过嗅探外部缓存命中情况来检测用户。那样的话,这一问题甚至不是新鲜事儿,似乎从幽灵开始,或者更早,大家就开始针对缓存进行检查。之前在哪看到说利用了 Favicon Cache 的时候我就根本没继续看下去,因为知道是 Favicon 之后其他都是细枝末节。
    iseki
        66
    iseki  
       2021-03-03 01:06:57 +08:00 via Android
    这个库相当于 PoC,不去解决漏洞反而去抵制 PoC ?解决提出问题的人???
    dfkjgklfdjg
        67
    dfkjgklfdjg  
       2021-03-03 10:02:58 +08:00
    提出问题才能解决问题,不是不让别人提出问题,掩耳盗铃。就像为什么现在维权都要媒体曝光,就是要引起关注
    ttgo
        68
    ttgo  
       2021-03-03 12:16:24 +08:00
    关了 tab 再开 都没退浏览器 返回值都不一样了 没问题啊??
    JounQin
        69
    JounQin  
       2021-03-24 15:15:41 +08:00
    还真是典型的想解决掉提问题的人。
    lasm
        70
    lasm  
    OP
       2021-04-10 18:07:09 +08:00
    网友的批评很显然也是带了“先入为主”的倾向。请注意,我没有说过任何想要去解决提出问题的人
    这个 Repo 并不是在提出问题质疑不择手段的广告商,而是去利用这一种 Bug,将其平民化
    以前可能是潜规则,现在可以零成本追踪了。

    真正的“提出问题的人”应该是去曝光,发声,像我这样宣传,而不是把这个 Bug 的利用手段传播出去。这与淘宝薅羊毛,刷单行为有何区别?曝光规则的漏洞和传播钻空子的手段是两码事

    希望各位网友审视别人的有色眼镜的时候先看看自己有没有有色眼镜。

    另一方面,Firefox 的解决和其他浏览器厂商,以及用户对隐私的重视也是可喜的。
    lasm
        71
    lasm  
    OP
       2021-04-10 18:11:56 +08:00
    诚然,网友们有一条逻辑就是加速主义的逻辑:漏洞被曝光出来,写个长篇大论,厂商是不会重视的;而漏洞被大面积传播和利用才能引起厂商和社会的足够重视。这确实是让事情得到发酵并解决的办法,但这不是最优解。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1154 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 18:52 · PVG 02:52 · LAX 10:52 · JFK 13:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.