ALPACA
folclorecriptografiasegurança
Um ataque entre protocolos de 2021 que confunde serviços TLS que compartilham um certificado.
Application Layer Protocol Confusion Analyzing Cross-protocol Attacks redirecionava uma conexão TLS destinada a um serviço para outro que compartilhava o certificado, explorando expectativas incompatíveis na camada de aplicação. A verificação estrita de SNI e ALPN o mitiga.
O ALPACA é um ataque entre protocolos sobre TLS. Um certificado válido para um nome de host pode ser apresentado por qualquer serviço daquele host, então um atacante capaz de redirecionar uma conexão pode entregar a requisição HTTPS de um navegador a um serviço TLS completamente diferente, como um servidor FTP ou de correio que compartilhe o mesmo certificado.
A confusão resultante é o exploit. O segundo serviço não fala HTTP, mas pode ecoar partes da requisição numa mensagem de erro, e um navegador que interprete essa resposta como HTML pode ser levado a executar conteúdo no contexto da origem. A camada TLS não é quebrada em momento algum: as duas pontas se autenticam corretamente, e o descompasso é inteiramente sobre qual protocolo de aplicação era esperado.
A defesa é a negociação de protocolo de aplicação, imposta estritamente, de modo que o servidor recuse uma conexão cujo protocolo negociado ele não implementa. A lição mais ampla é sobre escopo de certificado: um certificado curinga compartilhado entre muitos serviços faz com que esses serviços possam ser substituídos uns pelos outros, e a conveniência de um certificado em todo lugar é exatamente a propriedade explorada.
Também conhecido como: ALPACA, Application Layer Protocol Confusion Analyzing Cross-protocol Attacks
Fontes
- ALPACA attack (2021)