辽宁省检验检测认证中心 (辽宁 沈阳 110171)
内容提要: 医疗领域的数据由过去的封闭系统存储逐渐转向了局域网、广域网通信与传输,DICOM标准是目前应用最为广泛的医疗数据传输与储存协议。该标准的某些版本存在着一个已知的引言漏洞,可能会导致dcm文件被捆绑恶意代码。
医学数字成像和通信(Digital Imaging and Communications in Medicine,DICOM)最初由美国放射学院(ACR)与国家电气制造协会(NEMA)成立的联合委员会制定用以规范不同医用影像设备间的数字图像信息通信。目前,DICOM的3.0版本已经成发展为医学图像和相关信息的国际通用标准(ISO 12052)。它为满足临床需要的可用于数据信息交换的医学图像格式定义了质量规范[1]。
DICOM被广泛应用于放射影像学,分子影像学以等多种医学影像设备(如DR,CT,核磁共振,超声等),并且在医学检验、眼科和牙科等其他医学影像中得到了越来越广泛的应用。在目前庞大数量的医学影像设备中,DICOM是应用最为广泛的医疗信息采集、传输与储存的标准。当前大约有近千亿级别的符合DICOM标准的医学影像用于临床使用。
自从1985年NEMA发布第一版DICOM标准以来,DICOM给医学影像学带来了全新的革命,具有污染环境成分的X射线胶片被信息化的工作流程所取代。就像因特网成为信息传播与应用的全新平台一样,DICOM使“重塑影像医学面貌”的医学图像数字化应用成为可能。比如在影像的跨科室甚至跨院流转、影像的增强与降噪、高级后处理程序等,DICOM为医生和患者服务,是医学影像高效工作的基础。
近些年来,医疗系统网络安全事件频发,造成了很多难以挽回的损失。
2015年2月,美国第二大的医保公司Anthem宣布该公司的信息系统遭到黑客攻破,近有8000万员工以及客户资
料被窃取。黑客从中获得了客户的大量个人信息,包括姓名、生日、医保ID、社保号码、地址、电子信箱、工作情况以及收入等数据[2]。
2015年5月,美国联邦医疗服务商旗下的Care First保险公司数据库遭到黑客入侵,多于1100万客户的信息遭到泄露。同年九月份,医疗保险商Excellus数百万的用户信息被黑客窃取[3]。
2016年2月,浙一互联网医院发生了一起数据泄露事件,造成患者的个人隐私被窃取,医院内部流程等信息遭到泄露的后果[4]。
总体而言,医疗数据信息安全事件频繁发生的原因主要有以下几点:①医疗信息具有较高的价值,且可以定向利用。由于医疗数据绝大多数都是高度规范化的格式数据,而且具有指向性的潜在价值(例如某部位CT图像很可能指向该部位有疾病的患者)。②目前而言,医疗信息系统的网络安全防护能力较低,入侵难度相对较低。很多医院的信息系统设计之初并未想到未来会接入互联网,而一旦接入互联网其脆弱性便会凸显出来。而且由于医疗机构中的信息管理人员对网络安全不够重视,常常疏于对信息系统安全进行维护,更导致了医疗信息系统被入侵的风险大增。③医疗数据管理水平较低,大部分医疗组织和机构对医疗数据的传输与储存安全并不重视,缺乏对人员的培训和数据的备份、加密意识。容易造成数据被非授权人员访问甚至窃取的风险。
目前,几乎绝大多数医用数字成像设备都使用DICOM标准进行数据传输,医院使用医学影像传输与储存系统(PACS)进行影像的存储归档,但是当医院越来越依赖于数字影像的时候,信息安全问题也变得越来越严峻。虽然DICOM协议具有很强的兼容性和易用性,但绝大部分DICOM文件都采用明文存储,这为对DICOM文件进行篡改和伪造留下了一定的隐患[5]。而DICOM文件中包含了大量患者的隐私信息,包括个人身份相关的信息和疾病相关的健康数据,这些信息一旦泄露则可能造成较为严重的不良社会影响。尤其是当前所流行的互联网+医疗的概念较为火热,使得越来越多的医学影像系统被接入互联网,更加增加了被入侵的风险。
DICOM文件格式标准定义了dcm文件的文件头,它由文件开始处的128字节的区域组成,称为引言,用于帮助程序识别与读取DICOM文件中的图像与元数据。引言可以用于使预期读取通用图像格式的非DICOM应用程序兼容DICOM格式。
DICOM官方文档中是这样表述的:如果文件引言没有被程序文件或特定实例所使用,所有128字节内容都应写入“00H”。这样是为了便于识别如上所述引言并未使用的状态。文件引言可以包含特定的信息来使得一个多媒体应用程序可以随机访问DICOM数据集中存储的图像。这样一来,同一个文件可以以如下两种方式进行访问:由多媒体程序读取引言进行访问或由DICOM程序忽略引言进行访问。
虽然DICOM标准打算使用该字段来支持与非DICOM图像查看器(如JPG和TIFF图像)的兼容性,但该标准对插入到引言中的数据没有限制任何结构要求,可以插入128字节或更少字节的任意序列而不会影响图像文件与DICOM标准的一致性。
图1. 构造的文件结构
虽然控制DICOM文件中初始字节序列的能力意味着允许第三方欺骗图像查看者,使其相信DICOM文件是另外一种图像格式,但攻击者也可能滥用这一特性,将DICOM文件伪装成不相关的文件格式。事实上,由于PE(Portable Executable,Windows操作系统中的可执行文件,如EXE、DLL、COM)文件头可以被构造成128个字节,攻击者可以插入完整的PE文件头来使得DICOM文件看起来像一个可执行文件。
进一步地,不仅能够使得一个DICOM图像文件看起来像一个可执行文件,还能在DICOM图像中植入一个完整的在操作系统中能够运行的可执行文件,从而构造出一个既能够直接运行,又能够作为标准DICOM文件使用的文件。这允许攻击者将可执行文件伪装成DICOM图像,而违背了DICOM标准原本将DICOM图像伪装成其他文件的意图。构造的DICOM-PE双格式文件的文件结构如图1所示。
传播:由于通过这种方式可以将某个恶意软件变得看起来像一个正常的DICOM图像文件一样,它便可以在医疗机构的系统中进行传输,或者是通过U盘、E-mail等方式传播到医疗系统之外。如果恶意文件被设计为能够“感染”其他正常的DICOM文件,它将在系统中不断地进行复制,最终可能会使得所有DICOM图像都变成这种搭载了恶意软件的混合文件。在这个时候,医疗机构的安全团队面临一个艰难的抉择:如果删掉所有受感染的文件,那么患者的图像也会相应丢失,包括那些备份数据中的文件也同样是受感染的。而如果任由它们发展下去,很难保证这些文件中不带有其他的恶意功能,那么是否应当关闭所有医疗图像传输的渠道?如果这样做的话,一个高度依赖网络的现代医疗机构的图像采集与诊断体系很有可能陷入瘫痪。此外,一些没有意识到这些被感染数据价值的杀毒软件可能会删除患者信息或通过自动响应和补救机制破坏临床工作流程,根据软件的文件隔离与上传策略,这也可能导致患者的健康数据被上传到云端,从而导致健康数据的泄露。
漏洞防范:虽然这个漏洞被恶意利用将会导致较为严重的后果,但由于该漏洞本身并不涉及操作系统层面的行为,因此要实现恶意代码的运行以及自我复制还需要其他攻击行为。一种方法是将被感染的dcm拷贝到目标计算机后,手动将后缀改为exe并双击运行。这种行为需要黑客能够将文件拷贝到目标计算机并且获取目标计算机的程序执行权限,这显然是很困难的,尤其是对于仅仅接入内网的医疗机构计算机而言,这通常意味着黑客必须亲自进入医疗机构之内。另外一种方法是通过命令行来运行被感染的dcm文件,这样便不需要修改扩展名也能运行。更可能的一种方式是将这个漏洞与其他漏洞联合利用,获取远程执行的权限例如2017年Wannacry爆发所使用的永恒之蓝漏洞,但这些超出了本文关注的范围。为了防范基于本漏洞的入侵行为,医疗机构除了及时打好操作系统补丁、更新杀毒软件病毒库以外,还应当注意SMB协议的安全性。使用SMB协议共享文件目录,尤其是存储医学影像的目录在医疗机构中很常见,但如果写入权限被激活,则利用此漏洞的蠕虫病毒有可能通过SMB协议感染网络内的其他主机。如果使用了符合DICOM标准的C-store、C-Move、C-Get请求,128字节导言应当在传输前被删除,而dcm文件接收后,128字节导言通常被写入为00H。
DICOM128字节引言输入验证漏洞的CVSS Version 3.x评分为7.8分,风险等级为高危,虽然DICOM组织发表了声明表示这个漏洞的利用是多维的(不能够单纯通过这个漏洞实现入侵,需要联合利用其他漏洞或获取高级权限),而不仅仅是基于DICOM协议本身,但它仍然应当引起足够的重视。毕竟相比于其他常规文件档案而言,医疗数据的重要性和敏感性都要高得多,一旦损失或泄露将会造成极大的不良社会影响。