简介
多年来,开发人员在他们构建的产品中重复引入相同的安全问题。OWASP十大安全漏洞列表记录了这些最常见且已存在数十年的问题。最早版本中的许多问题至今仍以某种形式存在。需要一种机制来应对这些挑战,而这种机制就是主动控制措施。
主动控制措施是一系列最佳实践,是开发人员可以在其代码库中采纳和实施的项目集合,以避免许多常见的安全问题。主动控制措施提供了积极的模式,用于实现“设计即安全”的解决方案。
想象一下,你正在开发一个基于网络的软件,发布了新版本,然后收到报告称该版本包含一个安全漏洞,并且该漏洞正在被野外利用。你现在被迫采取被动应对:分析漏洞、修复它、创建新的软件版本并将其交付给用户。所有这些都既繁琐又有些尴尬,特别是当安全漏洞是关键级别时。
主动控制措施通过关注开发本身来防止这种情况发生。它们的核心思想是在应用程序开发之初就预防常见的漏洞,从而完全避免那些繁琐和令人尴尬的错误修复。众所周知,从长远来看,主动性方法将节省资源和金钱。
OWASP 2024十大主动控制措施是每个软件架构师和开发人员都应该了解和遵守的安全技术列表。本文档的主要目标是提供具体、实用的指导,帮助开发人员构建安全的软件。这些技术应在软件开发的早期阶段主动应用,以确保最大程度的有效性。
请注意,虽然遵守最佳主动实践将减少代码中存在漏洞的可能性,但并不能保证代码完全没有安全漏洞。但这没关系:你必须打破鸡蛋才能做出煎蛋卷——避免引入任何安全漏洞的唯一方法就是根本不写代码。我们接受这一点,同时努力预防尽可能多的安全问题。
此列表的创建方式
此列表最初由当前项目负责人创建,并得到了多位志愿者的贡献。随后该文档在全球范围内共享,以便即使是匿名建议也能被考虑。通过这一开放的社区流程,数百项修改被采纳。
安全控制措施
每个控制措施的描述都具有相同的结构。控制措施本身有一个唯一的名称,前面是控制措施编号:Cx:控制措施名称,例如,C1:实施访问控制。
每个控制措施都包含以下相同的部分
- 描述:对控制措施的详细描述,包括一些要考虑的最佳实践。
- 威胁: 此控制措施所应对的一个或多个威胁。
- 实施:说明如何实施每个控制措施的最佳实践和示例。
- 预防的漏洞:预防的漏洞或解决的风险列表(OWASP十大风险、CWE 等)。
- 参考资料:供进一步学习的参考资料列表(OWASP速查表、安全加固指南等)。
- 工具:轻松将安全控制措施引入/集成到软件中的工具/项目集合。