剖析两个严重IDOR漏洞:13万荷兰医疗从业者敏感数据泄露风险

本文详细披露了荷兰VvAA保险平台上的两处IDOR漏洞,攻击者可借此获取13万医疗从业者的网络安全保险单等敏感文件。文章深入分析了漏洞的发现过程、利用方法、潜在危害以及响应处理流程,为企业和安全研究人员提供了宝贵的参考。

漏洞概述

2023年3月,荷兰一家服务于超过13万医疗从业者的大型保险与咨询公司VvAA的客户门户(mijn.VvAA.nl)被发现存在两个独立的不安全直接对象引用(IDOR)漏洞。攻击者可利用这些漏洞,通过简单的参数枚举,访问并下载任意客户的私有保险单、发票、电子邮件通讯记录等高度敏感文档,其中包括明确承保勒索软件赎金支付的“网络与数据风险保险”政策。这一漏洞为勒索攻击团伙提供了精准定位“高价值”目标的捷径。

背景:医疗行业的勒索风险与保险

根据专注于医疗行业网络安全事件的机构Z-CERT.nl在2023年的年度报告,勒索软件已成为医疗领域面临的最大威胁之一。报告指出,针对IT服务供应商的攻击频率甚至超过了直接攻击医疗机构本身。

在此背景下,VvAA等保险公司开始向医疗从业者提供“网络与数据风险保险”。这类保险的一个重要承保范围是“对已支付赎金的报销”。然而,这也带来了新的风险:如果勒索攻击团伙能够确切地知道哪些医疗机构购买了此类保险,他们就能更精准地选择攻击目标,因为这些目标的保险公司会为赎金买单,攻击成功的“投资回报率”更高。

漏洞发现的技术细节

漏洞一:通过客户ID枚举访问个人文档

研究人员在登录个人VvAA账户后,注意到URL路径中包含“/s/”,这通常暗示后端使用了Salesforce平台。这通过页面源代码得到了确认。

  • 攻击入口:在浏览个人“概览”页面时,页面通过一个名为getMijnVvAADocs的命令来加载用户文档列表。该命令的HTTP请求中使用了名为RelatieNummer(客户ID)的参数。这是一个可被轻松枚举的整数。
  • 漏洞利用:研究人员使用代理工具Burp Suite拦截流量,并将请求中的RelatieNummer参数值更改为另一测试账户的ID。
  • 验证结果:服务器成功返回了目标测试账户的所有文档列表及下载链接。这意味着攻击者只需枚举客户ID,即可遍历下载所有13万用户的私有文件,包括明确列出“赎金报销”条款的网络安全保险单。

重要说明:研究人员强调,此漏洞是VvAA在其网站上实现的定制功能中存在的,并非Salesforce平台的普遍性问题。

漏洞二:未受保护的文档下载端点

在第一个漏洞修复约一个月后,研究人员对客户门户的其他功能进行了复查。

  • 攻击入口:在研究“已订阅产品”页面时,点击某一保险产品可下载相关文档,其URL模式为:https://subdomain.vvaa.nl/ApiGateway/Api/Documents/GetBinary/[文档ID]/0
  • 漏洞利用:研究人员发现此URL中的文档ID也是一个可预测的整数。将ID修改为其他数字(例如将“123456”改为“123457”)后,浏览器成功下载了属于另一位客户的保险单。
  • 验证结果:进一步的测试表明,通过枚举此ID,可以访问至少长达8年的历史文档,其中包含电子邮件(.eml文件)等高度机密信息。

漏洞的严重性与潜在影响

这两个IDOR漏洞使得恶意攻击者能够:

  1. 精准定位目标:筛选出那些购买了“勒索软件赎金赔付”保险的医疗机构,这些机构支付赎金的意愿和能力更强。
  2. 实施鱼叉式钓鱼:利用获取的保险单细节、个人姓名、邮件记录等信息,构造极具迷惑性的定向钓鱼攻击。
  3. 大规模数据泄露:理论上可以通过编写脚本自动化枚举和下载,获取海量客户的敏感数据。

漏洞披露与响应时间线

  • 2023年3月24日:研究人员发现初步线索,通过邮件联系VvAA隐私官。
  • 同日 12:45:VvAA首席信息安全官(CISO)联系研究人员安排通话。
  • 同日 14:30:研究人员发现并报告第一个IDOR漏洞。
  • 28分钟后:VvAA确认漏洞,并承诺在一小时内部署补丁,同时开始审计日志以排查是否已被恶意利用。
  • 2023年5月4日:研究人员发现并报告第二个IDOR漏洞。
  • 2023年5月5日:VvAA确认第二个漏洞,并在一周内完成修复和审计。
  • 2023年5月11日:研究人员受邀与VvAA领导层会面,获得奖励,并确认VvAA已正式发布协调漏洞披露(CVD)政策。

总结与启示

VvAA的案例展示了企业在面临安全漏洞时应有的成熟处理方式:快速响应、透明沟通、彻底修复、积极协作。尽管漏洞本身是严重的,但VvAA通过与研究人员合作,最终将事件转变为提升安全水平的契机,并建立了规范的漏洞披露流程。

此事件也向所有企业,尤其是处理敏感数据的组织,强调了以下几点:

  1. 授权检查是关键:对所有涉及对象引用(如用户ID、文档ID)的API端点,必须实施严格的、基于会话或令牌的权限验证,绝不能仅依赖前端控制或可预测的ID。
  2. 实施协调漏洞披露政策:公开、清晰的漏洞提交渠道能鼓励安全研究人员以负责任的方式报告问题,而不是将其卖给地下市场。
  3. 安全是一个持续过程:即便拥有高水平的安全团队,复杂的系统中仍可能存在疏漏。持续监控、定期渗透测试和红队演练至关重要。

对于安全研究人员而言,此案例也体现了遵循“比例原则”和“辅助性原则”进行伦理黑客行为的重要性,即在服务于公共利益的同时,选择影响最小的方式开展研究。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计