定义

Open Worldwide Application Security Project (OWASP) 是一个致力于提高软件安全性的非营利性基金会。它以“开放式社区”模式运作,这意味着任何人都可以参加与 OWASP 相关的在线聊天、项目等,并为其做出贡献。从在线工具和视频到论坛和活动,OWASP 确保其所有内容均为免费,而且可以在其网站上轻松访问。

OWASP Top 10 提供了十大最关键的 Web 应用程序安全风险的排名和补救指南。基于 OWASP 开放式社区贡献者的广泛知识和经验,该报告采纳了来自世界各地的安全专家的共识。风险等级根据所发现的安全缺陷的频率、所发现漏洞的严重程度及其潜在的影响程度进行排序。该报告的目的是让开发人员和 Web 应用程序安全人员深入了解最常见的安全风险,以便他们能够将报告的结果和建议纳入自己的安全实践中,从而尽量减少其应用程序中已知的风险。

如何使用 OWASP Top 10 列表?为什么它很重要?

自 2003 年以来,OWASP 一直在维护其 Top 10 列表,而且每两到三年会根据 AppSec 市场的演进更新一次。该列表的重要性在于,它提供的信息可操作性强,可以作为世界上许多大型组织的检查清单和内部 Web 应用程序开发标准。

审核机构通常会认为,如果某个组织未能解决 OWASP Top 10 上列出的问题,则表明该组织可能也不满足其他合规标准。相反,如果能将 Top 10 集成到软件开发生命周期 (SDLC) 中,则表明该组织总体上致力于践行业内安全开发的最佳实践。


2021 年列表中有什么新变化?

对于 2021 年的列表,OWASP 新增了三个类别,对命名和范围进行了四处更改,并进行了一些合并。

OWASP Top 10 -  2017 vs 2021  | Synopsys

1. 访问控制失效 (A01:2021)。

以前排名第 5 的“访问控制失效”(允许攻击者访问用户帐户的弱点)在 2021 年上升到了第 1 位。在此类情况下,攻击者可以充当系统中的用户或管理员。

示例:应用程序允许更改主密钥,当此密钥更改为另一用户的记录时,就可以查看或修改该用户的帐户。

解决方案:Seeker®交互式应用安全测试 (IAST) 解决方案可帮助您轻松检测敏感数据的跨站请求伪造或不安全存储。它还可以指出用于处理 JSON Web 令牌的任何错误或缺失逻辑。渗透测试可以作为 IAST 活动的手动补充,帮助检测意外的访问控制。 可能有必要变更架构和设计,以便为数据访问创建信任边界。

2. 加密机制失效 (A02:2021)。

此前位于第 3 位,以前称为敏感数据泄露,已被重命名为加密机制失效,以准确地描述其根本原因,而不是表现形式。当重要的存储或传输数据(例如社会安全号码)泄漏时,就发生了加密机制失效。

示例:金融机构未能充分保护其敏感数据,因而很容易成为信用卡欺诈和身份盗用首当其冲的目标。

解决方案: Seeker 的检查程序可以扫描加密强度不足、较弱或硬编码的加密密钥,然后识别任何被破坏或有风险的加密算法。Black Duck® 加密模块展示了开源软件 (OSS) 中使用的加密方法,以便进一步评估其强度。Coverity® 静态应用安全测试 (SAST) 和 Black Duck 软件组成分析 (SCA) 都有检查器,可在代码和组件级别提供“时间点”快照。然而,用 IAST 加以补充对于提供持续监控和验证至关重要,以确保在与其他内部和外部软件组件进行集成测试时,敏感数据不会泄露。

3. 注入 (A03:2021)。

注入从第 1 位下降到第 3 位,跨站点脚本现在被认为是这个类别的一部分。从本质上讲,当攻击者将无效数据发送到 Web 应用程序中,以使应用程序执行其设计所不允许的操作时,就发生了代码注入。

示例:应用程序在构建易受攻击的 SQL 调用时使用不可信的数据。

解决方案:在您的持续集成/持续交付 (CI/CD) 管道中包括 SAST 和 IAST 工具,有助于在静态代码级别及在应用程序运行时的动态测试期间识别注入缺陷。Seeker 等现代应用程序安全测试 (AST) 工具可以帮助在各种测试阶段保护软件应用程序,并检查是否有各种注入攻击(除了 SQL 注入)。例如,它可以识别 NoSQL 注入、命令注入、LDAP 注入、模板注入和日志注入。Seeker 是第一款提供全新专门检查器的工具,用于专门检测 Log4Shell 漏洞、确定 Log4J 配置方式、测试 Log4J 实际行为以及使用其受专利保护的主动验证引擎来验证(或作废)这些结果。

4. 不安全的设计 (A04:2021)。

不安全的设计是 2021 年新增的一个类别,其主要关注与设计缺陷相关的风险。随着组织继续实践“左移”,威胁建模、安全设计模式和原则以及参考架构还远远不够。

示例:允许团体预订折扣的连锁电影院要求 15 人以上的团体缴纳押金。攻击者对这一流程进行威胁建模,看看是否可以在连锁电影院的各个剧院预订数以百计的座位,从而造成数千美元的收入损失。

解决方案: Seeker IAST 检测漏洞,并在高度复杂的基于 Web、云和微服务的应用程序中,公开所有入站和出站 API、服务和函数调用。通过提供所涉及的数据流和端点的可视化地图,可以清楚地了解应用程序设计中的任何弱点,从而有助于渗透测试和威胁建模工作。

5. 安全配置错误 (A05:2021)。

以往的外部实体类别如今是这一风险类别的一部分,其从第 6 位上升至此。安全配置错误往往是配置错误或缺陷而导致的设计和配置弱点。

示例:默认帐户及其原始密码仍处于启用状态,使系统容易被利用。

解决方案:Coverity SAST 等解决方案包括一个检查器,可通过错误消息识别可用的信息泄露。Seeker IAST 等动态工具可以在应用程序运行测试期间检测信息泄漏和不合适的 HTTP 头配置。

6. 易受攻击和过时的组件 (A06:2021)。

这一类别从第 9 位上升至此,与包含已知和潜在安全风险的组件相关,而不仅仅是前者。应识别和修补具有已知漏洞的组件(例如 CVE),同时应该评估过时或恶意组件的可行性和它们可能带来的风险。

示例:由于开发中使用的组件数量庞大,开发团队可能不知道或不理解其应用中使用的所有组件,其中一些组件可能已经过时,因此容易受到攻击。

解决方案:Black Duck 等软件组成分析 (SCA) 工具可以与静态分析和 IAST 一起使用,以识别和检测应用程序中过时和不安全的组件。IAST 和 SCA 配合良好,可以深入了解易受攻击或过时组件的实际使用情况。Seeker IAST 和 Black Duck SCA 配合使用,不仅可以识别易受攻击的组件,还展示了诸如该组件当前是否由正在测试的应用程序加载等详情。此外,开发人员活跃度、贡献者声誉和版本历史记录等指标,可以让用户了解过时或恶意组件可能造成的潜在风险。

7. 身份识别和身份验证失效 (A07:2021)。

以前称为身份验证失效,此项已从第 2 位下移,如今包括与身份识别失败相关的 CWE。具体而言,与身份验证和会话管理相关的功能如果实施不当,会允许攻击者泄露密码、关键词和会话,这可能导致用户身份被盗等风险。

示例:Web 应用程序允许使用弱密码或易于猜测的密码(例如“password1”)。

解决方案: 多因素身份验证有助于降低帐户泄漏的风险,自动静态分析在发现此类缺陷方面非常有用,而手动静态分析可以在评估自定义身份验证方案时增加强度。Coverity SAST 包括一个专门识别身份验证失效漏洞的检查器。Seeker IAST 可以检测硬编码的密码和凭据,以及不正确的身份验证或者缺少关键步骤的身份验证。

8. 软件及资料完整性失效 (A08:2021)。

这是 2021 年新增的一个类别,重点关注软件更新、关键数据和在未验证完整性的情况下使用的 CI/CD 管道。如今在这个条目中还包含了不安全的反序列化,即一个反序列化缺陷,允许攻击者在系统中远程执行代码。

示例: 应用程序对攻击者提供的恶意对象进行反序列化,使其自身暴露于漏洞之中。

解决方案:应用安全工具 有助于检测反序列化缺陷,而渗透测试可以验证问题。Seeker IAST 还可以检查是否有不安全的反序列化,并帮助检测不安全的重定向或任何对令牌访问算法的篡改。

9. 安全日志和监控失效 (A09:2021)。

此条目以前被称为日志与监控不足,已经从第 10 位上升至此,并扩展了更多类型的失效。日志记录与监控是应该经常在网站上执行的活动,不这样做就会使网站容易受到更严重的损害活动的攻击。

示例:可被审计的事件(如登录、登录失败和其他重要活动)未被记录,从而导致应用程序易受攻击。

解决方案:在执行 渗透测试后,开发人员可以研究测试日志,以识别可能的缺陷和漏洞。Coverity SAST 和 Seeker IAST 可以帮助识别未记录的安全异常。

10. 服务器端请求伪造 (A10:2021)。

作为今年新增的一个类别,当 Web 应用程序在没有验证用户提供的 URL 的情况下获取远程资源时,就可能发生服务器端请求伪造 (SSRF)。这允许攻击者使应用程序向意外目的地发送精心设计的请求,即使系统受到防火墙、VPN 或其他网络访问控制列表的保护也无济于事。由于云服务和架构复杂性的增加,SSRF 攻击的严重性和发生率正在增加。

示例: 如果网络架构未分段,攻击者可以使用连接结果或经过的时间来连接或拒绝 SSRF 负载连接,以映射内部网络并确定端口在内部服务器上是打开还是关闭。

解决方案: Seeker 是现代 AST 工具之一,无需额外扫描和分类即可跟踪、监控和检测 SSRF。基于其先进的方法和基于代理的技术,Seeker 也可以从 SSRF 中发现任何潜在的漏洞。


Synopsys 如何提供帮助?

大多数企业使用多种应用程序安全工具来帮助检查 OWASP 合规性要求。虽然这是一种良好的应用安全实践,但还不够,企业仍然难以对来自各种 AST 工具的不同发现进行聚合、关联和标准化。在这方面,应用程序安全态势管理 (ASPM)工具可以提高流程效率和团队生产力。

拥有 ASOC 解决方案有助于主动跟踪和解决违反 OWASP Top 10 标准的行为。ASPM解决方案像软件风险管理平台可以根据对应用程序风险和违规的评估,将高影响力的安全活动情景化。

这些解决方案为早期可视化和实施 OWASP 标准提供了一种无障碍的方法,因为它们与开发人员框架和工具集成,从而支持安全活动和结果的持续测试、跟踪与管理。例如,软件风险管理平台可以集中使用来自所有 AST 工具(SAST、DAST、SCA、开源和商用)的结果,关联它们,按类型合并它们,然后允许用户通过内置的合规报告功能查看哪些结果违反了 OWASP 标准。

同时,其他测试可以确定所需的测试类型和待测试应用程序的业务关键性。虽然 AST 工具提供了有价值的信息来满足各个 OWASP 标准,但 ASPM方法可以帮助促进和编排跨所有 AST 问题的可重复软件质量控制与操作。


Continue Reading