电脑知识
2022编程希望少年杯(2021年编程比赛)
2023-04-12 09:39

连73岁的C++之父Stroustrup都出来说要加强C++的安全检查机制,看来rust的崛起,对他影响还是很大的。

2022年年底,美国国家安全局(NSA)在其所发布的《Software Memory Safety》报告中指出: C语言和C++语言是不安全的,建议各组织放弃使用C/C++,并鼓励各组织将编程语言从C和C++等转向更加安全的替代语言——如C#、Rust、Go、Java或Ruby。对此,NSA网络安全主任Neal Ziring还在一次采访中表示,所有程序员都在犯简单的错误,这些错误依然非常普遍。

在一次会议上,微软报告称,在2006年到2018年期间,70%的漏洞是由内存安全问题引起的。恶意攻击者可以利用这些漏洞进行远程代码执行或其他非法行为。而谷歌也于近几年在Chrome浏览器中发现了类似的内存安全漏洞。

针对NSA建议减少或禁止使用C++语言编程。老爷子特准备了几个月,发表了一篇文章《Think seriously about“safety”;then do something sensible about it》来一一回复NSA。

当然同时最新一版C++标准起草中,老爷子主持,里面加入规范中会考虑内存安全检查机制。那么C++中有哪些问题呢,主要就是悬垂指针和内存泄露。什么时候会引起这些问题呢,一指针使用的空间未分配或已经被回收;指针未初始化就使用;强制类型转换时,父类地址付给了子类指针,还有哪些欢迎留言。

发表评论
0评