技术主题

什么是 DevSecOps?

以问号为重点的信息技术项目图示

概述

DevSecOps 能够在软件开发生命周期的早期阶段将安全测试集成到应用安全中,而不是在软件开发生命周期的末期,因为在末期发现需要缓解的漏洞时,实施起来会更加困难,成本也会更高。

DevSecOps 是DevOps的延伸,有时也被称为安全 DevOps。虽然 DevOps 对不同的人或组织有不同的含义,但它既涉及文化变革,也涉及技术变革。在理想情况下,安全是成功 DevOps 的隐含要求。

DevSecOps 要求从一开始就规划应用程序和基础架构的安全性。正确的工具可以帮助实现持续集成安全的目标,包括选择具有安全功能的集成开发环境(IDE)等决策。这些工具和流程还必须能够自动执行某些安全关卡,以避免拖慢 DevOps 工作流程。至于降低用户对源代码进行恶意操作的风险,可以利用行为分析来监控和检测可能具有恶意性质的异常和活动。

DevSecOps

DevSecOps 有哪些好处?

开发人员在编码时并不总是考虑到安全问题。有了 DevSecOps 思维,开发人员就能在整个软件和应用程序交付管道中增强自动化,从而消除编码错误,最终减少漏洞。此外,由于无意攻击(如社交工程)或有意攻击,内部人员的风险也在不断增加。通过行为分析,企业可以更有效、更高效地检测和应对此类威胁。

实施DevSecOps 工具和流程,将安全集成到 DevOps 框架中的团队将能够更快地发布安全软件。开发人员可以在编写代码时对代码进行安全测试并检测安全漏洞,从而提高他们的安全意识,防止恶意或脆弱代码进入生产环境。自动扫描可作为代码签入、构建、发布或CI/CD管道其他组件的一部分启动。通过与开发人员已经在使用的工具集成,开发团队可以更轻松地提高网络应用程序开发的安全性。


DevSecOps 的关键组成部分是什么?

DevSecOps 方法可能包括这些重要组成部分:

应用程序/API 清单
  • 自动发现、剖析和持续监控整个产品组合中的代码。这可能包括数据中心、虚拟环境、私有云、公有云、容器、无服务器等中的生产代码。结合使用自动发现和自我清单工具。发现工具可帮助您确定拥有哪些应用程序和 API。自我报告工具使您的应用程序能够自我清查并向中央数据库报告其元数据。
自定义代码安全
  • 在整个开发、测试和运行过程中,持续监控软件是否存在漏洞。频繁交付代码,以便在每次代码更新时都能快速发现漏洞。
  • Static Application Security Testing (SAST)扫描应用程序源文件,准确找出根本原因,并帮助修复潜在的安全漏洞。
  • Dynamic Application Security Testing (DAST)模拟对运行中的网络应用程序或服务的受控攻击,以识别运行环境中可利用的漏洞。
  • 交互式应用程序安全测试 (IAST) 通过使用代理和传感器对应用程序进行检测,持续分析应用程序、其基础设施、依赖关系、数据流以及所有代码,从而提供深度扫描。
开源安全
  • 开放源码软件(OSS)经常包含安全漏洞,因此完整的安全方法包括跟踪开放源码软件库、报告漏洞和违反许可证规定的解决方案。
  • 软件构成分析 (SCA)可自动查看开放源码软件 (OSS),以实现风险管理、安全性和许可证合规性。
运行时预防
  • 保护生产中的应用程序--可能会发现新的漏洞,或者遗留应用程序可能不在开发阶段。
  • 管理安全日志可以让您了解哪些类型的攻击载体和系统成为攻击目标。Threat 情报可为威胁建模和安全架构流程提供信息。
合规监测
  • 为审计做好准备,并始终符合 GDPR、CCPA、PCI 等标准。
文化因素
  • 确定安全卫士,为开发人员提供安全培训等。
减少内部威胁
  • 通过持续监控内部人员的活动,在造成损害之前发现恶意行为,从而保护源代码和敏感数据。
人工智能网络安全

IT 运营与 DevSecOps 集成

将 IT 运营整合到 DevSecOps 框架中代表了软件开发和部署实践的重大发展。开发、安全和运营团队之间的这种协同作用对于确保无缝、安全和高效的软件开发生命周期至关重要。通过将 IT 运营纳入 DevSecOps 模型,企业可以在整个软件生命周期中实现更高的敏捷性、更强的安全性和更高的整体性能。

IT 运营对 DevSecOps 的影响是多方面的,涉及开发和部署流程的多个关键领域:

1.部署:自动基础设施交付

在部署领域,IT 运营部在自动交付部署应用程序所需的基础设施方面发挥着举足轻重的作用这种自动化不仅关系到速度,还关系到确保每次部署都严格遵守公司政策和最佳实践。通过自动化基础架构交付,企业可以实现一致且可重复的部署流程,从而大大降低人为错误的风险,同时增强安全性。

这种自动化部署方法有几个好处。首先,它大大缩短了新应用程序和更新的上市时间,使企业能够更快地响应市场需求和客户需求。其次,无论规模或复杂程度如何,它都能确保每次部署都符合组织标准和合规要求。这种一致性对于维护安全、合规的 IT 环境至关重要,尤其是在监管严格的行业。

此外,自动化基础架构交付使团队能够实施基础架构即代码(infrastructure-as-code)实践,在这种实践中,基础架构配置使用与应用程序代码相同的严格流程进行版本控制、测试和部署。这种方法不仅能提高可靠性,还能加强开发和运营团队之间的协作,这也是 DevSecOps 理念的一个关键原则。

2.运行:自动维护和修补

DevSecOps 中 IT 运营的 "运行 "阶段侧重于通过自动修补和更新来维护基础设施。在当今快速发展的威胁环境中,这方面的工作至关重要,因为新的漏洞会定期被发现,而利用漏洞的窗口越来越小。

自动维护和打补丁流程可确保系统及时更新,主动解决安全漏洞和性能问题。这种自动化必不可少,原因有几个。首先,它大大缩短了从发现漏洞到修复漏洞之间的时间,最大限度地减少了暴露窗口。其次,它能确保整个基础设施的一致性,消除与部分或不一致更新相关的风险。

此外,自动化操作减少了人工干预的需要,这不仅节省了时间,还最大限度地降低了人为错误的风险,而人为错误是安全漏洞和系统不稳定的常见根源。通过自动化例行维护任务,IT 团队可以专注于更具战略性的计划,推动创新并改善整体系统架构。

这种运营方法还支持 DevSecOps 中的持续改进原则。通过自动化系统对基础架构进行持续监控和更新,团队可以保持持续优化的状态,确保系统不仅安全,还能以最佳状态运行。

3.监控:生产可观察性

生产环境中的应用程序进行有效监控和观察是成功的 DevSecOps 战略的关键组成部分。这一阶段不仅仅是简单的正常运行时间监控,还包括对应用程序性能、用户体验和潜在安全问题的实时全面洞察。

实施强大的监控和可观察性实践可使企业保持高水平的可靠性和正常运行时间。通过持续收集和分析生产环境中的数据,团队可以在问题影响用户之前发现并加以解决。这种主动解决问题的方法对于保持用户满意度和防止小问题升级为重大事故至关重要。

此外,基础设施的可观察性还为持续改进提供了宝贵的数据。通过分析应用程序性能、用户行为和系统交互的模式,团队可以确定优化和改进的机会。这种以数据为导向的开发方法可确保未来迭代的应用程序不仅功能丰富,而且更加稳定、安全和高性能。

先进的网络监控工具也能在安全方面发挥关键作用。通过实施异常检测和行为分析,企业可以快速识别潜在的安全威胁或可能预示入侵企图的异常活动。将安全监控整合到整体可观察性策略中,体现了 DevSecOps 的整体方法,提供了集成的生产可观察性和生产前测试。

4.计划:持续反馈回路

IT 运营中的规划阶段通过向开发流程提供关键反馈来完成 DevSecOps 循环。这种反馈机制对于推动持续改进和确保开发工作与运营现实和业务目标保持一致至关重要。

通过分析从生产环境中收集到的数据,IT 运营部门可以根据实际性能数据来推动增强请求。这样就能确保根据实际用户需求和系统性能,而不是假设或过时的要求来设定开发优先级。

错误预算的概念是这一规划阶段的另一个重要方面。通过设定可接受的错误和性能问题阈值,团队可以在快速创新需求与系统稳定性要求之间取得平衡。通过这种方法,企业可以做出明智的决策,决定何时推进新功能,何时关注系统可靠性和性能改进。

性能改进计划也是由这种持续的反馈回路驱动的。通过识别生产中的瓶颈、低效或资源利用率高的区域,IT 运营部门可以为开发人员提供具体的优化目标。这种以数据为导向的性能调整方法可确保将工作重点放在对实际生产反馈影响最大的地方。

此外,规划阶段还能使开发重点与运行现实保持一致。通过深入了解在生产中运行应用程序所面临的挑战和限制,IT 运营部门可以帮助确保在设计新功能和更新时从一开始就考虑到可操作性和可维护性。


让 DevSecOps 为您服务

第 1 步:将安全纳入软件要求
第 2 步:尽早、经常和快速测试
第 3 步:利用集成使应用程序安全成为生命周期的自然组成部分
第 4 步:将安全自动化作为开发和测试流程的一部分
第 5 步:在发布期间和之后进行监控和保护


确保您的 DevOps 安全

OpenText的 DevOps 平台提供端到端的 DevSecOps 功能。 它提供了一种统一、灵活的方式,将安全集成到 DevOps 管道中,使您能够以业务速度发布高质量的软件。这个基于云的平台可与您的开发工具协同工作,提高生产效率,最大限度地提高交付质量,确保安全,并使业务目标与开发资源保持一致。

  • OpenText™ Core Software Delivery Platform 将安全无缝集成到每个阶段,促进协作,提高效率。
  • 利用人工智能将数据转化为可操作的见解,推动更明智的决策。
  • 及早发现漏洞,预测安全风险并做好准备。
  • 简化安全流程,加快创新速度,主动应对威胁。
  • 将开发人员从手动安全检查中解放出来,使他们能够专注于突破性创新。
  • 利用Fortify的实时安全洞察力管理威胁并提高威胁应对能力。
  • 将安全集成到您的 CI/CD 管道中,并利用人工智能优化工作流程。
  • 通过安全、合规的软件更快地进入市场,与您的目标完美同步,通过Core Software Delivery Platform +Fortify 推动创新和提高效率。

Fortify 帮助将安全性融入 DevOps

  • 全面、包容和可扩展的应用安全平台,可协调和指导您的应用安全之旅。
  • 利用Core Software Delivery Platform 和Fortify 将安全性嵌入到应用程序开发和部署中。
  • 通过Fortify ,DevSecOps 可在整个 CI/CD 管道中增强测试自动化,以发现编码错误。
  • 自动静态代码分析可帮助开发人员消除漏洞,并通过Static Code Analyzer 构建安全软件。
  • WebInspect 动态应用程序安全测试分析运行状态下的应用程序,并模拟针对应用程序的攻击以查找漏洞。
  • 利用OpenText™ Core Software Composition Analysis全面控制开源安全合规性和社区健康。
  • 通过Fortify Insight,将评估结果汇总、分析和报告到一个玻璃面板中(无论其来源如何),从而使整个企业的评估结果更加清晰明了。

业界领先的 DevSecOps 解决方案


OpenText™ Core Behavioral Signals

它通过将行为分析应用于源代码管理 (SCM) 等IP 资源库的应用日志,独特地解决了后端可视性问题,并能准确定位高风险活动,从而在漏洞发生前阻止不良行为。


IT Operations Cloud 解决方案

OpenText 提供一套全面的IT 运营解决方案,可与 DevSecOps 框架无缝集成,使企业能够充分实现这种集成方法的优势:

在部署阶段,ITOM 可自动进行基础设施配置和应用程序部署,确保各种环境的一致性和合规性。这种自动化不仅加快了部署过程,还大大降低了配置错误和安全配置错误的风险。

在持续运行方面,ITOM为补丁管理和配置管理提供了先进的IT 自动化功能。这些功能对于维护安全、优化的 IT 环境,自动解决出现的漏洞和性能问题至关重要。该解决方案能够管理内部部署和云环境,因此对于拥有混合基础架构的企业尤为重要。

ITOM 的监控和可观察性工具可提供对应用程序和基础设施性能的全面了解。通过提供对系统健康状况、性能指标和潜在问题的实时可视性,ITOM 能够积极主动地解决问题,并帮助维持高水平的服务可靠性。

也许最重要的是,ITOM 提供可操作的见解和分析,推动持续改进。通过分析趋势、识别模式和预测潜在问题,ITOM 可为 IT 团队提供所需的信息,帮助他们做出以数据为导向的决策,并对未来的改进和优化进行战略规划。

我们能提供什么帮助?

脚注