1、1在我们进入SDLC的阶段之前,我们应该通过项目管理把这些阶段合在一起。安全计划应当在项目开发之初制定并集成到功能计划中,以保证安全不被忽视。安全计划应该有自己的生命周期。有时,安全计划需要进行增加或者删减,并在以后的项目过程中进行详细解释。保持安全计划的更新对以后的引用十分重要。这是因为,一旦大型的复杂项目开始,经常会出现对项目跟踪的失控。安全计划和项目管理活动需要进行审计,以保证与安全相关的决定能够被理解。需求收集安全风险评估隐私权风险评估可接受的危险级信息、功能和行为需求设计攻击面分析威胁建模开发自动化CASE工具静态分析测试/验证动态分析模糊人工测试单元、集成、接受和回归测试发布/维护
2、最终安全审核23在现实中以单一模型使用开发方法的情况极为罕见。相反的是,组织会以基本方法开始,并对其进行修改以适用于他们自己的独特环境。然而,为应对CISSP考试,你应该把重点放在各种开发方法的区别上。45能力成熟度模型集成(Capability Maturity Model Integration,CMMI)集成了一整套产品和软件开发指南。它涉及软件开发生命周期的不同阶段,包括概念定义、需求分析、设计、开发、集成、安装、操作、维护等阶段,以及每个阶段应该做什么。可以根据该模型来评估安全工程实践并标识改进方法。客户也可以根据它来评估软件供应商,最理想的情况是二者结合,即软件供应商使用该模型提升
3、流程,而客户使用该模型评估供应商的做法。使用的成熟度级别有下列5种:初始 开发过程很随意,甚至非常混乱。该公司没有使用一个有效的管理流程和计划。没有一致性的保证,质量不可预测。可重复 正式的管理结构、变更控制和质量保证。该公司可以在不同项目中适当地重复一些过程。该公司并没有定义正式的过程模型。定义 有正式流程,其中描述和定义了在不同项目中的过程。该公司有方法对过程进行定量的改善。管理 公司有一个正式的过程,可以收集和分析定性数据。度量被定义并提供给过程改善程序。优化 公司对持续改善过程有了预算和整体计划。6代码库通常是版本控制系统,它在任何组织中都扮演着存贮组织最重要信息的角色。如果我们将自己代入竞争对手的角色,我们可以想出各种关于代码库的邪恶情景。也许最普遍的就是:我们的源代码会被盗取。这不是使用我们劳动结果,这而是我们的知识产权。如果源代码已经投产,那么竞争对手将可以利用它来找到漏洞,并进一步攻击。最后,对手可能有意将漏洞插入到我们的软件中,也许这些软件已通过所有测试并获得信任,这样对手就可以选择适当时机利用该漏洞。显然,保护我们的源代码是很关键的。78