分阶段:
0. 教育和意识
1.微软成功的原因在于管理层支持和教育与培训.
2.工程师必须对基本的安全弱点、常见的安全漏洞类型、基本的安全设计有所了解。
3.主要教育如下:软件工程原理、历史项目总结,经验,教训、软件架构、测试方法、事件交换技术、可信度、可伸缩性、理解未来技术方向、各种技术例如XML,ASP,SOAP等、编程语言、接口设计、可访问性
4.bug hash活动的初衷不是让人人都成为安全专家,相反仅仅是为了提高人民的安全意识、并让人们清楚地知道安全部门希望将来(或现在)做些什么样的改进。
5.演讲内容包括可信计算机概述、SDL简介、安全设计基础(受攻击面分析、深度防御、最小特权、安全默认配置)、威胁建模(设计威胁建模、编码威胁建模、测试威胁建模)、FUZZ模糊测试、安全编码最佳实践(缓冲区溢出、整型数值问题、XSS、SQL INjection、弱加密机制,微软.net规范问题)
6.微软开发课程主要包括安全的软件设计,开发和测试基础、模糊测试精要、威胁建模精要、实施威胁消减措施、安全设计与架构、SDL介绍和最终安全评审过程、安全工具概述、实战安全代码评审、安全编程实践、安全bug精要、受攻击面分析、漏洞开发、打包过程需求、应急响应、加密范例、客户隐私
7.培训类型可以把培训拍摄下来放到公司内网,以便工程师随时方便地访问培训资源,同时录像以及在线教学课件有助于地址位置分散的开发团队或者被收购的外部团队获得培训。
8.开发一个新课程的步骤
一.课程特定对象以及目标听众
二.一个安全专家创建该新课程
三.其他专家对课程就技术准确度以及可用性进行多次审核
四.培训(非安全专家)查找一致性以及排版错误,并校对课程资料
五.提交beta课程,该课程的目的在于对时间进度进行微调并获得初步内容反馈
六.6个月内至少每月交付一次课程
七.六个月后,进行录像的同时把资料放到内网
9.追踪参与度和合规度(配合人力资源签到看参与度,同时要有反馈表)
第一阶段:项目启动
1.任命安全专家的工作职责
1.1 担任开发团队与安全团队之间沟通的桥梁
1.2 召集开发团队举办SDL启动会议
1.3 对开发团队的设计与威胁模型进行评审
1.4 分析并对bug进行分类,如安全类,隐私类
1.5 对开发团队的设计与威胁模型进行评审
1.6 担任开发团队的安全传话筒
1.7 协助开发团队准备最终安全审核
1.8 与相应安全团队协同工作