什么是DevSecops? 安全大牛白话解说

开发流程包括三个部分:组织文化、过程、技术和软件,以帮助开发和IT运营团队以比传统软件开发流程更快、更敏捷、更迭代的方式构建、测试和发布软件。按照DevOps手册的说法,“在DevOps的概念中,开发人员得到了快速而持续的反馈,这使得他们能够快速而独立地实现、集成和验证自己的代码,并将其部署到生产环境中。


简言之,DevOps旨在消除传统的两个垂直团队(开发和运营)之间的障碍。对于DevOps模型,从开发、测试、部署到运行,开发团队和操作团队在软件应用生命周期中共同工作。什么是DevSecOps?Why?Gartner在2012年的一份报告中提出了DevSecOps这个概念,它在应用安全(AppSec)领域是一个相对新的术语。该软件还包含了安全性团队,即DevOps活动中开发和操作团队之间的紧密协作,从而在软件开发生命周期(SDLC)的早期引入了安全性。


开发人员关注于APP交付的速度,而开发人员则通过尽可能快速地交付尽可能安全的APP来提高速度和安全性。按照DevSecOps的理念,企业应该在DevOps生命周期的每一个部分中集成安全性,包括初始化、设计、构建、测试、发布、支持、维护等。安全是开发环境价值链中每一个人所共有的责任。开发安全Ops包括开发、发布管理(或运行)和安全团队之间的持续的灵活协作。DevSecOps可以更早和有针对性地将安全问题纳入SDLC,如果开发组织从一开始就在代码中考虑了安全问题,那么在漏洞进入生产环境之前或之后发现和修复它们将变得更容易,成本更低。


全部DevSecOps的核心是DevSecOps工具。该软件可以扫描开发代码,模拟攻击行为,帮助开发团队发现开发过程中的潜在安全漏洞。

DevSecOps工具从安全性角度可以分为以下2个种类:


静态应用安全检查软件(SAST),静态APP安全测试(SAST)技术通常是在编码阶段分析APP的源代码或二进制文件的语法、结构、过程、接口等,以发现程序代码存在的安全漏洞。该软件主要用于白盒测试,检测出的问题类型丰富,安全漏洞代码定位准确,比较容易被程序员接受。但由于误报较多,所需人力较大,扫描时间随代码量的增加而显著增加。有:Checkmarx、Fortiqn、代码卫士等等。


安全检测工具在动态应用中(DAST)在渗透测试或运行阶段,动态APP安全测试(DynamicApplicatorSecurommanyTesting)技术分析APP的动态运行状态。该软件模拟对APP开展动态攻击的黑客行为,分析APP的反应,从而判断WebAPP是否容易受到攻击。该软件不区分测试对象的实现语言,采用攻击特征库来开展漏洞发现和验证,可以发现大多数高风险问题,因此在行业网络安全测试中应用十分广泛。但由于此类软件对测试员有一定的专业要求,多数测试员不能实现自动化,测试过程中产生的不良数据会污染业务测试数据,并且无法确定漏洞的具体位置,因此不适用于DevSecOps环境。有:AWVS,Burpsuite,OWASPZAP,等等。

分享: