挖洞经验 | 从Instagram用户数据备份功能中恢复出已删除信息
字数 1535 2025-08-15 21:31:50
Instagram数据备份功能隐私泄露漏洞分析报告
漏洞概述
本报告详细分析了Instagram(Facebook旗下)数据备份功能中存在的一个严重隐私泄露漏洞,该漏洞允许用户通过"数据下载"功能恢复已删除多年的照片和聊天记录。漏洞类型属于应用逻辑型隐私泄露(Bug),最终被Facebook确认为有效漏洞并奖励$6000。
漏洞发现过程
初始发现
- 在Instagram个人设置中发现了"资料下载"备份功能
- 该功能位于:个人设置(Setting) > 账号(Accounts) > 隐私与安全(Privacy and Security) > 资料下载
- 功能允许用户备份包括登录记录、粉丝和关注者、交流消息、照片、搜索支付记录等所有个人数据
操作步骤
- 进入"查看账户数据"(View Account Data)
- 执行"要求下载"操作
- 输入必要凭据信息
- 等待约2小时收到主题为"Your Instagram Data"的邮件
- 点击邮件链接跳转至Instagram登录页面
- 输入密码后下载zip格式备份包
异常发现
- 解压备份包后发现2013年已删除的照片(6年前删除)
- 在Message.json文件夹中发现已删除的聊天记录
- 四五年前聊天记录中的图片/附件仍可通过网页链接访问
漏洞技术分析
核心问题
- Instagram的"删除"功能并未真正从系统中移除用户数据
- 已删除数据仍保留在备份系统中
- 数据删除与备份系统之间存在逻辑不一致
Facebook的初步解释
- 内容分发网络(CDN)导致删除后仍可通过链接访问
- 官方数据存储策略声称完全删除需要90天时间
- 参考链接:https://www.facebook.com/policy/
实际矛盾点
- 用户能恢复5-6年前删除的照片,远超过90天期限
- 删除操作在前端立即生效,但后端数据持久化存储
漏洞上报与处理过程
沟通时间线
- 2019.10.13:漏洞初报给Facebook
- 2019.10.15:被初评为一般的信息级问题
- 2019.10.22:Facebook重新评估
- 2019.11.4:完成Bug分类
- 2020.2.7:获得$6000奖励
- 2020.7.7:漏洞修复完成
关键沟通节点
- Facebook最初认为不属于隐私或安全问题
- 研究者解释漏洞对用户隐私和数据完整性的影响
- 提供额外证据(不同账号验证、具体时间点)
- Facebook承认评估错误并重新分类
- 最终确认为有效漏洞并给予奖励
漏洞影响评估
影响范围
- 所有使用Instagram数据备份功能的用户
- 影响数据类型:
- 已删除照片(可追溯至多年前)
- 已删除聊天记录及附件
严重程度
- 高:违反数据最小化原则和用户隐私期望
- 破坏用户对"删除"功能的信任
- 可能导致敏感信息意外泄露
修复建议
技术层面
- 实现真正的数据删除机制,确保删除操作同步到备份系统
- 建立数据生命周期管理策略,确保过期数据被彻底清除
- 对备份系统进行定期清理,移除已删除数据
流程层面
- 明确数据保留政策并准确传达给用户
- 建立更严格的漏洞评估流程
- 加强前后端数据一致性验证
经验总结
- 功能测试要点:对于数据备份/恢复功能,必须测试已删除数据的处理方式
- 时间维度测试:验证不同时间跨度下删除数据的可恢复性
- 厂商沟通技巧:当厂商初步拒绝时,应提供更详细的影响分析和复现步骤
- 漏洞价值评估:涉及用户隐私的数据处理问题通常具有较高价值
附录
测试验证方法
- 删除特定数据(照片/消息)并记录时间点
- 等待不同时长后请求数据备份
- 检查备份中是否包含已删除数据
- 尝试通过备份中的链接访问已删除内容
相关策略参考
Facebook数据存储政策:https://www.facebook.com/policy/