- 简介传统上,安全关键的航空航天系统开发主要使用C语言。由于其语言特性,很容易在不经意间引入内存安全问题,导致未定义的行为或安全漏洞。Rust语言旨在大大降低引入错误的可能性,从而生成更安全、更可靠的代码。然而,由于其相对较短的生命周期,安全关键环境下的工业应用仍然缺乏。本研究提供了一组针对Rust开发安全关键空间系统的建议。我们的建议基于我们对更安全、更可靠的航空航天系统的多重贡献的深入了解:我们提供了一份正在进行的将Rust适应于安全关键系统编程的全面概述,突出了其提高系统鲁棒性的潜力。接下来,我们介绍了一种在Rust中部分重写基于C的系统的过程,为提高安全性提供了务实的路径,而不需要进行完整的系统改造。在我们的重写案例研究执行过程中,我们发现并修复了一个流行的开源卫星通信协议中的三个以前未发现的漏洞。最后,我们介绍了一个新的Rust编译器目标配置,用于裸机PowerPC。通过这样做,我们旨在扩大Rust在面向空间项目中的适用性,因为这种架构在该领域中很常见,例如在詹姆斯·韦伯太空望远镜中。
- 图表
- 解决问题在安全关键的航空航天系统开发中,C语言容易引入内存安全问题和安全漏洞,Rust语言旨在降低这种风险,但由于其相对较短的生命周期,安全关键环境中的工业应用仍然不足。本文提出了一些在Rust中开发安全关键航天系统的建议。
- 关键思路本文提供了一套在Rust中开发安全关键航天系统的建议,包括部分重写C语言系统、发现并修复开源卫星通信协议中的漏洞、以及为裸机PowerPC引入新的Rust编译器目标配置。
- 其它亮点本文提供了一个全面的Rust适用于安全关键系统编程的概述,并强调了其提高系统鲁棒性的潜力。本文介绍了一个部分重写基于C语言系统的过程,为改善安全性提供了实用的途径,同时在重写案例中发现并修复了一个流行的开源卫星通信协议中的三个未发现的漏洞。最后,本文为裸机PowerPC引入了一个新的Rust编译器目标配置,旨在扩大Rust在面向空间项目中的适用性。
- 近期的相关研究包括Rust在其他领域中的应用,如Web开发和系统编程,以及Rust与其他编程语言(如C++和Go)的比较研究。
沙发等你来抢
去评论
评论
沙发等你来抢