BEAST Attack
O que é BEAST Attack?
BEAST AttackAtaque de texto plano escolhido (Rizzo e Duong, 2011; CVE-2011-3389) ao SSL 3.0 e TLS 1.0 em modo CBC que recupera cookies HTTPS atraves de um IV previsivel.
BEAST (Browser Exploit Against SSL/TLS) foi divulgado na Ekoparty 2011 por Juliano Rizzo e Thai Duong e registado como CVE-2011-3389. SSL 3.0 e TLS 1.0 encadeiam os vetores de inicializacao CBC entre records: o IV do record N e simplesmente o ultimo bloco de texto cifrado do record N−1, pelo que e conhecido por um atacante na rede antes de o record seguinte ser enviado. Isto transforma a cifragem num esquema CBC de IV previsivel, vulneravel a um ataque de texto plano escolhido adaptativo por blocos.
O exploit pratico combina um man-in-the-middle com JavaScript controlado pelo atacante (originalmente um applet Java, explorando fragilidades da mesma origem) a correr no navegador da vitima. O atacante alinha um byte secreto desconhecido — por exemplo, um byte de um cookie de sessao — de modo a ficar no fim de um bloco CBC e, em seguida, adivinha o byte: uma tentativa e confirmada quando o bloco de texto cifrado produzido coincide com um observado anteriormente. Deslocando o limite um byte de cada vez, o cookie completo e recuperado em cerca de 256 tentativas por byte em vez de 256^n.
Mitigacoes: TLS 1.1+ usa IV explicitos e aleatorios por record e e imune; os navegadores adotaram a divisao de record 1/n−1 (enviar um byte no seu proprio record para aleatorizar o IV seguinte); o RC4 foi uma solucao provisoria ate que os seus proprios enviesamentos o tornaram inseguro. A correcao duradoura e o TLS 1.2/1.3 com cifras AEAD (AES-GCM, ChaCha20-Poly1305), que abandonam o CBC para a cifragem de records.
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]● Exemplos
- 01
Recuperar um cookie de autenticacao num banco TLS 1.0 atraves de um applet Java malicioso.
- 02
Decifrar cabecalhos HTTP byte a byte numa sessao HTTPS em modo CBC.
● Perguntas frequentes
O que é BEAST Attack?
Ataque de texto plano escolhido (Rizzo e Duong, 2011; CVE-2011-3389) ao SSL 3.0 e TLS 1.0 em modo CBC que recupera cookies HTTPS atraves de um IV previsivel. Pertence à categoria Ataques e ameaças da cibersegurança.
O que significa BEAST Attack?
Ataque de texto plano escolhido (Rizzo e Duong, 2011; CVE-2011-3389) ao SSL 3.0 e TLS 1.0 em modo CBC que recupera cookies HTTPS atraves de um IV previsivel.
Como se defender contra BEAST Attack?
As defesas contra BEAST Attack costumam combinar controles técnicos e práticas operacionais, conforme detalhado na definição acima.
Quais são outros nomes para BEAST Attack?
Nomes alternativos comuns: BEAST.