医用机器人安全系统编码规范及检测的研究和应用

(整期优先)网络出版时间:2023-10-24
/ 2

医用机器人安全系统编码规范及检测的研究和应用

刘茹

江苏省医疗器械检验所

摘要:随着医疗技术的不断进步,医用机器人作为一种新兴的辅助工具有效地提高医疗精度、效率和安全性在手术、日常康复和护理等方面发挥重要作用,。但随着软件的规模不断增大,软件运行出现不可预料的情况日益增多。当前屡屡发生的失效案例警示由软件引起的系统故障已越来越多,因此进行软件质量的研究以预防系统失效是目前各领域关注的热点问题。针对医用机器人的安全性,其中一个重要方面是安全系统编码规范和检测。安全系统编码规范是指对医用机器人的软件和硬件进行严格的编码规范制定,以确保系统在各种情况下运行的稳定性和可靠性,并防止潜在的安全漏洞和风险。本文通过综述当前安全系统编码规范及检测的研究进展,以期为保证医用机器人的安全性提供参考。

关键词:医用机器人、安全系统、编码规范、检测、研究现状、应用研究

  1. 漏洞评估介绍

1.1软件复杂性

软件危机产生的最直接原因是软件复杂性已远远超出人们对复杂性 控制的能力。软件复杂性越高,软件隐含错误的概率越大,软件的可靠性、可维护性越差 。近年来的研究表现,作为软件显著特点的复杂性是导致软件错误的主要原因,软件可靠性问题的本质就是复杂性问题。 当复杂性超过一定限度时,软件缺陷便急剧上升,甚至引发软件开发的失败;软件的可维护性等质量特性也与之有极大关系,维护工作量是复杂性的一个指数函数。

1.2漏洞-源代码中的安全缺陷

源代码中的安全缺陷是指在医用机器人系统的源代码中存在的潜在安全漏洞或错误,可能被攻击者利用来对系统进行非法访问、数据泄露、篡改等恶意行为。常见缺陷如:源代码中没有对输入数据进行足够的验证和边界检查,导致攻击者可以通过溢出缓冲区来执行恶意代码或破坏系统;源代码中没有对用户输入进行充分的验证和过滤,导致恶意用户可以通过注入恶意代码、SQL注入等方式攻击系统;源代码中使用了不安全的加密算法或身份验证机制,使得攻击者可轻易破解密码或绕过身份验证进入系统;源代码中没有正确处理异常情况,导致系统在遇到错误时可能暴露敏感信息或崩溃;源代码中对文件的操作没有进行充分的验证和权限控制,可能导致攻击者读取、修改或删除关键文件。

1.3语言本身特性

C/C++语言本身是非常灵活的语言,带来了非常大的便利。 但是标准C语言并不是针对代码安全的,也不是专门为嵌入式应用设计的,语言本身的特性给程序员带来了困惑,如 C风格字符串 指针、C++由于指针的管理问题。指针的管理不当,容易造成缓冲区的溢出、内存的泄漏等问题造成软件故障。

  1. 编码规范介绍

值得注意的是,程序中的运行时错误(Runtime Error)出现的故障,是编译器在编译阶段无法检测出来的。运行时的错误不仅会改变程序原有的逻辑甚至会导致系统的崩溃,它是软件错误中最具风险性的一种。为此,国际上提出了一系列评估漏洞的规范,目前评估漏洞的规范为CVSS (Common Vulnerability Scoring System),即“通用漏洞评分系统”,为一个“公开标准被用来评测漏洞的严重程度,并帮助确定所需反应的紧急度和重要度”。公共漏洞和暴露CVE(Common Vulnerablilities and Exposures)又称通用漏洞披露、常见漏洞与披露,是CVE一个与信息安全有关的数据库,收集各种信息安全弱点及届洞并给予编号以便于公众查阅。此数据库现由美国非营利组织MITRE所属的National Cybersecurity EFRDC所营运准护CVE指的是产品或系统内漏洞的特定示CVE对每一个漏洞都赋予一个专属的编号,格式如下:例。而CWE指的是软件缺陷的类型.由于CVE有很多个编号机构,每个编号机构使用的号段并不相同,因此NNNN可能并不连续。通常CVSS同CVE一同由美国国家漏洞库(NVD)发布并更新。

  1. 医用机器人编码规范的制定

在安全系统编码规范方面,国内外研究人员提出了一系列的编码准则和标准,旨在规范医用机器人系统的设计和开发过程,确保系统的安全性和稳定性。为此开展了一系列实验和应用研究,以评估医用机器人系统在不同情况下的安全性和性能。这些研究通常基于实际的临床场景和模拟实验,通过监测系统的行为、传感器数据和用户反馈等来识别潜在的安全风险,并提供相应的解决方案。

国际上当前提出的MISRA-C标准由于起步早、应用广泛、阐述严谨、可操作性强、与时俱进等特性, 在众多编码标准中具有举足轻重的地位,是没有争议的编码标准的标杆。考虑到代码安全性及可靠性的重要性,国内也定制了许多编码标准。就目前来说,在国内的编码标准中,GJB 8114-2013相对完善且应用范围广。2022我国电器工业协会提出的机器人安全系统编码规则(C++) 规定了机器人安全系统相关 程序的C++编码规范,可为机器人研制方、用户方以及第三方检测等机构进行C++代码测评提供指导。有研究表明:每30行违规代码就可能存在一个重大缺陷和10个轻微缺陷。符合编码规范可以降低软件30%以上的故障率。编码规范在日常工作中对于降低软件代码漏洞意义重大。

  1. 医用机器人编码规则

目前,国际标准化组织(ISO)和国际电工委员会(IEC)等组织正在制定与医用机器人相关的标准,其中包括针对编码规则的标准。医用机器人领域的专业组织和行业协会也发布了一些编码规则的指南,旨在帮助开发人员遵循最佳实践并确保系统的安全性。这些指南可以包括对输入验证、访问控制、数据加密、异常处理等方面的具体规定。

值得注意的是一些医用机器人制造商和开发团队在产品研发过程中也制定了自己的编码规则,以确保其系统的安全性和可靠性。这些规则可能结合了行业标准、行业指南和企业内部的最佳实践。

医用机器人编码规则的现状仍处于不完善和不统一的状态。尽管有一些国际标准、行业指南和学术研究的存在,但缺乏普遍适用的、权威性的编码规则。随着医用机器人行业的发展和成熟,进一步的标准化工作和共识的形成将有助于推动医用机器人编码规则的统一和规范化。此外,需要加强相关领域的研究和实践,不断改进和完善编码规则,提高医用机器人系统的安全性和可靠性。

  1. 结语

尽管已经取得了一些进展,医用机器人安全系统编码规范和检测仍然存在一些挑战和待解决的问题。其中包括对多样化临床场景的适应性、实时性要求、隐私保护等方面的考虑。因此,我们仍需要进一步的研究和应用工作来不断提升医用机器人系统的安全性和可靠性,以保障患者和医务人员的安全。