背景
根据Z-Cert.nl年度报告,勒索软件攻击是医疗健康领域的最大威胁。该报告指出(第16页),医疗供应商比个体诊所或专业人员更常成为攻击目标,原因在于攻击供应商可能造成更大影响——他们通常同时为多个客户提供服务。
大多数人想到的是患者使用的医疗供应商,例如老年人使用的报警系统。去年此类供应商Tunstall就遭遇了勒索软件攻击。但那些托管医护人员(如投诉官员和纠纷调解机构)敏感数据的供应商呢?如果他们存在数据泄露漏洞会怎样?
如果我们能查明哪些医护人员注册了这些服务,就能针对他们进行鱼叉式网络钓鱼:“您收到了投诉,请立即输入密码”。今天我们将研究我医疗工作中使用的投诉与纠纷委员会机构:SKGE.nl。
缺失的协调漏洞披露政策
一年多前,我们讨论了HAwebsso.nl的数据泄露事件,导致超过1.5万名荷兰医生的私人详细信息(包括电子邮件和哈希密码)泄露。这是一个有趣的发现,因为它揭示了一个存在至少3年(根据Archive.org日志可能长达5年)的漏洞。
LHV迅速修复了漏洞并协调了披露,这是协调漏洞披露在医疗领域应用的典范。然而,本次研究的供应商SKGE.nl在报告时并未采用此类协调漏洞披露政策。
好消息是,报告后SKGE发布了符合NCSC指南的CVD政策。但遗憾的是,虚假报告流入量过高,导致他们无法保持在线状态。截至撰写时(2024年3月17日),他们正在寻找解决方案(Z-Cert或许能提供帮助)。
这是一个值得吸取的教训:如果我们希望让所有人都能使用CVD,就需要在更广泛范围内解决这个问题。这是否应该由政府来修复?例如向需要CVD分诊服务的非营利组织提供资助?或自行提供此类服务?
有人可能会问:未经明确允许入侵系统是否不道德?这类安全研究符合公共利益,可与记者调查对社会有重大影响的事件相提并论——尤其是当系统托管着你自己的数据时。
另请参阅DIVD的行为准则:我们意识到自己在法律允许的边缘运作,因此遵循漏洞披露法庭案件中常用的三个标准:
- 社会需求:我们进行漏洞披露是为了尽可能防止互联网用户遭受在线损害,不服务于任何特定的金融、政治或个人利益
- 相称性原则:我们以适当方式满足这一需求,研究应提高而非降低在线系统的完整性和可用性
- 辅助性原则:如果有多种方式满足需求,我们选择影响最小的方式
一个现实例子是荷兰记者Daniel Verlaan入侵欧盟国防部长视频会议。据我所知,他未获研究许可,但并未因此被起诉。Borrell先生在入侵期间告诉他:“你知道这是刑事犯罪吗?最好在警察到来前尽快退出。"——2020年11月21日
这明确表明我们仍需努力说服(政治)领导层,需要支持像Daniel这样的道德记者/黑客,而不是起诉、恐吓他们,甚至制定让他们的工作充满风险的法律。
分享见解并让所有人从既往漏洞中学习是前进的唯一途径;你必须与拥有无限预算的国家行为体或比特币钱包中有数百万美元的勒索软件组织竞争。
一个良好进展是我们司法部长最近对DIVD的认可:DIVD不断扫描整个互联网寻找漏洞,并向系统所有者负责任地披露这些漏洞——无论他们在世界何处,无论是否有负责任披露政策。没人会起诉消防员,对吧?顺便说一句,他们一直在寻找人才,所以如果你有能力,请加入他们!
侦察阶段:在哪里寻找漏洞?
该平台有一个门户网站,供医疗保健提供者更改其联系方式。
登录后的门户网站: 实际投诉未在任何门户中注册。如果不存储,就不会丢失。这是减少攻击面的明智之举。
那么让我们看看是否能访问其他提供者的数据。一个好的起点总是查看可以下载发票的位置。
如屏幕底部所示,dossiernummer(订单ID)是数字型的。
点击下载时看到的发票: 每当我们看到数字ID时,都会尝试将ID更改为更小或更大的数字。我们可能会得到其他用户的数据。让我们试试!
我们将数字更改为我们的朋友Bart的ID。我们获得了他的许可来IDOR他的发票。
Bart的发票可以从我的账户访问: 砰!我们发现了一个IDOR漏洞,泄露所有医疗保健提供者的发票。影响有点有限,因为它需要登录,但每个人都可以注册(没有进行身份检查)。
此外,我未测试其他ID,但一个好问题是是否只有发票可通过此端点访问(而不是其他上传的文件,例如关于投诉的文件)。我没有测试过,所以我不知道,必须相信供应商的调查。
是时候报告了!
IDOR漏洞2:注册时暴露医疗PII
在寻找注册方式时,我发现无法重复使用先前注册的电子邮件创建新账户。它给出了错误。
注册表单: 但我在Burp Proxy记录的一个请求中发现了奇怪的东西;对https://portal.skge.nl/api/afas/nieuwe_aansluiting_zelfstandig的请求有以下响应:
“Message”:“match op e-mailadres”——包括我所有的PII 发生的事情是,如果有人使用先前注册的电子邮件地址,它会吐出所有相关的PII数据。完整地址、电子邮件和电话。嗯。这不应该是这样的。
“Message”:“match op big”——包括我朋友所有的PII 医疗执照ID(Bignummer)也会发生同样的情况,这是一个公开数据,您可以使用我们政府的网站https://zoeken.bigregister.nl/zoeken/kenmerken轻松查找。
任何人都可以查找我的BIG号码。 因此,如果您对医疗保健提供者的(通常是私人的)地址和电话号码感兴趣,这是一种泄露详细信息的简单方法,无需身份验证。
是时候报告了!
结论
经过身份验证的攻击者能够下载其他用户的发票。这些文件包含PII数据,如完整地址和银行账号。未经身份验证的攻击者只要拥有注册医疗保健提供者的医疗执照ID(公开数据)或电子邮件,就能够泄露PII数据(完整地址、电话和电子邮件)。
讨论
SKGE反应非常迅速,几小时内就联系并下线了网站的受影响部分。这是一个反应迅速的典范!
他们审计了日志以查找漏洞滥用情况,并确认我是唯一发现这些漏洞的人。
请记住,每个人都会引入漏洞;处理方式才是关键。透明就是信任。作为客户,我完全信任他们,他们向我确认我的数据在他们手中是安全的。
两天后,他们修补了漏洞,一切重新上线。
最终,他们支持我的道德研究;努力让医疗供应商更安全。多亏了他们,我才能分享这个故事,让我们都能从中学习。这是一个强大领导力的好例子。
该行业的其他公司呢?他们是否也具有这种透明度水平?如果没有,需要什么才能达到这种成熟度水平?
时间线
- 2024年1月7日——发现泄露发票和注册PII数据的IDOR漏洞
- 2024年1月8日——SKGE确认漏洞并指示开发人员部署修复程序
- 2024年1月8日——SKGE下线受影响的网络资产
- 2024年1月10日——SKGE部署修复程序,我确认修复,SKGE完成审计日志(未发现漏洞滥用)
- 2024年1月18日——SKGE发送250欧元礼品卡和感谢信
- 2024年1月10日——我撰写本报告并与SKGE分享草案
- 2024年1月13日——收到SKGE反馈,改进报告
- 2024年1月19日——分享新报告草案
- 2024年1月20日——报告发布