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

半个多世纪以来,软件工程师已经知道恶意行为者可以利用一类称为“内存安全漏洞”的软件缺陷来危害应用程序和系统。在此期间,专家们多次警告与内存安全漏洞相关的问题。内存不安全代码甚至导致了 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

相关推荐

  • 云服务器和云虚拟主机怎么选?云服务器和虚拟主机区别

    云服务器适合业务增长快、需弹性扩展的场景,而云虚拟主机适合预算有限、技术门槛低的小型静态网站或测试环境,二者核心区别在于资源独享性与运维复杂度,核心差异解析:从底层架构到使用体验很多人容易混淆这两者,觉得它们都是“买空间建站”,它们的底层逻辑完全不同,云服务器(ECS)就像是你租了一整栋别墅,水电网络独立,你想……

    2026-06-29
    0
  • 赣州智慧旅游招聘是真的吗?赣州旅游人才招聘信息

    中级岗位(3-5年经验)月薪范围通常在6000-10000元,这类岗位需要独立负责项目模块,如独立运营一个抖音账号,或维护一个景区小程序的功能迭代,具备成功案例的候选人议价能力较强,高级岗位(5年以上经验)月薪范围通常在10000-20000元,部分核心管理岗可达更高,这类人才需要具备战略规划能力,如制定整个景……

    2026-06-29
    0
  • 赣州智能物联网车位锁如何管理?智能车位锁管理系统多少钱

    赣州智能物联网车位锁管理的核心在于通过云端平台实现远程控锁、状态实时监控及自动计费,彻底解决传统车位“被占难管”与“找位难”的痛点,在赣州这样的城市,随着机动车保有量的持续增长,老旧小区、商业综合体以及私人固定车位的资源矛盾日益凸显,传统的机械地锁或简易遥控锁,不仅操作繁琐,更无法实现数据化管理,引入智能物联网……

    2026-06-29
    0
  • 赣州智能消防栓好用吗,智能消防栓多少钱一个

    赣州智能消防栓通过物联网技术实现实时监测与远程报警,能显著降低火灾响应时间并提升城市消防安全管理水平,是目前智慧城市建设中不可或缺的基础设施,赣州智能消防栓的核心价值与应用场景传统消防栓往往存在“看不见、摸不着、用不了”的痛点,在赣州这样地形复杂、老城区与新城区并存的区域,传统设施的管理难度极大,智能消防栓的出……

    2026-06-29
    0
  • 云服务器和物理机到底有啥区别?

    云服务器本质上是虚拟化资源池中的弹性实例,而传统物理服务器是独占的硬件实体,前者胜在弹性与运维便捷,后者强在物理隔离与性能稳定,具体选择取决于业务对成本、扩展性及安全合规的权衡,很多人初次接触服务器时,容易把“云服务器”和“传统物理服务器”混为一谈,觉得它们都是用来跑网站或存数据的盒子,这两者的底层逻辑完全不同……

    2026-06-29
    0

发表回复

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