什么是 DevSecOps?
DevSecOps分别代表开发、安全和运营。这是一个新的工作流程,涉及将安全实践集成到所有DevOps流程中。
DevSecOps在开发过程的早期进行安全实践和实施。这就创造了一种文化,即安全是每个人的责任,而不仅仅是安全团队的责任。
将安全性构建到软件交付生命周期的每个阶段,可实现持续集成和高速开发,同时减少安全问题并降低合规性成本。
DevSecOps 如何提高安全性和质量
使用DevSecOps模型的组织明白,安全性不应该是事后才考虑的,而应该是软件开发生命周期(SDLC)的核心部分。
DevSecOps协作比DevOps更困难,因为它需要同时实现两个看似矛盾的目标——加快交付过程,同时花费更多时间来确保代码的安全性和没有bug。
为了在不影响产品质量的情况下实现DevSecOps,组织需要创建一种处理安全即代码的文化,鼓励开发人员考虑项目的安全性并自动执行安全任务。组织需要在IT工程师、软件开发人员和安全团队之间建立持续的沟通和协作。
DevSecOps中常见安全测试工具
静态应用程序安全测试 (SAST)
SAST 工具在部署应用程序之前检查源代码、字节码或二进制文件,以识别漏洞、缺陷,以便在造成更严重的破坏之前就修复它。SAST工具还可以检测编码标准和规范。SAST 也称为白盒测试,指的是它正在查看代码内部以查明漏洞的确切位置。通过自动执行代码安全审查,SAST 工具可以同时检查完整的代码库和应用程序的各个部分。开发人员可以看到每个潜在问题的确切位置并获得反馈,即便存在问题的代码没有涉及到系统实际运行。这有助于更快速地修复,并有助于防止开发人员在未来出现错误。
动态应用程序安全测试 (DAST)
DAST工具检查在真实环境中运行的应用程序的安全性,通过安全地模仿攻击者的行为从外到内探测它们。由于DAST从外部工作,对源代码没有可见性,因此它有时被称为黑盒测试。
由于 DAST 不需要访问源代码,因此它可以适用于几乎任何语言或语言组合编写的应用程序。在 Web 应用程序中,DAST 工具可以发现配置错误、加密或身份验证问题以及可利用的攻击漏洞,例如服务器端请求伪造和SQL 注入。由于 DAST 需要一个正在运行的应用程序,因此它通常在软件开发的后期阶段使用。
交互式应用程序安全测试 (IAST)
IAST工具或灰盒测试系统利用了SAST(白盒)和DAST(黑盒)方法的元素,旨在结合它们各自的优势。IAST通常链接到一个正在运行的应用程序,并通过一组单独的测试结果提供对其内部工作的深入了解。
DevSecOps 强调从一开始就将安全实践和工具集成到开发过程中,这有助于从一开始就防止安全事件的发生。