10大Web应用程序安全风险
2021年top10中有三个新类别、四个类别的命名和范围变化,以及一些合并。
A02:A02:2021-加密机制失效
上升一个位置,当前top2,以前称为敏感数据泄露,是一种状况而不是根本原因。更新后的类别侧重加密相关的故障,这通常会导致敏感数据泄露或系统泄露。
已映射的CWE | 最大发生率 | 平均发生率 | 平均加权漏洞利用 | 平均加权影响 | 最大覆盖范围 | 平均覆盖率 | 总发生次数 | CVE 总数 |
---|---|---|---|---|---|---|---|---|
29 | 46.44% | 4.49% | 7.29 | 6.81 | 79.33% | 34.85% | 233,788 | 3,075 |
什么是加密机制失效?
由于传输过程中缺少加密或弱加密,或者意外暴露敏感数据,可能会发生加密失败情况。
首先确定传输中数据的保护需求和休息。例如,密码、信用卡号、健康 记录、个人信息和商业机密需要额外的保护,主要是如果该数据属于隐私法,例如欧盟的通用数据保护条例(GDPR)或法规,例如金融数据保护,例如 PCI 数据安全标准(PCI DSS。
属于隐私法的数据,是否存在以明文传输的问题。
数据是否适用旧的较弱的加密算法和协议来加密。
收到的服务器证书和信任链是否经过验证。
设计加密机制是是否考虑随机性。
如何预防
针对这些漏洞的攻击通常特定于应用,因此需要采用深度防御方法来缓解。
精细的 SSL 和 TLS 加密方式控制,使用安全协议(如 TLS)加密传输中的所有数据 前向保密(FS)密码,密码优先级由服务器和安全参数。使用指令强制加密如HTTP严格传输安全(HSTS)。
- 强制执行MFA/2FA
- 保护API密钥
- 强制执行API密钥轮替
- 计算映像隐私
- 强制执行SSH密钥规则
- 安全启动监控
- API访问安全
- SSL政策监控
- 已停用日志记录
- 公共存储分区 ACL提醒
不要使用FTP和SMTP等传统协议进行传输敏感数据。
始终使用经过身份验证的加密,而不仅仅是加密。
密钥应以加密方式随机生成并存储在内存作为字节数组。如果使用密码,则必须转换密码 通过适当的密码库密钥派生函数到密钥。
为防止您的 Web 应用泄露敏感数据,请确保不以明文形式发送密码。通过检查公开的 git 和 Apache Subversion 源代码库,避免泄露可能造成破坏的原始源代码。这些扫描旨在涵盖特定 OWASP 十大控制措施。
A01:2021-访问控制中断
A02:A02:2021-Cryptographic Failures
A03:2021-injection
A04:2021-不安全设计
A05:2021-安全配置错误