ROBOT

folclore

criptografiasegurança

Um retorno em 2017 de um clássico oráculo de padding RSA que afetou muitas pilhas TLS.

Return Of Bleichenbacher's Oracle Threat mostrou que um ataque de padding RSA PKCS#1 v1.5 de 1998 ainda funcionava contra inúmeras implementações modernas. Ressaltou como é difícil aposentar completamente uma construção criptográfica falha.

O ROBOT é o retorno de um ataque publicado pela primeira vez em 1998. Bleichenbacher mostrou que um servidor que revela se uma mensagem criptografada com RSA tinha preenchimento válido pode ser usado como oráculo para decifrar tráfego, uma consulta por vez. Quase vinte anos depois, pesquisadores descobriram que muitas implementações importantes seguiam vulneráveis.

A recorrência é o achado. A correção original exigia que os servidores se comportassem de forma idêntica para preenchimento válido e inválido, o que é difícil de implementar corretamente e impossível de verificar testando o caminho feliz. As implementações divergiram em pequenos detalhes ao longo dos anos, e as diferenças bastaram. Alguns produtos ficaram vulneráveis por uma mensagem de erro distinguível, outros por temporização.

Esse é um forte argumento a favor de remover construções perigosas em vez de defendê-las. O TLS 1.3 abandonou a troca de chaves RSA por completo, o que elimina a classe em vez de exigir que toda implementação acerte para sempre um comportamento sutil. Quando uma mitigação depende de cada implementador evitar um erro específico perpetuamente, alguns não vão evitar, e a falha será silenciosa.

Também conhecido como: ROBOT, Return Of Bleichenbacher's Oracle Threat

Fontes

  • ROBOT attack (2017)

Todos os verbetes do glossário