BEAST Attack
¿Qué es BEAST Attack?
BEAST AttackAtaque de texto plano elegido (Rizzo y Duong, 2011; CVE-2011-3389) contra SSL 3.0 y TLS 1.0 CBC que recupera cookies HTTPS aprovechando un IV predecible.
BEAST (Browser Exploit Against SSL/TLS) fue divulgado en Ekoparty 2011 por Juliano Rizzo y Thai Duong y registrado como CVE-2011-3389. SSL 3.0 y TLS 1.0 encadenan los vectores de inicializacion CBC entre registros: el IV del registro N es simplemente el ultimo bloque de texto cifrado del registro N−1, por lo que un atacante en la red lo conoce antes de que se envie el siguiente registro. Esto convierte el cifrado en un esquema CBC de IV predecible, vulnerable a un ataque de texto plano elegido adaptativo por bloques.
El exploit practico combina un atacante de tipo man-in-the-middle con JavaScript controlado por el atacante (originalmente un applet Java, que explotaba debilidades del mismo origen) ejecutandose en el navegador de la victima. El atacante alinea un byte secreto desconocido — por ejemplo, un byte de una cookie de sesion — de modo que quede al final de un bloque CBC, y luego adivina el byte: una conjetura se confirma cuando el bloque de texto cifrado producido coincide con uno observado previamente. Desplazando el limite un byte a la vez, la cookie completa se recupera en aproximadamente 256 conjeturas por byte en lugar de 256^n.
Mitigaciones: TLS 1.1+ usa IV explicitos y aleatorios por registro y es inmune; los navegadores incorporaron la division de registro 1/n−1 (enviando un byte en su propio registro para aleatorizar el siguiente IV); RC4 fue una solucion provisional hasta que sus propios sesgos lo volvieron inseguro. La solucion duradera es TLS 1.2/1.3 con cifrados AEAD (AES-GCM, ChaCha20-Poly1305), que abandonan CBC para el cifrado de registros.
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]● Ejemplos
- 01
Recuperar la cookie de autenticacion de un banco TLS 1.0 mediante un applet Java malicioso.
- 02
Descifrar cabeceras HTTP byte a byte en una sesion HTTPS en modo CBC.
● Preguntas frecuentes
¿Qué es BEAST Attack?
Ataque de texto plano elegido (Rizzo y Duong, 2011; CVE-2011-3389) contra SSL 3.0 y TLS 1.0 CBC que recupera cookies HTTPS aprovechando un IV predecible. Pertenece a la categoría de Ataques y amenazas en ciberseguridad.
¿Qué significa BEAST Attack?
Ataque de texto plano elegido (Rizzo y Duong, 2011; CVE-2011-3389) contra SSL 3.0 y TLS 1.0 CBC que recupera cookies HTTPS aprovechando un IV predecible.
¿Cómo defenderse de BEAST Attack?
Las defensas contra BEAST Attack combinan habitualmente controles técnicos y prácticas operativas, como se detalla en la definición.
¿Cuáles son otros nombres para BEAST Attack?
Nombres alternativos comunes: BEAST.