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

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

为了加速软件业向内存安全编程语言的过渡,美国国防高级研究计划局(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项目提案提交活动,感兴趣的参与者可以现场或远程参加。

责任编辑:华轩 来源: GoUpSec
相关推荐

2021-06-29 13:49:25

GoogleCookie隐私

2019-10-11 09:07:46

Java代码对象

2023-11-21 15:59:34

C语言Windows

2023-08-04 08:52:52

Optional消灭空指针

2012-03-07 22:57:06

诺基亚

2023-12-07 12:59:46

C语言循环队列代码

2022-06-29 09:19:09

静态代码C语言c代码

2024-06-19 10:04:15

ifC#代码

2021-02-09 00:45:51

GoogleCookie隐私

2019-01-10 13:50:04

开发工具 AI

2022-06-01 10:45:52

C语言代码优化

2016-08-06 12:09:12

2015-10-30 15:05:56

图像篡改

2020-12-02 10:27:40

C语言

2011-07-05 16:57:53

C语言

2011-07-05 17:07:14

C语言

2015-07-29 19:36:21

2023-09-09 13:12:14

DARPA自动驾驶汽车

2015-04-23 12:45:26

操作系统

2010-01-15 17:38:37

C++语言
点赞
收藏

51CTO技术栈公众号