安全企业发现,微软Azure Health平台上的聊天机器人服务(Bot Service)的服务器请求伪造(Server-side Request Forgery,SSRF)漏洞可能造成医院用户的敏感数据曝光。微软已经修补了本项漏洞。

Azure Health Bot Service为Azure Health上的开发平台,让医疗院所开发人员开发AI聊天机器人或助理,让医护人员执行工作、管理行政作业,或是和病患互动,借此自动化流程。视设计和配置而定,这些聊天机器人一般能访问到大量敏感的病患资讯。

安全厂商Tenable是在研究Azure Health Bot Service时,发现名为Data Connections可能的安全问题。这些数据连接允许机器人和外部数据服务互动以取得资讯,数据源可能是病患资讯的门户网站,或是存储一般医疗资讯的参考数据库。数据连接功能让Bot Service后端可对第三方API发出调用。

Tenable研究人员查看是否可能由外部和Bot Service内部端点互动时,发现一些常见端点如Azure Internal Metadata Service(IMDS)虽然已被善加过滤无法从外访问,但是利用重定向回应(redirect response),如301/302状态码,则可绕过这些保护措施。研究人员设置外部主机,并将之配置能以Azure IMDS为目的地,发送301重定向调用。另一方面,研究人员又设法取得在management.azure.com的访问令牌,最后取得微软内部存储的客户资源,进而取得Azure其他客户租户(tenant)所有的数万个人信息源列表,也就是成功通过SSRF手法完成跨租户资源访问。

研究人员于是停止探索,并于今年6月17日向微软通报该漏洞。微软告知他们7月2日修补了所有Azure区域上的这项漏洞。

研究人员事后发现,微软方面所谓的修补,只是让该服务拒绝数据连接端点发出的重定向状态码。但是研究团队又发现另一个用于验证FHIR(为一健康看护资源互通标准)端点数据连接的端点也存在SSRF攻击的风险,只是本端点攻击媒介无法影响调用标头,无法直接访问Azure IMDS。虽然由此仍能访问其他服务内容,但微软说这漏洞并非跨租户访问漏洞。不过,微软仍然于7月12日修补了第二项漏洞。

研究人员相信这二项漏洞皆未遭到任何人士滥用。