CISO助手
完成度
0%(0/48)
评估报告
OWAS

OWASP 软件保证成熟度模型 2.0

成熟度模式

SAMM 是一个规范性模型,是一个开放的框架,易于理解、定义明确且可衡量。它帮助组织制定和实施软件安全策略。

版本: 2.0覆盖状态: 完整覆盖 (96/96)控制项/量表/总计: 48/48/96当前展示: 3 / 485 个分类

安全构建

3
I-SB-A-1你的完整构建过程有正式描述吗?成熟度实践
Implementation / 安全构建

益处 在构建过程中将人为错误的风险降至最低,从而减少安全问题。 活动 定义构建过程,将其分解为一组清晰的指令,由人工或自动化工具遵循。构建过程定义描述了整个端到端的过程,以便人工或工具每次都能一致地遵循并产生相同的结果。定义是集中存储的,任何工具或人员都可以访问。避免存储多个副本,因为它们可能会变得不一致或过时。流程定义不包含任何机密信息(特别是构建过程中需要的机密)。审查任何构建工具,确保它们由供应商积极维护并且已经更新了安全补丁。将每个工具的配置加固,以确保其符合供应商指南和行业最佳实践。为每个生成的工件确定一个值,以便以后用于验证其完整性,例如签名或哈希值。保护该值,如果工件已签名,则保护私有签名证书。确保构建工具定期打补丁并正确加固。优势 通过集成安全工具实现高效的构建流程 活动 自动化构建流程,以便随时能够一致地执行构建。构建过程通常不应需要任何干预,从而进一步降低人为错误的可能性。使用自动化系统增加了对构建工具安全性的依赖,因此加强和维护工具集变得更加重要。特别关注这些工具的界面,例如基于网络的门户以及它们如何被锁定。构建工具暴露在网络环境中可能会使恶意行为者篡改流程的完整性。例如,这可能允许恶意代码被嵌入到软件中。自动化流程可能需要访问构建软件所需的凭据和秘密,例如代码签名证书或访问存储库的权限。请谨慎处理这些信息。使用能够识别构建该软件的组织或业务单元的证书对生成的工件进行签名,以便验证其完整性。最后,添加适当的自动化安全检查(例如在流水线中使用 SAST 工具) 利用自动化实现安全效益。效益 确保你构建的软件符合安全基线。活动 定义适合在构建过程中执行的安全检查,以及通过构建的最低标准——这些标准可能会根据不同应用的风险状况而有所不同。在构建中包含相应的安全检查,并在未满足预定义标准时强制中断构建过程。对低于阈值的问题触发警告,并将其记录到集中系统中,以便跟踪并采取措施。如果可行,可实现例外机制,以便在特定漏洞的风险已被接受或缓解时绕过此行为。但是,请确保这些情况首先获得明确批准,并记录它们的发生情况及理由。如果技术限制阻止组织自动中断构建,请通过其他措施实现同样的效果,例如明确的政策和定期审计。在单独的集中服务器上处理代码签名,该服务器不会将证书暴露给执行构建的系统。在可能的情况下,使用一种确定性方法,以输出逐字节可重现的工件。标准:您有足够的信息来重新创建构建过程 | 您的构建文档是最新的 | 您的构建文档存储在可访问的位置 | 在构建过程中生成的工件校验和用于后续验证 | 您会加固构建过程中使用的工具

评估
评估状态:
评估备注:
I-SB-A-2构建过程是完全自动化的吗?成熟度实践
Implementation / 安全构建

益处 在构建过程中将人为错误的风险降至最低,从而减少安全问题。 活动 定义构建过程,将其分解为一组清晰的指令,由人工或自动化工具遵循。构建过程定义描述了整个端到端的过程,以便人工或工具每次都能一致地遵循并产生相同的结果。定义是集中存储的,任何工具或人员都可以访问。避免存储多个副本,因为它们可能会变得不一致或过时。流程定义不包含任何机密信息(特别是构建过程中需要的机密)。审查任何构建工具,确保它们由供应商积极维护并且已经更新了安全补丁。将每个工具的配置加固,以确保其符合供应商指南和行业最佳实践。为每个生成的工件确定一个值,以便以后用于验证其完整性,例如签名或哈希值。保护该值,如果工件已签名,则保护私有签名证书。确保构建工具定期打补丁并正确加固。优势 通过集成安全工具实现高效的构建流程 活动 自动化构建流程,以便随时能够一致地执行构建。构建过程通常不应需要任何干预,从而进一步降低人为错误的可能性。使用自动化系统增加了对构建工具安全性的依赖,因此加强和维护工具集变得更加重要。特别关注这些工具的界面,例如基于网络的门户以及它们如何被锁定。构建工具暴露在网络环境中可能会让恶意行为者篡改流程的完整性。例如,这可能允许恶意代码被嵌入到软件中。自动化流程可能需要访问构建软件所需的凭据和秘密,例如代码签名证书或访问存储库的权限。请谨慎处理这些信息。使用能够识别构建该软件的组织或业务单元的证书对生成的工件进行签名,以便验证其完整性。最后,添加适当的自动化安全检查(例如在流水线中使用 SAST 工具) 利用自动化实现安全效益。效益 确保你构建的软件符合安全基线。活动 定义适合在构建过程中执行的安全检查,以及通过构建的最低标准——这些标准可能会根据不同应用的风险状况而有所不同。在构建中包含相应的安全检查,并在未满足预定义标准时强制中断构建过程。对低于阈值的问题触发警告,并将其记录到集中系统中,以便跟踪并采取措施。如果可行,实现一个例外机制,以便在特定漏洞的风险已经被接受或缓解时绕过此行为。但是,请确保这些情况首先获得明确批准,并记录它们的发生情况及理由。如果技术限制阻止组织自动中断构建,请通过其他措施实现同样的效果,例如明确的政策和定期审计。在单独的集中服务器上处理代码签名,该服务器不会将证书暴露给执行构建的系统。在可能的情况下,使用一种确定性方法,输出逐字节可再现的产物。标准:构建过程本身不需要任何人工干预 | 您的构建工具已按照最佳实践和供应商指南加固 | 您对构建工具所需的密钥进行加密,并根据最小特权原则控制访问

评估
评估状态:
评估备注:
I-SB-A-3您在构建过程中是否执行自动化安全检查?成熟度实践
Implementation / 安全构建

益处 在构建过程中将人为错误的风险降至最低,从而减少安全问题。 活动 定义构建过程,将其分解为一组清晰的指令,由人工或自动化工具遵循。构建过程定义描述了整个端到端的过程,以便人工或工具每次都能一致地遵循并产生相同的结果。定义是集中存储的,任何工具或人员都可以访问。避免存储多个副本,因为它们可能会变得不一致或过时。流程定义不包含任何机密信息(特别是构建过程中需要的机密)。审查任何构建工具,确保它们由供应商积极维护并且已经更新了安全补丁。将每个工具的配置加固,以确保其符合供应商指南和行业最佳实践。为每个生成的工件确定一个值,以便以后用于验证其完整性,例如签名或哈希值。保护该值,如果工件已签名,则保护私有签名证书。确保构建工具定期打补丁并正确加固。优势 通过集成安全工具实现高效的构建流程 活动 自动化构建流程,以便随时能够一致地执行构建。构建过程通常不应需要任何干预,从而进一步降低人为错误的可能性。使用自动化系统增加了对构建工具安全性的依赖,因此加强和维护工具集变得更加重要。特别关注这些工具的界面,例如基于网络的门户以及它们如何被锁定。构建工具暴露在网络环境中可能会使恶意行为者篡改流程的完整性。例如,这可能允许恶意代码被嵌入到软件中。自动化流程可能需要访问构建软件所需的凭据和秘密,例如代码签名证书或访问存储库的权限。请谨慎处理这些信息。使用能够识别构建该软件的组织或业务单元的证书对生成的工件进行签名,以便验证其完整性。最后,添加适当的自动化安全检查(例如在流水线中使用 SAST 工具) 利用自动化实现安全效益。效益 确保你构建的软件符合安全基线。活动 定义适合在构建过程中执行的安全检查,以及通过构建的最低标准——这些标准可能会根据不同应用的风险状况而有所不同。在构建中包含相应的安全检查,并在未满足预定义标准时强制中断构建过程。对低于阈值的问题触发警告,并将其记录到集中系统中,以便跟踪并采取措施。如果可行,可实现例外机制,以便在特定漏洞的风险已被接受或缓解时绕过此行为。但是,请确保这些情况首先获得明确批准,并记录它们的发生情况及理由。如果技术限制阻止组织自动中断构建,请通过其他措施实现同样的效果,例如明确的政策和定期审计。在单独的集中服务器上处理代码签名,该服务器不会将证书暴露给执行构建的系统。尽可能使用能够输出逐字节可再现制品的确定性方法。标准:如果应用程序未达到预定义的安全基线,则构建失败 | 对漏洞的严重性有最大可接受等级 | 在集中系统中记录警告和失败 | 至少每年选择并配置工具,根据安全要求评估每个应用程序

评估
评估状态:
评估备注: