变色龙 (@bianselong) 在 15岁高三学生发布报告分析Signal和Cloudflare架构中的漏洞 中发帖
以 iPhone 系统和 Signal 为例,当向目标用户发送一个 1*1 像素的图片时,Signal 首先会帮助请求 Cloudflare 边缘节点,Cloudflare 不会一次性将文件缓存到所有节点,而是让距离用户最近的节点去拉取文件。
当成功拉去文件并将其返回给 Signal 后,Signal 会利用苹果的推送系统将包含这个图片的新消息通知推送给用户,实际这个步骤更早, 因为 Signal 检测到有新消息才会通知用户,但通知用户需要在通知里包含消息概览因此也就需要请求这个图片。
也就是在用户完全没有点击这个消息的情况下,Cloudflare 已经根据 Signal 的请求使用距离用户最近的边缘节点拉取了文件,接下来只需要检测哪个节点包含这个文件即可。
通过这种方式攻击者可以将目标用户的真实位置锁定在大约 200 英里的范围内,这可能造成用户的隐私泄露,尤其是对于某些高价值用户...