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

Ataque de Bleichenbacher

Revisado porCybersecurity entrepreneur & security researcher

O que é Ataque de Bleichenbacher?

Ataque de BleichenbacherAtaque adaptativo de texto cifrado escolhido (Bleichenbacher, 1998) que recupera texto plano RSA quando o servidor revela se o padding PKCS#1 v1.5 e valido.


Daniel Bleichenbacher apresentou este ataque na CRYPTO 1998 contra o handshake SSL que usa cifrado RSA-PKCS#1 v1.5. O servidor age sem querer como oraculo de padding: qualquer resposta distinguivel (codigo de alerta TLS, reinicializacao de conexao ou tempo de resposta) revela ao atacante se um texto cifrado adulterado se decifra num valor que comeca pelos bytes 0x00 0x02. Como o RSA e multiplicativamente homomorfico, o atacante multiplica o texto cifrado capturado por valores escolhidos s, submete o resultado e usa cada resposta de "padding valido" para reduzir o conjunto de textos planos possiveis. Apos cerca de um milhao de consultas, o intervalo colapsa num unico valor e o premaster cifrado com RSA e recuperado, sem nunca tocar na chave privada, permitindo ao atacante decifrar a sessao ou forjar uma assinatura RSA.

A falha e dificil de erradicar porque o desempacotamento PKCS#1 v1.5 resiste a uma implementacao em tempo constante. Regressou como DROWN (CVE-2016-0800), que usou um oraculo SSLv2 para quebrar sessoes TLS modernas, e como ROBOT (Return Of Bleichenbacher's Oracle Threat, 2017): os investigadores Böck, Somorovsky e Young descobriram que F5 (CVE-2017-6168), Citrix, Cisco e outros continuavam vulneraveis, e demonstraram-no contra o Facebook e o PayPal. Defesas: tratamento de erros identico para padding correto e incorreto, preferir RSA-OAEP, desativar as suites de cifra com troca de chaves RSA e adotar TLS 1.3, que remove por completo o cifrado RSA do handshake.

flowchart TD
  A[Attacker captures RSA ciphertext c] --> B["Pick multiplier s, send c·s^e mod n"]
  B --> C{Server padding check}
  C -->|"Starts 0x00 0x02 → valid"| D[Narrow plaintext interval]
  C -->|"Invalid → distinct response"| E[Discard this s]
  D --> F{Interval = 1 value?}
  E --> B
  F -->|No| B
  F -->|Yes| G[Premaster secret recovered]

Exemplos

  1. 01

    Recuperar o premaster SSL num servidor dos anos 90 que devolvia alertas distintos para padding incorreto.

  2. 02

    DROWN e ROBOT reutilizam este oraculo contra pilhas TLS modernas.

Perguntas frequentes

O que é Ataque de Bleichenbacher?

Ataque adaptativo de texto cifrado escolhido (Bleichenbacher, 1998) que recupera texto plano RSA quando o servidor revela se o padding PKCS#1 v1.5 e valido. Pertence à categoria Ataques e ameaças da cibersegurança.

O que significa Ataque de Bleichenbacher?

Ataque adaptativo de texto cifrado escolhido (Bleichenbacher, 1998) que recupera texto plano RSA quando o servidor revela se o padding PKCS#1 v1.5 e valido.

Como se defender contra Ataque de Bleichenbacher?

As defesas contra Ataque de Bleichenbacher costumam combinar controles técnicos e práticas operacionais, conforme detalhado na definição acima.

Quais são outros nomes para Ataque de Bleichenbacher?

Nomes alternativos comuns: Million Message Attack.

Termos relacionados