Safe Browsing API 的安全风险

Update API 的匿名性原理是 k-匿名化 (k-anonymity),即在一组结构化的具体到个人的数据中,无法别到个人信息,不过 k-匿名化还是有安全风险。

2013 年时,一个 4 字节的哈希前缀,平均对应 4 亿个 URL,所以单纯的上传一个哈希前缀,网址很安全,有数亿个 URL 掩护。

但 Update API 具有分解 URL 的功能,比如 https://www.example.com/test/abc.html 这个 URL 会被分解成:

www.example.com/test/abc.html
www.example.com/test/
www.example.com/
example.com/test/abc.html
example.com/test/
example.com/

如果提供者的清单包含上面这些 URL,那么访问 https://www.example.com/test/abc.html 时,就会命中上述的 6 个哈希前缀,然后 Update API 会把这 6 个哈希前缀都发送给 Safe Browsing API 的提供商,这就能大大的提高提供商识别的精度,让 k-匿名化变弱。

所以为了保证用户的隐私,Safe Browsing API 提供商应该防止清单出现包含关系的 URL,但是很遗憾,Google 和 Yandex 都没能做到,虽然这些清单都是哈希黑箱,不知道 URL 明文,但有科学家通过公开的恶意网站清单,还原了一部分 Google 和 Yandex 的清单,从中找到了包含关系的 URL 哈希前缀。

然后因为清单都是哈希黑箱,那么提供商是否会构建一些恶意的 4 字节的哈希,当作探针使用,这没人知道。

本文主要参考自 Thomas Gerbet, Amrit Kumar, Cédric Lauradoux 的论文 A Privacy Analysis of Google and Yandex Safe Browsing

#原理 #隐私
 
 
Back to Top