主页 topics 什么是 DevSecOps? 什么是 DevSecOps?
深入了解 IBM 的 DevSecOps 解决方案 订阅 AI 主题最新消息
包含齿轮、机械臂、手机象形图的拼贴插图
什么是 DevSecOps?

DevSecOps 是 DevelopmentSecurityOperations 的缩写,是一种应用程序开发实践,可在软件开发生命周期的每个阶段(从初始设计到集成、测试、交付和部署)自动集成安全性和安全实践。

DevSecOps 代表了开发组织处理安全问题之方式的自然而必要的演变。过去,在开发周期结束时,“追加”软件的安全性,这几乎算是种事后补救措施。一个单独的安全团队应用这些安全措施,然后一个单独的质量保证 (QA) 小组测试这些措施。

在软件更新每年仅发布一到两次的情况下,处理安全问题的此能力处于可控状态。但是,随着软件开发人员采用敏捷与 DevOps 实践,以期将软件开发周期缩短到数周甚至数天,传统的“固定”安全方法则会产生无法接受的瓶颈。

DevSecOps 将应用程序和基础架构安全性无缝集成到敏捷和开发运维流程和工具中。它在安全问题出现时,以及在部署到生产之前,以更容易、更快、更低成本的方式解决这些问题。

此外,DevSecOps 将应用程序和基础设施安全作为开发、安全和 IT 运营团队的共同责任,而不是安全孤岛小组的独有责任。它通过在不拉长软件开发周期的情况下,自动交付安全软件,“更快获得更安全的软件”- 这是 DevSecOps 的座右铭。

全企业智能自动化指南

了解智能自动化如何为您的业务运营提供竞争优势。

相关内容

阅读有关更智能 AIOps 的电子书

DevSecOps 的优点

DevSecOps 的两大优势在于速度和安全性。因此,开发团队可更快、更经济地交付更出色、更安全的代码。

“DevSecOps 的目的和意图依赖于每个人都对安全负责的理念,其目标是在不牺牲所需安全性的情况下将安全决策快速、大规模地安全分发给拥有最高级别上下文的人员”,《DevSecOps 宣言》的合著者 Shannon Lietz 表示。

快速、经济高效的软件交付
 

在非 DevSecOps 环境中开发软件时,安全问题可能会导致重大时间延迟。修复代码和安全问题既费时又费钱。快速、安全的 DevSecOps 交付最大限度地减少了事后解决安全问题的重复流程,从而节省了时间并降低了成本。

由于集成式安全性可消除重复审查和不必要的重建,从而可使代码更为安全,因而该流程会变得更加高效且更具成本效益。

改进的主动式安全
 

DevSecOps 从开发周期初始就会引入网络安全流程。在整个开发周期中,会对代码进行审查、审计、扫描和测试,从而查找安全问题。一旦发现此类问题,便会立即解决。在引入其他依赖项之前,安全问题便已得到解决。如果在此周期的早期便确定并实施保护性技术,安全问题的修复成本便会降低。

此外,开发、安全和运营团队之间更好的协作可以提高组织在事件和问题发生时的响应能力。DevSecOps 实践减少了修补漏洞的时间,让安全团队能够专注于价值更高的工作。这些做法还能确保并简化合规性,使应用程序开发项目无需进行安全改造。

加速安全漏洞修补
 

DevSecOps 的一个主要优势是它可以快速管理新发现的安全漏洞。由于 DevSecOps 将漏洞扫描和修补集成到发布周期中,识别和修补常见漏洞和暴露 (CVE) 的能力变得不太重要。这种特性限制了威胁参与者所需的、利用面向公众的生产系统中漏洞的时间窗口。

与现代开发兼容的自动化
 

如果组织使用持续集成/持续交付管道来交付其软件,则可以将网络安全测试集成到运营团队的自动化测试套件中。

安全检查的自动化在很大程度上取决于项目和组织目标。自动化测试可以确保合并的软件依赖项处于适当的补丁级别,并确认软件通过了安全单元测试。此外,它还可以通过静态和动态分析来测试和保护代码,然后再将最终更新提升到生产环境。

可重复和自适应的过程
 

随着组织的成熟,其安全状况也日趋成熟。DevSecOps 适合可重复和自适应的流程。DevSecOps 可确保在整个环境中一致地应用安全性,并随环境的变化适应新的要求。成熟的 DevSecOps 实施将具有可靠的自动化、配置管理、编排、容器、不可篡改的基础设施甚至无服务器计算环境。

DevSecOps 的最佳实践

DevSecOps 应该自然地将安全控制措施纳入您的开发、交付和运营流程。

左移
 

“左移”是 DevSecOps 的口头禅:它鼓励软件工程师将安全性从 DevOps(交付)流程的右侧(结束)移至左侧(开始)。在 DevSecOps 环境中,安全性从一开始便是开发流程中不可或缺的一部分。

使用 DevSecOps 的组织会将其网络安全架构师和工程师纳入开发团队。他们的工作是确保堆栈中的每个组件和每个配置项目都得到修补、安全配置和记录。

“左移”使 DevSecOps 团队能够及早识别安全风险和暴露,并确保立即应对这些安全威胁。开发团队不仅考虑高效地构建产品,而且还在构建产品时实施安全性。

安全教育
 

安全性是工程与合规性的结合。组织应该在开发工程师、运营团队和合规团队之间建立联盟,以确保组织中的每个人都了解公司的安全状况并遵循相同的标准。

参与交付流程的每个人均应熟悉应用程序安全的基本原则。他们应该了解前 10 名开放 Web 应用程序安全项目 (OWASP)、应用程序安全测试以及其他安全工程实践。开发人员需了解威胁模型、合规性检查,并掌握如何衡量风险、暴露以及实施安全控制措施的实际知识

文化:沟通、人员、流程和技术
 

良好的领导能培育良好的文化,促进组织内部的变革。在 DevSecOps 中,传达流程安全和产品所有权的责任非常重要且必不可少。只有这样,开发人员和工程师才能成为流程所有者,并对他们的工作负责。

DevSecOps 运营团队应使用适合其团队和当前项目的技术和协议创建一个适合他们的系统。通过允许团队创建适合其需求的工作流程环境,他们将成为项目结果的投资利益相关者。

可追溯性、可审计性和可见性

在 DevSecOps 流程中实施可追溯性、可审计性和可见性能带来更深入的洞察和更安全的环境:

  • 可追溯性允许您在整个开发周期中跟踪配置项目,直至需求在代码中实现的位置。可追溯性可以在组织的控制框架中发挥至关重要的作用。此过程有助于实现合规性,减少错误,确保应用程序开发中的代码安全,并有助于代码的可维护性。

  • 可审计性对于切实遵守安全控制措施非常重要。技术、程序和管理层面的安全控制措施需可进行审计、充分进行记录并由所有团队成员切实遵守。

  • 可见性在一般情况下是一种良好的管理实践,但对于 DevSecOps 环境来说非常重要。组织应该有一个可靠的监控系统来测量运行的重要特征并发送警报。该系统应该能够在变化和网络攻击发生时提高对它们的认识。该系统应在整个项目生命周期中提供问责制。
相关解决方案
IBM 智能自动化解决方案

深入了解 IBM® 全面的集成、AI 和自动化功能组合,以实现您所需的投资回报率。

深入了解 IBM 智能自动化解决方案
IBM UrbanCode

深入了解 IBM UrbanCode® 如何加快和优化本地、云和大型机应用组合的软件交付。

探索 IBM UrbanCode
IBM DevOps 解决方案

采用强大的开发运维软件来跨多个设备、环境和云构建、部署和管理高度安全的云原生应用程序。

深入了解 IBM 开发运维解决方案
资源 利用 AI 使您的 IT 运营经得起未来考验

获取独家 Gartner® 分析师报告,了解面向 IT 的 AI 如何改善业务成果、增加收入并降低组织的成本和风险。

什么是 AIOps?

了解 IT 运营人工智能 (AIOps) 如何使用数据和机器学习来改进和自动化 IT 服务管理。

AI 驱动的 IT 自动化

下载 IBM Cloud® 信息图,了解人工智能驱动的自动化对 IT 运营的好处。

采取后续步骤

借助 IBM Turbonomic,可通过经济高效的方式无缝、持续运行应用程序,帮助实现高效的应用程序性能,同时降低成本。

探索 Turbonomic 预订免费演示