Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 107

BEAST 攻击

审核人Cybersecurity entrepreneur & security researcher

BEAST 攻击 是什么?

BEAST 攻击Rizzo 与 Duong 于 2011 年披露的针对 SSL 3.0 与 TLS 1.0 CBC 密码的选择明文攻击(CVE-2011-3389),利用可预测的 IV 恢复 HTTPS Cookie。


BEAST(Browser Exploit Against SSL/TLS)由 Juliano Rizzo 与 Thai Duong 于 Ekoparty 2011 大会上披露,对应 CVE-2011-3389。SSL 3.0 与 TLS 1.0 在各记录之间链接 CBC 初始化向量:记录 N 的 IV 就是记录 N−1 的最后一个密文块,因此在下一条记录发送之前,网络攻击者就已知晓该 IV。这使加密变成了一种 IV 可预测的 CBC 方案,容易遭受按块自适应的选择明文攻击。

实际利用将中间人攻击与运行在受害者浏览器中、由攻击者控制的 JavaScript(最初是利用同源弱点的 Java applet)结合起来。攻击者将一个未知的秘密字节——比如会话 Cookie 中的某一字节——对齐到 CBC 块的末尾,然后猜测该字节:当产生的密文块与先前观察到的某个密文块匹配时,该猜测即被确认。通过每次将边界移动一个字节,整个 Cookie 可以以每字节约 256 次猜测的代价恢复,而非 256^n 次。

缓解措施:TLS 1.1+ 使用显式的、每条记录随机的 IV,因而免疫;浏览器引入了 1/n−1 记录分割(将一个字节单独放入一条记录中,以随机化下一个 IV);RC4 曾是权宜之计,直到其自身的偏差使其变得不安全。持久的修复方案是采用 AEAD 密码(AES-GCM、ChaCha20-Poly1305)的 TLS 1.2/1.3,它们在记录加密中放弃了 CBC。

flowchart TD
  M[MITM observes TLS 1.0 CBC records] --> J[Attacker JS injects chosen plaintext]
  J --> A[Align secret cookie byte at block boundary]
  A --> G[Guess byte using prior ciphertext block as known IV]
  G --> C{Ciphertext block matches?}
  C -->|Yes| R[Byte recovered, shift boundary]
  C -->|No| G
  R --> D{Cookie complete?}
  D -->|No| A
  D -->|Yes| S[Session cookie stolen]

示例

  1. 01

    通过恶意 Java applet 从 TLS 1.0 银行站点窃取认证 Cookie。

  2. 02

    在 CBC 模式 HTTPS 会话中按字节解密 HTTP 请求头。

常见问题

BEAST 攻击 是什么?

Rizzo 与 Duong 于 2011 年披露的针对 SSL 3.0 与 TLS 1.0 CBC 密码的选择明文攻击(CVE-2011-3389),利用可预测的 IV 恢复 HTTPS Cookie。 它属于网络安全的 攻击与威胁 分类。

BEAST 攻击 是什么意思?

Rizzo 与 Duong 于 2011 年披露的针对 SSL 3.0 与 TLS 1.0 CBC 密码的选择明文攻击(CVE-2011-3389),利用可预测的 IV 恢复 HTTPS Cookie。

如何防御 BEAST 攻击?

针对 BEAST 攻击 的防御通常结合技术控制与运营实践,详见上方完整定义。

BEAST 攻击 还有哪些其他名称?

常见的别称包括: BEAST。

相关术语