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