CRIME
folclorecriptografiasegurança
Um ataque de 2012 que recupera segredos observando o tamanho de requisições TLS comprimidas.
Compression Ratio Info-leak Made Easy explorou a compressão em nível TLS: injetar palpites e observar o comprimento comprimido revelava quando um palpite casava com conteúdo secreto como um cookie de sessão. A correção foi desabilitar a compressão TLS.
O CRIME atacou a compressão, e não a criptografia. O TLS podia comprimir dados antes de criptografá-los, e compressão funciona encontrando repetição, então o tamanho da saída criptografada vaza informação sobre quanto o texto claro se repetia. Um atacante que consegue injetar conteúdo numa requisição e observar o comprimento criptografado consegue determinar, palpite a palpite, se sua injeção casou com um segredo já presente, como um cookie de sessão.
A elegância e o horror são a mesma coisa: a criptografia não é quebrada em nada. Toda garantia sobre confidencialidade do conteúdo se mantém, e o comprimento do texto cifrado, que projeto algum tratava como sensível, entrega o segredo. É a demonstração prática mais clara de que canais laterais não são exóticos e de que metadados sobre dados criptografados podem ser tão reveladores quanto os dados.
A correção imediata foi desabilitar a compressão TLS, o que foi simples. Os ataques seguintes não foram, porque a compressão também acontece na camada HTTP, onde é valiosa demais para ser desligada, e defendê-la exigiu separar segredos de conteúdo controlado pelo atacante e mascarar tokens por requisição. Esse é um problema de engenharia bem mais difícil, e é por isso que essa família persistiu muito depois de o original ser fechado.
Também conhecido como: CRIME, Compression Ratio Info-leak Made Easy, CVE-2012-4929
Fontes
- CVE-2012-4929 (2012)