什么是 OWASP? OWASP 十大漏洞和风险简介

OWASP 是一个致力于提高软件安全性的非营利基金会。

OWASP (开放全球应用安全项目)是一个开放社区,致力于帮助组织设计、开发、获取、操作和维护可信赖的安全应用s软件。 其项目包括社区主导的开源软件项目以及地方和全球会议,涉及全球数百个分会和数万名会员。

OWASP 为何如此重要?

OWASP 在提高人们对 Web应用安全风险的认识方面发挥着至关重要的作用,并提供了宝贵的资源、工具、文档和最佳实践来应对日益严峻的 Web应用安全挑战。 OWASP 帮助开发人员、安全专家和组织了解潜在威胁并采用最佳安全实践。  

OWASP 维护着十大最关键的 Web应用安全风险列表,以及缓解这些风险的有效流程、程序和控制措施。 OWASP 还提供了十大 API 安全风险列表,以教育参与 API 开发和维护的人员并提高对常见 API 安全漏洞的认识。

OWASP 社区鼓励个人和组织为其项目和资源做出贡献。 这种协作和调查驱动的方法使社区能够利用其成员的集体知识和专业知识,从而获得全面和最新的资源。

应用程序和 API 都存在一些共同的安全风险,在实施安全解决方案时需要考虑。 例如: 

  • 身份验证/授权控制薄弱 
  • 配置错误 
  • 业务逻辑滥用(撞库攻击、账户接管)  
  • 服务器端请求伪造(SSRF)。

 

OWASP 十大application安全风险

OWASP Top 10是一份被广泛认可的最严重的 Web应用安全风险列表。 该列表可为开发人员、安全专家和组织提供指导,帮助他们优先识别和减轻关键的 Web应用安全风险。 

OWASP Top 10 列表中的风险存在并不一定表明该风险在所有 Webapplications中的普遍性或严重性,并且 Top Ten 并非按照特定顺序或优先级排列。  

OWASP 2021 年十大Web应用安全风险包括:

  1. 访问控制失效。 当访问控制和授权执行不充分导致攻击者访问未经授权的功能或数据时,就会出现此漏洞。 这可能是由于不安全的直接对象引用 (IDOR) 造成的,当应用无法验证或授权用作对内部对象的直接引用的用户输入时,就会出现这种情况。 当应用应用仅在初始身份验证或授权阶段验证访问控制,但并未在整个应用程序的功能或操作中始终如一地执行这些控制时,也可能由于缺少功能级访问控制而发生这种情况。 Web应用防火墙 (WAF)可以通过监控和实施访问控制来防止未授权访问敏感对象或资源,从而帮助防范这些攻击。

  2. 加密失败。 这种风险是由于对传输和静止过程中的敏感数据保护不足而产生的。 加密失败可能导致数据泄露、未授权访问保密资料以及不遵守数据隐私法规,例如欧盟通用数据保护条例 (GDPR) 和 PCI数据安全标准 (PCI DSS) 等金融标准。 这些故障可能由于不安全的加密存储、以纯文本形式存储数据或不安全的密钥管理造成。 风险还可以源于信息泄露,信息泄露可能源于弱密钥或随机数生成,或者加密协议中的缺陷。 
  3. 注入攻击。 当攻击者将不受信任或恶意的数据插入命令或查询语言中,或者当用户提供的数据未经应用验证、过滤或清理时,就会发生注入缺陷,从而导致恶意命令的意外执行。 此风险类别涵盖 NoSQL、OS 命令、LDAP 和SQL 注入攻击,还包括跨站点脚本 (XSS) 攻击者将恶意客户端脚本(如 JavaScript)注入其他用户查看的网页中。 这可能导致敏感信息被盗,例如登录凭据、个人数据或会话 cookie。 WAF可以通过检查和过滤传入的请求(包括反射(非持久性)、存储(持久性)和基于文档对象模块 (DOM) 的 XSS)来帮助检测和阻止恶意代码注入尝试,从而阻止它们到达应用。
  4. 不安全的设计。 这是一个广泛的类别,代表不同的弱点,表现为缺失或无效的安全控制和架构缺陷。 当应用设计依赖于本质上不安全的流程,或者未实施防御特定攻击所需的安全控制时,可能会出现这些缺陷。 通过增加使用威胁模型、安全设计模式和参考架构可以降低这些风险。  
  5. 安全配置错误。 Web应用框架、平台、服务器或安全控制缺乏安全强化,可能导致未授权访问、敏感信息的暴露或其他安全漏洞。 安全配置错误导致的风险还可能由于云服务的权限配置不当,或者安装或启用不必要的功能(例如未使用的端口、服务、帐户或权限)所致。 Web 应用程序和 API 的配置错误是一个重大风险,因为主要的云提供商具有不同的默认安全态势,并且架构日益变得分散并分布在多云结构中。    
  6. 易受攻击且过时的组件。 使用过时、未修补或易受攻击的组件(例如库、框架或插件)可能会使应用s暴露于已知的安全漏洞,从而增加被利用的风险。 这些风险可能来自不受支持或过时的软件,包括操作系统 (OS)、Web/应用服务器、数据库管理系统 (DBMS)、应用s、API 以及所有组件、运行时环境和库。 当组织没有及时采取基于风险的措施来修复或升级系统的底层平台、框架和依赖项时,这些威胁尤其危险,导致系统在数天或数周内不必要地暴露于已知风险中。 复杂的软件供应链和通过 CI/CD 管道实现的自动化增加了将易受攻击的软件引入 IT 堆栈的风险。 WAF可以作为防范漏洞利用的关键权宜之计。  
  7. 识别和认证失败。 身份验证、身份和会话管理中的弱点可能允许攻击者窃取用户帐户、密码、会话令牌,或利用不安全的会话处理。 这些区域出现故障可能会引发撞库攻击等自动攻击。 与密码相关的漏洞是这些风险的最常见来源,因为许多人重复使用密码或使用默认、弱或众所周知的密码。 会话管理问题也可能导致与身份验证相关的攻击,特别是如果用户会话或身份验证令牌在注销或不活动期间没有正确失效。 正如 OWASP Top 10、API Security Top 10 和 Automated Threats 项目中详述的那样,绕过身份验证控制的攻击对于 Web 应用程序和 API 而言都是一种越来越大的风险。  
  8. 软件和数据完整性故障。 这些漏洞是由于应用程序代码和基础设施无法防止数据和软件的完整性遭到破坏而造成的。 当应用依赖来自不受信任的来源、存储库和 CDN 的插件、库或模块时,就会出现这种情况。 它还可能发生在未经验证的软件更新、敏感数据修改和 CI/CD 管道更改期间。 攻击者可能会上传自己的更新并在所有安装上分发和运行。 不安全的反序列化(即应用获取不受信任的序列化数据并在未确保其有效性的情况下使用该数据)也属于此风险类别的一部分,允许进行远程代码执行 (RCE) 和权限提升等攻击。 
  9. 安全日志和监控失败。 日志记录和监控不足会妨碍及时发现和应对安全事件,从而难以识别和减轻攻击或未经授权的活动。 这可能意味着可审计事件(例如登录、登录失败和高价值交易)不会被识别或记录,并且applications无法实时检测到主动攻击。  
  10. 服务器端请求伪造(SSRF)。 当应用在从远程资源提取数据之前没有验证或清理用户输入的 URL 时,就会出现这些漏洞。 攻击者可以利用这些漏洞强制应用s访问恶意网络目的地,即使受到防火墙或其他防御措施的保护。 如果目标资源与其他系统(例如云元数据服务或后端 API)具有信任关系,也会导致这些攻击,从而允许攻击者向这些受信任的服务发出请求并提取敏感信息或执行未经授权的操作。 为了帮助缓解 SSRF,请设计最小特权访问系统,并使用WAF在安全策略中明确定义统一资源标识符 (URI) 参数并允许/禁止可以访问它们的主机。

2021 年 OWASP Top 10 反映了与之前的 2017 年 OWASP Top 10 相比的一些新类别和命名变化。 这些变化包括将 2017 年风险威胁 XML 外部实体 (XXE) 集成到 2021 年安全配置错误类别中,并将 2017 年跨站点脚本 (XSS) 添加到 2021 年注入类别中。 2017 年的风险“不安全反序列化”现在属于 2021 年的“软件和数据完整性故障”类别。    

其他 OWASP 出版物

OWASP 目前赞助 293 个项目,其中包括以下 16 个 OWASP 旗舰项目,这些项目为 OWASP 和整个应用安全提供了战略价值。

  1. OWASP Amass 项目开发了一种工具,帮助信息安全专业人员使用开源信息收集和主动侦察技术执行攻击面网络映射并执行外部资产发现。 
  2. OWASP应用安全验证标准项目(ASVS),为测试Web应用技术安全控制提供了基础,同时也为开发人员提供了安全开发的要求列表。  
  3. OWASP 备忘单系列,旨在为应用开发人员和防御者提供一套简单易懂的良好实践指南。 这些并不是关注对许多开发人员和应用s来说不切实际的详细最佳实践,而是旨在提供大多数开发人员实际上能够实施的良好实践。  
  4. OWASP CycloneDX是一种全栈物料清单 (BOM) 标准,可提供先进的供应链功能以降低网络风险。   
  5. OWASP Defectdojo 是一个开源漏洞管理工具,它通过提供模板、报告生成、指标和基线自助服务工具来简化测试流程。 
  6. OWASP Dependency-Check 是一种软件组合分析 (SCA) 工具,它试图检测项目依赖项中包含的公开披露的漏洞。 它通过确定给定依赖项是否存在通用平台枚举 (CPE) 标识符来实现此目的。 如果发现,它将生成一份链接到相关常见漏洞和暴露(CVE)条目的报告。   
  7. OWASP Dependency-Track,这是一个智能组件分析平台,允许组织识别和降低软件供应链中的风险。
  8. OWASP Juice Shop可能是最现代、最复杂的不安全 Web应用,用于安全培训、意识演示、夺旗比赛以及作为安全工具的试验品。 Juice Shop 包含整个OWASP Top Ten中的漏洞以及在实际应用s中发现的许多其他安全漏洞。   
  9. OWASP 移动application安全,这是 OWASP 为移动应用程序提供安全标准的旗舰项目。 它还包括一个全面的测试指南,涵盖移动应用程序安全测试期间使用的过程、技术和工具,以及一套详尽的测试用例,使测试人员能够提供一致和完整的结果。 
  10. OWASP ModSecurity 核心规则集,这是一组用于 ModSecurity 或兼容的 Web应用防火墙的通用攻击检测规则。 CRS 旨在以最少的错误警报保护 Web应用s免受各种攻击,包括 OWASP Top Ten。   
  11. OWASP项目OWTF (Offensive Web Testing Framework),这是一个开源的Web应用渗透测试框架,旨在评估和测试Web应用s的安全性。 OWTF 的主要目标是帮助安全专业人员和渗透测试人员自动化评估和测试 Web应用s漏洞的过程,从而使他们能够更有效地识别和解决安全漏洞。
  12. OWASP SAMM (软件保证成熟度模型), 为分析和改进安全开发生命周期建模提供了一种有效、可衡量的方法 SAMM 支持完整的软件生命周期,并且与技术和流程无关  
  13. OWASP 安全知识框架,这是一个 Web应用,它用多种编程语言解释安全编码原则,旨在帮助开发人员构建设计安全的应用s。  
  14. OWASP Security Shepherd是一个网络和移动应用安全培训平台,旨在培养和提高不同技能人群的安全意识。 该项目的目标是让 AppSec 新手或经验丰富的工程师提高他们的渗透测试技能,达到安全专家的水平。   
  15. OWASP Web 安全测试指南,这是测试 Webapplications和 Web 服务安全性的综合指南。 它提供了世界各地渗透测试人员和组织使用的最佳实践框架。
  16. OWASP ZAP 这是一个 Web应用安全测试工具,旨在帮助安全专业人员和开发人员在开发和测试阶段识别和缓解 Web应用s中的安全漏洞。   

集成安全控制案例

OWASP 通过提高人们对 Web应用安全风险的认识并在开发人员、安全专业人员和组织中倡导最佳实践,在不断提高软件安全性的过程中发挥着关键作用。 作为一个社区驱动的项目,OWASP 汇集了专家和爱好者,共同致力于提高 Web应用的安全性,帮助建立一种促进安全编码实践和安全开发方法的安全意识文化。

此外,OWASP 还提供了大量免费和开源工具、文档和资源,帮助组织增强其安全态势,包括 OWASP Top 10、OWASP API 安全 Top 10 和 Webapplications自动威胁项目。 其他 OWASP 举措包括:

通过成为 OWASP 会员参加当地分会会议来参与其中,这些会议对会员和非会员均免费开放。 此外,OWASP 每年举办近十几场全球和地区活动,这些都是提高职业技能、建立专业网络和了解行业新趋势的好机会。

F5 解决 OWASP 安全风险

F5 支持 OWASP 基金会及其对提高软件安全性和提高人们对 Web应用安全风险和漏洞的认识的贡献。 F5 Web应用防火墙解决方案可以阻止和缓解源自OWASP Top 10 的各种风险

F5 WAF 解决方案结合签名和行为保护,包括来自F5 实验室的威胁情报和基于 ML 的安全性,以跟上新兴威胁。 它减轻了在云、本地和边缘环境中一致保护applications的负担和复杂性,同时通过集中式 SaaS 基础设施简化了管理。 F5 WAF 还通过将保护措施集成到具有核心安全功能、集中编排和监督的开发框架和 CI/CD 管道中,通过单个仪表板简化了应用程序安全性,该仪表板可以 360 度查看跨分布式applications的应用程序性能和安全事件。 

F5 还通过解决方案解决OWASP API 安全十大报告中确定的风险,随着应用程序的发展和 API 部署的增加,这些解决方案可以保护不断扩大的攻击面和新出现的威胁。 F5 Webapplication和 API 保护 (WAAP) 解决方案通过全面的保护来防御整个现代应用程序攻击面,这些保护包括 WAF、 API 安全、L3-L7 DDoS 缓解以及针对自动威胁和欺诈的机器人防御。 分布式平台让您可以轻松地在整个应用程序和 API中部署一致的策略和扩展安全性,无论它们托管在何处,并将安全性集成到 API 生命周期和更广泛的生态系统中。

F5 还提供解决方案来应对OWASP 的 Webapplications自动威胁项目中概述的风险。 F5 分布式云机器人防御可防止绕过现有机器人管理解决方案的欺诈和滥用,并提供实时监控和情报以及基于 ML 的回顾性分析,以保护组织免受自动攻击,而不会带来用户摩擦或破坏客户体验。 无论攻击者如何重组,无论攻击从 Web 应用程序转向 API,还是试图通过欺骗遥测或使用人工 CAPTCHA 求解器来绕过反自动化防御,分布式云机器人防御都能保持有效性。

F5 还提供多层 DDoS 保护以实现高级在线安全,作为一种托管的、云交付的缓解服务,可以实时检测和缓解大规模网络、协议和应用程序攻击;本地硬件、软件和混合解决方案也可以提供相同的保护。 F5 分布式云 DDoS 缓解功能可在容量和特定于应用程序的 3-4 层攻击以及高级 7 层攻击到达您的网络基础设施和应用s之前防御这些攻击。