这个问题确实针对 SDL,但针对 Scrum。微软的 A-SDL 很好,但老实说,我什至不敢在现实中测试它,因为它看起来太学术了。我的意思是他们的要求,需要大量的开发人员!或用于威胁建模的专用 Scrum——以防模型可靠!因此,如果您能分享您用于 Scrum 的任何 SDL 方法的反馈,我将不胜感激(包括 A-SDL,因为您可能会证明我错了!)
我正在寻找有关已测试的 Scrum 安全开发生命周期的反馈?
信息安全
应用安全
sdl
敏捷
2021-09-11 13:04:02
2个回答
非常好的问题... SDL 和敏捷经常被认为是不和,尽管他们不需要。
事实上,我最近在 OWASP 上做了一个关于这个的演讲(一般来说是敏捷,不一定是 SCRUM),起初我遇到了一些怀疑......但最终大多数人至少相信了这种可能性。
我同意 MS 的 SDL,虽然我认为它是大公司的最佳模型之一,但它“很重”(正如我在另一个轻量级 SDL 问题中所说),并且开销很大。(虽然我不认为它是学术性的,但它并不适用于我们大多数人)。
如果没有在这里设置完整的 SDL,也没有了解您的组织的背景,我会说这些是一些重要元素:
- 培训(这已经是大多数敏捷实践的重要组成部分)
- 将 SDL 需求映射到敏捷任务,并允许团队自己完成这些任务。这不是关于通过你的检查站...
- 添加到待办事项中的非功能性故事
- 完成标准(冲刺/发布)
- 产品安全要求 -> “ ab用户”故事
- 基于频率的“楔子”(不是楔子)
- 有些任务是一次性要求,只需像任何其他要求一样完成
- 有些任务适用于每个 sprint - 这些被指定为“Sprint 完成标准”
- 有些仅用于公开发布(有些方法将两者分开,有些将每个 sprint 视为公开发布)-“发布完成标准”
- 有时你可能想做一个“安全高峰”——一个专注于不同安全方面的整个冲刺
- MS 关于“桶”要求的想法似乎不错,尽管我从未实现过它,并且很大程度上取决于组织的文化/需求。(设置一组具有相同分类的req,或“桶”,每次需要从每个桶中选择一个)。
这只是大致轮廓...如果您需要更多详细信息,请告诉我。当然,每个楔子的内容,以及必须在何时/如何执行哪些活动,实际上取决于了解您的组织、文化、需求、风险状况等。
我发现需要接受的“经典”SDL(或“瀑布”SDL)的概念上最重要的变化是:
“经典”SDL 是关于控制。
敏捷 SDL 是关于可见性
用 ICONIX 代替 Scrum。唯一适用于 Scrum 的就是以安全为中心的迭代审查和棘轮。很多 Scrum 部署都是蓝绿色的,因此优化这些部署以提高安全性也是有意义的。如果使用托管代码,或者监视禁用的函数列表,那么强化 VM 将是非常明智的。此外,可以使用安全的外部组件。实际上您可以做很多事情,但忘记 SDL、Touchpoints 或 CLASP。