美国网络安全机构再度呼吁使用内存安全编程语言

美国网络安全与基础设施安全局(CISA)和国家安全局(NSA)本周联合发布指导意见,敦促软件开发者采用内存安全编程语言。报告指出,内存安全对于防止因计算机内存处理不当而产生漏洞至关重要。语言如Rust、Go、C#、Java、Swift、Python和JavaScript支持自动内存管理或在编译时检查内存所有权,以防止内存错误。
虽然C和C++是最广泛使用的编程语言,但它们默认不具备内存安全性。开发者可以通过遵循最佳实践和应用静态分析工具来提高安全性,但不是所有人都能这么严格地部署代码。此外,即便在表面上安全的语言中编写的代码也可能通过外部函数接口导入不安全的C/C++库,从而破坏内存安全性。
过去十年中,安全研究人员一直在警告内存安全漏洞的危险。Google和Microsoft等公司指出大量软件项目的漏洞源自内存安全错误。例如,Google的Android系统在2018年大约90%的高危漏洞源于内存安全问题。来源