OWASP 软件保证成熟度模型 2.0
成熟度模式SAMM 是一个规范性模型,是一个开放的框架,易于理解、定义明确且可衡量。它帮助组织制定和实施软件安全策略。
教育与指导
3收益 对所有相关员工进行基本的安全意识教育 活动 为所有目前参与软件管理、开发、测试或审计的角色开展安全意识培训。目标是提高对应用程序安全威胁和风险的认识,了解安全最佳实践以及安全软件设计原则。培训可内部开发或外部采购。理想情况下,应当亲自进行培训,这样参与者可以作为团队进行讨论,但基于计算机的培训(CBT)也是一种选择。课程内容应涵盖与应用安全和隐私相关的各类主题,同时保持对非技术受众的可理解性。适用的概念是安全设计原则,包括最小特权、防御纵深、故障安全(安全)、完全中介、会话管理、开放设计和心理可接受性。此外,培训应包括对为提高应用程序安全性而制定的任何全公司范围的标准、政策和程序的参考。OWASP 十大漏洞应在高层次上进行涵盖。所有参与软件开发的员工和承包商都必须接受培训,并且需要有可审计的签字以证明合规性。可以考虑采用创新的培训方式(例如游戏化)以最大化培训效果并防止麻木化。相关员工角色根据其具体职位接受培训。活动:针对组织的角色和技术,开展讲师授课或计算机基础培训(CBT)安全训练,从核心开发团队开始。组织会根据各组的技术需求,为产品经理、软件开发人员、测试人员和安全审计员定制培训。产品经理接受与 SAMM 业务功能和安全实践相关的培训,重点是安全需求、威胁建模和缺陷跟踪。开发人员则接受他们所使用技术的编码标准和最佳实践培训,以确保培训能够直接有助于应用程序安全。他们对OWASP十大漏洞或与所使用技术和框架(例如移动端)相关的类似弱点有扎实的技术理解,并了解每个问题的最常见修复策略。测试人员接受培训,学习组织中使用的技术的不同测试工具和最佳实践,以及识别安全缺陷的工具。安全审计员接受关于软件开发生命周期、组织中使用的应用安全机制以及提交安全缺陷进行修复的流程的培训。安全冠军则接受来自软件开发生命周期各个阶段的安全主题培训。他们接受与开发人员和测试人员相同的培训,但也理解威胁建模和安全设计,以及可以集成到构建环境中的安全工具和技术。包括该流程成熟度等级 1 活动的所有培训内容,以及额外的特定角色和特定技术内容。去除培训中不必要的部分。理想情况下,为每项技术确定一名主题专家,协助采购或开发培训内容并定期更新。培训包括使用故意弱化的应用程序(如 WebGoat 或 Juice Shop)演示漏洞利用的过程。包括之前渗透测试的结果作为漏洞示例及已实施的修复策略。请渗透测试人员协助制定漏洞利用演示示例。所有参与软件开发的员工和承包商都必须接受培训,培训包括可审计的签署以证明合规性。在可能的情况下,培训还应包括测试,以确保理解,而不仅仅是合规。每年更新并提供培训,以涵盖组织、技术和趋势的变化。对培训参与者进行调查,以评估培训的质量和相关性。收集其他与其工作或环境相关的信息建议。在员工从事关键任务之前,确保所有员工具备足够的安全知识。活动:实施正式培训计划,要求所有参与软件开发生命周期的人员在入职过程中完成与其角色和技术相关的适当培训。根据应用程序的重要性和用户的角色,考虑在完成入职培训之前限制访问权限。虽然组织可能会从外部获取一些模块,但该计划由内部主持和管理,并包括超越一般安全最佳实践、特定于组织的内容。该项目有明确的课程安排,会检查参与情况,并测试理解和能力。培训包括行业最佳实践与组织内部标准的结合,包括针对组织使用的特定系统的培训。除了与安全直接相关的问题外,该组织还为该计划制定了其他标准,例如代码复杂性、代码文档、命名规范以及其他与流程相关的规范。本培训旨在尽量减少员工遵循组织外部实践所带来的问题,并确保代码风格和能力的持续性。为了便于跟踪进度并顺利完成每个培训模块,组织提供了一个学习管理平台或具有类似功能的其他集中门户。员工可以监控自己的进度,并且即使在完成初始培训后,也可以访问所有培训资源。每年至少审查一次因员工未遵守既定标准、政策、程序或安全最佳实践而产生的问题,以评估培训的有效性,并确保培训涵盖与组织相关的所有问题。定期更新培训,并对员工进行关于任何变化和最常见安全缺陷的培训。标准:培训是可重复的、一致的,并且对任何参与软件开发生命周期的人都可用 | 培训内容包括最新 OWASP Top 10 的相关内容,并涵盖最小特权、防御深度、安全失败、完整授权、会话管理、开放设计和心理可接受性等概念 | 培训要求参与者签字确认或承认 | 您已在过去 12 个月内审查过培训内容,并已完成任何必要的更新 | 所有新入职的相关员工必须在入职过程中完成培训 | 现有相关员工在内容新增/修订时必须完成培训,或者至少每 24 个月完成一次复训,以先到者为准
收益 对所有相关员工进行基本的安全意识教育 活动 为所有目前参与软件管理、开发、测试或审计的角色开展安全意识培训。目标是提高对应用程序安全威胁和风险的认识,了解安全最佳实践以及安全软件设计原则。培训可内部开发或外部采购。理想情况下,应当亲自进行培训,这样参与者可以作为团队进行讨论,但基于计算机的培训(CBT)也是一种选择。课程内容应涵盖与应用安全和隐私相关的各类主题,同时保持对非技术受众的可理解性。适用的概念是安全设计原则,包括最小特权、防御纵深、故障安全(安全)、完全检测、会话管理、开放设计和心理可接受性。此外,培训应包括对任何为提高应用程序安全性而制定的组织范围内的标准、政策和程序的参考。应在高层次上涵盖 OWASP 前十漏洞。所有参与软件开发的员工和承包商都必须接受培训,并需要提供可审计的签署以证明合规性。可以考虑采用创新的交付方式(例如游戏化)以最大化培训效果并防止麻木化。相关员工角色根据其特定职位接受培训。活动:根据组织的角色和技术,进行讲师指导或计算机基础培训(CBT)安全训练,从核心开发团队开始。组织会根据各组的技术需求,为产品经理、软件开发人员、测试人员和安全审计员定制培训。产品经理接受与 SAMM 业务功能和安全实践相关的培训,重点是安全需求、威胁建模和缺陷跟踪。开发人员则接受他们所使用技术的编码标准和最佳实践培训,以确保培训能够直接有助于应用程序安全。他们对OWASP十大漏洞或者与所使用的技术和框架相关的类似弱点(例如移动端)有扎实的技术理解,并了解每个问题的最常见修复策略。测试人员会接受用于组织中使用技术的不同测试工具和最佳实践的培训,以及识别安全缺陷的工具培训。安全审计员接受关于软件开发生命周期、组织中使用的应用安全机制以及提交安全缺陷进行修复的流程的培训。安全冠军则接受来自软件开发生命周期各个阶段的安全主题培训。他们接受与开发人员和测试人员相同的培训,但也理解威胁建模和安全设计,以及可以集成到构建环境中的安全工具和技术。包括该流程成熟度等级 1 活动的所有培训内容,以及额外的特定角色和特定技术内容。去除培训中不必要的部分。理想情况下,为每项技术确定一名主题专家,协助采购或开发培训内容并定期更新。培训包括使用故意弱化的应用程序(如 WebGoat 或 Juice Shop)演示漏洞利用的过程。包括之前渗透测试的结果作为漏洞示例及已实施的修复策略。请渗透测试人员协助制定漏洞利用演示示例。所有参与软件开发的员工和承包商都必须接受培训,培训包括可审计的签署以证明合规性。在可能的情况下,培训还应包括测试,以确保理解,而不仅仅是合规。每年更新并提供培训,以涵盖组织、技术和趋势的变化。对培训参与者进行调查,以评估培训的质量和相关性。收集其他与其工作或环境相关的信息建议。在员工从事关键任务之前,确保所有员工具备足够的安全知识。活动:实施正式培训计划,要求所有参与软件开发生命周期的人员在入职过程中完成与其角色和技术相关的适当培训。根据应用程序的重要性和用户的角色,考虑在完成入职培训之前限制访问。虽然组织可能从外部获取一些模块,但该项目是在内部进行的管理和推动,并包括超越一般安全最佳实践的组织特定内容。该项目有明确的课程安排,会检查参与情况,并测试理解和能力。培训包括行业最佳实践与组织内部标准的结合,包括针对组织使用的特定系统的培训。除了与安全直接相关的问题外,该组织还为该计划制定了其他标准,例如代码复杂性、代码文档、命名规范以及其他与流程相关的纪律。本培训旨在尽量减少员工遵循组织外部实践所带来的问题,并确保代码风格和能力的连续性。为了便于跟踪进度并顺利完成每个培训模块,组织提供了一个学习管理平台或具有类似功能的其他集中门户。员工可以监控自己的进度,并且即使在完成初始培训后,也可以访问所有培训资源。每年至少审查一次因员工未遵守既定标准、政策、程序或安全最佳实践而产生的问题,以评估培训的有效性,并确保培训涵盖与组织相关的所有问题。定期更新培训,并对员工进行关于任何变化和最常见安全缺陷的培训。标准:培训包括成熟度水平1的所有主题,并增加更具体的工具、技术和示范 | 培训是所有员工和承包商的强制性要求 | 培训包括内部专家和培训者的意见 | 培训包括对内部开发的工具和技术的演示 | 你使用反馈来改进并使未来的培训更有针对性
收益 对所有相关员工进行基本的安全意识教育 活动 为所有目前参与软件管理、开发、测试或审计的角色开展安全意识培训。目标是提高对应用程序安全威胁和风险的认识,了解安全最佳实践以及安全软件设计原则。培训可内部开发或外部采购。理想情况下,应当亲自进行培训,这样参与者可以作为团队进行讨论,但基于计算机的培训(CBT)也是一种选择。课程内容应涵盖与应用安全和隐私相关的各类主题,同时保持对非技术受众的可理解性。适用的概念是安全设计原则,包括最小特权、防御纵深、故障安全(安全)、完全检测、会话管理、开放设计和心理可接受性。此外,培训应包括对任何为提高应用程序安全性而制定的组织范围内的标准、政策和程序的参考。应在高层次上涵盖 OWASP 前十漏洞。所有参与软件开发的员工和承包商都必须接受培训,并需要提供可审计的签署以证明合规性。可以考虑采用创新的交付方式(例如游戏化)以最大化培训效果并防止麻木化。相关员工角色根据其特定职位接受培训。活动:根据组织的角色和技术,进行讲师指导或计算机基础培训(CBT)安全训练,从核心开发团队开始。组织会根据各组的技术需求,为产品经理、软件开发人员、测试人员和安全审计员定制培训。产品经理接受与 SAMM 业务功能和安全实践相关的培训,重点是安全需求、威胁建模和缺陷跟踪。开发人员则接受他们所使用技术的编码标准和最佳实践培训,以确保培训能够直接有助于应用程序安全。他们对OWASP十大漏洞或与所使用的技术和框架相关的类似弱点(例如移动端)有扎实的技术理解,并了解每个问题的最常见修复策略。测试人员会接受用于组织中使用技术的不同测试工具和最佳实践的培训,以及识别安全缺陷的工具的培训。安全审计员接受关于软件开发生命周期、组织中使用的应用安全机制以及提交安全缺陷进行修复的流程的培训。安全冠军则接受来自软件开发生命周期各个阶段的安全主题培训。他们接受与开发人员和测试人员相同的培训,但也理解威胁建模和安全设计,以及可以集成到构建环境中的安全工具和技术。包括该流程成熟度等级 1 活动的所有培训内容,以及额外的特定角色和特定技术内容。消除培训中不必要的部分。理想情况下,为每项技术确定一名主题专家,协助采购或开发培训内容并定期更新。培训包括使用故意弱化的应用程序(如 WebGoat 或 Juice Shop)演示漏洞利用的过程。包括之前渗透测试的结果作为漏洞示例及已实施的修复策略。请渗透测试人员协助制定漏洞利用演示示例。所有参与软件开发的员工和承包商都必须接受培训,培训包括可审计的签署以证明合规性。在可能的情况下,培训还应包括测试,以确保理解,而不仅仅是合规。每年更新并提供培训,以涵盖组织、技术和趋势的变化。对培训参与者进行调查,以评估培训的质量和相关性。收集其他与其工作或环境相关的信息建议。在员工从事关键任务之前,确保他们具备足够的安全知识。活动:实施正式培训计划,要求任何参与软件开发生命周期的人在入职过程中完成适合其角色和技术的相关培训。根据应用程序的重要性和用户的角色,考虑在完成入职培训之前限制访问权限。虽然组织可能会从外部获取一些模块,但该计划由内部主持和管理,并包括超越一般安全最佳实践的组织特定内容。该项目有明确的课程安排,会检查参与情况,并测试理解和能力。培训包括行业最佳实践与组织内部标准的结合,包括针对组织使用的特定系统的培训。除了与安全直接相关的问题外,该组织还为该计划包括其他标准,例如代码复杂度、代码文档、命名规范以及其他与流程相关的规范。该培训可以最大限度地减少员工遵循组织外部实践所导致的问题,并确保代码风格和能力的连续性。为了便于跟踪进度并顺利完成每个培训模块,组织提供了一个学习管理平台或具有类似功能的其他集中门户。员工可以监控自己的进度,并且即使在完成初始培训后,也可以访问所有培训资源。每年至少审查一次因员工未遵守既定标准、政策、程序或安全最佳实践而产生的问题,以评估培训的有效性,并确保培训涵盖与组织相关的所有问题。定期更新培训,并对员工进行关于任何变化和最常见安全缺陷的培训。标准:使用学习管理系统(LMS)跟踪培训和认证 | 培训基于内部标准、政策和程序 | 您使用认证计划或出勤记录来确定对开发系统和资源的访问权限