乐于分享
好东西不私藏

医疗器械软件安全测试怎么做?源代码分析、软件成分分析(SCA)和第三方组件漏洞解析

医疗器械软件安全测试怎么做?源代码分析、软件成分分析(SCA)和第三方组件漏洞解析

医疗器械的网络安全问题,并不一定出现在Wi-Fi、蓝牙或网络端口上。

很多漏洞实际上隐藏在软件代码、开源组件、第三方软件库以及操作系统中。因此,对于含软件医疗器械、独立软件(SaMD)以及联网医疗器械,软件层面的安全测试也是医疗器械网络安全测试的重要组成部分。

常见方法包括:

源代码安全分析(Static Code Analysis)

软件成分分析(Software Composition Analysis,SCA)

已知漏洞(CVE)分析

第三方软件组件安全分析

这些测试从软件内部寻找潜在风险,与漏洞扫描、渗透测试等外部攻击测试形成互补。

外部没有发现攻击入口,并不代表软件内部不存在安全缺陷。

01

源代码安全分析主要测什么? 

What Does Source Code Security Analysis Cover?

源代码安全分析通常采用静态应用安全测试(Static Application Security Testing,SAST)等方法,在不实际运行程序的情况下对源代码进行检查。

常见关注内容包括:

例如程序中直接写入管理员密码,或者对外部输入缺少长度和格式检查,都可能形成潜在网络安全风险。

源代码分析的优势在于:

产品面对未知和非预期输入时,能不能保持安全、稳定和可控。

02

什么是软件成分分析(SCA)? 

What Is Software Composition Analysis?

现在的医疗器械软件很少完全从零开发。

产品中可能使用:

软件成分分析(Software Composition Analysis,SCA)的主要目的,就是识别软件中使用了哪些第三方组件,并进一步分析这些组件是否存在已知安全问题。

典型过程包括:

03

发现CVE,不代表产品存在同样风险 

CVE Found ≠ Product at Risk

这是第三方组件漏洞分析中非常重要的一点。

假设某个开源组件存在一个高危CVE,并不能直接得出:

“该医疗器械存在高危漏洞。”

还需要继续分析:

· 该组件版本是否真的受影响

· 产品是否启用了受影响功能

· 漏洞对应接口是否暴露

· 攻击者是否能够访问

· 是否已经存在其他安全控制措施

· 成功利用后是否会影响设备功能和患者安全

因此:

CVE是漏洞分析的重要输入,但不是医疗器械网络安全风险评价的最终结论。

04

第三方软件为什么需要持续管理? 

Why Continuously Manage Third-Party Software?

医疗器械产品生命周期往往较长,而第三方软件变化速度很快。

例如一个医疗器械可能计划使用8年,但其中某个操作系统或开源组件可能在几年以后:

· 停止维护

· 停止安全更新

· 出现新的CVE

· 发布新的安全补丁

因此第三方软件安全不能只在产品注册前检查一次。

企业需要持续掌握:

这也是为什么软件物料清单(Software Bill of Materials,SBOM)越来越重要。

SBOM不仅是一张软件清单,更是后续开展漏洞监测和软件供应链安全管理的重要基础。

05

模糊测试主要关注哪些结果? 

What Is the Difference Between Source Code Analysis and SCA?

两者关注的问题不同。

因此医疗器械软件安全测试通常需要将两类方法结合,而不是只选择其中一种。

06

软件安全测试还需要与其他测试结合

Integrating Software Security Testing with Other Testing

软件层发现的问题,最终还需要结合实际产品验证。

例如SCA发现一个组件存在远程代码执行漏洞,后续可能需要通过:

· 漏洞验证

· 渗透测试(Penetration Testing)

· 接口安全测试

· 攻击路径验证

进一步确认该漏洞在真实医疗器械环境中是否能够被利用。

因此完整逻辑通常是:

07

FDA/NMPA/CE注册认证需形成可追溯证据 

Traceable Evidence for FDA, NMPA, 

and CE Registration and Certification

如果软件安全测试用于FDA、NMPA、CE 等医疗器械注册认证项目,最终不能只输出一张CVE列表。

还应明确:

并与产品的:网络安全风险管理、SBOM、软件版本、网络安全测试报告及注册技术资料建立对应关系。

我们可以针对医疗器械提供面向注册认证用途的第三方软件安全测试,包括源代码安全分析、软件成分分析(SCA)、第三方组件及CVE漏洞分析,并可进一步结合漏洞扫描、渗透测试和整改复测形成完整测试证据。

医疗器械软件安全测试,不只是检查程序“能不能正常运行”,更要确认软件本身以及它依赖的第三方组件,会不会成为产品网络安全风险的入口。

  [ END ] .

联系我们

Contact us

网络安全服务

Cybersecurity Services