上周五,美国国会通过的2023年拨款法案中包含了一项特别值得注意的倡导:鼓励开发者使用内存安全编码语言,以阻止网络对手利用大部分软件漏洞。关于编码语言如何支持软件开发人员管理内存的问题最近引起了美国国家安全委员会、网络安全和基础设施安全局以及国会的关注。
“这是美国有史以来第一次,国会将内存安全纳入法律,要求国家网络总监研究政府层面的内存安全,很自豪能在参议院为这项规定工作!” 安全研究员Jack Cable在推特上写道。
美国网络安全与基础设施安全局CISA的高级技术顾问Bob Lord,在12月6日该机构网络安全咨询委员会的一次会议上表示:“我们年复一年、甚至是十年又十年地看到的漏洞之中,大约有三分之二都与内存管理问题有关。”
在11月的一份信息表中,美国国家安全局NSA说:“利用糟糕或粗心的内存管理,可以让恶意黑客实施恶意行为,例如随意使程序崩溃或更改执行程序的指令以为所欲为。”该机构表示,“软件程序如何管理内存是防止诸多漏洞及确保程序健壮性的核心,建议尽可能使用内存安全语言。”
划归到内存安全语言的有Javascript、Ruby、Python等。美国国家安全局表示,与C和C++等更常用的内存不安全语言不同,内存安全语言可以“通过控制内存的分配,访问和管理方式提供相当大的保护。”
当然,这其中也是需要权衡取舍的。完成内存安全语言固有的检查可能会耗费大量时间和资源。NSA补充说,“对于固有保护程度极高的语言,由于检查和保护,可能需要大量工作才能简单地编译程序,内存安全在性能和灵活性方面可能代价高昂。”但是,手动检查内存管理错误的代码也可能耗时耗力,成本还可能包括处理成功的网络攻击的后果。
CISA高级技术顾问Bob Lord总结说:“好消息是,有一些新的编程语言是内存安全的,而且相关的一些配套技术、硬件和其他元素正在陆续出现,所以我们已有可行解决方案在手。我们需要提高人们的意识,现在是组织采取行动的时候了。”
编辑:左右里
资讯来源:nextgov.com
转载请注明出处和本文链接
球分享
球点赞
球在看