DevOps理念旨在将Ops(运维)融入到敏捷开发模式之中,经过多年的探索与磨合,形成了一些企业特色的融合模式,但未形成通用方案。随着2017年DevSecOps理念相继出现,促使Sec(安全)也要融入到敏捷开发模式。当前安全融入传统开发模式的典型理论是安全开发生命周期管控(Security Development Lifecycle,下文简称:SDL)。那么SDL如何在敏捷模式下生根发芽呢?
我们先来回顾下SDL在国内传统开发模式下的实践情况,下面我们列举四个企业SDL的建设案例,说明这些企业建设的重点和存在的问题:
企业甲:偏重“安全需求”管控,梳理关键应用典型业务场景,通过威胁建模及威胁资源库相结合方式,构建安全需求库、安全设计库等一系列资源库。在使用过程中,通过快速索引安全需求,导出安全需求及安全设计方案。But,安全管控流程终止在安全编码阶段,安全测试由不同角色负责,无法与安全设计形成统一的测试用例,并且缺乏测试经验的积累,采用传统的渗透测试或众测进行“双盲”测试。流程不完整,技术措施覆盖度不够,无有效的考量指标;
企业乙:偏重“安全设计”管控,依据行业标准、国际标准以及内部标准,导出安全需求,针对全量安全需求进行详细安全设计。如:业务流程安全设计、系统技术架构安全设计、承载环境安全架构设计及网络安全架构设计。But,无整体管控流程控制,安全需求一次性导出,技术措施不具备灵活性,人员技能不足无法较好地使用安全设计;
企业丙:偏重“安全编码”管控,针对具体威胁场景程撰写安全设计规范、安全编码规范,并根据规范定制安全组