医疗行业对设备的安全性和安全性的审查正在增加。网络安全正成为必备功能。幸运的是,安全和安全性的实践之间有很大的重叠,理解这两个原则之间的相似点和不同点是至关重要的。
Andrew Caples, Mentor Graphics嵌入式系统部门(ESD)高级产品经理
在一个设备软件变得越来越重要和复杂的时代,医疗设备制造商看到越来越多的审查这些设备的安全性和安全性。IEC 62304等安全标准提供了设备制造商和COTS软件供应商都遵循的法规指导。

但是,安全标准几乎没有告诉我们安全。
网络安全现在是设备制造商必须考虑的重要问题。监管机构要求设备制造商保护医疗系统和患者免受网络攻击。即使有监管指导,这些建议也没有具体说明提高安全性所需的过程或实现。
幸运的是,安全和安全性的开发实践之间有很大的重叠。
安全标准
从软件的角度来看,安全性是基于在整个开发生命周期中定义和遵守严格的过程。许多行业都有这样定义明确的安全标准,例如,用于机载系统的DO-178C。
尽管每个标准在细节上有所不同,但在定义类似的安全开发生命周期方面都有共同的主线,作为满足监管审批的框架。这些标准为安全开发提供了指导,定义了每个开发阶段的概念和范围。然而,这些标准并没有明确定义如何进行开发,或者需要哪些文档。通过将此留给各个制造商,该标准允许开发一个定制的过程,帮助开发人员尽可能高效地工作,同时仍然要求在最后提供完整的信息。
例如,对于遵守IEC 62304的医疗设备,软件生命周期计划(SLCP)是安全软件的开发,测试和支持的计划。由于SLCP的范围,它可以是一个独立的计划,涵盖了所有开发阶段。或者,可以支持每个阶段的详细计划,其中所有计划的聚合符合标准的要求。因此,SLCP可以由软件开发计划(SDP),软件质量保证计划(SQAP),软件配置管理计划(SCMP),软件验证计划(SVP)和其他计划支持。
危害和风险管理
然而,安全并不一定是良好规划和健康发展的副产品;它还涉及主动管理危害和相关风险。需要一个模型来评估危害,以引入缓解办法。因此,安全开发过程模型应包括以下内容:
危险分析=>风险评估=>损伤评估=>设备分类=>风险缓解
各种工具和标准可以指导每个阶段的开发人员。例如,故障树分析(FTA)可以用于危险分析。FTA分析方法有助于识别每种危害,并追溯其根源。FTA的过程是定义每个危害,并列出可能导致确定结果的先前事件。通过系统地捕获每个事件,可以从根本原因出发,分层次地为每个危险事件构建故障树。
故障树分析可以帮助指导开发人员。
ISO 14971明确规定了医疗风险管理流程。需要进行风险管理以确定可接受的风险水平。此外,它还有助于了解风险缓解技术的工作情况。
风险是损害发生的可能性和损害的严重程度的组合,而危害是造成损害的潜在原因。
风险=功能[概率(危害),严重性]
考虑这一点的一种方法是在造成伤害之前可以检测到危险;然而,检测伤害意味着已经发生了危险。风险分析是系统使用可用信息来识别危害,危害严重程度,估计相关风险。目标是管理或减轻风险,以降低风险,因为不可实现的总风险消除。
为了降低风险,可以采取各种保护措施,从记录潜在的危险,到重新设计软件或添加警示灯。
没有预定的风险风险是可接受的,并且没有可接受风险的公式或监管指导。这一决定有点主观,但必须考虑可能导致的潜在危险和伤害。
一旦危害和风险分析完成,就可以根据潜在危害的严重程度使用行业特定方法对设备进行分类。
危害作为概率和严重程度的函数。危险矩阵代表具有与确定可接受性区域相关的挑战。
对于医疗仪器,IEC 62304标准提供了下列软件安全分类:
- 甲级:不可能对健康造成伤害或损害
- 乙级:有可能造成不严重的伤害
- 丙级:死亡或重伤是可能的
在危害和风险分析证明设备具有较低的风险之前,最好先将设备划分为C级作为默认假设。
开发的软件
凭借完成的危险和风险评估,并且设备分类,需要一个软件开发计划。IEC 62304中定义的软件生命周期计划(SLCP)是安全软件开发,测试和支持的计划。危险和风险分析将成为复合工件以及将用于定义软件功能和设计的其他要求文档。该计划的全面范围可以作为在其他领域使用的框架,如安全软件的开发。
与安全软件的开发类似,安全需要主动的管理。然而,安全不是管理危险,而是管理漏洞及其相关风险。网络安全的一般指导方针和行业特定标准开始变得越来越普遍,如FIPS140、NIST 800-53和IEC 62443等。
安全和安全之间的差异。
另外,考虑FDA关于在整个产品生命周期内确保医疗器械安全的非约束性指导。鼓励制造商加强网络安全措施,增加监控和检测漏洞的功能,以及用软件补丁更新设备。
尽管有许多安全标准,但其中有一些共同的主题,包括身份管理、身份验证/授权、检测、保护、安全通信和缓解。所有这些都可以归结为两个安全方面:1)设备应该如何保护自己,2)设备应该如何开发。
开发人员可以访问嵌入在现代片上(SOC)架构中的硬件安全功能数组进行设备保护。可以利用高度保证引导,信任,加密加速度引擎,安全密钥存储和可信执行环境等功能以满足安全要求。软件协议可以加密以在休息或运输过程中保护数据。并且有技术控制标准,用于识别和认证,如X.509证书和密码。将构建到设备中的特定安全功能将由漏洞和风险评估的结果定义。
与安全一样,安全需要一个管理风险的计划。然而,对于安全性而言,目标是管理与每个漏洞相关的风险,这需要详细的评估。
脆弱性评估
漏洞评估的目标是识别系统内潜在的安全问题。这要求对安全威胁和漏洞进行全面调查。可以使用危害和可操作性分析(HAZOP)等工具进行漏洞分析。HAZOP对特定的情况使用指导语,这些指导语被解析成意图和偏差的列表。对偏差进行分析,如果存在重大偏差,则制定缓解计划以降低风险。
HAZOP分析的例子。
提供以下漏洞分析的以下指南:a)探针 - 访问学习特征的目标;b)洪水 - 访问目标不停地过载系统;c)假设不同实体的身份,欺骗 - 化妆舞会;并且d)读取 - 获取设备存储等数据作为另一示例,将引导字解析成列表以突出显示潜在的影响。
在完成漏洞分析之后,需要对每个漏洞进行风险评估。确定风险的方法多种多样,包括公式;然而,大多数人同意,风险确定是威胁、漏洞和严重性的函数。
风险=功能[威胁,漏洞,严重性]
目标是了解风险,以确定它是否可接受。确定风险的能力并不总是像使用一个简单的公式那样直接。例如,对于一个风险发生率为1%的漏洞,您是否应该将一个坚定的黑客100%专注于该漏洞的影响考虑进去?在确定风险时,如果评估表明该风险是不可接受的,则需要降低风险,并应完成新的脆弱性分析。
确定风险。
应该使用行业特定的方法对漏洞进行分类。很多安全工程师使用“高”、“中”和“低”进行漏洞分类。一旦漏洞和风险评估完成,就可以定义减轻漏洞的需求。
与安全性一样,医疗设备的开发需要一个计划来实现该设备的软件,并验证满足了脆弱性要求。所定义的流程必须包括一个计划,以便在设备生产后期解决发现的漏洞问题。
安全vs.安全开发过程。
随着监管机构的审查增加,网络安全正成为设备制造商必须满足的重要考虑因素。幸运的是,在安全和安全性的发展实践之间存在显着的重叠,并且了解两种原则之间的相似性和差异至关重要。这样做会让你,你的公司更好地准备处理今天的安全和安全需求,以及明天可能发生的事情。
导师图形
Mentor.com.
了下:设计世界文章,医疗,软件





告诉我们你的想法!