OWASP(开放全球应用安全项目)是一个开放社区,致力于帮助组织设计、开发、采购、运行和维护软件,以构建安全可信的应用。其项目包括由社区主导的开源软件项目以及本地和全球会议,覆盖全球数百个分会和数万名成员。
OWASP为何如此重要?
OWASP在提升人们对Web应用安全风险的认识方面发挥着关键作用,并提供宝贵的资源、工具、文档和最佳实践,以应对日益严峻的Web应用安全挑战。OWASP帮助开发人员、安全专业人员和组织了解潜在威胁并采用安全最佳实践。
OWASP维护着一份十大关键Web应用安全风险清单,并提供用于缓解这些风险的有效流程、程序和控制措施。OWASP还提供API十大安全风险清单,旨在帮助API开发和维护人员了解相关知识,并提高其对常见API安全弱点的认识。
The OWASP 社区鼓励个人和组织为其项目和资源贡献力量。这种协作和调查驱动的方法有助于社区汇聚成员的集体知识和专业经验,从而提供全面且与时俱进的资源。
应用和API都面临一些共同的安全风险,实施安全解决方案时需要考虑这些风险。例如:
- 薄弱的身份验证和授权控制
- 配置错误
- 业务逻辑滥用(凭据填充、账户接管)
- 服务器端请求伪造(SSRF)。
OWASP 十大应用安全风险
The OWASP Top 10是一份广受认可的清单,列出了严重的Web应用安全风险。该清单可为开发人员、安全专业人员和组织提供指导,帮助其在识别和缓解严重Web应用安全风险时确定工作重点。
某项风险被列入OWASP Top 10榜单,并不一定意味着该风险在所有Web应用中都很普遍或严重。此外,该榜单中的十大风险不按特定顺序或优先级排列。
2021年OWASP Top 10 Web应用安全风险包括:
- 失效的访问控制。 如果访问控制和授权执行不充分,攻击者便可能访问未经授权的功能或数据,从而产生此漏洞。原因可能是不安全的直接对象引用(IDOR)。当应用程序未能验证或授权被用作内部对象直接引用的用户输入时,就可能出现此问题。也可能是由于缺少功能级访问控制:应用程序仅在初始身份验证或授权阶段验证访问控制,却未在各项功能或操作中持续执行这些控制。Web应用防火墙(WAF)可通过监控和执行访问控制,防止未经授权访问敏感对象或资源,从而帮助抵御此类攻击。
- 加密机制失效。此风险源于对传输中和静态存储的敏感数据保护不足。加密机制失效可能导致数据泄露、未经授权访问机密信息,以及不符合欧盟《通用数据保护条例》(GDPR)等数据隐私法规和支付卡行业数据安全标准(PCI DSS)等金融标准。这些问题可能由不安全的加密存储、以明文形式存储数据或不安全的密钥管理引起。信息泄露也可能带来此类风险,而信息泄露可能源于密钥或随机数生成机制薄弱,或加密协议存在缺陷。
- 注入攻击。当攻击者将不可信或恶意数据插入命令语言或查询语言,或者应用未对用户提供的数据进行验证、过滤或清理,导致恶意命令被意外执行时,就会出现注入漏洞。此类风险涵盖NoSQL、操作系统命令、LDAP和SQL注入攻击,还包括跨站脚本攻击(XSS)。在此类攻击中,攻击者会将JavaScript等恶意客户端脚本注入其他用户浏览的网页。这可能导致登录凭据、个人数据或会话Cookie等敏感信息被盗。Web应用防火墙(WAF)可检查并过滤传入请求,帮助检测和阻止恶意代码注入尝试,包括反射型(非持久型)、存储型(持久型)和基于文档对象模型(DOM)的XSS,防止这些攻击到达应用。
- 不安全设计。这是一个涵盖多种弱点的宽泛类别,具体表现为安全控制缺失或无效,以及架构缺陷。如果应用在设计上依赖本身不安全的流程,或者未实施抵御特定攻击所需的安全控制,就可能出现这些缺陷。通过更多地采用威胁建模、安全设计模式和参考架构,可以降低这些风险。
- 安全配置错误。Web应用框架、平台、服务器或安全控制措施缺乏安全加固,可能导致未经授权的访问、敏感信息泄露或其他安全漏洞。云服务权限配置不当,或者安装或启用了未使用的端口、服务、账户或权限等非必要功能,也可能引发安全配置错误风险。Web应用和API的配置错误均会带来重大风险,因为各大云服务提供商的默认安全态势不尽相同,而且架构日益去中心化,并分布在多云架构中。
- 存在漏洞和已过时的组件。 使用已过时、未修补或存在漏洞的组件(如库、框架或插件),可能会使应用暴露于已知安全缺陷,增加漏洞被利用的风险。这些风险可能源于不受支持或已过时的软件,包括操作系统(OS)、Web/应用服务器、数据库管理系统(DBMS)、应用、API,以及所有组件、运行时环境和库。如果组织未采取及时且基于风险的措施来修复或升级系统的底层平台、框架和依赖项,这些威胁尤其危险,可能导致系统在数天甚至数周内不必要地暴露于已知风险。复杂的软件供应链以及通过CI/CD流水线实现的自动化,会增加将存在漏洞的软件引入IT技术栈的风险。WAF 可作为关键的临时防护措施,防范漏洞利用。
- 身份识别和身份验证失败。 身份验证、身份识别和会话管理方面的薄弱环节可能使攻击者能够入侵用户账户、密码或会话令牌,或利用不安全的会话处理机制。这些方面的缺陷可能导致自动化攻击,例如凭据填充。与密码相关的漏洞是此类风险最常见的来源,因为许多人会重复使用密码,或使用默认、弱口令或常见密码。会话管理问题也可能导致与身份验证相关的攻击,尤其是在用户注销或一段时间无操作后,用户会话或身份验证令牌未正确失效的情况下。绕过身份验证控制的攻击对Web应用和API构成的风险日益增加,OWASP Top 10、API Security Top 10和Automated Threats项目对此有详细说明。
- 软件和数据完整性失效。这些漏洞源于应用代码和基础设施未能防止数据和软件完整性遭到破坏。当应用依赖来自不可信来源、存储库和CDN的插件、库或模块时,可能会出现此类问题。未经验证的软件更新、敏感数据修改和CI/CD流水线变更也可能导致此类问题。攻击者可能会上传自己的更新,并将其分发到所有安装实例中运行。不安全的反序列化也属于此风险类别,即应用接收不可信的序列化数据,并在未确保其有效性的情况下使用这些数据,从而可能引发远程代码执行(RCE)和权限提升等攻击。
- 安全日志记录和监控失效。日志记录和监控不足可能会妨碍及时检测和响应安全事件,导致难以识别和缓解攻击或未经授权的活动。这可能意味着登录、登录失败和高价值交易等可审计事件未被识别或记录,应用也无法实时检测正在进行的攻击。
- 服务器端请求伪造(SSRF)。如果应用程序从远程资源提取数据前,未对用户输入的URL进行验证或清理,就会出现此类漏洞。攻击者可以利用这些漏洞,迫使应用程序访问恶意Web目标,即使应用程序受到防火墙或其他防御措施的保护也无法避免。如果目标资源与云元数据服务或后端API等其他系统存在信任关系,也可能遭受此类攻击。攻击者可向这些受信任服务发出请求,提取敏感信息或执行未经授权的操作。为帮助缓解SSRF,应按照最小权限访问原则设计系统,并使用WAF在安全策略中明确定义统一资源标识符(URI)参数,同时允许或禁止主机访问这些参数。
2021年OWASP十大风险反映了相较于2017年OWASP十大风险新增的一些类别和命名变更。这些变更包括:将2017年的风险威胁“XML外部实体(XXE)”纳入2021年的“安全配置错误”类别,并将2017年的“跨站脚本(XSS)”纳入2021年的“注入”类别。2017年的风险“不安全的反序列化”现已归入2021年的“软件和数据完整性故障”类别。
其他OWASP出版物
OWASP目前赞助293个项目,其中包括以下16个OWASP旗舰项目。这些项目为OWASP及整个应用安全领域提供战略价值。
- OWASP Amass Project,该项目开发了一款工具,帮助信息安全专业人员利用开源信息收集和主动侦察技术,对攻击面进行网络映射并发现外部资产。
- OWASP应用安全验证标准项目(ASVS),该项目为测试Web应用技术安全控制措施提供依据,并为开发人员提供安全开发要求清单。
- OWASP Cheat Sheet Series,旨在为应用开发人员和防御人员提供一系列简单易行的良好实践指南。该系列并不侧重于许多开发人员和应用难以采用的详细实践,而是提供大多数开发人员能够实际实施的良好实践。
- OWASP CycloneDX,是一项全栈物料清单(BOM)标准,可提供高级供应链功能,帮助降低网络风险。
- OWASP Defectdojo,这是一款开源漏洞管理工具,通过提供模板、报告生成、指标和基线自助服务工具来简化测试流程。
- OWASP Dependency-Check,这是一款软件成分分析(SCA)工具,用于尝试检测项目依赖项中包含的已公开披露漏洞。该工具通过确定给定依赖项是否存在通用平台枚举(CPE)标识符来进行检测。如果找到相应标识符,则会生成一份报告,其中包含指向相关常见漏洞与披露(CVE)条目的链接。
- OWASP Dependency-Track,这是一款智能组件分析平台,可帮助组织识别并降低软件供应链中的风险。
- OWASP Juice Shop,可能是目前较为现代且复杂的非安全Web应用程序,可用于安全培训、安全意识演示、夺旗赛,也可作为安全工具的测试对象。Juice Shop涵盖了整个OWASP十大Web应用安全风险中的漏洞,以及真实应用程序中存在的许多其他安全缺陷。
- OWASP Mobile Application Security,这是OWASP为移动应用提供安全标准的旗舰项目。该项目还包含一份全面的测试指南,涵盖移动应用安全测试所采用的流程、技术和工具,并提供详尽的测试用例,帮助测试人员交付一致且完整的结果。
- OWASP ModSecurity Core Rule Set,是一套通用攻击检测规则,可与ModSecurity或兼容的Web应用防火墙配合使用。CRS旨在尽可能减少误报,同时保护Web应用免受包括OWASP十大风险在内的多种攻击。
- OWASP Project OWTF(攻击性Web测试框架),这是一款开源Web应用渗透测试框架,旨在评估和测试Web应用的安全性。OWTF的主要目标是帮助安全专业人员和渗透测试人员自动评估和测试Web应用中的漏洞,从而更有效地识别和解决安全薄弱环节。
- OWASP SAMM(软件保障成熟度模型)提供了一种有效且可衡量的方法,用于分析和改进安全开发生命周期建模。SAMM支持完整的软件生命周期,且不受特定技术和流程限制。
- OWASP Security Knowledge Framework,这是一个Web应用程序,用多种编程语言讲解安全编码原则,旨在帮助开发人员构建具备内生安全性的应用程序。
- OWASP Security Shepherd,这是一个Web和移动应用安全培训平台,旨在培养和提升不同技能水平人群的安全意识。该项目旨在帮助应用安全(AppSec)新手和资深工程师提升渗透测试技能,逐步达到安全专家水平。
- OWASP Web安全测试指南,这是一份全面介绍如何测试Web应用和Web服务安全性的指南。它提供了一套实践框架,供全球各地的渗透测试人员和组织使用。
- OWASP ZAP是一款Web应用安全测试工具,旨在帮助安全专业人员和开发人员在开发和测试阶段识别并缓解Web应用中的安全漏洞。
采用集成式安全控制的理由
OWASP通过提高各方对Web应用安全风险的认识,并倡导开发人员、安全专业人员和组织采用良好实践,在持续改进软件安全的过程中发挥着关键作用。作为一个由社区推动的项目,OWASP汇聚专家和爱好者,共同改进Web应用安全,并帮助营造重视安全的文化,推动采用安全编码实践和安全开发方法。
此外,OWASP还提供丰富的免费开源工具、文档和资源,帮助组织增强安全态势,其中包括OWASP Top 10、OWASP API Security Top 10和Automated Threats to Web Applications Project。OWASP的其他计划包括:
- OWASP Bug Logging Tool(BLT),支持互联网用户报告在线遇到的任何问题,并通过推动负责任的披露和营造更安全的网络环境,帮助提升互联网安全性。
- OWASP CSRFGuard,一个用于保护Web应用程序免受跨站请求伪造(CSRF)攻击的库。
- 多个托管在GitHub上的代码库,包括Cheat Sheet Series,其中汇集了有关特定应用安全主题的精炼实用信息。
- OWASP 客户端安全风险 Top 10,汇总了浏览器端应用程序中常见的特定漏洞。
- OWASP 云原生应用安全十大风险,这是一个仍在开发中的项目,将提供有关云原生应用主要安全风险、相关挑战及应对方法的信息。
参与方式包括成为OWASP会员或参加当地分会会议,会议免费向会员和非会员开放。此外,OWASP每年举办近12场全球和区域活动,为提升职业技能、拓展专业人脉和了解行业新趋势提供了良好机会。
F5应对OWASP安全风险
F5支持OWASP基金会及其改善软件安全、提高对Web应用安全风险和漏洞认知的工作。F5 Web Application Firewall解决方案可阻止并缓解源自OWASP十大Web应用安全风险的多种风险。
F5 WAF解决方案结合基于签名和行为的防护,包括来自F5 Labs的威胁情报和基于机器学习的安全防护,以应对不断涌现的威胁。该解决方案可减轻跨云、本地和边缘环境持续保护应用的负担与复杂性,同时通过集中式SaaS基础设施简化管理。F5 WAF还将防护集成到开发框架和CI/CD流水线中,并提供核心安全功能、集中式编排,以及通过单一仪表板进行的统一监控,从而简化应用安全管理。该仪表板可全方位呈现分布式应用的性能和安全事件。
F5还通过相关解决方案应对OWASP API安全十大风险中识别的风险。随着应用不断演进和API部署日益增多,这些解决方案可保护不断扩大的攻击面,并抵御新兴威胁。 F5 Web Application and API Protection (WAAP)解决方案为现代应用的整个攻击面提供全面防护,包括WAF、API安全、L3-L7 DDoS缓解,以及针对自动化威胁和欺诈的机器人防护。无论应用和API托管在何处,该分布式平台都能简化一致策略的部署,并将安全能力扩展至整个应用和API环境,同时将安全能力集成到API生命周期和更广泛的生态系统中。
F5还提供相应解决方案,以应对以下项目中列出的风险:OWASP Web应用自动化威胁项目。F5 Distributed Cloud Bot Defense可防范绕过现有机器人管理解决方案的欺诈和滥用行为,并提供实时监控和威胁情报以及基于机器学习的回溯分析,帮助组织抵御自动化攻击,同时不会增加用户操作阻力或影响客户体验。无论攻击者如何调整工具和手段,包括将攻击目标从Web应用转向API,或通过伪造遥测数据或使用人工CAPTCHA解题服务来绕过反自动化防御,Distributed Cloud Bot Defense都能保持防护效果。
F5还提供多层DDoS防护,以托管式云交付缓解服务增强在线安全。该服务可实时检测并缓解针对网络、协议和应用的大规模攻击;同样的防护也可通过本地部署的硬件、软件及混合解决方案提供。F5 Distributed Cloud DDoS Mitigation可在流量型攻击、针对特定应用的第3至4层攻击以及高级第7层攻击到达网络基础设施和应用之前进行防御。
有关F5 ADSP平台组件如何防范OWASP安全风险的更多信息,请参阅以下资源:
- “使用F5 BIG-IP缓解2021年OWASP Web应用安全十大风险”
- “使用F5 NGINX App Protect缓解OWASP Web应用安全十大风险”
- “使用F5 Distributed Cloud Platform缓解OWASP Web应用安全十大风险(2021年版)”
- “K45215395:指南简介和目录|防范2021年OWASP十大风险”
- “OWASP战术访问防御系列:BIG-IP APM如何增强针对OWASP十大风险的防御能力”

