近日,印度西孟加拉邦卫生福利部被曝800万核酸检测结果报告泄露。而事实上,上月BleepingComputer 就报道称多个印度政府网站泄露了病人的核酸检测报告。
事件分析
本周,安全研究人员Sourajeet Majumder 称他发现另外一个印度政府网站泄露了数百万核酸检测结果。研究人员发现网站在实现上存在问题,会导致在特定州进行核酸检测的人员的测试结果泄露。报告中含有姓名、年龄、婚姻状况、检测时间、居住地址等敏感个人信息。这里的特定州指的就是印度西孟加拉邦。
根据政府每日公布的公告数据,研究人员推断泄露的核酸检测报告数大约在800万。Majumder 指出,泄露可以看到发送给测试者的消息的内容。
文本中URL 的结构导致可以获取base64 编码的报告的ID号码(SRF ID),如下所示:
文本消息二维码/研究人员看到的含有到核酸检测结果的链接的文本消息
经过BleepingComputer研究人员确认,base64编码的报告号码可以解码为简单的数字形式,通过在URL 中增加或减少数字就可以看到其他人的核酸检测结果。
Majumder 还注意到对数字id的base64编码是可选的,而且对提取报告没有任何影响。
通过这种方式,研究人员证明了非常简单就可以提取出数百万病人的核酸检测结果:
https://cpms.wbhealth.gov[.]in:8003/Covid19.aspx?SRFID=1931XXXXXX1
https://cpms.wbhealth.gov[.]in:8003/Covid19.aspx?SRFID=1931XXXXXX2
https://cpms.wbhealth.gov[.]in:8003/Covid19.aspx?SRFID=1931XXXXXX3
每份报告中都有病人的姓名、年龄、性别、家庭地址、核酸检测结果、检测日期、报告号、测试实验室的位置信息等。
研究人员提取的核酸检测结果示例
相关部门已修复该漏洞
之前可以读取核酸检测结果报告的URL目前已经返回404 错误。负责监督North Bengal新冠疫情的健康官员 Sushant Roy也承认了这一数据泄露事件。
这也不是核酸检测结果首次泄露。之前就有多个实验室由于有漏洞的二维码实现导致攻击者可以通过枚举测试结果URL 的方式来窃取病人核酸检测结果。
研究人员建议在生成公开可访问的URL时,应加入不可猜测的或随机的数据位来使得无法通过枚举来获取信息。