案例中心

将软件发布速度视为安全性的助推器

2025-05-13

软件发布速度与安全性

关键要点

更慢的软件发布并不一定意味着更高的安全性,快速发布可促进更安全的产品交付。高效的持续集成和持续交付CI/CD流程,对安全漏洞的快速响应至关重要。安全更新的挑战在于频繁发布时需要一次性处理多个变更。自动化保护措施是保持快速发布安全性的关键。

在软件开发中,很多人认为发布速度慢就意味着软件会更加安全。然而,我的经验却表明,快速发布实际上有助于更安全地交付产品。

2014年,我在谷歌负责社交产品的安全与隐私时,OpenSSL遭遇了一次相对严重的安全漏洞。我们需要立即更新应用代码。几个小时内,我们的 Android 应用就公开发布了,而 iOS 应用仍在苹果的审核中。

遗憾的是,谷歌其他团队修复这一风险却花费了数周时间,许多公司更是需要更长的时间。是什么让我们能快速响应,而其他团队却滞后呢?谷歌的社交产品拥有许多组织至今仍梦寐以求的 CI/CD 发布设置,加上我们优秀的发布工程师团队,最终使我们能够顺利完成任务。然而,整个组织并没有做到这一点。

值得注意的是,这并不能全怪某个特定的团队。每个团队中都有关心用户和安全的优秀工程师,但差异在于社交团队已经建立了能够快速制作、测试、批准和发布更新的流程。

在生产环境中修补软件,尤其是像内核和操作系统这样的低级基础设施,是一项极具挑战性的工作。细微的变更可能导致不稳定和性能问题,这使得团队在相对频繁的基础上进行修补时更为谨慎,因为每次修补都会带来潜在的麻烦。然而,问题更为复杂:当团队发布的频率降低,它们需要一次性发布的变更就会更多。因此,发生错误的可能性也随之增加。

旋风加速器vp

当安全团队需要迅速推出紧急安全补丁时,逻辑上或者说令人痛苦地结束了这一循环:必须一次性实施许多变更,而团队在这些调整上可能没有经验或专业知识。这一切使得安全补丁的发布速度往往慢而风险较大。

更复杂的是,并不是所有特定的补丁都是安全补丁。例如,Linux 内核以不标识安全修复而闻名,这个问题愈演愈烈因为开发人员可能并未意识到他们正在修复安全问题。相反,他们有可能是在移除或修复旧功能或清理旧代码。因此,保持关注补丁通常被认为是一个最佳实践。

作为一名安全专业人士,容易相信并担心快速发布的产品不够安全。事实上,只有在相应的保护措施到位时,这种担忧才是合理的。在持续部署的环境中,只有借助代码扫描、全面测试和生产监控等自动化保护措施,发布速度才能保持合理。人类无法在这样的速度下运作,坦率地说,在修复某些缺陷时也无法达到最佳效果,因为即使是最优秀的工程师也未能完全将其思维接入系统。然而,组织也应充分利用人力资源,处理我们擅长的任务,比如讨论设计和审查特别有趣的代码部分。

云计算以其超出20年前人们预想的速度颠覆了技术行业。现在,软件发布至少要与这种速度相匹配,这已成为我们的安全特征和商业必要性。

将软件发布速度视为安全性的助推器

Lea Kissner,Lacework首席信息安全官