一个牙科患者登录自己的门户,看病历时发现:网页地址里的文档编号改一下,可能就能打开别人的医疗文件。
这不是“公开裸奔”。按 TechCrunch 的报道,利用这个漏洞需要先登录 Practice by Numbers 的患者门户。但问题仍然严重。因为系统不该只确认“你已登录”,还要确认“这份文件确实属于你”。
Practice by Numbers 称,其软件用于美国逾 5000 家牙科诊所。患者门户里放的也不是普通资料,而是个人信息、病史、照片身份证件和其他医疗文件。
这起事件真正刺眼的地方,不是漏洞后来修好了。是医疗软件最基础的两件事出了缝:访问控制,以及漏洞上报通道。
漏洞在哪里:登录了,不等于有权看
发现问题的是患者 Joseph R. Cox。他在查看自己的牙科记录时注意到,加载文档的 URL 里包含一个文档编号。
把编号改成相邻数字,就可能打开其他患者的文件。更麻烦的是,这些编号呈顺序递增,猜测成本很低。
这类问题在安全行业常被叫作越权访问,或者不安全直接对象引用。说白了,后端没有把“用户”和“文件归属”重新核一遍。
在电商订单、云盘文件、医疗影像系统里,这类错误并不少见。但放到医疗场景,代价更高。牙科病历里可能有身份文件、病史、影像和诊疗记录,泄露后很难像密码一样简单重置。
| 关键点 | 已知事实 | 该怎么理解 |
|---|---|---|
| 利用条件 | 需要登录患者门户 | 不是无需登录访问,但任一门户用户都可能越权 |
| 利用方式 | 修改 URL 中顺序递增的文档编号 | 后端授权校验不足,而不只是前端显示问题 |
| 涉及资料 | 个人信息、病史、照片身份证件等 | 属于高敏感医疗资料 |
| 影响范围 | 公司称少于 10 名患者被通知 | 只能说明公司日志中确认的直接影响,不能外推为全部潜在规模 |
这里有个现实约束要讲清楚:目前没有证据显示数据被大规模下载,也没有证据显示漏洞被恶意利用。公司称没有发现此前与该漏洞相关的活动证据。
但这不能把问题抹平。医疗系统的安全底线,不该寄托在“没人发现”上。
报告漏洞为什么会变难
Cox 发现问题后,试图直接通知 Practice by Numbers。按报道,公司官网邮箱无法送达,邮件被退回。
他后来通过 LinkedIn 联系公司创始人之一,并发送后续邮件,但没有得到有效回应。最后,他把问题告知 TechCrunch。
TechCrunch 在 4 月 13 日通知 Practice by Numbers。公司随后下线患者门户修复漏洞,并在 4 月 17 日恢复服务。
联合创始人兼首席技术官 Chris Lau 表示,公司已经修复漏洞,并依据服务器日志通知少于 10 名受影响患者。公司还称没有发现此前与该漏洞相关的活动证据,暗示 Cox 可能是第一个发现者。
这个时间线说明,修复动作并不慢。问题在前面:一个普通患者发现医疗数据可被越权访问,却找不到顺畅的安全上报入口。
对软件公司来说,漏洞披露通道不是门面。它是止损工具。安全邮箱能否送达、网站有没有报告入口、收到报告后谁响应、多久响应,这些都决定风险暴露多久。
对牙科诊所也一样。诊所通常没有大型医院那样的安全团队,很多 IT 能力都交给供应商。供应商的默认安全能力,实际就是诊所的患者资料底线。
诊所和患者现在该问什么
Practice by Numbers 的产品定位是牙科诊所管理软件。患者门户只是其中一部分,但它直接碰到病历和身份资料。
对诊所负责人来说,下一步不该只问“现在能不能用了”。更该问供应商三件事:漏洞是怎么产生的,日志能不能核验,之后谁来接收安全报告。
TechCrunch 询问 Practice by Numbers:患者门户上线前是否做过安全审计。Lau 和公司联合创始人兼总裁 Rohit Garg 均未作答。
Garg 只表示,公司计划更新网站,让外部人员可以报告安全问题,但没有给出时间表。
这几个问题会直接影响诊所的动作:
| 对象 | 现在更实际的动作 | 原因 |
|---|---|---|
| 使用该软件的诊所 | 向供应商索要事件说明、访问日志范围、修复说明和后续披露通道 | 诊所需要判断是否通知患者、是否调整门户权限和内部流程 |
| 正在采购系统的诊所 | 把安全审计、漏洞响应时限、日志导出能力写进采购问题清单 | 只看排班、报表和营收分析,会漏掉真正的底线成本 |
| 收到通知的患者 | 向诊所确认哪些文件被访问、何时被访问、是否涉及身份证件照片 | 患者需要知道风险落在哪类资料上,而不是只得到一句“已修复” |
这里也要避免过度推断。公司称少于 10 名患者被通知,这不等于所有用户都受影响;没有收到通知,也不等于一定没有风险。
比较稳妥的做法,是让诊所把供应商回应留档。包括门户下线和恢复时间、涉及文件类型、日志审查范围、后续是否会开放安全报告入口。
在美国医疗数据环境里,诊所和软件商都绕不开患者隐私与合规责任。但这篇报道目前没有给出监管调查或处罚信息,不能替它预设后果。
能看清的是另一件事:医疗软件的可信度,不只来自功能清单。它还来自上线前有没有审过、出事后能不能查、外部发现问题时能不能报。
这也是接下来最该观察的变量。Practice by Numbers 会不会说明门户上线前的安全审计情况?会不会给出明确的漏洞披露入口和响应时限?会不会向诊所提供足够可核验的访问日志?
病历系统不能只在事故后补门。门当初是谁验的,以后谁能敲响,才是诊所和患者真正该追问的地方。
