--- title: "What is DevSecOps? Best Practices, Benefits, and Tools" type: source tags: [] date: 2023-10-30 --- ## Source File - [[raw/Cloud & DevOps/What is DevSecOps Best Practices, Benefits, and Tools.md]] ## Summary(用中文描述) - 核心主题:DevSecOps 将安全实践深度嵌入软件开发生命周期(SDLC),实现"安全即代码" - 问题域:传统 DevOps 在后期才引入安全导致漏洞修复成本高、交付速度慢的问题 - 方法/机制:通过 Shift Left(左移)和 Shift Right(右移)策略,在 CI/CD 流水线中集成 SAST/DAST/SCA/IAST 等自动化安全工具,培养"全员安全责任"文化 - 结论/价值:DevSecOps 能将 70% 的上线后发现的安全漏洞提前预防,实现安全与速度的平衡 ## Key Claims(用中文描述) - 70% 的软件漏洞可在 DevSecOps 实践中被预防 - 安全左移(Shift Left)使团队能在开发早期发现并修复安全问题,降低修复成本 - 自动化安全测试集成到 CI/CD 流水线中,可在不减缓开发速度的前提下保障安全 - DevSecOps 通过"break the build"机制,当安全风险过高时停止构建流程 - SAST、DAST、SCA、IAST 四类安全工具分别覆盖代码编写、运行时、第三方依赖和交互测试等不同阶段 ## Key Quotes > "DevSecOps is a working methodology that includes security checks throughout the software development process." — DevSecOps 核心定义 > "70% of software vulnerabilities discovered post-launch could have been prevented with DevSecOps" — DevSecOps 价值量化 > "Everyone in the organization developing software is liable for security." — 全员安全责任文化 > "Shift left means identifying security flaws early in the software development lifecycle." — 左移策略定义 ## Key Concepts - [[DevSecOps]]:在 DevOps 中全程集成安全实践的工作方法论 - [[Shift Left]]:在软件开发生命周期早期识别并修复安全缺陷的策略 - [[Shift Right]]:在应用上线后持续进行安全监控和问题修复的策略 - [[SAST]]:静态应用安全测试,在代码编写阶段分析源代码以发现漏洞 - [[DAST]]:动态应用安全测试,模拟外部攻击从运行时发现漏洞 - [[SCA]]:软件成分分析,扫描第三方依赖库和框架的已知安全漏洞 - [[IAST]]:交互式应用安全测试,在应用运行时检测其他工具遗漏的漏洞 - [[CI/CD 安全]]:在持续集成/持续交付流水线中自动化执行安全扫描 - [[Break the Build]]:当安全风险超过阈值时自动停止构建流程的机制 - [[Policy as Code]]:以代码形式定义和自动执行安全策略的方法 ## Key Entities - [[OWASP Top Ten]]:Web 应用安全标准,DevSecOps 测试中的重要参考框架 - [[AWS CodePipeline]]:AWS 的 CI/CD 工具,可集成安全扫描 - [[Amazon Inspector]]:AWS 漏洞管理自动化工具 - [[Amazon CodeGuru Reviewer]]:AWS 代码安全和最佳实践审查工具 ## Connections - [[DevOps]] ← extends ← [[DevSecOps]](DevSecOps 是 DevOps 的安全扩展) - [[CI/CD 安全]] ← depends_on ← [[SAST]] / [[DAST]] / [[SCA]] / [[IAST]] - [[DevSecOps]] ← applies ← [[Shift Left]] - [[DevSecOps]] ← applies ← [[Shift Right]] - [[Agile Development]] ← integrates ← [[DevSecOps]] ## Contradictions - 与传统瀑布式开发相比: - 冲突点:传统方式在 SDLC 末期才进行安全测试 - 当前观点:DevSecOps 强调安全全程嵌入 - 对方观点:安全专家在开发完成后再统一介入更专业