在医疗物联网(IoMT)、机器学习(ML)和人工智能(AI)的推动下,医疗机器人和医疗技术正在飞速进步,随之而来的是侵入性更少的手术、更准确的诊断和更个性化的治疗选择,为患者带来了更多的可能性。
但是,这些所有的创新都离不开软件,而软件带来了更多的安全防范风险。因此,我们需要让医疗设备软件符合编码标准。这对于确保他们的安全性非常重要。
医疗机器人在医疗保健领域崛起
您可能听说过利用医疗机器人来辅助手术。与传统方法相比,这是一种侵入性更少的手术选择。在现代世界,随着惊人的创新与发展,医疗机器人已经可以辅助执行更先进的医疗程序了,有时候甚至不需要外科医生与患者在同一个房间。
例如,中东某家公司正在开发一种方法,让外科医生在手术过程中通过增强现实(AR)图像来指导微型机械臂进行脊椎手术。
医疗机器人也在手术过程中独立完成更多工作。在自主机器人手术中,只需要操作人员从自动生成的手术计划中进行选择,然后机器人负责执行。
健康技术在手术室之外也有许多应用。例如,《自然》杂志的一项研究表明,人工智能系统能够通过筛查X射线图像来识别癌症,在某些情况下,它会比人类更擅长这项任务。可穿戴设备和远程患者监测 (RPM) 系统能够帮助医生和患者跟踪血压或血糖水平的变化。在行政层面,医疗服务机器人正在库存和物资运输、准备患者房间、追踪医疗用品等方面发挥着作用。在不久的将来,机器人陪护会变得司空见惯,陪伴患者并在他们住院期间及出院后提供帮助。而且,随着生成AI的普及,患者很快就能体验到在看家庭医生之前,使用ChatGPT等技术更准确地检查症状。
当然,保持这些系统的正常运行需要大量的连通和协调,但很不幸的是,这就是恶意行为者试图入侵的地方。确保网络安全是势在必行的,因为这样才能保持医疗设备和机器人的功能和安全。而且,在某些情况下,患者的生命可能取决于此。
为什么编码标准对医疗机器人很重要?
在医疗设备和医疗机器人中,代码的安全性非常重要,因为这涉及到保护患者的隐私、提高患者生活质量,甚至挽救生命。由于大多数的医疗设备安全漏洞是在开发过程中引入的,所以,在开发的早期就开始检查漏洞是很重要的,最好是在编写代码时就检测。
随着医疗机器人和医疗设备系统的复杂性和连接性不断提高,开发人员越来越多地使用编码标准来确保编写的代码一致、可靠。在许多情况下,开发团队需要证明代码符合医疗设备软件的编码标准和行业规定。
医疗机器人软件的通用标准和指南
FDA(美国)和MDR(欧洲)和其他监管机构建议遵循一些关键的标准,帮助医疗机器人的开发人员在整个软件开发生命周期中将安全防范放在首位。
IEC 62304
作为与医疗机器人最相关的国际标准之一,IEC 62304,“医疗设备软件——软件生命周期过程”是一个功能安全标准,提供了医疗设备软件设计和维护的相关安全流程。 它还建议在软件开发过程中使用编码标准。
MISRA C/C++
MISRA C/C++编码标准最初是为汽车行业所开发的,但它也适用于包括医疗机器人在内的任何安全关键系统。它已经被很多行业的嵌入式开发人员使用,确保代码安全、可靠且可移植。
CERT
CERT是一种支持C和C++等编程语言的安全编码标准。这些标准可以帮助开发人员检测安全风险,并推荐提高代码质量的方法。
除了使用这些标准和指南外,团队应该查看OWASP Top 10和CWE Top 25,了解最新的软/硬件安全漏洞和弱点。
静态分析如何支持医疗机器人的安全性
想要确保医疗机器人软件符合编码标准且安全,有效的手段是使用静态分析,这也是FDA和国际医疗设备法规论坛(IMDFR)的推荐做法。
静态分析工具,如Perforce的Helix QAC和Klocwork,帮助您提高软件质量,证明合规性,并确保安全性。通过使用静态分析,您可以强制执行编码标准,在开发过程的早期检测漏洞,更快地测试代码,并随时报告合规性。
Helix QAC和Klocwork还通过了TÜV-SÜD的安全关键系统认证,包括IEC 62304(达到软件安全等级C)。