医疗行业对设备的安全性和安全性的审查正在增加。网络安全正成为必备功能。幸运的是,安全和安全性的实践之间有很大的重叠,理解这两个原则之间的相似点和不同点是至关重要的。
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标准提供以下软件安全分类:
- 甲级:不可能对健康造成伤害或损害
- B级:有可能造成不严重的伤害
- 丙级:死亡或严重伤害是可能的
在危险和风险分析证明该设备具有较低风险之前,良好的做法是在课程级别C处的分类设备作为默认假设。
开发的软件
完成危害和风险评估并对设备进行分类后,需要制定软件开发计划。在IEC 62304中定义的软件生命周期计划(SLCP)是一个用于开发、测试和支持安全软件的计划。危害和风险分析将与其他需求文档一起成为复合工件,这些需求文档将用于定义软件的功能和设计。该计划的全面范围可以作为一个框架,用于其他领域,如安全软件的开发。
类似于安全软件的开发,安全性需要主动管理。但是,而不是管理危险,安全性是关于管理漏洞及其相关风险。有一般的指导方针和行业特定的网络安全标准,开始变得更加普通,如FIPS140,NIST 800-53和IEC 62443的名称。
安全与保障的区别。
此外,考虑在整个产品生命周期中保护医疗器械的FDA非结合指导。鼓励制造商通过添加函数来监控和检测漏洞以及使用软件修补程序的更新设备来提高网络安全措施。
尽管有许多安全标准,但其中有一些共同的主题,包括身份管理、身份验证/授权、检测、保护、安全通信和缓解。所有这些都可以归结为两个安全方面:1)设备应该如何保护自己,2)设备应该如何开发。
开发人员可以使用嵌入在现代芯片上系统(SoC)架构中的一系列硬件安全特性来保护设备。可以利用高保证引导、信任根、加密加速引擎、安全密钥存储和可信执行环境等特性来满足安全需求。软件协议可以加密以保护静止或传输中的数据。还有X.509证书和密码等识别和认证的技术控制标准。设备内置的特定安全功能将由漏洞和风险评估的结果定义。
与安全一样,安全需要一个管理风险的计划。然而,对于安全性而言,目标是管理与每个漏洞相关的风险,这需要详细的评估。
脆弱性评估
漏洞评估的目标是识别系统内潜在的安全问题。这要求对安全威胁和漏洞进行全面调查。可以使用危害和可操作性分析(HAZOP)等工具进行漏洞分析。HAZOP对特定的情况使用指导语,这些指导语被解析成意图和偏差的列表。对偏差进行分析,如果存在重大偏差,则制定缓解计划以降低风险。
HAZOP分析的例子。
漏洞分析举例如下:a)探测—访问目标了解特征;b)洪泛接入目标不断使系统过载;c)欺骗——通过假设不同实体的身份进行伪装;d)读取设备存储器中的数据等。作为进一步的示例,指导词随后被解析成一个列表,以突出潜在的影响。
在完成漏洞分析之后,需要对每个漏洞进行风险评估。确定风险的方法多种多样,包括公式;然而,大多数人同意,风险确定是威胁、漏洞和严重性的函数。
风险=功能[威胁,漏洞,严重性]
目标是了解确定它是否可以接受的风险。使用简单的公式确定风险的能力并不总是直接向前。作为一个例子,对于风险发生的漏洞,如果您要对其重点放在他们的时间100%的时间内,所以要考虑一项确定的黑客的影响吗?确定风险时,如果评估表明风险是不可接受的,则需要风险缓解,并应完成新的漏洞分析。
确定风险。
应该使用行业特定的方法对漏洞进行分类。很多安全工程师使用“高”、“中”和“低”进行漏洞分类。一旦漏洞和风险评估完成,就可以定义减轻漏洞的需求。
与安全性一样,医疗设备的开发需要一个计划来实现该设备的软件,并验证满足了脆弱性要求。所定义的流程必须包括一个计划,以便在设备生产后期解决发现的漏洞问题。
安全vs.安全开发过程。
随着监管机构的审查力度加大,网络安全正成为设备制造商必须考虑的重要因素。幸运的是,安全和安全性的开发实践之间有很多重叠,理解这两个原则之间的相似点和不同点是至关重要的。这样做将使你和你的公司更好地准备来处理今天的安全和保障需求,以及可能发生的明天。
导师图形
mentor.com
提交:设计世界文章,医疗的,软件




告诉我们你的想法!