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

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

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

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