写点什么

DARPA 计划“消灭”C 语言代码

  • 2024-08-07
    湖南
  • 本文字数:1084 字

    阅读完需:约 4 分钟

为了加速软件业向内存安全编程语言的过渡,美国国防高级研究计划局(DARPA)正在推动一个名为 TRACTOR 的人工智能代码转换工具,可自动将遗留 C 代码转换为 Rust,以根治内存安全问题。TRACTOR 是 TRanslating All C TO Rust 的缩写,即“将所有 C 语言代码转换为 Rust 语言”。

大型代码库的多数严重漏洞都属于内存安全漏洞,例如缓冲区溢出。DARPA 希望通过 AI 模型进行编程语言大规模转换,提升软件安全。DARPA 的 TRACTOR 项目经理 Dan Wallach 在一份声明中表示,目前使用 LLM(大语言模型)可以初步实现从 C 到 Rust 的转换,但自动化程度和准确性还有待提升。


近年来,谷歌和微软等科技巨头已开始广泛宣传内存安全漏洞问题,并鼓励使用如 Rust 等内存安全的编程语言。科技巨头的行动不仅影响了私营部门,还促使白宫和美国网络安全和基础设施安全局(CISA)倡导使用包括 Rust、C#、Go、Java、Python 和 Swift 在内的内存安全语言。


尽管 C 和 C++社区有人认为遵循 ISO 标准和使用检测工具可以达到类似效果,但 DARPA 认为仅靠这些工具还不足以解决问题。Rust 自 2015 年首次发布以来,因其内存安全特性和适用于低级别、性能敏感系统编程的特性,逐渐受到青睐。


互联网研究小组的 Prossimo 项目也致力于用 Rust 重写关键库和代码,以减少安全风险。例如,Prossimo 建议非营利互联网研究组织用 Rust 重写关键库和代码,包括网络时间协议(NTP)守护进程(ntpd-rs)。


Prossimo 项目的执行董事 Josh Aas 表示:”当今互联网基础设施中运行的大量 C 代码使得使用翻译工具变得有吸引力。我们已经在这方面进行了实验,例如最近将基于 C 语言的 AV1 实现转换为 Rust。“


Aas 指出,尽管目前的工具还需要大量手动工作来确保(从 C 到 Rust)代码转换结果的正确性和符合习惯,但通过进一步投资,这些工具的效率有望显著提高。


Code Metal 公司 CEO Peter Morales 认为,内存安全是网络安全当下的关注焦点,TRACTOR 项目的推出恰逢其时,具备充分的可行性,有望在网络安全领域产生重大影响。然而,他也指出,业界不可能完全放弃 C 和 C++,特别是在内核级别。


对于 TRACTOR 是否真的适用于“所有 C 语言代码”,TRACTOR 项目经理 Wallach 特别提到来开源代码以及国防军工使用的所有 C 语言代码都是(前期)潜在目标。他明确表示,像 Linux 内核这样拥有庞大代码量和工具链的复杂生态系统,Rust 可能并不适合,且在底层优化上,C 依然拥有优势,因此被 TRACTOR 明确排除在外。


不过,Linux 内核开发团队正在尝试在特定模块中引入 Rust,以利用其安全特性而不破坏整个系统的稳定性和性能。


DARPA 将在 2024 年 8 月 26 日举行 TRACTOR 项目提案提交活动,感兴趣的参与者可以现场或远程参加。


参考链接:https://www.darpa.mil/news-events/2024-07-31a

用户头像

欢迎关注,一起学习,一起交流,一起进步 2020-06-14 加入

公众号:做梦都在改BUG

评论

发布
暂无评论
DARPA计划“消灭”C语言代码_网络安全_我再BUG界嘎嘎乱杀_InfoQ写作社区