医学人工智能产品的网络安全探讨
引言近年来,医学人工智能发展迅速,产业格局风起云涌。人工智能在医疗领域中的应用已非常广泛,包括医学影像、临床决策支持、语音识别、药物挖掘、健康管理、病理学等众多领域。人工智能技术呈现与医疗领域不断融合的趋势,其中数据资源、计算能力、算法模型等基础条件的日臻成熟成为行业技术发展的重要力量[1-2]。医学人工智能技术的飞速发展的背后,医疗网络安全问题如影随形。针对医学人工智能产品的勒索病毒(一种新型的病毒,主要通过文件加密的方式以程序木马、网页挂马等形式传播)、挖矿病毒(一种新型的病毒,通过的网络传播,会导致电脑CPU占用率高,系统盘可使用空间骤降,电脑温度升高,风扇噪声增大等问题)、医疗信息泄露等医疗行业的网络安全事件受到广泛关注,医学人工智能的发展必然需要有效防范网络攻击。 《中华人民共和国网络安全法》自2017年6月1日起施行,这是中国建立严格的网络治理指导方针的一个重要里程碑。原国家食品药品管理总局已经发布《医疗器械网络安全的注册技术审查指导原则》并于2018年1月1日实施,该指导原则目的是医疗器械全生命周期过程中保证医疗器械产品自身的网络安全,从而保证其安全性和有效性。但是目前针对医疗器械产品的网络安全标准尚属空白,对于网络安全的质量评价方法和措施也尚无定论。 医学人工智能产品作为医疗器械产品新的业态,除具有医疗器械软件产品本身特性外,在产品设计、代码实现、产品测试、部署运行模式上都不同于一般的医疗器械产品,同时医学人工智能产品又有数据集构建、算法调优等神经网络的自身特性[3],由此考虑此类产品的网络安全风险需要这些要素,本文将针对医学人工智能产品研发阶段和产品上市后面临的网络安全问题,从产品的通用安全和专用安全角度结合各自防御措施展开进行介绍。 1 医学人工智能产品通用安全及防御措施医学人工智能产品作为一种特殊的医疗器械软件产品,在其运行过程中会遇到一般的网络安全威胁。例如,由于产品设计缺陷导致用户输入特定的用户名和密码能够访问非授权数据;由于未使用产品用户名和密码的加密,从而被利用,导致身份认证失效;由于产品依赖的软件和组件未及时升级和更新,从而漏洞被利用,产品数据丢失;以及产品数据明文传输而导致数据被截取[4]。这些威胁都会影响产品的安全,通常包括注入攻击漏洞、失效的身份认证和会话管理关注等,我们称之为通用安全威胁。 1.1 注入攻击漏洞这些攻击发生在当不可信的数据作为命令或者查询语句的一部分,被发送给解释器的时候。攻击者发送的恶意数据可以欺骗解释器,以执行计划外的命令或者在未被恰当授权时访问数据[5]。医学人工智能产品大部分采用B/S架构,举例来说,填好正确的用户名(test)和密码(001)后,点击提交,将会返回给欢迎的界面,其实执行的 语 句 是 select * from users where username=test′and password=md5(′001′),但是对于有 SQL 注入漏洞的地址来说,只要构造个特殊的“字符串”,照样能够成功登录。比如:在用户名输入框中输入:′or′1=1#,密码随便输入,这时候合成后的SQL查询语句为:select * from users where username=′′ or 1=1#′ and password=md5(′′),可以绕开产品登录界面,直接进入系统访问数据,完成了注入攻击。注入能导致患者影像数据丢失或破坏、缺乏可审计性或是拒绝服务。注入漏洞有时甚至能导致完全主机接管。 针对注入漏洞这类攻击,通常的防御措施是审查代码,但是这类攻击却不容易在测试中发现。扫描器和模糊测试工具可以帮助攻击者找到这些漏洞。检查应用程序是否安全使用解释器的最快最有效的方法是代码审查[6]。代码分析工具能帮助安全分析者找到使用解释器的代码并追踪应用的数据流。渗透测试者通过创建攻击的方法来确认这些漏洞[7]。可以执行应用程序的自动动态扫描器能够提供一些信息,帮助确认一些可利用的注入漏洞是否存在。 1.2 失效的身份认证和会话管理与身份认证和会话管理相关的医学人工智能应用程序筛查和诊断等功能往往得不到正确的实现,这就导致了攻击者破坏密码、密钥、会话令牌或攻击其他的漏洞去冒充其他用户的身份(暂时或永久的)[8]。这些漏洞可能导致部分甚至全部帐户遭受攻击。一旦成功,攻击者能执行受害用户的任何操作,因此系统管理员帐户是常见的攻击对象。用户身份验证凭证没有使用加密保护、用户名暴露在URL(统一资源定位符)里、会话用户名没有超时限制,或者用户会话或身份验证令牌特别是单点登录令牌在用户注销时没有失效、密码、会话用户名和其他认证凭据使用未加密连接传输等应用场景下都会产生失效的身份认证和会话管理威胁[9]。 针对失效的身份认证和会话管理,通常的防御措施是建议医学人工智能产品设计时采用认证和会话管理控制系统,按照特定的应用程序安全验证标准中制定的所有认证和会话管理的要求[10]。同样也要做出努力来避免跨站漏洞。 1.3 安全配置错误需要对产品应用程序、框架(算法)、应用程序服务器、Web服务器、数据库服务器和平台定义和执行安全配置。由于许多设置的默认值并不是安全的,因此,必须定义、实施和维护这些设置[11]。此外,所有的软件应该保持及时更新。包括操作系统、Web/应用服务器、数据库管理系统、应用程序、API(Application Programming Interface)和其它所有的组件和库文件应保持及时更新,减少使用或安装不必要的功能(例如端口、服务、网页、帐户、权限),错误处理机制要防止含有大量的错误信息被泄露,对应用服务器和应用框架进行安全配置(如TensorFlow、Caffe、MXNet、PyTorch)和库文件、数据库等[12]。 要避免安全配置错误,防御措施是确保开发、质量保证和生产环境都应该配置相同(每个环境中使用不同的密码),了解每个已部署环境的所有最新软件更新和补丁,在所有环境中正确安全配置和设置应当是自动化的[13]。 1.4 敏感信息泄露医疗人工智能产品的应用程序和API没有正确保护敏感数据,攻击者可能会窃取或篡改此类弱保护的数据,进行数据欺骗、身份窃取或其他攻击行为[14]。敏感数据应该具有额外的保护,例如在存放或在传输过程中的加密,以及与浏览器交换时进行特殊的预防措施。在这个领域最常见的漏洞是应该加密的数据不进行加密。在使用加密的情况下,常见的问题是不安全的密钥生成和管理和使用弱算法是很普遍的,特别是使用弱的哈希算法来保护密码。 此类安全威胁可以通过预测和模拟威胁(比如内部攻击和外部用户)、重要的敏感数据尽快清除、使用合适的强大的标准算法和强大的密匙,并且密匙管理到位、确保使用密码专用算法存储密码、禁用自动完成防止敏感数据收集,禁用包含敏感数据的缓存页面等方式避免敏感信息泄露[15]。 2 医学人工智能产品专用安全及防御措施医学人工智能产品既有医疗器械软件的通用性,又有其专业性,比如对数据的高度依赖性,这就意味着产品的安全特性受制于数据,对数据的攻击可能成为影响产品安全的渠道,对于医学人工智能产品专用安全及其防御策略将从对抗性输入、数据污染和模型窃取等方面展开介绍[16]。 2.1 对抗性输入这是专门设计的输入,旨在确保被误分类,以躲避检测。对抗性输入包含专门用来躲避防病毒程序的恶意数据和试图逃避数据过滤器的患者数据和影像信息[17]。对手不断用新的输入/有效载荷来探测分类器,试图逃避探测。这种有效载荷被称为对抗性输入,因为它们被明确设计成绕过分类器。一般来说对抗性输入包括变异输入和零日输入。 2.1.1 变异输入 这是为避开分类器而专门设计的已知攻击的变体,在过去的几年里,我们看到地下服务爆炸式增长,这种服务旨在帮助网络攻击者制造不可探测的有效载荷,在秘密世界中最有名的是FUD(完全不可探测的)有效载荷。这些服务从允许针对所有防病毒软件测试有效负载的测试服务,到旨在以使恶意文档不可检测的方式混淆恶意文档的自动打包程序[18]。 对于变异输入,通常可以通过限制信息泄露、限制探测、集成学习等设计策略防御[19]。 (1)限制信息泄露。这里的目标是确保攻击者在探查你的系统时获得尽可能少的收获。保持反馈最小化并尽可能延迟反馈是很重要的,例如避免返回详细的错误代码或置信度值。 (2)限制探测。此策略的目标是通过限制攻击者针对你的系统测试有效负载的频率来降低攻击者的速度。通过限制攻击者对你的系统执行测试的频率可以有效降低他们设计有害有效负载的速度。这一策略主要是通过对稀缺资源(如IP和帐户)实施速率限制来实现的。这种速率限制的典型例子是要求用户解决验证码,验证他是否发布的太频繁。 (3)集成学习。结合各种检测机制,使攻击者更难绕过整个系统[20]。使用集成学习将基于信誉的机制、人工智能分类器、检测规则和异常检测等不同类型的检测方法结合起来,提高了系统的鲁棒性,因为不良行为者不得不同时制作避免所有这些机制的有效载荷。 2.1.2 零日输入 零日输入指的是输入全新的数据,一种可以完全抛弃分类器的明显的对抗性输入。尽管出现新攻击有许多不可预测的潜在原因,但根据以下两种事件可能会触发新攻击的出现:一是新产品或功能推出,本质上,增加功能会为攻击者打开新攻击面,有利于它们快速进行探查;二是增加奖励,虽然很少讨论,但许多新的攻击激增是由攻击媒介推动的,变得非常有利可图。 可以通过制定事件响应流程、使用迁移学习来保护新产品和利用异常检测方式避免零日输入。 (1)制定事件响应流程。首先要做的是开发和测试事件恢复过程,以确保在措手不及时做出适当反应。这包括但不限于:在调试分类器时,有必要的控件来延迟或停止处理,并知道调用哪个。 (2)迁移学习。明显的关键困难是没有过去的数据来训练分类器。缓解这一问题的一种方法是利用迁移学习,它允许你重用一个域中已经存在的数据,并将其应用到另一个域。如果处理图像,可以利用现有的预先训练好的模型,而如果处理文本,可以使用公共数据集。 (3) 利用异常检测。异常检测算法可以用作第一道防线,因为从本质上说,新的攻击将产生一组从未遇到过的异常,这些异常与它们如何使用你的系统有关。 2.2 数据污染数据污染是指一种由人们故意的或偶然的行为造成的对原始数据的完整性和真实性的损害,是对真实数据的扭曲,数据污染会产生异常值、隐蔽性和扩散性等特点,医学人工智能产品具有对数据的高度依赖性,并且对于模型的训练有可能在云端进行,这样不可避免会带来数据污染问题,对于数据污染,攻击者主要通过模型偏斜、反馈武器化和模型窃取等方式进行。 2.2.1 模型偏斜 攻击者试图污染训练数据,以移动分类器对好、坏输入归类的学习边界。例如,模型偏斜可以用来试图污染训练数据,欺骗分类器将特定的恶意二进制文件标记为良性。攻击者积极地试图将学到的滥用和合理使用之间的界限转移到对他们有利的位置。 缓解策略包括使用合理的数据采样、分类器变化、构建标准数据集方式。 (1)需要确保一小部分实体(包括IP或用户)不能占模型训练数据的大部分。特别是要注意不要过分重视用户报告的假阳性和假阴性。这可能通过限制每个用户可以贡献的示例数量,或者基于报告的示例数量使用衰减权重来实现。 (2)将新训练的分类器与前一个分类器进行比较以估计发生了多大变化。例如,可以执行dark launch(灰度发布),并在相同流量上比较两个输出。备选方案包括对一小部分流量进行A/B测试和回溯测试。 (3)构建标准数据集,分类器必须准确预测才能投入生产。此数据集理想地包含一组精心策划的攻击和代表系统的正常内容。这一过程将确保能够在武器化攻击对用户产生负面影响之前,检测出该攻击何时能够在模型中产生显著的回归。 2.2.2 反馈武器化 将用户反馈系统武器化,以攻击合法用户和内容。一旦攻击者意识到你正在出于惩罚的目的以某种方式使用用户反馈,他们就会试图利用这一事实为自己谋利。反馈武器化之所以被攻击者积极利用,有很多原因,包括:试图压制竞争、进行报复、掩盖自己的行踪。 任何反馈机制都将被武器化以攻击合法用户和内容,缓解策略包括: (1)不要在反馈和惩罚之间建立直接循环。相反,在做出决定之前,确保评估反馈真实性,并与其他信号结合起来。 (2)不要以为受益于滥用内容的所有者对此负有责任。 2.2.3 模型窃取袭击 主要是指训练期间使用的模型或数据信息的攻击,这种攻击是一个关键问题,因为模型代表了有价值的算法,这些算法是根据患者的一些最有价值的数据进行训练的,确保接受过用户敏感数据(如癌症相关数据等)训练的模型的安全性至关重要,因为这些模型可能被滥用,泄露敏感用户信息。模型窃取袭击包括模型重建和成员泄露: (1)模型重建。这里的关键思想是攻击者能够通过探测公共API来重新创建模型,并通过将其用作Oracle数据库来逐步完善自己的模型。这种攻击似乎对大多数人工智能算法有效,包括支持向量机、随机森林和深度神经网络。 (2)成员泄露。在这里攻击者构建影子模型,使他能够确定给定的记录是否用于训练模型。虽然此类攻击无法恢复模型,但可能会泄露敏感信息。 最著名的防御模型窃取攻击的方法是PATE(一种私有框架,https://arxiv.org/abs/1802.08908),这是一个由Ian Goodfellow等人开发的隐私框架。PATE背后的关键思想是对数据进行划分,并训练多个组合在一起的模型来做出决策。这一决策随后被其他不同隐私系统的噪声所掩盖。 3 其他类的攻击和防御措施医学人工智能产品的核心算法往往是依赖于跨国高科技企业的发布的公开算法框架模型,比如TensorFlow、Caffe、MXNet等。这类模型的特点是受关注度高,使用率高,新的框架一旦发布,由于其在效率和性能的提升,会被广泛使用。但这也给框架的使用带来了安全的风险,攻击者可以生成恶意模型文件,对模型使用者进行攻击,对模型的应用进行窃取或篡改、破坏[21]。该风险危害面非常大,一方面攻击成本低,普通攻击者即可实施攻击;另一方面迷惑性强,大部分模型使用者可能毫无防备;同时因为利用了模型自身的机制,其在PC端和移动端的最新版本均会受到影响。模型被窃取,损失的是开发者的心血。而一旦被篡改,造成产品失控,后果更难以想象。 对于开源框架的安全问题,只能是关注框架的更新,及时做好补丁。 4 总结本文考虑到医学人工智能产品本身的特性,分别从通用网络安全和专用网络安全角度进行了安全的阐述,针对每一种攻击的讨论中都加入了分析及防御策略,旨在为医学人工智能产品在产品设计、研发和使用过程中需要考虑的网络安全风险提供帮助,相关部门也应当根据当前医学人工智能产品面临的网络安全风险制定标准[22],从产品的设计和使用风险角度,确保产品质量,从而进一步保证产品全生命周期的安全和有效,降低网络安全风险。 [1] 2017 WOASP Top 10[EB/OL].http://www.owasp.org.cn/owasp-project/2017-owasp-top-10. [2] 2011 CWE/SANS Top 25 Most Dangerous Software Errors[EB/OL].http://cwe.mitre.org/top25/index.html. [3] 高塔,田雨鑫.计算机网络技术中大数据时代的人工智能应用研究[J].中小企业管理与科技(上旬刊),2018,12(6):137-138. [4] 孙振皓.网络安全维护视域下的计算机网络安全技术应用[J].电子技术与软件工程,2018,16(11):229-230. [5] 陈平,易勇.计算机网络安全中信息保密技术探究[J].中国新通信,2018,(8). [6] 王仕艳.计算机网络安全中的信息保密技术[J].信息与电脑(理论版),2017,(22):193-194. [7] 赵若瑜.“互联网+”电子信息技术发展研究[J].科技与创新,2018,(1):151-152. [8] 欧阳日辉.从“+互联网”到“互联网+”——技术革命如何孕育新型经济社会形态[J].人民论坛(学术前沿),2015,(10):25-38. [9] 田铁红,张伟,石春达,等.“互联网+”环境下的网络平台信息安全[J].信息通信技术,2016,(6):5-10. [10] 宁家骏.推进“互联网+”离不开“互联网+”安全[N].中国建设报,2015-08-12(007). [11] 张森.大数据时代的计算机网络安全及防范措施探析[J].网络安全技术与应用,2018,(1):43-44. [12] 汤应.大数据背景下的计算机网络信息安全及防护措施[J].现代工业经济和信息化,2018,(3):65-66. [13] 孙振皓.网络安全维护视域下的计算机网络安全技术应用[J].电子技术与软件工程,2018,(6):78-79. [14] 姜文军.大数据时代下计算机网络信息安全问题探讨[J].网络安全技术与应用,2018,(2):54-55. [15] 李泽宇.人工智能技术在网络安全防御中的应用探析[J].信息通信,2018,(1):196-197. [16] 蒋鲁宁.机器学习、深度学习与网络安全技术[J].中国信息安全,2016,(5):94. [17] 吴京京.人工智能技术在网络安全防御中的应用探析[J].计算机与网络,2017,43(14):60-61. [18] 李渠龙.信息背景下提升信息安全的措施探讨[J].电子技术与软件工程,2015,(19):224. [19] 姚亚锋,方贤进,赛文莉.新型内容过滤防火墙的研究[J].计算机技术与发展,2010,20(11):158-161. [20] FDA,Postmarket Management of Cybersecurity in Medical Devices-Draft Guidance for Industry and Food and Drug Administration Staff[EB/OL].2016-01-22. [21] IEC/TR 80001-2-2:2012,Application of Risk Management for IT-Networks Incorporating Medical Devices-Part 2-2:Guidance for the Disclosure and Communication of Medical Device Security Needs, Risks and Controls[S]. [22] NEMA/MITA CSP 1-2016,Cybersecurity for Medical Imaging IMDRF/SaMD WG/N12FINAL:2014, Software as a Medical Device (SaMD): Possible Framework for Risk Categorization and Corresponding Considerations[S].2014-9-18.
Discussion of Cyber Security for Medical AI Products |