翻译OWASP TOP TEN

打开owasp top ten,选择其中两个进行翻译

 A07:2021–识别和身份验证失败:

概述

以前称为中断的身份验证,这一类下滑从第二个立场,现在包括了共同的弱点与标识相关的枚举(CWE)失败。值得注意的CWE包括CWE-297:验证不当主机不匹配的证书,CWE-287:不正确的身份验证,和CWE-384:会话固定.

说明

确认用户的身份、身份验证和会话管理对于防止与身份验证相关的攻击。如果应用程序:

  • 允许自动攻击,如凭证填充,其中攻击者拥有有效用户名和密码的列表。

  • 允许暴力或其他自动攻击。

  • 允许默认密码、弱密码或已知密码,例如“Password1”或“管理/管理”。

  • 密码恢复无效或忘记密码过程,例如“基于知识的答案”,这是不可能的安全。

  • 使用纯文本、加密或弱哈希密码数据存储(请参阅A02:2021-加密失败).

  • 缺少或无效的多因素身份验证。

  • 在URL中公开会话标识符。

  • 成功登录后重用会话标识符。

  • IDs Session不能正确失效。用户会话或身份验证令牌(主要是单点登录(SSO)令牌)不是在注销或一段时间不活动时正确地失效。

如何预防

  • 在可能的情况下,实施多因素身份验证以防止自动凭证填充、暴力和被盗凭证重用攻击。

  • 不要使用任何默认凭据发布或部署,尤其是对于管理员用户。

  • 实施弱密码检查,例如测试新的或更改的密码前10000个最差密码列表中的密码。

  • 将密码长度、复杂性和轮换策略与国家标准与技术研究所(NIST)800-63b第5.1节中的指南。记住的秘密或其他现代的,基于证据的密码政策。

  • 确保注册、凭据恢复和API路径通过使用所有结果的信息。

  • 限制或越来越多地延迟失败的登录尝试,但要小心不要创建拒绝服务场景。记录所有失败并在凭据填充、暴力或检测到其他攻击。

  • 使用服务器端安全的内置会话管理器来生成新的随机会话ID与高熵登录后。会话标识符不应在URL中,被安全存储,并在之后失效注销、空闲和绝对超时。

攻击场景示例

场景1:凭证填充,使用已知的列表密码,是一种常见的攻击。假设应用程序没有实现自动威胁或凭证填充保护。在这种情况下应用程序可以用作密码oracle来确定凭据有效。

场景2:大多数身份验证攻击都是由于密码的使用是唯一的因素。一旦考虑到最佳实践,密码轮换和复杂性要求鼓励用户使用并重用弱密码。建议组织停止这些活动按照NIST 800-63标准实施,并使用多因素认证。

场景3:应用程序会话超时设置不正确。A用户使用公共计算机访问应用程序。而不是选择“注销”,用户只需关闭浏览器选项卡并进行漫游走开。一小时后,攻击者使用同一浏览器,而用户仍在验证中。

A08:2021–软件和数据完整性故障:

概述

2021年的一个新类别侧重于对未经验证的软件更新、关键数据和CI/CD管道正直。来自通用漏洞和暴露/通用漏洞评分系统(CVE/CVSS)数据。值得注意的共同弱点列举(CWE)包括CWE-829:包含来自不受信任的控制范围的功能,CWE-494:未进行完整性检查的代码下载,和CWE-502:不可信数据的反序列化.

说明

软件和数据完整性故障与代码和基础设施有关这并不能防止违反诚信的行为。应用程序依赖于一个不受信任的存储库或插件交付网络(CDN)。不安全的CI/CD管道可能会导致存在未经授权的访问、恶意代码或系统损坏的可能性。最后,许多应用程序现在都包含自动更新功能,其中未经充分的完整性验证和应用于以前受信任的应用程序。攻击者可以可能会上传他们自己的更新来分发和运行在所有安装。另一个例子是对象或数据被编码或序列化到一个攻击者可以看到并修改易受不安全反序列化的攻击。

如何预防

  • 使用数字签名或类似的机制来验证软件或数据是否来自预期的来源并且没有被更改。

  • 确保库和依赖项(如npm或Maven)是正在使用受信任的存储库。如果你有更高的风险,考虑托管一个经过审查的内部已知良好的存储库。

  • 确保软件供应链安全工具,如OWASP依赖性检查或OWASP CycloneDX用于验证组件不包含已知的漏洞

  • 确保有代码和配置更改的审阅过程,以将恶意代码或配置引入软件管道的可能性降至最低。

  • 确保CI/CD管道具有正确的隔离、配置和访问权限控件以确保流经的代码的完整性构建和部署流程。

  • 确保未签名或未加密的序列化数据未发送到不受信任的客户端没有某种形式的完整性检查或数字用于检测序列化数据的篡改或重放的签名

攻击场景示例

场景1未签名的更新:许多家庭路由器,机顶设备、设备固件和其他设备不会通过签名验证更新固件。未签名固件越来越成为攻击者的目标只会变得更糟。在那里,这是一个主要的问题除了在将来的版本中修复之外,没有任何机制可以修正等待以前的版本过时。

场景2太阳风恶意更新:民族国家已知的攻击更新机制,最近一次值得注意的攻击是太阳风猎户座攻击。开发软件的公司保护构建和更新完整性过程。尽管如此,他们还是能够被颠覆了,几个月来,公司分发了一份针对18000多个组织进行恶意更新,其中大约100人左右受到影响。这是最深远的历史上最重大的违反这一性质的行为。

场景3不安全的反序列化:React应用程序调用一套弹簧靴微服务。作为函数式程序员,他们试图确保他们的代码是不可变的。他们想出的解决方案with正在序列化用户状态并用每个请求。攻击者会注意到“rO0”Java对象签名(在base64中)和使用Java Serial Killer工具在应用服务器。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值