拜登:“一切非 Rust 项目均为非法”,开发界要大变天?

简介: 白宫国家网络总监办公室(ONCD,以下简称网总办)在本周一发布的报告中说道:“程序员编写代码并非没有后果,他们的⼯作⽅式于国家利益而言至关重要。”

白宫国家网络总监办公室(ONCD,以下简称网总办)在本周一发布的报告中说道:“程序员编写代码并非没有后果,他们的⼯作⽅式于国家利益而言至关重要。”

image.png

在该报告中,拜登政府希望软件开发人员尽量使用 Rust 这样的内存安全编程语言,并放弃 C 和 C++ 等安全性薄弱的语言。另外,参议院还强调会努力为内存安全立法。

科技巨头应为安全漏洞负起责任

美国网络安全与基础设施安全局(CISA)早在去年9月就已敦促开发人员采用内存安全编程语言。随后的《内存安全路线图案例》报告更是明确指出,C/C++等传统编程语言存在内存安全漏洞,建议软件开发商转向C#、Rust、Go、Java、Python和Swift等更为安全的编程语言。

白宫在最新的19页报告中,也将C和C++列为存在内存安全漏洞的编程语言代表,而Rust则被树为正面典型。微软和谷歌的研究也显示,高达70%的安全漏洞源于内存安全问题。面对这一严峻形势,国家网络总监Harry Coker强调,美国有责任缩小网络空间的攻击面,而解决内存安全问题是其中的关键。
科技企业被寄予厚望,被要求采用内存安全编程语言来防止漏洞侵入数字生态系统。内存安全编程语言能够抵御与内存访问相关的各类软件bug和漏洞,如缓冲区溢出、越界读取和内存泄漏等。
这份报告还强调了大型组织、科技巨头及美国政府在网络安全方面的责任。报告指出,这些机构更有能力应对不断变化的威胁形势,因此应将网络安全责任从个人和小型企业转移到他们身上。
在筹备报告过程中,各方意见纷呈。Rust基金会呼吁公共资助组织及其承包商默认使用内存安全编程语言,如Rust。微软则关注软件供应链和开源项目的投入不足问题。IBM认为重写软件可能成本高昂,主张保护现有软件免受内存安全漏洞影响。谷歌则与政府机构合作倡导向内存安全语言和框架的过渡。亚马逊云科技则提出,虽然支持用内存安全语言编写新项目,但这仅是提升开源软件安全性的一部分,并强调开发人员可能禁用Rust中的内存安全功能。

使用其他语言的开发者​该何去何从?

此外,一个自称拥有多位C++高级成员的组织也对C++的安全性进行了辩护,他们认为内存安全只是整体安全保护的一小部分,并强调C++的安全实践得益于其正式规范和内存模型。
专家如华盛顿大学计算机科学教授Dan Grossman认为,尽管C和C++的安全风险已为人所知,但现在正是推广内存安全编程的最佳时机。他强调,恶意攻击者利用内存安全违规实施威胁的手段非常复杂,因此变革刻不容缓。

​大家对于这件事情怎么看?

您好,我是肥晨。
欢迎关注我获取前端学习资源,日常分享技术变革,生存法则;行业内幕,洞察先机。

目录
相关文章
|
8月前
|
Rust Linux iOS开发
【一起学Rust | 开源项目】效率提升工具espanso——在日常输入中使用代码提示
【一起学Rust | 开源项目】效率提升工具espanso——在日常输入中使用代码提示
152 0
|
8月前
|
存储 Rust 测试技术
【一起学Rust · 项目实战】命令行IO项目minigrep——测试驱动开发完善功能
【一起学Rust · 项目实战】命令行IO项目minigrep——测试驱动开发完善功能
143 0
|
8月前
|
Rust
【一起学Rust · 项目实战】命令行IO项目minigrep——接收命令行参数与读取文件内容
【一起学Rust · 项目实战】命令行IO项目minigrep——接收命令行参数与读取文件内容
121 0
【一起学Rust · 项目实战】命令行IO项目minigrep——接收命令行参数与读取文件内容
|
3月前
|
Rust 资源调度 安全
为什么使用 Rust over C++ 进行 IoT 解决方案开发
为什么使用 Rust over C++ 进行 IoT 解决方案开发
127 7
|
5月前
|
Rust 安全 JavaScript
探索Rust在系统编程领域的前景:虚拟机和编译器开发的新篇章
【8月更文挑战第31天】在系统编程领域,性能与安全性至关重要。Rust作为一种新兴语言,凭借其独特的内存安全和并发特性,正逐渐成为虚拟机和编译器开发的首选。本文通过案例分析,探讨Rust在这些领域的应用,例如Facebook的Compiler VM (CVM)项目和实验性的JavaScript JIT编译器Mithril。Rust的静态类型系统和所有权模型确保了高性能和安全性,而其强大的包管理和库生态则简化了虚拟机的开发。随着Rust社区的不断成熟,预计未来将有更多基于Rust的创新项目涌现,推动系统编程的发展。对于追求高性能和安全性的开发者而言,掌握Rust将成为一个重要战略方向。
101 1
|
5月前
|
开发者 C# Android开发
震惊!Xamarin 跨平台开发优势满满却也挑战重重,代码复用、熟悉语言与性能优势并存,学习曲线与差异处理何解?
【8月更文挑战第31天】Xamarin 与 C# 结合,为移动应用开发带来高效跨平台解决方案,使用单一语言和框架即可构建 iOS、Android 和 Windows 原生应用。本文通过问答形式探讨 Xamarin 和 C# 如何塑造移动开发的未来,并通过示例代码展示其实际应用。Xamarin 和 C# 的组合不仅提高了开发效率,还支持最新的移动平台功能,帮助开发者应对未来挑战,如物联网、人工智能和增强现实等领域的需求。
65 0
|
6月前
|
Rust 测试技术 编译器
Rust与C++的区别及使用问题之Rust项目中组织目录结构的问题如何解决
Rust与C++的区别及使用问题之Rust项目中组织目录结构的问题如何解决
|
6月前
|
Rust 程序员 开发者
使用 Rust 开发一款类似于 GitBook 的程序
**Rust新手开发者分享开源项目 Typikon**:模仿MDBook,致力于简单Markdown到在线书的渲染。[GitHub](https://github.com/auula/typikon)上可找到源码,欢迎初学者一同学习与贡献。体验轻松构建静态网站,探索Rust之旅。🌟 加入讨论,共建更易用的GitBook替代品。在线文档见[https://typikonbook.github.io](https://typikonbook.github.io)。
52 1
|
7月前
|
Rust 图形学
【unity实战】使用unity制作一个类似Rust的3D生存建造建筑系统,具有很好的吸附性(附项目源码)
【unity实战】使用unity制作一个类似Rust的3D生存建造建筑系统,具有很好的吸附性(附项目源码)
213 1
|
8月前
|
缓存 Rust 前端开发
【一起学Rust | 框架篇 | Tauri2.0框架】Tauri2.0环境搭建与项目创建
【一起学Rust | 框架篇 | Tauri2.0框架】Tauri2.0环境搭建与项目创建
986 0