DevSecOps 简介
DevSecOps 是 Gartner 于 2012 年提出的理念,旨在将信息安全意识左移至开发团队,使所有人都为信息安全负责。其核心目的是解决 DevOps 快速交付与传统安全模式之间的冲突,通过快速交付、控制风险和节省成本实现安全与效率的平衡。应用生命周期中,修复安全漏洞的成本随生命周期推移而上升,因此前置/左移安全至关重要。
DevSecOps 现状
根据 Sonatype DevSecOps 社区调研,连续三年仍有约一半开发者承认没有时间处理安全问题,表明安全仍停留在口头重视层面。Synopsys 报告进一步印证了 DevSecOps 实践的紧迫性。
DevSecOps 工具
DevSecOps 工具通过扫描代码、模拟攻击行为发现潜在安全漏洞,主要类型包括:
- 静态应用安全测试工具 (SAST):白盒测试,精准定位漏洞,但误报多、人工成本高。
- 动态应用安全测试工具 (DAST):黑盒测试,发现高风险问题,但无法定位漏洞位置。
- 交互式应用安全测试工具 (IAST):漏洞检出率高,测试过程无感知,但部署成本较高。
- 软件成分分析工具 (SCA):分析开源及第三方软件漏洞,效率高,但需关注开源协议。
- 实时应用安全保护 (RASP):应用内安全技术,提供虚拟补丁,但部署成本高、影响性能。
这些工具可集成到 CI/CD 流水线中实现自动化扫描,如 Checkmarx、Netsparker、Sonatype IQ Server 等。
DevSecOps 体系建设
实现 DevSecOps 面临挑战,建议分阶段推进:
- 信息安全工具:将 DevSecOps 工具嵌入 CI/CD 流水线,实现自动化扫描并生成报表。
- 信息安全培训:通过教学材料、在线培训(如 Secure Code Warrior)和咨询提升安全意识。
- 信息安全意识和专家:建立安全文化,设立开发团队“信息安全专家”制度。
DevSecOps 运营模型包括 DevSecOps 负责人(推广文化、连接团队)、开发团队(集成工具、接受培训)和信息安全团队(提供支持、咨询)。DevSecOps 成熟度模型分为不同阶段,度量指标包括交付速度、交付质量和交付安全(安全能力、安全效率、安全成本)。
DevSecOps 在大型银行的落地实践
汇丰科技中国证券服务科技部门通过以下实践落地 DevSecOps:
- 静态安全应用测试:使用 Checkmarx 自动扫描代码,生成报表并定位漏洞。
- 动态应用安全测试:采用 Netsparker 模拟攻击,与 cyberflow 集成实现中央化管理。
- 开源软件安全:使用 Sonatype Nexus IQ Server 自动扫描第三方依赖,Clouseau 自研工具进一步管理。
- 服务器漏洞扫描:Nessus 收集系统漏洞,Kenna 管理漏洞,Cyber team 提供月报表。
- 工具集成:将 Checkmarx 集成到 Jenkins CI/CD 流水线,实现自动化扫描。
- 安全工具管理平台:自研 Cyberflow 平台手动或自动触发安全扫描。
- 度量平台:建立 DevSecOps 度量平台,跟踪关键指标。
- 培训:通过工具自带资料、在线课程(Secure Code Warrior)和竞赛提升安全技能。
- 文化建设:举办安全编程竞赛、社区分享和安全众测,增强安全意识。
DevSecOps 未来展望
未来 DevSecOps 将进一步左移至需求和架构层面:
- 需求安全:根据需求分类,制作安全检查表。
- 架构安全:根据变更分类,设计架构安全测试。
AI 将助力 DevSecOps 发展,通过智能威胁建模、威胁发现、漏洞自我修复和检测响应,减少确认时间、解决专家紧缺问题,并辅助程序员安全培训。