填充预言机攻击
填充预言机攻击 是什么?
填充预言机攻击Vaudenay 在 2002 年提出的密码学攻击,当服务器披露篡改消息的 PKCS#7 填充是否合法时,可解密 CBC 模式的密文。
Serge Vaudenay 于 2002 年 Eurocrypt 大会上提出了针对采用 PKCS#5/PKCS#7 填充的 CBC 模式密文的填充预言机攻击。只要攻击者可以提交篡改后的密文,并通过任何方式区分填充是否合法(HTTP 500 与 200、时间差、错误码差异等),便能在不知道密钥的情况下按字节解密任意密文。典型案例包括 ASP.NET MachineKey 填充预言机(CVE-2010-3332)、POODLE、Lucky 13 以及 Bleichenbacher 的 RSA 变体。防御措施:使用 AES-GCM、ChaCha20-Poly1305 等 AEAD 认证加密;先加密再做恒定时间 MAC 校验;统一错误响应;并在 TLS 1.3 中淘汰 CBC 套件。
● 示例
- 01
通过 MachineKey 填充预言机解密 ASP.NET ViewState(CVE-2010-3332)。
- 02
POODLE 将 TLS 降级为 SSL 3.0,利用其非确定性 CBC 填充。
● 常见问题
填充预言机攻击 是什么?
Vaudenay 在 2002 年提出的密码学攻击,当服务器披露篡改消息的 PKCS#7 填充是否合法时,可解密 CBC 模式的密文。 它属于网络安全的 攻击与威胁 分类。
填充预言机攻击 是什么意思?
Vaudenay 在 2002 年提出的密码学攻击,当服务器披露篡改消息的 PKCS#7 填充是否合法时,可解密 CBC 模式的密文。
填充预言机攻击 是如何工作的?
Serge Vaudenay 于 2002 年 Eurocrypt 大会上提出了针对采用 PKCS#5/PKCS#7 填充的 CBC 模式密文的填充预言机攻击。只要攻击者可以提交篡改后的密文,并通过任何方式区分填充是否合法(HTTP 500 与 200、时间差、错误码差异等),便能在不知道密钥的情况下按字节解密任意密文。典型案例包括 ASP.NET MachineKey 填充预言机(CVE-2010-3332)、POODLE、Lucky 13 以及 Bleichenbacher 的 RSA 变体。防御措施:使用 AES-GCM、ChaCha20-Poly1305 等 AEAD 认证加密;先加密再做恒定时间 MAC 校验;统一错误响应;并在 TLS 1.3 中淘汰 CBC 套件。
如何防御 填充预言机攻击?
针对 填充预言机攻击 的防御通常结合技术控制与运营实践,详见上方完整定义。
填充预言机攻击 还有哪些其他名称?
常见的别称包括: CBC 填充预言机。
● 相关术语
- attacks№ 103
Bleichenbacher 攻击
Daniel Bleichenbacher 在 1998 年提出的自适应选择密文攻击,当服务器泄露 PKCS#1 v1.5 填充是否合法时即可恢复 RSA 明文。
- attacks№ 636
Lucky 13
2013 年 AlFardan 与 Paterson 发布的 TLS 计时攻击,针对 MAC-then-encrypt 的 CBC 实现构造填充预言机以恢复明文。
- attacks№ 089
BEAST 攻击
Rizzo 与 Duong 于 2011 年披露的针对 SSL 3.0 与 TLS 1.0 CBC 密码的选择明文攻击(CVE-2011-3389),利用可预测的 IV 恢复 HTTPS Cookie。
- network-security№ 1159
TLS(传输层安全)
由 IETF 标准化的加密协议,为两个联网应用之间的通信提供机密性、完整性与认证。
- vulnerabilities№ 1038
侧信道攻击
通过观察系统的物理或实现特征(时序、功耗、电磁辐射、缓存、声学信号等)而非逻辑漏洞,来恢复机密信息的攻击。
● 参见
- № 122BREACH 攻击
- № 941ROBOT 攻击
- № 1093SSL/TLS 降级攻击