A02 Cryptographic Failures – OWASP Top 10:2021

The OWASP Top 10 is a standard awareness document for developers and web application security. It represents a broad consensus about the most critical security risks to web applications.

Globally recognized by developers as the first step towards more secure coding.

Companies should adopt this document and start the process of ensuring that their web applications minimize these risks. Using the OWASP Top 10 is perhaps the most effective first step towards changing the software development culture within your organization into one that produces more secure code.
 

Top 10 Web Application Security Risks

There are three new categories, four categories with naming and scoping changes, and some consolidation in the Top 10 for 2021.

Mapping

什么时候top 10

从2003年top 10出来后,就有组织把它当做标准,但是top10只是一个awareness document,使用top10的难点在于这些问题不一定是容易测试问题

除了top10,owasp还有ASVS,是一个应用安全验证标准如下表格显示了什么时候应该才用top10,什么时候用ASVS,可以看到ASVS是一个比较全面的标准,top10是一个比较基础的规则

鼓励任何想要采用应用程序安全性的人 使用 OWASP 应用程序安全验证标准 (ASVS) 的标准,因为它旨在进行验证测试,并可用于 安全开发生命周期的所有部分

ASVS 是工具供应商唯一可接受的选择工具不能 全面检测、测试防范 OWASP 前 10 名,原因是 OWASP十大风险中的几种性质,参考 A10:04-不安全的设计。OWASP不鼓励任何工具声明可以覆盖 OWASP 2021的top10,因为是不可能做到的。

 

如何使用 OWASP Top 10 启动 AppSec 计划

首先,OWASP Top 10 从未被设计作为 AppSec 计划。但是,对于许多人来说,从某个地方开始是必不可少的 刚刚开始应用安全之旅的组织。 OWASP Top 10 2021 是一个良好的开端,作为清单和 依此类推,但这本身是不够的。

第 1 阶段。确定应用安全计划的差距和目标

许多应用程序安全 (AppSec) 程序尝试运行之前运行 爬行或行走。这些努力注定要失败我们强烈 鼓励首席信息安全官和 AppSec 领导层使用 OWASP 软件保障 成熟度模型 (SAMM) 用于识别弱点 以及 1-3 年内需要改进的领域。第一步是 评估您现在所处的位置,确定治理设计需要解决的实施、验证操作 确定哪些需要立即解决的,哪些可以排期解决的,并优先实施或 改进15项 OWASP SAMM 安全实践。OWASP SAMM可以提供帮助建造并衡量软件保障工作的改进成都。

第 2 阶段 规划paved road secure development lifecycle

paved road概念是“最简单方式也是最安全的方式” ,包括 开发团队和安全团队深度合作的文化,最好这两者属于是同一个team。paved road的目标是不断提升,衡量,检测,通过拥有 企业范围的即插即用安全替换替换不安全的组件,有工具可以检测需要做出哪些提升 ,这允许现有开发工具报告不安全的构建和帮助 开发团队自我纠正,远离不安全的替代方案

aims to continuously improve, measure, detect and replace insecure alternatives by having an enterprise-wide library of drop-in secured replacements, with tooling to help see where improvements can be made by adopting the paved road. This allows existing development tools to report on insecure builds and help development teams self-correct away from insecure alternatives.

 实施paved road看起来需要做的东西很多,但它应该建造,并且随着时间的推移不断提升。还有其他形式的appsec,如 Microsoft 敏捷安全开发生命周期。不是每种 AppSec 计划方法都适合每个企业,需要选择适合于自己企业的。

第 3 阶段。与您的开发团队一起实施paved road

铺砌道路建造是经过 相关的开发和运营团队。铺砌的道路应该是 与业务战略保持一致,帮助交付更安全的服务 应用程序更快。铺设道路发展应该是一个整体 涵盖整个企业或应用程序生态系统练习,而不是 每个应用程序的创可贴,就像过去一样。

第 4 阶段。将所有即将推出的和现有的应用程序迁移到paved road

在开发应用时,使用paved road检测工具,来提升应用的安全。 一旦采用了paved road的某个方面,组织就应该 实施持续集成检查检查现有代码和 禁止替代方法警告拒绝代码合并。这样可以防止不安全的选项潜入代码中,防止技术债务和有缺陷的不安全应用程序。 此类警告链接到安全的替代方案,使开发 团队会立即得到正确方案开发人员可以重构和 快速采用paved road组件

(如sonar报告展示问题的同时显示如何修改问题的合规方案)

第 5 阶段测试paved road是否缓解了 OWASP 前 10 名中发现的问题

paved road组件应重视OWASP top 10,例如如何自动检测修复vulnerable components,或静态代码分析 IDE 插件用于检测injection或开始使用已知的库来防御injection。尽可能 提供给团队的安全的drop-in 代替品。 appsec 团队的一项重要任务是确保不断评估和提升这些组件安全性。 当这些组件更新后,使用这些组件的团队就应该知道应该升级这些组件,最好是自动升级,如果无法自动升级,最少可以仪表盘工具告知大家

第 6 阶段。将您的程序构建为成熟的 AppSec 程序

您不能止步于OWASP前10名。它只涵盖 10 种风险 类别。我们强烈鼓励组织采用ASVS,并逐步增加paved road 1、2 和 3 级的组件和测试,具体取决于开发的 应用程序的风险级别

超越

所有出色的 AppSec 程序都超出了最低限度。每个人都必须遵守 如果我们掌握 AppSec 漏洞,那就去吧。

A01:2021 – 访问控制中断

因素

映射的 CWE 最大发生率 平均发生率 平均加权漏洞利用 平均加权影响 最大覆盖范围 平均覆盖 总发生次数 CVE 总数
34 55.97% 3.81% 6.92 5.93 94.55% 47.72% 318,487 19,013

概述

从第五位上升,94%的被测应用发现了某种形式的破坏访问控制,平均发生率为 3.81%,在贡献的数据集中出现次数最多,超过 318K。 值得注意的常见弱点枚举 (CWE) 包括 CWE-200:未经授权行为暴露敏感信息,CWE-201: 将敏感信息插入发送的数据中CWE-352: 跨站请求伪造

描述

访问控制策略用户应该执行超过给定权限动作,如果访问控制失效通常会导致未授权信息泄露修改,数据或者执行超过用户限制业务功能

通用访问 控制漏洞包括:

如何预防

访问控制仅在受信任服务器端代码中有效,或者 无服务的API,因为攻击者无法修改访问控制 检查或元数据。

开发人员和 QA 人员应包括功能访问控制单元集成测试。

示例攻击场景

场景 #1:应用程序在 SQL 调用中使用未经验证的数据,该调用 正在访问帐户信息:

 pstmt.setString(1, request.getParameter("acct"));
 ResultSet results = pstmt.executeQuery( );

攻击者只需修改浏览器的“acct”参数即可发送 他们想要什么帐号。如果未正确验证攻击者可以访问任何用户的帐户。

 https://example.com/app/accountInfo?acct=notmyacct

场景#2:攻击者只是强制浏览目标 URL。管理 访问管理页面需要权限。

 https://example.com/app/getappInfo
 https://example.com/app/admin_getappInfo

如果未经身份验证用户可以访问任一页面,则这是一个缺陷。如果 非管理员可以访问管理页面,这是一个缺陷

A02:2021 – 加密失败

A02 Cryptographic Failures – OWASP Top 10:2021

因素

映射的 CWE 最大发生率 平均发生率 平均加权漏洞利用 平均加权影响 最大覆盖范围 平均覆盖 总发生次数 CVE 总数
29 46.44% 4.49% 7.29 6.81 79.33% 34.85% 233,788 3,075

概述

向上移动一个位置到 #2,以前称为敏感数据 暴露,这更像是一个广泛的症状,而不是根本原因, 重点是与密码学(或缺乏密码学)相关的故障。 这通常会导致敏感数据的暴露。包括值得注意的常见弱点枚举 (CWE) 是 CWE-259:使用硬编码密码,CWE-327:损坏或有风险 加密算法和 CWE-331 熵不足

描述

首先是确定传输存储时的数据的保护需求。例如,密码、信用卡号、health records个人信息和需要额外保护的商业机密,主要是如果该数属于隐私法,例如欧盟的 通用数据保护条例 (GDPR) 或法规,例如 金融数据保护,例如 PCI 数据安全标准 (PCI DSS)。 对于所有此类数据:

请参阅 ASVS 加密 (V7)、数据保护 (V9) 和 SSL/TLS (V10)

如何预防

至少执行以下操作,并查阅参考资料

示例攻击场景

场景 #1:应用程序对信用卡号在数据库中存储使用数据库自动加密。但是,这样数据会在获取自动解密,允许 SQL 注入缺陷 以明文形式获取信用卡号。

场景 #2网站不对所有页面使用或强制使用 TLS,或者 支持弱加密攻击监控网络流量(例如,在 不安全的无线网络),将连接从 HTTPS 降级到 HTTP,拦截请求,并窃取用户的会话 cookie然后,攻击者重放此 cookie 并劫持用户的(经过身份验证的) 会话,访问或修改用户的私人数据。除了所说的,还可以更改所有传输的数据,例如,接收者 汇款。

场景 #3密码数据库使用未加盐或简单哈希来 存储每个人的密码文件上传缺陷允许攻击者 检索数据库中的密码。所有未加盐的哈希值都可以被公开,如一些哈希值被计算生成的的彩虹表。使用简单或者快速hash函数生成哈希可能会被 GPU 破解,即使加了盐。

原文地址:https://blog.csdn.net/seanyang_/article/details/134746026

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_31158.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注