编译:代码卫士
美国、英国、加拿大、澳大利亚和新西兰政府联合发布针对软件商的关于消除内存安全漏洞的指南《内存安全路线图问题》。
这份指南建议使用内存安全编程语言 (MSLs),帮助消除威胁行动者经常在恶意攻击中利用的已知和常见编程错误。该指南还为软件制造商提供了关于“创建和发布内存安全路线图,向客户展示他们如何获得安全结果、拥抱急剧变化的透明度并采取自上而下的方式开发安全产品”。
五眼联盟机构提到,尽管投入大量资源减少内存安全漏洞的普遍性,但该类型漏洞仍然存在。不过,使用内存安全编程语言应当能够消除这类安全缺陷并降低其影响,从而使开发人员和客户能够将资源投入到其它领域。
指南中提到,“消除这类漏洞应当被视作业务推动力,可能要求很多部门的共同参与。权力机构督促管理人员以身作则,找到将推动路线图发布的资深人员并协助拉通所需资源。”
用于减少内存安全漏洞的缓解方法包括开发人员培训、代码覆盖(测试尽可能多的代码)、安全代码指南、模糊测试、使用静态应用安全测试 (SAST) 和动态应用安全测试 (DAST) 工具,以及使用更安全的语言子集。
为降低此类漏洞的影响,防御人员已将内存片段标记为不可执行文件、采用了控制流完整性 (CFI)、地址空间布局随机化 (ASLR)、沙箱以及其它缓解措施,并且正在考虑使用硬件来支持内存防护措施。
指南中提到,“尽管软件制造商投入大量资源,尝试缓解内存安全漏洞,但这些漏洞仍然普遍存在。客户必须扩充大量资源,通过繁复的补丁管理计划和事件响应活动来应对这些漏洞。”
使用MSLs 应当会为软件制造商及其客户带来好处,提升代码可靠性、减少修复所报告漏洞的需求以及紧急发布的数量、最终减少客户需要安装的紧急更新数量以及数据泄露事件。
指南指出,“除了为软件制造商及其客户带来好除外,MSLs 减少了产品的攻击面,从而将提升恶意人员需要投入更多资源发现其它可利用漏洞的成本。”
软件制造商在开发内存安全路线图时,应当考虑如何排列转换优先级、使用适当的MSLs 以及如何培训开发人员。为此,五眼联盟还推荐了具体的步骤。
该指南还概述了软件制造商在使用 MSLs 时会遇到的挑战以及内存安全路线图应当包括的元素详情。指南提到,“消除内存安全漏洞最具前景的路径是软件制造商找到关于标准化内存安全编程语言的方法,缓解已有代码库内存安全编程语言的安全关键软件组件。”
该指南由美国网络安全局CISA、国家安全局NSA、联邦调查局FBI,澳大利亚的网络安全中心、加拿大网络安全中心、英国国家网络安全中心以及新西兰的国家网络安全中心和计算机紧急响应团队编写而成。
原文链接
https://www.securityweek.com/five-eyes-agencies-publish-guidance-on-eliminating-memory-safety-bugs/
声明:本文来自代码卫士,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。