美国政府建议使用内存安全编程语言 C/C++都被排除在外

美国政府建议使用内存安全编程语言C/C++都被排除在外为什么大型科技公司都关注Rust呢?因为相对来说,Rust安全性更高,微软认为通过Rust重新编写某些组件有助于提高内存安全性。日前美国政府下属的ONCD办公室发布了一份报告就详细介绍了建议开发者们使用各种内存安全编程语言,尽管ONCD没有明确罗列哪些语言是内存安全编程语言,但强调了C和C++缺乏与内存安全相关的特征,因此实际上就是不建议开发者使用C和C++。需要强调的是,这里只是从内存安全角度出发来建议,并不是评判一种编程语言的好坏,ONCD称如果软件一开始就选择使用内存安全编程语言的话,那么可以提高安全性。报告也没有建议使用哪些内存安全语言来替代C和C++,毕竟只是建议,实际上开发者和企业如何选择编程语言还是开发者们自己的事情,毕竟也要考虑到软件本身。...PC版:https://www.cnbeta.com.tw/articles/soft/1421763.htm手机版:https://m.cnbeta.com.tw/view/1421763.htm

相关推荐

封面图片

NSA建议开发者考虑从C和C++转换为内存安全的编程语言

NSA建议开发者考虑从C和C++转换为内存安全的编程语言"NSA建议企业考虑在可能的情况下,从很少或没有提供固有内存保护的编程语言(如C/C++)转向内存安全语言。内存安全语言的一些例子是C#、Go、Java、Ruby和Swift,"NSA说。该机构引用了Google和微软最近的研究,他们在Chrome和Windows中分别有70%的安全问题与内存有关,其中许多是使用C和C++的结果,这两种语言更容易出现基于内存的漏洞。"NSA在"软件内存安全"网络安全信息表中指出:"恶意的网络行为者可以利用这些漏洞进行远程代码执行或其他不利影响,这往往可以损害一个设备,成为大规模网络入侵的第一步。常用的语言,如C和C++,在内存管理方面提供了很大的自由度和灵活性,同时严重依赖程序员对内存引用进行必要的检查。"因此,该机构建议尽可能使用内存安全语言,无论是应用开发还是系统编程。虽然大多数信息安全专家都熟悉关于内存安全语言的辩论,但也许不是所有的开发人员都熟悉。不过,也许他们应该熟悉,因为这是一个几十年前就存在的问题,正如Java创建者JamesGosling最近在讨论如何以及为什么创建Java时指出的。如果有的话,NSA的文件为开发者提供了一个清晰的、通俗的解释,说明了向内存安全语言转变背后的技术原因。在内存安全方面讨论最多的语言可能是Rust,它是作为C和C++的"替代品"的主要候选。Linux内核最近引入了Rust作为C语言的第二种语言,继Android开源项目之后。这些项目不会取代旧的C/C++代码,但对于新的代码会优先考虑Rust。另外,微软Azure首席技术官MarkRussinovich最近呼吁所有开发人员在所有新项目中使用Rust而不是C和C++。"通过利用这些类型的内存问题,恶意行为者--他们不受软件使用的正常预期约束--可能会发现他们可以在程序中输入不寻常的输入,导致内存以意想不到的方式被访问、写入、分配或删除,"NSA解释说。但是--正如专家们在关于Rust和C/C++的辩论中所指出的那样--NSA警告说,仅仅使用一种内存安全语言并不能默认排除将内存错误引入软件。此外,语言通常允许使用不是用内存安全语言编写的库。"即使使用内存安全语言,内存管理也不完全是内存安全的。大多数内存安全语言承认,软件有时需要执行不安全的内存管理功能来完成某些任务。因此,有一些类或函数被认为是非内存安全的,并允许程序员执行可能不安全的内存管理任务,"NSA说。"一些语言要求任何内存不安全的东西都要明确注释为内存不安全,以使程序员和程序的任何审查人员意识到它是不安全的。内存安全语言也可以使用以非内存安全语言编写的库,因此可以包含不安全的内存功能。尽管这些包含内存不安全机制的方式颠覆了固有的内存安全,但它们有助于定位可能存在内存问题的地方,允许对这些代码部分进行额外的审查。"NSA指出,向一些内存安全语言的转化可能要付出性能上的代价,这需要开发人员学习一种新的语言。它还指出,开发人员可以采取一些措施来加固非内存安全语言。例如,Google的Chrome团队正在探索多种方法来加固C++,但这些方法也会带来性能开销。在可预见的未来,C++将继续留在Chrome的代码库中。NSA建议进行静态和动态应用程序安全测试,以发现内存问题。它还建议探索内存加固方法,如控制流保护(CFG),它将对代码的执行位置进行限制。同样,建议使用地址空间布局随机化(ASLR)和数据执行预防(DEP)。...PC版:https://www.cnbeta.com.tw/articles/soft/1332577.htm手机版:https://m.cnbeta.com.tw/view/1332577.htm

封面图片

美国政府呼吁开发者停止使用C / C++

美国政府呼吁开发者停止使用C/C++由于C和C++允许直接操作内存地址,且缺乏边界检查,容易出现内存安全问题。微软和谷歌最近的研究发现,大约70%的安全漏洞是由内存安全问题引起的。白宫国家网络主任办公室(ONCD)在2024年2月26日发布的一份报告中呼吁开发人员通过使用不存在内存安全漏洞的编程语言来降低网络攻击的风险。2022年11月的NSA将C#、Go、Java、Ruby和Swift以及Rust列为其认为内存安全的编程语言。根据的数据,截至2023年,大约22%的软件程序员使用C++,19%使用C。线索:@ZaiHuabot投稿:@TNSubmbot频道:@TestFlightCN

封面图片

美国政府敦促开发者:停止使用 C、C++

“C、C++不安全,新应用开发时就别用了,旧应用应该采取迁移行动”,近日,美国白宫国家网络主任办公室 (ONCD)在一份主题为《回到基础构件:通往安全软件之路》的19页PDF报告中强烈呼吁道。其直言,C和C++ 这几种编程语言既缺乏与内存安全相关的特性,又在关键系统中大量使用,可能会带来极大的安全风险,希望开发者抓紧使用“内存安全编程语言”。 (CISA)等之后,又一政府机构发起呼吁,而且这一次直接与“保护国家安全”挂钩。根据报告指出,该建议是美国总统拜登网络安全战略的一部分,是“确保网络空间基石安全”的举措。标签:#C#编程语言频道:@GodlyNews1投稿:@GodlyNewsBot

封面图片

微软一CTO呼吁停用C/C++编程 Rust可取代之

微软一CTO呼吁停用C/C++编程Rust可取代之在程序员中,谁才是最好的编程语言这个话题能够让他们大战三天三夜,几十种甚至上百种编程语言都能找到各自的支持者,日前微软云业务的CTOMarkRussinovich的一个表态引爆了开发者争议,因为他呼吁停止使用C/C++来开发。PC版:https://www.cnbeta.com/articles/soft/1318983.htm手机版:https://m.cnbeta.com/view/1318983.htm

封面图片

Chromium项目将支持Rust编程语言

Chromium项目将支持Rust编程语言Rust是由Mozilla赞助和支持的,作为建立一个新的、更安全和性能更好的网络浏览器的方法。现在,Google将很快开始在自己的Chromium项目中使用这种语言,这意味着山景城似乎正在为无处不在的Chrome浏览器准备一个更安全的未来。Chrome安全团队成员DanaJansens通过Google的安全博客宣布了这一新进展。在未来,Chromium项目将支持用Rust编写的库。开发人员已经在开发一个生产型Rust工具链,以添加到Chrome构建系统中,这应该在"明年"将实际的Rust代码带到Chrome二进制文件中。Rust是一种现代的、通用的编程语言,为几种类型的编译应用程序提供了原生性能--从传统的计算机软件到低资源和嵌入式设备。此外,Rust旨在从一开始就提供内存安全,在编译时就消除了许多类错误和潜在的漏洞。Google感谢Mozilla"对系统软件行业的巨大贡献",尽管Chrome和Firefox是两个相互竞争的浏览器,但如果没有Google提供的资金,Mozilla基金会基本上就不存在了。"Rust已经是一个令人难以置信的事实,证明我们应该能够期望一种语言在提供安全的同时还能有良好的性能,"Jansens写道。由于Rust和C++是两种诞生于不同设计的编程语言,Chromium中的Rust集成目前只能通过第三方库来实现。这两种语言之间的互操作性也可能是一个问题,所以Google的开发人员在让这两种代码类型相互交流时需要格外谨慎。尽管这样,以及在像Chromium布局引擎这样的巨大项目中使用两种不同的编程语言的负担,Rust在使Chrome浏览器更加安全方面可能是一个巨大的帮助,因为内存安全缺陷,也就是Rust编程旨在消除的问题占Chromium中发现的最糟糕的安全漏洞的70%。"内存不安全是一个全行业的问题,利用Rust是在这一领域推进的战略的一部分。"Jansens说。当然,Google也在努力提高C++代码的安全性,因为这种有38年历史的语言仍然被用来编写Chrome代码中的数百万行。...PC版:https://www.cnbeta.com.tw/articles/soft/1339127.htm手机版:https://m.cnbeta.com.tw/view/1339127.htm

封面图片

Windows 11新版25905发布:内核重写 C/C++语言被Rust取代

Windows11新版25905发布:内核重写C/C++语言被Rust取代其中一个值得关注的变化是,微软确认,基于Rust语言重写的关键内核已经在本版本启用,比如win32kbase_rs.sys,以取代之前的C/C++语言。微软强调,Rust语言可靠性和安全性更高,未来还会增加代码覆盖量。此前微软曾夸赞,Rust代码简洁高效,移植后Office应用没有任何性能损失,甚至部分场景比C++运行效率更高。回到Build25905,其它变化还有修复了安装Zune播放器原始驱动崩溃的问题,可显示更多丰富的3D表情包等。...PC版:https://www.cnbeta.com.tw/articles/soft/1370665.htm手机版:https://m.cnbeta.com.tw/view/1370665.htm

🔍 发送关键词来寻找群组、频道或视频。

启动SOSO机器人