Menos de 24 horas depois de a Microsoft divulgar a CVE-2020-0601 — a falha crítica da CryptoAPI do Windows que a Microsoft corrigiu em 14 de janeiro de 2020 após um aviso privado da NSA —, o pesquisador Saleem Rashid tuitou imagens do "Never Gonna Give You Up", de Rick Astley, tocando no GitHub.com e no NSA.gov por HTTPS. O rickroll era a demonstração: seu exploit fez o Edge e o Chrome tratarem sites falsificados como genuinamente verificados, com o Brave, outros derivados do Chrome e o Internet Explorer provavelmente afetados também. O Firefox não mostrou indícios de ter sido afetado.

A falha quebrou completamente a validação de certificados para sites, atualizações de software, VPNs e outros usos críticos de segurança no Windows 10, incluindo o Windows Server 2016 e 2019. A mecânica: a CryptoAPI confiava nos parâmetros de curva elíptica incluídos em cada certificado em vez de exigir curvas definidas por padrões, de modo que um atacante podia fornecer parâmetros de gerador personalizados — permitindo que o Windows "concordasse" com uma chave pública que o atacante havia escolhido, e fazendo certificados forjados passarem como reais.

Rashid disse que o exploit usava cerca de 100 linhas de código, e que poderia comprimi-lo para 10 se abandonasse "alguns truques úteis". A velocidade da demonstração — dentro de um dia, contra uma falha divulgada sem descrição técnica pública — mostrou quão pequena era a distância entre "vulnerabilidade corrigida" e "exploit weaponizado" quando a causa raiz é um erro de design e não um bug de memória.

A origem da divulgação deu à história sua ironia: a NSA havia relatado o bug em particular, cujo efeito prático incluía personificar o próprio site da NSA. O rickroll — a demonstração humorística padrão de falhas de segurança graves — tornou a personificação visível imediatamente para não especialistas.

Uma biblioteca criptográfica que aceita os parâmetros de curva elíptica do atacante permite que o atacante escolha a chave com a qual a matemática concorda — a verificação se torna um carimbo.

A causa raiz é um princípio de design, não um deslize de implementação: aceitar parâmetros criptográficos fornecidos pelo chamador converte agilidade em falsificação universal.

O raio de impacto era tudo o que o TLS protege — sites, atualizações de software, VPNs — em todas as máquinas Windows 10 e Server 2016/2019.

Uma falsificação funcional surgiu em cerca de 100 linhas dentro de um dia após a divulgação, antes de a maioria dos defensores sequer ter aplicado a correção.

O alvo da demonstração era o próprio relator do bug, tornando o modo de falha impossível de descartar como teórico.

Agilidade criptográfica é superfície de ataque: cada parâmetro que um verificador aceitar do lado não confiável é um botão que o atacante pode girar — fixe as constantes no código, não verifique nada opcional.

A correção da Microsoft de 14 de janeiro de 2020 resolveu a falha de validação da CryptoAPI para o Windows 10 e as versões de servidor afetadas; a fonte não relata exploração real além da demonstração de Rashid.

CONFIRA AS EVIDÊNCIAS

As fontes

  1. Critical Windows 10 vulnerability used to Rickroll the NSA and Github Ars Technica · arstechnica.com ·