敏捷与DevOps中的实践安全

背景简介

敏捷和DevOps的兴起,彻底改变了软件开发和运维的实践。本书《Practical Security for Agile and DevOps》旨在帮助当前和未来的应用程序安全专业人员,掌握在敏捷和DevOps环境中实施安全的最佳实践。

Chapter 2: Deconstructing Agile and Scrum

敏捷和Scrum的目标在于快速迭代和持续改进,但安全往往在快速交付的压力下被忽略。为了应对这一挑战,需要理解敏捷和Scrum的核心术语和角色,以及如何解开冲刺循环,将安全融入到每个开发阶段。

敏捷和Scrum的目标

敏捷和Scrum旨在提高软件交付的速度和质量,但这一切都要建立在安全的基础之上。为了达到这个目标,团队成员必须明确自己的角色,比如产品负责人、开发人员和Scrum Master等,并且要对敏捷和Scrum的术语有深刻理解。

Chapter 3: Learning Is FUNdamental!

在敏捷和DevOps中,学习是一个持续的过程。教育提供了背景信息,这对于理解软件安全至关重要。本章探讨了软件安全教育的原则,如何吸引人们的注意力,并提供了推广培训的策略。

Chapter 4: Product Backlog Development—Building Security In

安全性不应作为后期添加的特性,而应从需求分析阶段就开始构建。非功能性需求(NFRs)通常被忽视,但它们对于确保软件的质量和安全性至关重要。本章详细介绍了如何测试NFRs,并强调了安全性作为NFRs的一个重要方面。

Chapter 5: Secure Design Considerations

安全设计是构建安全软件的基础。本章探讨了攻击面的映射、安全边界的概念以及如何应用深度防御、使用积极安全模型和安全失败等原则。

Chapter 6: Security in the Design Sprint

设计冲刺是敏捷开发中的一个重要环节。本章讨论了在设计冲刺中如何进行安全设计和架构审查,包括风险分析、威胁建模和缺陷移除的最佳实践。

Chapter 7: Defensive Programming

防御性编程是防止软件缺陷的有效方法之一。本章从攻击的演变、威胁和脆弱性分类开始,深入到输入验证和处理的最佳实践,以及OWASP的安全编码实践。

Chapter 8: Testing Part 1: Static Code Analysis

静态代码分析(SAST)是保证代码质量的重要工具。本章探讨了SAST在开发冲刺中的应用,包括策略、工具选择以及与手动代码审查的比较。

Chapter 9: Testing Part 2: Penetration Testing/Dynamic Analysis/IAST/RASP

渗透测试、动态分析、交互式应用程序安全测试(IAST)和运行时应用程序自我保护(RASP)是保证软件安全的几种测试方法。本章详细介绍了这些测试方法的策略和部署策略。

Chapter 10: Securing DevOps

DevOps的安全性需要在整个流程中“向左移位”。本章讨论了如何改变商业文化、使DevOps运作的三种方式以及OWASP的DevSecOps成熟度模型。

Chapter 11: Metrics and Models for AppSec Maturity

衡量应用安全成熟度可以帮助组织确定安全实践的状态。本章介绍了安全和弹性成熟度模型、软件保证成熟度模型—OpenSAMM以及成熟度等级。

总结与启发

本书为现代软件开发和运维团队提供了一套完整的安全实践框架。通过敏捷和Scrum方法的深入解析,强调了安全在每个开发阶段的重要性。学习和教育是安全文化的基础,而安全设计和测试是保障安全的两个关键环节。本书还提供了DevOps环境中安全的策略和模型,帮助团队在保证速度和效率的同时,也确保了软件的安全性。通过阅读这些章节,我们意识到安全不能被简化为一个单独的阶段,而是一个持续的、需要在整个软件开发生命周期中不断考虑的过程。

你可能感兴趣的:(敏捷,DevOps,安全性,测试方法,安全成熟度)