前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【应用安全】微软的安全开发生命周期(SDL)

【应用安全】微软的安全开发生命周期(SDL)

作者头像
Bypass
发布2019-07-08 17:48:32
3.9K0
发布2019-07-08 17:48:32
举报
文章被收录于专栏:BypassBypass

01

SDL介绍

安全开发生命周期(SDL)即Security Development Lifecycle,是一个帮助开发人员构建更安全的软件和解决安全合规要求的同时降低开发成本的软件开发过程。

02

SDL流程

自2004年起,SDL就成为Microsoft全公司的计划和强制施行政策,其核心理念就是将安全考虑集成在软件开发的每一个阶段:需求分析、设计、编码、测试和维护。从需求、设计到发布产品的每一个阶段每都增加了相应的安全活动与规范,以减少软件中漏洞的数量并将安全缺陷降低到最小程度。安全开发生命周期 (SDL)是侧重于软件开发的安全保证过程,旨在开发出安全的软件应用。

Microsoft 安全开发生命周期 – 简化(英文版)

Microsoft 安全开发生命周期 – 简化(中文版)

3、 需上报问题的FSR。如果团队未满足所有SDL要求,并且安全顾问和产品团队无法达成可接受的折中,则安全顾问不能批准项目,项目不能发布。团队必须在发布之前解决所有可解决的问题,或者上报高级管理层进行抉择。

阶段16:发布/存档

在通过FSR或者虽有问题但达成一致后,可以完成产品的发布。但发布的同时仍需对各种问题和文档进行存档,为紧急响应和产品升级提供帮助。从以上的过程可以看出,微软的SDL的过程实施非常细致。微软这些年来也一直帮助公司的所有产品团队,以及合作伙伴实施SDL,效果相当显著。

SDL 过程图示:

03

SDL实战经验

准则:

  • 与项目经理进行充分沟通,排除足够的时间
  • 规范公司的立项流程,确保所有项目都能通知到安全团队,避免遗漏
  • 树立安全部门的权威,项目必须由安全部门审核完成后才能发布
  • 将技术方案写入开发、测试的工作手册中
  • 给工程师培训安全方案
  • 记录所有的安全bug,激励程序员编写安全的代码

04

总结

SDL中的方法,试图从安全漏洞产生的根源上解决问题,通过对软件工程的控制,保证产品的安全性。本文简单介绍了一下微软SDL,但流程复杂,落地难,借鉴微软SDL流程框架,思考如何构建符合自己公司的SDL流程框架。接下来会写几篇关于SDL的学习与思考,待续。

参考文献:

代码语言:javascript
复制
[1]【软件安全设计】安全开发生命周期(SDL) http://blog.nsfocus.net/sdl/
[2] 微软SDL官方地址
http://www.microsoft.com/security/sdl/default.aspx
[3] Microsoft SDL 的简化实施 
https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=12379
[4] 应用安全与微软SDL-IT流程
https://blogs.technet.microsoft.com/gcrsec/2008/09/22/sdl-it/ 
[5] SDL 威胁建模工具入门
https://msdn.microsoft.com/zh-cn/magazine/dd347831.aspx
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-11-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Bypass 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档