微软最早提出了安全软件开发生命周期(SDL),微软SDL定义软件开发生命周期中需求、设计、开发、测试及维护各个阶段的安全活动,其核心概念是让安全活动参与到整个开发生命周期,这样一个漏洞在越早的阶段修复,其花费的成本越小。