2016年开始,有很多安全事故是由于医院医疗设备遭到黑客攻击造成的。其中包括在洛杉矶一家医院发生的勒索软件攻击,在两家德国医院中也有相同的事情发生,针对该案例的研究显示,攻击开始于病人监护仪和药物分发系统,并且很快在墨尔本医院也有一次攻击事件。这些都发生在2016年开始的两个月里!因此医疗领域应当受到安全行业的关注。
这并没有什么意外。因为物联网技术的发展,医疗设备行业中安全逐渐成为最大隐患。现代医疗设备相当于全功能的电脑,它们中也安装有操作系统和应用程序,并且大多数设备都可以通过一个互联网通信通道访问,与外部网络或者不同类型的自定义云服务器连接。这些设备试用这些尖端技术的本义是为了帮助医生更好的治疗病人。就像其他工业系统一样,他们关注这些技术,确切的说是有用的医学科学,而把安全放在第二甚至第三位。这一点值得关注。程序设计架构的漏洞、未授权、未加密的通信通道、以及软件中的关键缺陷——所有这一切都会导致潜在的威胁。
如果设备可以未授权通过外部网络访问,这会有严重的影响。因为攻击者不仅可能窃取资料,还有可能直接影响到健康,甚至病人的生命。可以想象一下,一个“针对性的攻击”可以完全访问医院的基础设施,操纵诊断结果以及治疗系统。因为医生在很多情况下都依赖于这些复杂的医疗系统帮助他们治疗病人,如果攻击者愿意,他们可以下达错误的治疗指令,从而使病人的健康状况恶化甚至危及生命。
根据卡巴斯基分析师峰会上的一项报告,其中做了一个示例,可以很容易的找到医院中联网的设备系统,然后获得其内部网络甚至核磁共振设备的控制权——之后可以定位患者资料,获取他们的个人信息,治疗过程,这些都可以在核磁共振设备文件系统中找到。这不仅仅是医疗设备的安全问题,而是整个医疗系统都没有得到正确的安全防护。
接下来我们来看一下黑客可以怎样进行攻击,前面谈到了三大缺陷,接下来就分别谈一下如何安全防护
首先——互联网访问,弱授权甚至无授权
有很多方法找到脆弱授权的设备,例如通过Shodan。使用适当的Shodan搜索关键词你可以很容易的找到成千上万开放在互联网上的医疗设备:例如核磁共振扫描仪、心脏病学设备、放射性医疗以及其它相关设备。很多这些设备还使用的是Windows XP系统,并且缺乏相应漏洞的补丁。另外,在某些情况下这些设备还使用的是默认密码,这可以很容易的在产品手册中找到。
对于这类问题,建议就是修改默认密码,关闭外网访问,并且定期进行检查,对设备进行相应的补丁修复。
当然,这样做了也并不能高枕无忧,因为还有其他的攻击点。
第二个缺陷——设备对于本地网络的访问没有限制
有些医院内部使用的医疗设备是通过wifi连接的,而且是和给访客使用的wifi是同一个网络,或者虽然做了分离,但密码很弱。一旦黑客接入到这个网络中,他们就可以对网络进行探测从而发现一些医疗设备,而且因为内部网络是“可信”的,所以他们可以很容易的获得内部这些医疗设备的权限。这是本身在设计上就存在的错误。医疗设备制造商在创建整个系统时会保护它们不被外界访问。但出于某种原因,他们认为从内部进行的访问是可以信赖的。这是完全错误的,正确的做法应当是设置本地管理员,并且限制只有本地管理员权限才可以访问这些设备。
第三个缺陷——软件架构中的漏洞
当我连接到某个设备的时候,通过默认的登录,我得到了访问控制接口,但其中一个shell终端吸引了我的注意,通过这个终端,我可以访问设备上的文件系统。
在我看来,这就是应用程序设计中的弱点——即使没有远程访问。为什么软件工程师会在这里提供一个shell,使用设备的医生基本不会用到shell。至少在默认情况下,这个应当是不存在的。正常使用的医院工作人员不会用到这个shell,而一旦攻击者访问到这个设备,他就可以利用这个shell。
其他需要关注的应用程序漏洞当然是过时的操作系统版本以及困难的补丁管理。这是和个人电脑以及移动设备完全不同的IT基础设施环境标准,因为你不能简单的下载一个漏洞补丁就上传到医疗设备上去。这是一份复杂的手工过程,一个合格的工程师需要在医院网站进行系统升级以及测试设备正常工作后更新。这需要时间和金钱,这必须从一开始就建立一个保护系统,并且在开发阶段需要尽可能的制造应用程序漏洞。
医院医疗设备的供应商和IT团队也应该密切关注医疗领域的安全问题。在未来一年中,我们预计会看到越来越多的针对医疗设施的网络攻击,包括针对性的攻击。勒索软件攻击。拒绝服务攻击。对于整个医疗行业来说,这都会是一个挑战。医疗设备制造商需要采取重要步骤来不断解决网络安全风险保证病人的安全,更好地保护公众的健康。
最后,这里有一些给医院工作人员的建议:
请注意,网络罪犯现在会针对医疗设施,作为工作人员,你需要以攻击者的想法去思考,然后保护好自己所使用的基础设施。
尽可能的实现相关安全策略,及时开发补丁管理和漏洞评估政策。
在关注基础设施的恶意软件以及网络攻击的威胁之外,还需要关注本地网络中的访问权限控制,谁能够做什么,这都必须要明确。因为任何其它事情都有可能导致本地的系统被破坏。