BREACH

folclore

criptografiasegurança

Uma variante de 2013 do CRIME que mira a compressão de respostas HTTP em vez do TLS.

Browser Reconnaissance and Exfiltration via Adaptive Compression of Hypertext funciona mesmo sem compressão TLS, atacando o gzip na camada HTTP e inferindo segredos refletidos em respostas comprimidas. As mitigações incluem mascarar tokens e desabilitar a reflexão de entrada do usuário.

O BREACH é o sucessor do CRIME e aplica o mesmo canal lateral de compressão aos corpos de resposta HTTP, e não ao TLS em si. Como a compressão HTTP é usada essencialmente em toda parte e desligá-la custa banda e desempenho reais, o remédio fácil que fechou o CRIME não estava disponível.

As condições são específicas e comuns: a resposta precisa ser comprimida, precisa refletir alguma entrada fornecida pelo atacante, e precisa conter um segredo, como um token antifalsificação, no mesmo corpo. Dadas essas condições, o atacante mede tamanhos de resposta ao longo de muitas requisições forjadas e extrai o segredo caractere a caractere.

As defesas são todas trocas desconfortáveis, e é por isso que ele segue sendo consideração viva. Mascarar tokens com um valor aleatório por requisição funciona e exige mudanças na aplicação. Acrescentar preenchimento aleatório às respostas eleva o custo do ataque sem eliminá-lo e desperdiça banda. Separar segredos de conteúdo refletido é correto e exige saber onde todos os seus segredos aparecem. O BREACH ilustra bem que algumas vulnerabilidades não podem ser corrigidas, apenas contornadas por projeto, e que um recurso genuinamente útil pode ser o que torna um ataque possível.

Também conhecido como: BREACH, Browser Reconnaissance and Exfiltration via Adaptive Compression of Hypertext

Fontes

  • CVE-2013-3587 (2013)

Todos os verbetes do glossário