横向渐变网格色彩图案

什么是安全左移?

安全左移定义

安全左移是将安全环节更早嵌入软件开发生命周期(SDLC)的实践。软件开发生命周期通常遵循从左侧(规划阶段)到右侧(维护阶段)的线性流程,而安全左移就是把安全工作前移至生命周期早期,而非等到末期。这有助于开发人员预判漏洞,并尽早处理。

漏洞利用已成为 网络攻击的首要诱因,占 IBM X-Force 团队监测到的安全事件总量的 40%。该数据来自IBM X-Force团队发布的《2026 X-Force 威胁情报指数报告》。IBM 网络安全服务全球管理合伙人 Mark Hughes 在该威胁情报指数报告的新闻稿中表示:“安全负责人需要转向更主动的防护模式。”安全左移策略将网络安全从被动响应转为主动防护,让安全成为优先事项,而非事后补救。

安全左移理念内嵌于 安全软件开发生命周期(SSDLC),将安全环节融入 软件开发 的每一个阶段。它同时也是 DevSecOps 的核心最佳实践,DevSecOps 将 应用安全(AppSec) 和基础设施安全自动集成至 DevOps 流程。

安全左移的核心实践

安全左移有助于降低安全风险,尽早发现隐患,防止风险进一步扩大。它包含以下核心实践:

  • 威胁建模

  • 安全编码

  • 安全测试

  • CI/CD 集成

  • 安全即代码

威胁建模

威胁建模在设计阶段开展。该工作需要识别并评估系统面临的潜在威胁,制定缓解或防范威胁的措施。

整个流程首先分析系统架构,找出访问入口并梳理数据流。随后按照严重程度对威胁分级,确定处理优先级。之后制定管控措施或安全防护手段来处置威胁。生成的威胁模型可在软件开发生命周期全程持续优化。

威胁建模包含多种方法,例如STRIDE 方法论与MITRE ATT&CK 框架。开放全球范围应用安全项目(OWASP)提供更多威胁建模相关指引。

安全编码

安全编码实践包括各类防御性编程策略,用于增强源代码抵御网络攻击的能力。具体包括:

  • 结合参数化查询与预编译语句,防范 SQL 注入攻击

  • 完善的日志记录与安全错误处理机制

  • 服务端输入校验、输入净化以及输出编码,抵御注入类攻击

  • 采用可靠加密协议,保障数据的可用性、保密性与完整性

安全测试

全面的安全测试用于验证嵌入源代码中的安全措施。左移测试旨在提升代码覆盖率与代码质量,安全测试与之不同,它从应用整体入手,挖掘安全隐患。

常见安全测试类型如下:

  • 静态应用安全测试(SAST):也称为“白盒”测试,SAST 无需运行应用即可扫描代码。它通过预定义规则标记安全缺陷。

  • 动态应用安全测试(DAST):常被称作黑盒测试,DAST在应用运行状态下对其评估。它通过模拟攻击,复刻真实场景中的威胁主体行为。

  • 交互式应用安全测试(IAST):IAST 同时分析代码上下文与运行时行为,实时上报漏洞。

可组合使用上述各类方法,从而更全面地掌握潜在漏洞情况。

CI/CD 集成

安全自动化 可嵌入 持续集成/持续交付(CI/CD)流程。在 CI/CD 流水线 中落地安全能力的部分手段包括:

  • 配置提交前钩子,要求开发人员发起 拉取请求 前执行 密钥扫描,拦截包含硬编码密钥(例如 API 密钥、连接字符串及其他凭证)的代码变更

安全即代码

与策略即代码类似,安全即代码将安全规则与安全策略视作可执行逻辑。开发人员提交代码变更前可执行自动化检查,确保代码遵守安全规则与策略。

安全即代码存放于软件工程团队管理代码所使用的同一套版本控制系统中。这意味着基于代码的安全策略能够以可复用、可扩展的方式广泛落地,任何更新都便于评审与追踪。

安全左移的益处

安全左移有助于降低组织的攻击面,同时维持软件质量。企业采用安全左移可获得以下优势:

  • 优化团队文化

  • 提高客户满意度

  • 降低成本

  • 加快版本发布

优化团队文化

安全左移促进开发、DevOps 与安全团队之间的协作。各方共享安全知识与最佳实践,打破信息孤岛。同时统一安全目标,协同打造更安全的软件。

提高客户满意度

在软件开发生命周期内尽早落实安全工作,可防止高危漏洞流入生产环境、对用户造成不良影响,还能减少因安全事件紧急修复或打补丁带来的系统停机时间。这让团队能够交付高质量、可靠、安全且稳定的系统,进而提升客户信任。

降低成本

若在软件开发生命周期后期才发现漏洞,会产生高昂的返工成本。若隐患尽早被发现,修复成本会更低。

加快版本发布

安全左移能够规避开发末期才发现漏洞所造成的流程阻塞,缩短交付周期。与此同时,将安全左移无缝融入软件开发生命周期有助于简化工作流,CI/CD 流水线中的自动化测试与各类自动化能力,助力实现更快交付。

IBM DevOps

什么是 DevOps?

Andrea Crawford 阐述了什么是开发运维、开发运维的价值,以及开发运维实践和工具如何帮助您完成从应用程序构思到生产的整个软件交付管道。本课程由 IBM 资深思想领袖主导,旨在帮助企业领导者获得所需的知识,以优先考虑能够推动增长的 AI 投资。

实施安全左移的建议

安全左移有助于提升企业的整体安全态势。团队落地安全左移时可参考以下建议:

  • 制定清晰的安全要求与策略

  • 从小处着手

  • 采用自动化手段

  • 依据严重程度划分优先级

  • 将安全左移与安全右移相结合

  • 持续迭代优化

  • 重视安全培训

制定清晰的安全要求与策略

在软件开发生命周期的规划与需求分析阶段,必须同步定义安全要求与策略,以及功能需求和其他项目需求。该阶段就应引入网络安全团队,由其全程提供关键指导与支持。

从小处着手

落地安全左移可能任务繁重,大型软件项目尤甚。从小处着手、由简到难,会更容易落地。例如落地某一项安全编码实践,或是针对小型功能试点安全测试。

采用自动化手段

自动化是安全左移的重要支撑。例如 Red Hat Advanced Cluster Security for Kubernetes,是原生Kubernetes安全平台,可在容器化应用从构建、部署到运行的全生命周期内提供安全防护。该平台能够自动扫描容器镜像,查找错误配置与已知漏洞;还可自动执行安全策略,一旦镜像未通过自动化检测,即可阻断构建或暂停部署流水线。

依据严重程度划分优先级

团队在落地安全左移时,工具会产生大量告警,容易引发告警疲劳。建立分级研判机制会有所帮助,优先处理高风险问题,再处理低风险问题。

将安全左移与安全右移相结合

将两种策略相结合,可以打造更安全、更完善的软件。安全左移把安全能力贯穿整个软件开发生命周期,而安全右移则针对生产环境中不断演变的安全威胁进行防护,二者互为补充。

安全右移的示例包括运行时应用自我保护(RASP)与 Web 应用防火墙(WAF):RASP 可实时检测并响应攻击;WAF 监控应用的 Web 流量,并依据安全策略拦截恶意流量。

持续迭代优化

安全左移是一套持续迭代的方法体系。企业可以不断沉淀经验,持续优化落地方式。

重视安全培训

企业必须将安全左移纳入开发团队或 DevOps 团队的安全培训内容。团队成员需要理解安全左移的重要性、落地方式以及相关工具的使用方法。

生成式 AI 赋能安全左移

随着生成式 AI越来越多地集成到软件开发工作流中,它同样可以为这些工作流提供安全防护。

例如,IBM® Bob 是一款由 AI 驱动的开发助手,基于安全优先原则构建,并践行安全左移理念。它内置评审工作流,可分析代码变更,在开发人员提交代码前标记潜在安全问题。团队可以创建面向安全的代码评审技能项,用于检查源代码中常见漏洞,核验代码是否遵守安全编码规范。

更进一步,Bob 能够基于演员-评论家工作流生成安全代码。演员子智能体按照配置的安全规则编写符合安全要求的代码,评论家子智能体依据已发布的安全标准对代码进行校验。

与此同时,IBM Concert 是智能体 IT 运维平台,可主动提早发现安全风险,避免风险升级为生产故障。Concert Protect 采用 AI 驱动的漏洞管理,判定哪些漏洞需要重点关注,并协调漏洞修复工作。

作者

Rina Diane Caballar

Staff Writer

IBM Think

Cole Stryker

Staff Editor, AI Models

IBM Think

相关解决方案
IBM Instana Observability

利用 AI 和自动化的强大功能,主动解决整个应用程序堆栈中的问题。

深入了解 IBM Instana Observability
DevOps 解决方案

使用开发运维软件和工具,在多种设备和环境中构建、部署和管理云原生应用程序。

探索 DevOps 解决方案
云咨询服务

通过我们的云咨询服务持续实现应用现代化,加速业务敏捷性与增长——支持任意平台部署。

深入了解我们的云咨询服务
采取后续步骤

从 IBM Instana® 的主动问题检测到跨堆栈实时洞察,让云原生应用程序保持高可靠运行。

  1. 了解 IBM Instana
  2. 探索 DevOps 解决方案