4. 威胁建模方法论概览
医疗设备威胁建模的难点不在于“有没有方法”,而在于“选错方法会浪费大量时间却漏掉关键风险”。一台联网输液泵、一套医学影像归档系统(PACS)或一个植入式心脏起搏器的程控仪,其威胁面横跨硬件、固件、无线协议、云服务与临床工作流。不同方法论对“威胁”的定义、分析起点和输出物差异很大,因此本节先建立一张方法论地图,再讨论它们在医疗设备场景中的取舍。
五类方法论的定位差异
STRIDE 是微软提出的以“安全属性违反”为分类依据的方法:Spoofing(仿冒)、Tampering(篡改)、Repudiation(抵赖)、Information Disclosure(信息泄露)、Denial of Service(拒绝服务)、Elevation of Privilege(权限提升)。它通常配合数据流图(DFD)使用,对每个进程、数据存储、数据流和外部实体逐一提问。优点是上手快、覆盖全面,适合在设备固件与配套 App 的架构评审阶段快速铺开;缺点是偏重软件与数据流,对医疗设备特有的物理伤害、临床误判和隐私合规链条覆盖不足。
PASTA(Process for Attack Simulation and Threat Analysis)是七阶段、风险驱动的方法,从业务目标出发,经过技术范围定义、应用分解、威胁分析、脆弱性分析、攻击模拟,最终落到风险与影响分析。它强调“攻击者视角”和业务影响对齐,适合需要向监管或管理层说明“为什么这个威胁值得投入”的场景,例如输液泵剂量错误可能直接导致患者伤害。代价是流程较重,需要业务、临床、安全多方参与。
LINDDUN 专注隐私威胁,七个字母分别对应 Linking(关联)、Identifying(识别)、Non-repudiation(不可否认)、Detecting(检测)、Data disclosure(数据泄露)、Unawareness(不知情)、Non-compliance(不合规)。医疗设备大量处理患者身份、生理参数和诊疗记录,LINDDUN 能补上 STRIDE 在隐私维度的盲区,尤其适合可穿戴监测设备、远程随访平台和含云端的影像设备。
攻击树(Attack Tree)以“根节点=攻击者目标”向下分解为子目标与具体攻击步骤,节点间用 AND/OR 连接。它天然适合表达“达到某个临床危害需要同时满足哪些条件”,例如“篡改胰岛素泵输注速率”可分解为物理接触、无线重放、固件降级等路径。攻击树对已识别的高风险路径做深度推演非常有效,但不适合作为从零开始的全面识别工具。
VAST(Visual, Agile, and Simple Threat modeling)强调将威胁建模嵌入敏捷开发流程,区分“应用威胁模型”和“运营威胁模型”,用可视化方式让开发、运维和产品共同参与。对于迭代频繁的医疗设备软件和移动端 App,VAST 的轻量化和持续更新特性比一次性重流程更实用。
医疗设备场景的适用性对比
选择方法论时,建议从四个维度判断:分析起点(资产/数据流/业务目标/攻击者目标)、隐私覆盖、物理与临床危害表达能力、以及能否嵌入现有研发节奏。下表给出面向医疗设备的对比参考。
| 方法论 | 分析起点 | 隐私覆盖 | 物理/临床危害表达 | 医疗设备典型适用阶段 |
|---|---|---|---|---|
| STRIDE | 数据流图与组件 | 弱 | 间接 | 固件/App 架构评审、快速普查 |
| PASTA | 业务目标与攻击模拟 | 中 | 强(可对齐患者伤害) | 高风险设备立项、监管沟通 |
| LINDDUN | 个人数据处理流程 | 强 | 弱 | 可穿戴、远程监测、云平台 |
| 攻击树 | 攻击者目标 | 弱 | 强(可量化路径) | 高危路径深挖、渗透测试规划 |
| VAST | 应用与运营双模型 | 中 | 中 | 敏捷迭代、持续威胁建模 |
组合使用:以联网输液泵为例
实际工程中很少只用一种方法。以一台联网输液泵为例,可以这样组合:先用 STRIDE 对“药物库更新服务—泵端固件—无线模块—临床 App”的数据流图做第一轮普查,识别出“药物库更新包被篡改”和“无线指令被重放”两类威胁;再用 LINDDUN 检查患者姓名、住院号、输注记录在日志与云端同步中的关联与泄露风险;随后针对“篡改输注速率导致过量给药”这一高危目标构建攻击树,展开物理接触、调试接口、无线重放、供应链固件替换等路径;最后用 PASTA 的攻击模拟与影响分析,把路径映射到“患者伤害等级”和“监管上报要求”,形成优先级。VAST 则用于把上述模型拆成可随版本迭代更新的轻量条目。
需要强调的是,方法论本身不产生安全,它只是组织思考的框架。医疗设备威胁建模的最终判断依据,应始终回到“是否可能导致患者伤害、诊断错误、治疗延迟或隐私泄露”,而不是“是否填满了某个模板的格子”。
选择方法论的实用判断
如果团队刚接触威胁建模、设备软件架构相对清晰,优先用 STRIDE 建立第一版数据流图与威胁清单;如果设备涉及持续采集患者生理数据并上传云端,必须叠加 LINDDUN;如果已经识别出可能导致患者伤害的高危路径,用攻击树做深度推演;如果需要向监管机构或医院信息安全部门证明风险控制投入的合理性,用 PASTA 把技术威胁翻译成临床与业务影响;如果产品以两周一个迭代发布,用 VAST 把威胁模型拆成可维护的条目,避免模型一次成型后迅速过期。