了解网络安全威胁及其与脆弱性的关系。 网络安全威胁被IEC 81001-5-1定义为潜在的安全违规,来源于各种情况、能力、行动或事件,可能会破坏安全性并对信息资产的保密性(confidentiality)、完整性(integrity)和可得性(availability)造成损害(IEC 81001-5-1)。简单来说,它指的是信息资产在使用中可能出现的问题。只有在脆弱性存在并被威胁者利用的情况下时,安全违规才会发生。脆弱性是系统、应用程序、网络或器械中存在的漏洞或缺陷。它,可以被利用来危害信息系统的保密性、完整性和可得性。这些脆弱性可能存在于软件代码、配置、协议、硬件设计,甚至是人为活动中,可能被有意或无意地引入。
威胁建模在器械网络安全中的重要性 什么是威胁建模?为什么需要进行威胁建模?我们能从中获得什么?威胁建模是一种以结构化方式分析器械所面临安全威胁的方法。通过它可以识别、列举和优先排列处理与每个威胁相关的弱点。简单地说,一旦我们了解了可能出错的地方(即威胁),我们就可以根据器械的设计对威胁建立模型,从而了解威胁在器械及其连接的 IT 系统中的表现形式。例如,考虑一个使用蓝牙无线传输健康数据的器械。对它来说,可预见的威胁之一就是健康信息的泄露。假设对这个器械的这一威胁进行建模,我们发现未加密的蓝牙数据传输是攻击者可能利用来实施这一威胁的安全弱点。因此,研发团队增加了蓝牙数据加密这一设计要求,以解决这个安全弱点,进而减少威胁。我们可以从这个简化的例子中看到,威胁建模的目的是针对器械的设计分析网络威胁可实现的手法,从而找出并解决相关弱点,来确保器械的在使用中不受到该威胁的影响。
建模前的基础工作:描述器械的功能 接下来的一个逻辑问题会是,我们如何进行威胁建模呢?我们需要先来做一些必要的准备工作。在进行任何威胁建模活动之前的一个关键步骤,是对所针对器械的运作方式进行清晰完整的描述。如果没有这样的信息,全面识别威胁并建立完整的威胁模型的工作会变得不现实,因为很有可能建模团队会无法完整考虑到所有相关的攻击面、数据流和器械组件。因此,对器械的描述的格式应简明易用,并对建模团队成员的跨职能性有相应的考虑。对器械设计的高度细致详细但冗长的文本描述,往往不是对建模活动最有效的选择。
在威胁建模中常用的一种器械描述工具是数据流程图(Data Flow Diagram, DFD)。这个工具为威胁建模团队提供了一种有效的方式来实现对器械运动功能的可视化。DFD的第三版仅利用五个简单的符号,让使用者能够简明的描绘与器械功能有关的内部和外部组件,它们的交互(即数据如何流动),以及它们之间的信任边界(根据组件的可信任级别将它们分开的假想线)。 下图展示了一个假想器械的 DFD:传感器(sensor)测量患者身体的生理参数,然后将其通过蓝牙(Bluetooth)传输到患者手机上的应用程序(Sensor App)。手机应用程序将患者的测量数据上传到云存储系统(Cloud Storage),患者及其医疗服务提供者可通过网络界面(Web interface)来访问这些数据。
上述 DFD 并非详尽无遗,因为它并没有囊括所有可能的数据流和交互,而且系统组件的描绘也是处于高层次而非细节化的。不过,这样的详细程度对于在设计研发初期的威胁建模工作往往已经足够。与医疗器械开发的许多其它方面一样,威胁建模是一个反复细化提高的迭代过程。随着设计研发的推进和威胁建模团队对威胁识别的深入,更多的组件、流程和细节将陆续被纳入DFD中。
使用STRIDE启动威胁建模 在有了可用的系统描述之后,我们可以开始威胁建模,这也正是STRIDE开始发挥作用的时候。STRIDE代表Spoofing(欺骗)、Tampering(篡改)、Repudiation(否认)、Information disclosure(信息泄露)、Denial of service(拒绝服务)和Elevation of privilege(权限提升)。它们代表了针对信息系统最常见的六种安全威胁类型,可以类似理解为ISO 14971中医疗器械所面临的危害(harm)。STRIDE由微软的安全研究人员于1999年开发,是目前使用最广泛的结构化威胁建模技术之一。
在应用STRIDE时,建模团队应考虑器械内六种类型威胁的潜在存在。这可以通过多种分析方式实现,例如按元素、按数据流、按交互、按工作流/用例或按信任边界交叉的分析方法。对于上面所提到的这个假想器械的初始威胁建模,我们采用按信任边界交叉的分析方法来为您做一个简单的STRIDE示范。这种方法一般十分适用于建模的初始阶段,因为它会使我们的注意力首先集中于易受攻击的攻击面,暂时搁置在信任边界内的各种复杂性。
下面的表格列出了在建模会议的首次头脑风暴讨论后,基于上面示例DFD中所描述的跨越信任边界的数据流而得出的一些威胁。下面的第一个表格按照STRIDE分类为每个涉及跨边界数据流的威胁编制了索引。接下来的表格为所识别的威胁进行细致描述。
需要注意的是,在建模的初始阶段,对每种威胁的描述可能往往是高层次的,缺乏技术细节。这在研发过程的早期阶段,在设计信息有限的情况下是常见的情况。这表明,这些威胁模型需要更多信息加以完善,从而得知在设计中是否存在有与这些已识别出的风险相关的弱点和漏洞。对于已经完成设计的器械,DFD上的各种元素应被扩展以进行更具体的分析。对于仍处于设计阶段的器械,威胁建模应迭代进行,随着新的设计细节的出现进行更新,并且所识别的威胁信息应当及时反馈到设计过程中,以预防或解决任何潜在的安全弱点。
威胁建模的持续进程和下一步工作
威胁建模是一个迭代过程,应贯穿器械的整个生命周期。每次迭代都会纳入更多信息,如新的设计细节、设计变更,以及从各种来源(如渗透测试、上市后监督、公共威胁库和漏洞数据库)新发现的新弱点和漏洞。此外,建模团队还可以使用其他建模方法来增强威胁模型,从而从不同角度分析特定威胁。
例如,攻击树(Attack Trees)可以通过探索多种攻击载体、通过评估弱点的可用性以及通过分析高风险组件或工作流程的方式来补充基于STRIDE的模型。同样,网络杀伤链(Cyber Kill Chain)也经常同STRIDE一起使用,以用来了解潜在攻击的整个周期,特别是针对器械的高危险持续性攻击。同时,它也适用于对采用多阶段进攻手法的复杂性威胁的建模分析。
威胁建模并不止步于识别威胁及其相关脆弱性。在本网络安全系列博客的下一集中,我们将探讨威胁建模后至关重要的下一步骤:对已识别的威胁及其弱点进行评估和优先排序,并将所得网络安全信息整合到器械的风险管理系统中。欢迎您持续关注我们对医疗器械网络安全世界的探索之旅。
如果您想进一步了解威胁建模方法及其在医疗器械开发中的应用,MITRE组织在美国FDA支持下编写的《Playbook for Threat Modeling》是一个很好的资源。
Qserve 能提供哪些帮助?
Qserve拥有一个国际性的团队,囊括医疗器械行业各种技术领域的专家,其中包括一支具有深厚全球 RA/QA/R&D 经验的软件器械(SaMD) 专业团队,可为您提供网络安全、人工智能和软件设计方面的合规实践支持。请随时联系我们,了解我们如何能在持续变化的器械网络安全监管环境中,帮助您的企业在保证合规的前提下加快产品开发、简化注册提交、缩短上市时间,为您的企业和患者创造更大的价值。
博文作者:Bingshuo Li, PhD