外观
OWASP Top 10 概述
什么是 OWASP?
OWASP (开放式 Web 应用程序安全项目) 是一个非营利性组织,它采用“开放式社区”模式运作,致力于提高软件安全性。该组织提供所有内容均为免费,任何人都可以参与其项目、论坛和活动。
OWASP Top 10 简介
OWASP Top 10 是一份关于十大最关键 Web 应用程序安全风险的共识文档,基于来自全球安全专家的广泛知识和经验编制而成。自2003年以来,OWASP 一直维护这一列表,并定期更新以反映 AppSec 市场的变化。
该列表对风险进行排名时考虑了以下因素:
- 可利用性
- 普遍性
- 可检测性
- 影响程度
OWASP Top 10 2021 详解
访问控制失效
排名变化:从第 5 位升至第 1 位
特点:当访问控制限制未正确实施时,攻击者能够访问其他用户的账户或数据。
攻击示意图:
用户A访问 -> /user?id=123 (正常)
用户A访问 -> /user?id=124 (越权访问)防御措施:实施适当的访问控制检查,使用 IAST 工具检测不安全存储。
加密机制失效
排名变化:从第 3 位保持,但更名为“加密机制失效”
特点:敏感数据 (如个人身份信息) 在存储或传输过程中未得到充分保护。
攻击示意图:
明文数据 -> 传输/存储 -> 攻击者截取
加密数据 -> 弱算法/密钥 -> 攻击者解密防御措施:使用强加密算法,定期更新加密密钥,实施适当的传输层安全。
注入
排名变化:从第 1 位降至第 3 位
特点:包括 SQL、NoSQL、LDAP 和命令注入,当不可信数据发送给解释器时发生。
SQL 注入示意图:
用户输入: ' OR '1'='1
最终查询: SELECT * FROM users WHERE username = '' OR '1'='1'
结果: 返回所有用户记录防御措施:使用参数化查询、存储过程、ORM 工具,实施严格的输入验证。
不安全的设计
特点:这是2021年新增的类别,关注与设计缺陷相关的风险。
攻击示意图:
系统设计缺陷 -> 威胁建模发现漏洞 -> 攻击者利用设计缺陷防御措施:在开发早期进行威胁建模,实施安全设计模式和参考架构。
安全配置错误
排名变化:从第 6 位升至第 5 位
特点:使用不安全的默认配置、遗留选项或配置错误。
攻击示意图:
默认账户/密码未更改 -> 攻击者使用默认凭证登录
不必要的服务开启 -> 攻击者利用服务漏洞防御措施:强化系统配置,禁用不必要的服务,定期进行安全配置审查。
易受攻击和过时的组件
排名变化:从第 9 位大幅升至第 6 位
特点:使用包含已知漏洞或已过时的组件。
攻击示意图:
应用使用库X 1.0版 -> 该版本存在CVE-2023-XXX漏洞
攻击者利用已知漏洞 -> 获取系统访问权防御措施:实施软件组成分析 (SCA),定期更新和修补组件。
身份识别和身份验证失效
排名变化:从第 2 位降至第 7 位
特点:身份验证和会话管理功能实施不当,允许攻击者泄露密码或会话令牌。
攻击示意图:
弱密码策略 -> 密码:123456 -> 攻击者暴力破解
会话令牌不变 -> 攻击者窃取令牌 -> 重放攻击防御措施:实施多因素身份验证,使用强密码策略,安全管理会话生命周期。
软件及数据完整性失效
特点:这是2021年新增的类别,关注 CI/CD 管道中未验证完整性的软件更新和关键数据。
攻击示意图:
恶意代码注入构建流程 -> 被污染的软件包 -> 部署到生产环境防御措施:使用数字签名验证软件完整性,确保 CI/CD 管道安全。
安全日志和监控失效
排名变化:从第 10 位升至第 9 位
特点:可审计事件 (如登录和关键操作) 未被记录,使得检测和响应攻击变得困难。
攻击示意图:
攻击发生 -> 无适当日志记录 -> 无法检测攻击 -> 无法响应防御措施:实施全面的日志记录,建立安全监控和告警机制。
服务器端请求伪造
特点:这是2021年新增的类别,当 Web 应用程序在未验证用户提供的 URL 的情况下获取远程资源时发生。
攻击示意图:
用户输入恶意URL -> 应用服务器访问内部资源
攻击者利用 -> 映射内部网络 -> 访问敏感系统防御措施:验证用户输入的 URL,实施网络分段,使用允许列表机制。
OWASP Top 10 的应用价值
OWASP Top 10 被世界上许多大型组织用作检查清单和内部 Web 应用程序开发标准。审核机构通常认为,未能解决 OWASP Top 10 问题的组织可能也无法满足其他合规标准。
该文档的主要目的是让开发人员和 Web 应用程序安全人员了解最常见的安全风险,以便将这些知识融入安全实践中。美国联邦贸易委员会 (FTC) 强烈建议所有企业遵循 OWASP 发布的十大网络弱点防护守则。
OWASP 标准的演进
随着技术的发展,OWASP 已经发布了针对特定领域的 Top 10 列表,包括:
API 安全 Top 10
2019年发布了第一版 API 安全 Top 10,2023年发布了更新版本。API 安全 Top 10 专注于理解和缓解与 API 相关的独特漏洞和安全风险。
机器学习安全 Top 10
2023年发布了机器学习安全风险 Top 10,包括对抗性攻击、数据投毒攻击、模型反转攻击等。
这些专业化的列表表明 OWASP 标准正在不断演进,以应对新兴的技术和安全挑战。