软件产品对内存安全的迫切需求

半个多世纪以来,软件工程师已经知道恶意行为者可以利用一类称为“内存安全漏洞”的软件缺陷来危害应用程序和系统。在此期间,专家们多次警告与内存安全漏洞相关的问题。内存不安全代码甚至导致了 1988 年的一次重大互联网中断。内存不安全问题到底有多大?微在一篇博客文章中报告称,“微软每年指定 CVE(常见漏洞和暴露)的漏洞中,约有 70% 仍然是内存安全问题。” 谷歌同样报称,“Chromium 项目发现,我们大约 70% 的严重安全漏洞都是内存安全问题。” Mozilla 报在对安全漏洞的分析中,“在 34 个严重/严重错误中,有 32 个与内存相关。”

这些漏洞并不是理论上的。攻击者利用它们对真人进行攻击。例如,谷歌的零日计划团队在将攻击者报告给软件提供商之前分析了攻击者在野外使用的漏洞(也称为“零日漏洞”)。他们报称,“在今年的 58 个 [此类漏洞] 中,有 39 个(即 67%)是内存损坏漏洞。” 公民实验室发现针对利用内存安全漏洞的民间社会组织的间谍软件。

在其他哪个行业,市场会容忍产品用户几十年来所面临的这种众所周知的严重危险?

多年来,软件工程师发明了许多巧妙但最终不足以缓解此类漏洞的方法,包括内存随机化和沙箱技术等可减少影响的工具,以及可减少发生的静态和动态代码分析工具。除了这些工具之外,组织还花费了大量时间和金钱来培训开发人员以避免不安全的内存操作。还有一些并行的工作来提高现有 C/C++ 代码的内存安全性。尽管做出了这些努力(以及相关的复杂性、时间和金钱成本),但几十年来,内存不安全一直是最常见的软件安全缺陷类型。

然而,每个软件公司都应该调查一些领域。首先,硬件方面有一些有前途的内存安全缓解措施。能力硬件增强型 RISC 指令 ( CHER ) 研究项目使用修改后的处理器为 C 和 C++ 等内存不安全语言提供保护,以防止许多广泛利用的漏洞。另一种硬件辅助技术以内存标记扩展 (MTE) 的形式出现,在某些系统中可用。虽然其中一些基于硬件的缓解措施仍在从研究到交付产品的过程中,但许多观察家认为它们将成为消除内存安全漏洞总体战略的重要组成部分。

其次,公司应该研究内存安全的编程语言。除 C/C++ 之外的大多数现代编程语言都已经是内存安全的。内存安全编程语言管理计算机的内存,因此程序员不能引入内存安全漏洞。与其他需要持续维护的可用缓解措施(无论是开发新的防御措施、筛选漏洞扫描还是人工)相比,一旦使用内存安全编程语言编写代码即可保持内存安全,则无需执行任何工作。

直到几年前,我们还缺乏一种具有 C/C++ 速度且具有内置内存安全保证的语言。2006 年,Mozilla的一名软件工程师开始研究一种名为 Rust 的新编程语言。Rust 1.0 版本于 2015 年正式发布。从那时起,几个著名的软件组织开始在他们的系统中使用它,包括亚马逊、Facebook、谷歌、微软、Mozilla 等。Linux 内核的开发也支持它。

不同的产品需要不同的投资策略来减少内存不安全代码。C/C++ 缓解措施、硬件缓解措施和内存安全编程语言之间的平衡甚至可能在同一公司的产品之间有所不同。没有一种方法可以解决所有产品的所有问题。然而,软件制造商不能做的一件事就是忽视这个问题。软件行业决不能因为无所作为而将时间再拖到十年。

CISA 的安全设计白皮书为软件制造商概述了三个核心原则:掌握客户安全成果、拥抱彻底的透明度以及从组织高层领导安全转型。内存不安全问题的解决方案将包含所有三个原则。

CISA 敦促软件制造商将减少并最终消除其产品线中的内存安全漏洞作为公司的最高目标。为了证明这样的承诺,公司可以发布“内存安全路线图”,其中包括有关他们如何修改软件开发生命周期(SDLC)以实现这一目标的信息。路线图可能包括详细信息,例如它将使用内存安全编程语言构建新产品或组件的日期,以及计划支持属于其供应链一部分的开源库的内存安全计划。

内存不安全问题几十年来一直困扰着软件行业,并且将继续成为漏洞和现实世界危害的主要来源,直到软件制造商的顶级业务领导者做出适当的投资并掌控客户的安全结果。在我们庆祝国家编码周之际,我们期待整个软件行业的参与者共同努力,使软件在设计上更加安全,而内存安全是实现这一目标的关键。

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/131088.html<

(0)
管理的头像管理
上一篇2025-02-26 09:23
下一篇 2025-02-26 09:24

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注