每年 OWASP(开放 Web 应用程序安全项目)都会发布十大安全漏洞。它代表了对 Web 应用程序最关键的安全风险的广泛共识。
访问控制实施策略以防止用户超出其指定权限范围进行操作。由于访问漏洞,未经身份验证或不受欢迎的用户可能会访问机密数据和进程以及用户权限设置。 元数据操作,包括篡改或重放 JSON Web 令牌 (JWT) 访问控制令牌,或修改 cookie 或隐藏字段以提高权限或利用 JWT 失效,都是访问控制漏洞的一个示例。第二个例子是违反默认拒绝原则。必须仅向特定角色、能力或用户授予访问权限,但每个人都可以访问。此类错误可能使攻击者可以轻松访问他们想要的一切。 但是,可以通过应用安全编码方法并采取预防措施(例如禁用管理员帐户和限制以及安装多因素身份验证)来避免访问安全机制不足以及身份或密码管理问题。
其他预防技术包括:
这里的重点在于经常暴露敏感数据的密码错误或缺少密码错误。以下是敏感信息泄露的典型例子
例如,应用程序可以使用自动数据库加密来安全地加密信用卡数据。不幸的是,当访问此信息时,它会立即未加密,从而导致 SQL 注入错误以明文形式提取信用卡信息,入侵者可能会利用这些信息。可以使用以下预防技术来避免这些故障:
注入(或SQL 注入)是针对网站的数据库攻击,该网站使用结构化查询语言 (SQL) 来获取信息或执行通常需要经过身份验证的用户帐户的活动。程序很难从自己的代码中解释这些代码,从而允许攻击者进行注入攻击以访问受保护区域和伪装成受信任用户的敏感数据。注入包括SQL注入、命令注入、CRLF注入、LDAP注入等。
一些预防技术包括:
LIMIT
和其他 SQL 约束是避免 SQL 注入情况下大量数据暴露的好方法。这是 2021 年的一个全新类别,专注于设计和架构缺陷,需要更多地使用威胁建模、设计安全建议和参考架构。不安全的设计是一个广泛的类别,包含各种问题,例如“缺失或不充分的控制设计”。这并不意味着不安全的设计是所有其他十大风险类别的根源。
不安全的设计与不安全的实现不同。即使设计是安全的,实施缺陷也可能导致漏洞。另一方面,有缺陷的设计不能通过完美的实现来弥补,因为不存在必要的安全保护措施来防御特定的威胁。
可以通过采用以下预防技术来避免这些威胁:
一般的安全设置问题,就像配置错误的访问控制一样,通过为攻击者提供对关键数据和站点区域的快速和轻松的访问而造成重大危险。
常见解决方案:
大多数在线应用程序都是在第三方框架的帮助下创建的。未知的应用程序代码可能会导致不良结果和不良情况,例如违反口音控制、SQL 注入等。
如果程序不安全、不受支持或过时,则可能存在与漏洞相关的危害。该软件包包括应用程序/Web 服务器、操作系统、应用程序、数据库管理系统 (DBMS)、API、其他元素、库和运行时环境。
自动化方法可帮助攻击者找到配置不当或未打补丁的机器。例如,Shodan IoT 搜索引擎可以帮助用户发现易受 Heartbleed 威胁的设备,该威胁已于 2014 年 4 月修复。某些预防技术包括:
现在包含与识别问题相关的 CWE。当攻击者获取用户信息、密码恢复、ID 会话和其他登录凭据时,就会产生安全问题。顾名思义,身份和身份验证失败包括黑客利用此类漏洞利用身份验证不足。
如果应用程序允许自动攻击,例如凭证填充(当攻击者可以访问真实用户和密码列表)或预定义的、较弱的和常见的密码(例如“Password1”或“admin/admin”),这些可能是身份验证缺陷的迹象
为避免此类缺陷,必须考虑以下预防措施:
随着越来越多的敏感信息存储在数据库中,容易受到安全漏洞的影响,数据完整性问题对于软件来说变得至关重要。
这是一个新类别,它侧重于假设软件更新、重要数据和 CI/CD 程序的完整性,而无需对其进行验证。一个例子是当应用程序使用来自内容交付网络 (CDN) 或未经授权的来源的扩展、模块或存储库时。未受保护的持续集成/持续交付 ( CI/CD ) 流程可能会增加恶意代码、系统受损或未经授权访问的风险。
预防技术包括:
在存在可疑行为和事件的情况下缺乏跟踪可能会扩大不受监控的时间间隔,从而使安全漏洞被忽视的时间比使用更好的日志记录的时间更长。此 OWASP Top 10 2021 部分旨在帮助识别、升级和解决最近的违规行为。如果没有记录和监控,就不可能检测到安全漏洞。
该类别的结果显示了高于平均水平的测试覆盖率、合理的低发生率以及高于平均水平的影响和利用评级。SSRF 是在服务器端查询未验证用户提供的 URL 的情况下开发的。这允许攻击者诱使应用程序将伪造请求传输到不希望的位置,即使该位置受到虚拟专用网络 (VPN)、防火墙或网络访问控制列表 (ACL) 的保护。
随着新的在线应用程序为最终用户提供方便的功能,获取 URL 已成为一种典型情况。因此,SSRF 患病率正在增加。此外,由于云服务和设计复杂性,SSRF 的强度正在增加。考虑到这一点,可以通过采用以下预防技术来避免此类攻击: