谷歌:安卓内存安全漏洞大幅下降68%

安全 漏洞
过去五年中,Android(安卓)系统的内存安全漏洞比例从2019年的76%大幅下降至2024年的24%,下降幅度超过68%。且Android安全性得到显著改善的同时,并未影响向后兼容性。

过去五年中,Android(安卓)系统的内存安全漏洞比例从2019年的76%大幅下降至2024年的24%,下降幅度超过68%。且Android安全性得到显著改善的同时,并未影响向后兼容性。

谷歌双管齐下治理内存安全

与Chromium系统内存安全漏洞70%的比例相比,Android的表现尤为突出,展示了一个庞大的项目如何在保持系统稳定性的同时,实现安全性提升。谷歌表示,这一成果主要得益于优先使用内存安全语言(如Rust)编写新代码,大大减少了新漏洞的引入。

过去五年安卓内存安全漏洞持续减少过去五年安卓内存安全漏洞持续减少

与此同时,谷歌强调对旧代码进行维护时,只做最小的必要修改,专注于重要的安全修复,而非进行大规模重写,避免破坏系统的互操作性。谷歌的报告指出:“我们认识到,无需全部重写现有的非内存安全代码,而是将重点放在确保互操作性的安全和便捷性上。”

这一策略使得旧代码随着时间推移变得更加成熟和安全,无论它最初是用何种语言编写的,内存相关漏洞的数量都会逐渐减少。谷歌采用的两大核心策略产生了协同效应,推动了Android作为全球最广泛使用的移动平台内存漏洞数量的显著下降。

解决内存安全问题的四个阶段

谷歌指出,行业在应对内存安全漏洞方面经历了四个主要阶段:

  • 被动修补:最初,行业主要在漏洞发现后进行修复,这种方式虽然解决了问题,但导致频繁的更新,用户在漏洞未修复期间处于危险中。
  • 主动缓解措施:随着时间推移,人们采取了多种策略(如堆栈金丝雀、控制流完整性)来增加漏洞利用的难度,但这些措施通常伴随性能的下降,并形成了与攻击者的“猫鼠游戏”。
  • 主动发现漏洞:此阶段引入了模糊测试和工具来提前发现漏洞,虽然有效,但这种方法仍然只是治标不治本,且需要持续投入大量资源。
  • 高安全保障的预防措施(安全编码):第四阶段强调通过内存安全语言(如Rust)从源头防止漏洞发生,采用“设计即安全”的方法,从根本上减少了漏洞的产生,提供了可扩展的长期保障。

谷歌的实践方法不仅增强了其自身产品的安全性,还为整个行业提供了有益的经验。然而,谷歌也指出,传统的修补和缓解措施带来了不断增加的成本,尤其是在内存安全领域。只有采用安全设计的实践,才能有效终止这一“修补—漏洞”循环。

应对未来的内存安全挑战

尽管谷歌和其他公司已经取得显著进展,但内存安全仍然是行业面临的主要挑战之一。2023年6月,美国网络安全和基础设施安全局(CISA)警告称,52%最广泛使用的开源项目仍在使用非内存安全语言。即便是使用内存安全语言编写的项目,往往也依赖于非内存安全组件,这使得风险更加复杂化。

CISA建议软件开发人员应尽量使用内存安全语言(如Rust、Java和Go)编写新代码,并逐步将现有项目,特别是关键组件,转向这些语言,以提高整体安全性。

责任编辑:华轩 来源: GoUpSec
相关推荐

2021-04-09 09:22:09

安卓系统rust语言漏洞

2022-12-05 09:55:01

漏洞AndroidRust

2020-12-08 12:18:09

安卓应用漏洞

2012-07-31 09:22:23

2015-01-29 11:15:35

2024-09-26 15:40:06

2013-10-15 09:21:40

2014-09-26 09:28:14

Bash漏洞Bash软件安全漏洞

2014-01-03 10:00:55

2021-02-04 12:46:54

谷歌开源安全漏洞

2013-11-29 09:26:30

Android安卓漏洞

2014-02-11 09:15:33

2024-02-27 16:39:08

2013-07-23 16:02:36

2024-11-05 14:48:57

2013-07-09 11:30:33

2010-11-10 15:49:38

2010-07-26 15:37:12

telnet安全漏洞

2009-10-12 13:01:23

2015-11-05 14:36:46

点赞
收藏

51CTO技术栈公众号