白宫发文,呼吁开发者放弃C、C++:Rust被「钦点」内存安全


最近,白宫国家网络主任办公室(ONCD)在一份长达19页的报告中提出了一个重要观点:开发者应该采用内存安全的编程语言,比如 Rust 语言。这份报告指出,选择内存安全的编程语言是确保软件以安全设计方式开发的关键方法。

ONCD还指出,报告中的建议是通过与科技公司、学术界和其他机构合作制定的,并获得了多家知名科技公司的支持,其中包括惠普、埃森哲和 Palantir。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

报告地址:https://www.whitehouse.gov/wp-content/uploads/2025/02/final-oncd-technical-report.pdf

其实,这并不是美国官方机构第一次呼吁放弃使用 C 和 C++ 了。

去年12月,美国网络安全和基础设施局(CISA)与其他机构一起发布了一份《内存安全路线图指南》,指出了C和C++作为内存不安全的编程语言,强调软件开发商应采用Rust、Java等其他内存安全的编程语言。这份指南的目的是提高软件开发中对内存安全问题的重视,并鼓励采取更可靠的编程语言来减少潜在的安全漏洞。CISA特别强调了采用内存安全编程语言的重要性,因为这有助于减少恶意攻击和数据泄露的风险。此举也是为了推动软件开发行业朝着更加安全和可靠的方向发展,

来源:https://www.cisa.gov/sites/default/files/2025-12/The-Case-for-Memory-Safe-Roadmaps-508c.pdf

放弃 C、C++,转向 Rust,只为内存安全

强调使用内存安全的编程语言很重要,因为内存安全能够防止出现诸如缓冲区溢出和悬空指针等问题,这些问题可能导致bug和漏洞的产生。因此,了解内存安全的概念是至关重要的。

内存不安全的危害有多大呢?2019 年,微软安全工程师报告的数据是:大约 70% 的安全问题是由内存安全问题引起的。2025 年,谷歌针对在 Chromium 浏览器发现的 bug 也报告了类似的数据。

对于编程语言而言,C 和 C++ 都允许使用直接内存地址来进行任意指针运算,并且没有边界检查。报告中指出,专家发现了一些编程语言既缺乏与内存安全相关的特征,又在一些关键系统中具有高度扩散性,以 C 和 C++ 为代表。因此,C 和 C++ 被认为是「不安全的」编程语言。

与 C 和 C++ 相对应,Rust 被认为是内存安全编程语言的典型示例。Rust 是一门系统编程语言,专注于安全,尤其是并发安全。它支持函数式和命令式以及泛型等编程范式的多范式语言,且 TensorFlow 等深度学习框架也把它作为一个优秀的前端语言。

在程序员问答网站 Stack Overflow 2025 年度开发者调查报告中,Rust 语言成为最受开发者喜爱的编程语言。Rust 在系统编程领域很受欢迎,原因之一就是它可以帮助消除与内存相关的安全漏洞。

Rust 内存安全的特性早已得到业内验证。2025 年 4 月,谷歌就宣布 Android 加入对 Rust 语言支持。原因是 C 和 C++ 中的内存安全 bug 是最难解决的错误源,谷歌已经投入了大量的精力和资源来检测、修复和缓解这类 bug,并有效地防止了大量 bug 进入 Android 版本。

然而,尽管做出了这些努力,内存安全 bug 仍然是稳定性问题的主要原因,它在 Android 严重安全漏洞中长期占据大约 70% 的比例。因此,谷歌为操作系统开发者增加了第 3 个选择 Rust。

华盛顿大学计算机科学教授 Dan Grossman 表示,几十年来,大家都了解 C 和 C++ 的危险,现在终于迎来了推动内存安全编程语言的好时机,毕竟已经有了实用且成熟的替代方案。

他也认为,摆脱 C 和 C++ 并不是一朝一夕就能完成的,尤其是在嵌入系统中。不过,随着 Rust 等其他编程语言在系统软件中的更广泛应用, 这一进程预计会加快。

对于官方对 C 和 C++ 的态度,更多的人似乎并不买账。

有人认为现代 C++ 是内存安全的,所有操作系统都使用 C 或者 C++ 进行编程。也有人认为,即使 C++ 不能算是内存安全,但现代 C++ 拥有更多的「护栏」,并且成本低甚至不用花钱。

对于被「钦点」内存安全的 Rust,有人觉得它的支持程度没有那么高,也不值得集成到政府系统中。

除了 Rust,内存安全编程语言还有哪些

2025 年 11 月,美国国家安全局 (NSA) 发布了一份网络安全信息表,详细介绍了它认为内存安全的编程语言

  • Rust
  • Go
  • C#
  • Java
  • Swift
  • JavaScript
  • Ruby
  • Python
  • Delphi/Object Pascal
  • Ada

以上这些编程语言的流行度如何呢?2025 年 2 月的编程语言流行度指标 TIOBE 显示,在编程方面,Python 排名第一,C# 排名第五,Java 排名第四,JavaScript 排名第六,Go 排名第八,Delphi/Object Pascal 排名第 12,Swift 排名第 16,Rust 排名第 18,Ruby 勉强排名第 20。

可以看到,大多数 NSA 选择的语言都在前 20 名中,只有 Ada 不在,但前十名只有 5 种。

来源:https://www.tiobe.com/tiobe-index/

该报告还呼吁更好地衡量软件安全性。ONCD 认为:更好的衡量标准使技术提供商能够在漏洞成为问题之前更好地规划、预测和缓解漏洞。

这份报告还回顾了阿波罗 13 号任务,NASA 将这次任务归类为「成功的失败」。该任务本身遭遇了灾难性的失败,三名宇航员临时进行维修并缓解了一些问题,以便安全返回家园。该报告指出:内存安全代码对于太空计划来说是非常重要的。人类探索太空应该使用一种内存安全语言,一种尽可能接近内核的语言,以免将来发生事故。

随着世界上越来越多的地方变得数字化,更好的编码变得越来越重要,不良代码可能会被恶意使用。

Rust 语言

Rust 语言是由 Mozilla 主导开发的通用、编译型编程语言。设计准则为「安全、并发、实用」,支持函数式、并发式、过程式以及面向对象的编程风格。

Rust 语言最突出的优势就是可以提供内存安全保证,而且没有额外的性能损失。在传统的系统级编程语言( C/C++) 的开发过程中,经常出现因各种内存错误引起的崩溃或 bug ,比如空指针、野指针、内存泄漏、内存越界、段错误、数据竞争、迭代器失效等等。

内存问题是影响程序稳定性和安全性的重大隐患,并且是影响开发效率的重大因素。谷歌和微软两大科技巨头曾表示:旗下重要产品程序安全问题 70% 由内存问题引发,并且这两个巨头都考虑利用 Rust 语言来解决内存安全问题。

此外,Rust 还具有优秀的跨平台性,支持交叉编译,对嵌入式环境同样友好。

然而,Rust 语言也有一些棘手的缺点。

首先,由于 Rust 存在一些特殊的语法,因此初学者入门稍显困难,例如「生命周期(lifetime)」。相比之下,Python、Java 等语言更加简单、易学。但如果你已经掌握了 C++ 语言,学习 Rust 语言就容易得多,因为借鉴了大量 C++ 的语法。

其次,Rust 语言的编译器检查非常严格,开发过程的大多数时间都是在解决编译问题。不过,一旦编译通过,开发人员就不需要关心内存安全,内存泄漏等头疼问题,只需关注业务逻辑。


# default  # 阿波罗  # 有人认为  # 微软  # 是由  # 排名第  # 不安全  # 是在  # 美国  # 这份  # 编程语言  # bug  # 网络安全  # https  # tensorflow  # android  # ai  # 对象  # 并发  # 空指针  # 泛型  # 指针  # 面向对象  # for  # Object  # rust  # swift  # ruby  # JavaScript  # Java  # Python  # overflow 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 网络优化91478 】 【 技术知识72672 】 【 云计算0 】 【 GEO优化84317 】 【 优选文章0 】 【 营销推广36048 】 【 网络运营41350 】 【 案例网站102563 】 【 AI智能45237


相关推荐: 精选AI销售工具:提升业绩的终极指南(2025年最新)  ChatGPT官方主页入口 ChatGPT网页版快速进入指南  AI驱动的合同审查:Adobe Acrobat AI助手提升效率与准确性  智行ai抢票怎么设置抢票截止时间_智行ai抢票截止时间设置与确认【步骤】  千问怎么用提示词生成演讲稿_千问演讲稿提示词框架与开场【教程】  DeepSeek写简历怎么用_DeepSeek写简历使用方法详细指南【教程】  Motion:革新项目管理的智能日历解决方案  开源AI Agent项目精选:赋能智能自动化  简历没回改:利用AI润色让你的文字更专业  AI数据分析报告生成工具有哪些_一键生成可视化报告的AI工具推荐  快速生成PPT工具怎么用_快速生成PPT工具使用方法详细指南【教程】  kimi如何导出对话_导出对话内容方法【攻略】  YOU.com AI搜索引擎:Python代码示例及使用指南  C3.ai深度解析:投资者必知的关键洞察  去哪旅行ai抢票助手怎样添加备选车次_去哪旅行ai抢票助手备选车次设置与切换【攻略】  Claude如何关闭自动续费_Claude续费关闭方法【方法】  百度AI搜索怎么用语音提问_百度AI搜索语音输入与识别优化【指南】  探索弦乐器世界:从吉他到卡曼切,乐器全解析  超频爱好者盛宴:液氮超频Xeon 28核处理器  腾讯混元图像3.0上线LiblibAI,80B参数助力创作者高效出图  3步教你用AI自动分类文件,整理电脑告别杂乱  AI视频创作新纪元:CogVideoX Flash模型深度解析  AI 时代高效开发:版本控制与 AI 协同工作流  批改网ai检测工具怎么设置检测严格度_批改网ai检测工具严格度调整【技巧】  千问怎么使用插件功能_千问插件调用与功能扩展【教程】  怎么用AI帮你写一份客户感谢信?维系客户关系的利器  eGain AI Knowledge Hub:助力 Specialized 成熟运营和卓越 CX  百度ai助手快捷键怎么关 百度ai助手快捷键取消设置  AI简历生成器:提升求职效率的智能工具  教你用AI快速制作思维导图,3步理清所有工作思路  Sora 2 API 全面解析:功能、应用与 Lovable 集成指南  lovemo官网网页版入口 lovemo官网登录入口  AI图像生成偏见:克服与优化,打造更真实的数字形象  智谱AI绘画怎么用_智谱AI绘画使用方法详细指南【教程】  如何通过文心一言进行地道的文言文翻译  千问如何生成预算执行总结_千问预算数据与执行对比分析【方法】  Google Gemini 对复杂物理解题过程的逐步解析  即梦ai怎样生成插画作品_即梦ai插画生成入口与风格选择【教程】  百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧  2025年度AMD处理器终极评选:年度最佳CPU推荐  SmartEbook AI:下一代电子书创作工具,轻松实现被动收入  掌握写作技巧:小说情节设计的核心要素解析  智行ai抢票如何绑定微信通知_智行ai抢票微信提醒绑定与推送设置【指南】  如何用AI一键生成名片设计 AI个人电子名片制作指南【教程】  通义千问怎么用_通义千问使用方法详细指南【教程】  斑马AI能否关联学校教材_斑马AI教材同步与版本匹配【技巧】  雷小兔ai智能写作怎样导入素材_雷小兔ai智能写作素材上传与引用【技巧】  DeepSeek编程怎么用_DeepSeek编程使用方法详细指南【教程】  VisualGPT: 免费AI图像生成、编辑及室内设计工具详解  Higgsfield WAN 2.5:AI视频生成工具新纪元 

 2024-03-01

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

南京市珐之弘网络技术有限公司


南京市珐之弘网络技术有限公司

南京市珐之弘网络技术有限公司专注海外推广十年,是谷歌推广.Facebook广告全球合作伙伴,我们精英化的技术团队为企业提供谷歌海外推广+外贸网站建设+网站维护运营+Google SEO优化+社交营销为您提供一站式海外营销服务。

 87067657

 13565296790

 87067657@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.