- 简介嵌入式软件被用于医疗设备和自动驾驶汽车等安全关键系统,软件缺陷,包括安全漏洞,会带来严重后果。大多数嵌入式代码库都是用不安全的语言,特别是C/C++,并且存在着内存安全漏洞。为了防止这种漏洞,RUST是一种性能高、内存安全的系统语言,是开发嵌入式软件的最佳选择。RUST的互操作性使得可以在现有的C代码库上开发RUST应用程序。尽管如此,即使是最有资源的组织仍然继续使用C/C++来开发嵌入式软件。本文是第一篇系统研究,旨在全面了解使用RUST开发嵌入式系统的现状和挑战。我们的研究涉及三个研究问题。我们收集了2,836个RUST嵌入式软件的数据集,涵盖各种类别和5个静态应用程序安全测试(SAST)工具。我们对数据集进行了系统分析,并与225名开发人员进行了调查,以研究我们的研究问题。我们发现,现有的RUST软件支持不足,SAST工具无法处理RUST嵌入式软件的某些特性,导致失败,并且现有RUST软件中高级类型的普遍存在使得编写可互操作的代码变得具有挑战性。此外,我们发现开发人员在使用RUST开发嵌入式系统时面临着各种挑战。
- 图表
- 解决问题本论文试图探讨使用RUST开发嵌入式系统的现状和挑战,包括软件支持不足、SAST工具无法处理某些特性、高级类型的普及等问题。
- 关键思路本文提出了一些解决方案,包括改进RUST的软件支持、改进SAST工具以适应RUST特性、提高开发者对RUST的理解和应用等。
- 其它亮点本文收集了2,836个RUST嵌入式软件的数据集,并使用了5种SAST工具进行系统分析。同时,还进行了225名开发者的调查,发现了使用RUST开发嵌入式系统的挑战和问题。值得关注的是,本文提出的解决方案可以为未来的研究提供参考。
- 与本文相关的其他研究包括:1. "Memory-safe systems programming language"作者为M. Fränzl和M. Payer;2. "The RustBelt Project: Securing the Foundations of the Rust Programming Language"作者为D. Devriese等。


提问交流