继去年美国国家安全局(NSA)发出预警之后,12 月 6 日,美国网络安全和基础设施局 (CISA)也开始联合 NSA、美国联邦调查局 (FBI) 以及澳大利亚、加拿大、英国和新西兰的网络安全机构发布了一份 23 页的《内存安全路线图指南》,呼吁软件开发商需要采用越来越多的新编程语言来保护内存,以减少其产品中的安全漏洞数量。 ...
structMyClass{voidsayHello() {std::cout <<'Hello, C++20 Smart Pointers!'<< std::endl;}}; intmain() {std::shared_ptr<MyClass> myObject = std::make_shared<MyClass>(); myObject->sayHello(); return0;} 新的智能指针特性提供更为安全和高效的内存管理。 10. 反射机制的引入:更灵活的元编...
近日,在一份 19 页的报告《回归基础构件:通往安全软件之路》中,白宫国家网络主任办公室(ONCD)呼吁开发者使用「内存安全的编程语言」,比如 Rust 语言。报告指出,从一开始就选择内存安全的编程语言,是以安全设计方式开发软件的重要途径。此外,ONCD 表示,报告中的建议是与包括科技公司、学术界和其他机构合作...
中指出的那样 ——美国国家安全局警告说,简单地使用内存安全语言并不能默认排除将内存错误引入软件。此外,语言通常允许不是用内存安全语言编写的库。 “即使使用内存安全语言,内存管理也不完全是内存安全的。大多数内存安全语言都认识到软件有时需要执行不安全的内存管理功能才能完成某些任务。因此,可以使用被认为是非内...
而根据 NSA 的建议,内存安全编程语言有: Rust Go C# Java Swift JavaScript Ruby 在衡量编程语言受欢迎程度的 TIOBE 指数中,NSA 推荐这些安全的编程语言:C# 排在第五位,Java 排在第四位,JavaScript 排在第六位,Go 排在第八位。而 Swift(16 位)和各大厂都在推荐的 Rust(18 位)、Ruby(20 位)排名稍微靠...
内存安全指的是程序在访问内存时能够避免出现错误和漏洞,例如缓冲区溢出和悬空指针。Java 由于其 runtime 错误检测功能,被认为是一种内存安全的语言。然而,C 和 C++ 允许直接操作内存地址,并且缺乏边界检查,容易出现内存安全问题。报告援引微软和谷歌的研究数据,指出超过 70% 的安全漏洞都与内存安全问题有关。
如果你停止使用 C 或 C++ 编程语言,政府会更喜欢它。在一份新报告中,美国白宫国家网络主任办公室 (ONCD) 呼吁开发人员使用“内存安全编程语言”。该建议是美国总统拜登网络安全战略的一部分,是“确保网络空间基石安全”的举措。 内存安全是指防止处理内存访问的错误和漏洞。缓冲区溢出和悬空指针就是这样的例子。Java...
其鼓励多个组织将编程语言从 C/C++ 转为使用内存安全的语言,如 C#、Rust、Go、Java、Ruby 和 Swift,主要原因是这样可以帮助软件开发者和使用者预防并缓解软件内存安全问题,这些问题占可利用漏洞的很大一部分。 这份文档引起了很大骚动。其实,这些都是常识性建议,如非有充分的理由,我们都应该遵循这些建议。
IT之家 2 月 29 日消息,美国政府近日发布了一份网络安全报告,呼吁开发人员停止使用容易出现内存安全漏洞的编程语言,例如 C 和 C++,转而使用内存安全的编程语言进行开发。这份报告由美国网络空间总监办公室 (ONCD) 发布,旨在落实美国总统拜登的网络安全战略,目标是“保护网络空间的基石”。
近日,在一份 19 页的报告《回归基础构件:通往安全软件之路》中,白宫国家网络主任办公室(ONCD)呼吁开发者使用「内存安全的编程语言」,比如 Rust 语言。报告指出,从一开始就选择内存安全的编程语言,是以安全设计方式开发软件的重要途径。 此外,ONCD 表示,报告中的建议是与包括科技公司、学术界和其他机构合作制定的,...