新软件计划:C++ 通过 Safe Extensions 获得安全升级
C++ 社区通过“安全 C++ 扩展”来应对安全问题。新技术旨在解决内存安全问题并支持现有代码。了解更多!
新软件计划:C++ 通过 Safe Extensions 获得安全升级
编程世界总是有新的发展,尤其是在软件安全方面。 C++ 社区目前面临着越来越多专家称赞其他编程语言提供更高内存安全性的优势的挑战。为了抵消这种批评,“安全 C++ 扩展”项目启动了。
这项新工作旨在解决 C++ 现有的漏洞,特别是在内存安全领域。 C++ 联盟主席 Vinnie Falco 称该提案具有革命性。在 Register 报告中,他强调了向 C++ 添加现代内存安全功能的重要性,尤其是在比以往任何时候都更需要安全代码的时候。近年来,经常有人要求使用 Rust、Go 和 Java 等编程语言开发新的软件解决方案,这些语言以安全性着称。
对 C++ 的批评和变革的渴望
早在 2019 年,Alex Gaynor 等专家就指出大型代码库存在严重的安全漏洞,这主要是由内存安全错误造成的。这些问题在技术会议上得到越来越多的讨论。去年,甚至有来自科技行业的声音,比如微软的 Mark Russinovich,建议完全放弃 C 和 C++,转而使用 Rust。
尽管 C++ 的创建者 Bjarne Stroustrup 保证他当前形式的编程语言从根本上来说是内存安全的,但这些说法并没有引起所有人的共鸣。批评者认为,C++ 最初设计时并不是内存安全的,这使得在实际应用中创建内存安全代码变得更加困难。
“安全 C++ 扩展”项目现在正在应对这一挑战。它旨在满足美国国家安全局和美国网络安全局等机构的建议,这些机构要求软件系统具有更高的安全级别。尽管许多怀疑论者怀疑 C++ 能否像 Rust 或 Swift 等语言一样安全,但开发人员 Sean Baxter 和 Christian Mazakas 对他们的计划表现出了信心。他们认为,完全转向 Rust 在实践中通常是不可行的,因为编程语言之间存在显着差异。
编程语言的创新
Baxter 强调,Safe C++ 项目引入了新技术来确保内存安全。其中一项核心创新是“借用检查”,它可以避免“释放后使用”等错误。还将对初始化进行分析,旨在提高类型安全性。这项工作的一个关键优势是现有的 C++ 代码可以继续工作,而开发人员可以逐渐融入更安全的功能,而无需重新训练全新的编程语言。
总体而言,“安全 C++ 扩展”的创建表明 C++ 社区已准备好发展并应对紧迫的安全问题。这为将 C++ 的优势与更高安全性的需求相结合并使编程语言环境更加有趣和安全铺平了道路。有关创新方法的详细信息可以找到 来自 winfuture.de 的一份报告 。