我们将确保我们的软件开发生命周期,并一直在研究一个良好的模型开始。我发现了三种主要的模型(方法?)它们是:
我无法选择其中任何一个,因为我不知道哪一个比另一个是最好的选择,我需要一些专业人士来指导我根据他们自己的项目经验,并帮助我们更好地决定。
这些模式的利弊是什么?
如果有人能以这样一种方式指导我们,那么这些模型之间的区别就会更清楚,那就太好了。或者,如果一个套间的项目比其他的要好。
我们将为一家金融机构开发一个软件项目,因此,如果这对我们需要选择的模型施加了一些限制,请提前指导我们。
发布于 2014-03-10 15:58:45
就我个人而言,我发现OpenSAMM是一个很好的资源,但前提是您有了一些设置。它是一个成熟度模型,它基本上是一个工具,用来确定你做的事情有多好。换句话说,它关注的是度量和报告。不要误解我的意思,我认为那份文件中有很多好的信息,但更多的是第二阶段的信息。
我还没有读过Cigital,所以我不能对此发表评论。
MS非常容易遵循。我们发现大部分文档都无关紧要,特别是当他们进入特定的东西来检查c/c++文件和编译器标志时,但是核心概念是好的。
您要做的是采取SDLC,并映射到您现在所做的阶段。一旦有了映射,就可以确定MS在每个阶段做什么,然后选择其中的一个子集(或全部)来包含在您的流程中。
将SDLC视为您将用于创建开发团队将遵循的文档/流程的工具。因此,例如,您可能应该为开发团队发布一个“开发最佳实践指南”(例如,作为开发培训的一部分)。既然你们是金融界的人,你们会希望PCI/SOX的东西被包括在这个文档中。为了扩大规模,微软SDLC讨论了开发人员培训的问题。你必须根据你的团队和目标量身定做。例如,您可能会做很多c#培训,因此您希望将c#培训作为您的培训目标的一部分。
这些模型中的大部分将归结为几个主要组件。
1) (在需求阶段)构建安全性,确保您正在查看正确的文档/策略,并且功能性/非功能性需求从一开始就侧重于安全性。确保你的目标与客户的目标一致。创建bug栏等。确保体系结构支持故障安全、强密码、事件响应等。
2)培训、培训、培训开发人员需要培训。当他们知道该做什么的时候,他们就会表现得更好,这在他们的头脑中是最前面的。制定一个培训计划,重点是长期专业发展以及短期(视需要)培训。
3)通过以下最佳实践交付安全产品,然后根据最佳实践验证开发(选择as、OWASP前10或组合等框架),然后确保您已经正确完成了它。做笔测试。
4)支持确保您构建了正确的流程以支持您的应用程序/客户端的前进。
顺便提一句,如果你在寻求专业的帮助,你应该考虑付钱让别人来帮你。
发布于 2014-03-09 17:29:13
OpenSAMM的目标设定为每个项目达到一定的ASVS级别。然后,还给OWASP社区。
发布于 2014-03-10 12:33:26
安全开发方法背后的思想是,您在项目生命周期的早期考虑和解决安全问题。
我建议使用CLASP (全面的、轻量级的应用程序安全流程)来开始您当前的开发方法。
https://security.stackexchange.com/questions/53019
复制相似问题