背景
根据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黑客攻击了欧盟国防部长的视频会议。据我所知,他没有获得研究权限,但他没有因这次黑客攻击而被起诉。博雷利先生在他黑客攻击期间告诉他:“你知道这是刑事犯罪,嗯?你最好在警察到达之前迅速退出。”——博雷利先生,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日 — 报告发布
#HackingHealthcare #EthicalHacking #Leadership #Idor