Ataques MitM e DoS a domínios com o uso de certificados antigos

6 fev 2019

Certificados HTTPS são um dos pilares da segurança na Internet. Mas nem tudo são flores. Já falamos sobre como o sistema existente muitas vezes falha em proteger os usuários. Agora vamos focar no que pode dar errado para os proprietários de sites.

Dois certificados válidos para o mesmo domínio

Registros de domínio e certificação HTTPS são frequentemente controlados por organizações diferentes, então o prazo de validade dos domínios e dos certificados não serão necessariamente os mesmos. Isso permite casos em que tanto o antigo, quanto o atual dono de um domínio possuem certificados válidos ao mesmo tempo.

O que pode dar errado em uma situação como esta e quão recorrente é esse problema na vida real? Na DEF COM 26, os pesquisadores Ian Foster e Dylan Ayrey apresentarem seu estudo sobre a questão. De acordo com a dupla, há ainda mais complicações do que aquelas percebidas à primeira vista – além de ser algo surpreendentemente comum.

O problema mais óbvio é exatamente aquilo que você esperaria que acontecesse se outra pessoa possuísse um certificado válido para o seu domínio: um ataque “Man-in-the-Middle” nos usuários do seu site.

Foster e Ayrey usaram a base de dados de certificados do projeto Certificate Transparency e identificaram 1,5 milhão de casos de “propriedade cruzada” – uma quantia que representa quase 0,5% de todos os sites. Em 25% destes casos, o certificado mais antigo ainda é válido, o que torna 375 mil domínios vulneráveis ao Man-in-the-Middle.

Mas isso não é tudo. É bastante comum criar um certificado para múltiplos domínios – facilmente dezenas ou mesmo centenas deles. Por exemplo, Foster e Ayrey foram capazes de detectar um certificado que cobria 700 domínios ao mesmo tempo, e de acordo com os pesquisadores, essa lista inclui diversos domínios muito populares.

Sem nenhuma surpresa, alguns desses 700 domínios estão atualmente disponíveis; dessa forma, qualquer pessoa pode registrar e adquirir um certificado HTTPS para um deles. A questão agora é: o dono do novo domínio tem o direito de revogar o certificado anterior para proteger sua página de um ataque Man-in-the-Middle?

Certificados podem ser revogados?

Certificados podem, de fato, ser revogados. O procedimento operacional dos centros de certificação permite a anulação de certificados se “qualquer informação contida no Certificado for incorreta ou enganosa”. Esse cancelamento deve acontecer até 24 horas depois do recebimento da notificação.

Foster e Ayrey observaram como isso funciona na vida real, e descobriram que o procedimento varia muito de acordo com os diferentes centros de certificação. Assim, o Let’s Encrypt aplica ferramentas automatizadas que ajudam a revogar um certificado rapidamente – quase em tempo real. Em outros centros de certificação, você vai precisar entrar em contato com pessoas reais, então não será tão rápido. Às vezes, revogar um certificado requer perseverança e muito mais do que as 24 horas de espera estimadas. Nos piores casos, a anulação do certificado pode até mesmo não acontecer. Por exemplo, a comunicação entre os pesquisadores e a Comodo terminou com uma sugestão de “esquecer esse SSL e solicitar um novo SSL”.
De qualquer forma, é mais provável que consiga revogar um certificado antigo do que não. Essa notícia é daquelas que pode ser boa ou não. Por um lado, o novo dono do domínio vai na maioria das vezes ser capaz de se proteger contra um ataque Man-in-the-Middle que explora a vulnerabilidade de um certificado anterior. Por outro, significa que outra pessoa pode adquirir um dos domínios gratuitos cobertos por um certificado “compartilhado” e revogá-lo, o que vai prejudicar muito o uso dos demais sites associados.

Quão recorrente é o problema? Ainda mais que o primeiro: 7 milhões de domínios – mais de 2% da Internet! – compartilham seus certificados com domínios cujos registros já expiraram. 41% dos certificados anteriores ainda são válidos. Consequentemente, milhões de domínios estão atualmente expostos a ataques DoS que usam a vulnerabilidade relacionada à anulação do certificado.
Vamos voltar aos certificados de 700 domínios mencionados acima. Para demonstrar quão urgente é o problema, os pesquisadores adquiriram um dos domínios gratuitos cobertos por esse certificado. Então agora, teoricamente, eles podem lançar um ataque DoS em centenas de páginas ativas.

Como se proteger?

Um total de 375.000 domínios estão vulneráveis a ataques MitM e milhões deles a ataques DoS por meio do uso de certificados antigos – e seus domínios também podem estar na lista. Como o relatório foi apresentado em uma das maiores conferências hacker do mundo, pode ter certeza – alguém já está procurando domínios vulneráveis, até mesmo enquanto lê este artigo. Mas como os proprietários de sites podem se proteger? Foster e Ayrey sugerem os seguintes passos:

  • Utilize um header Expect-CT HTTP com uma regra “obrigatória” para garantir que apenas os certificados listados na base de dados do Certificate Transparency sejam confiados ao seu domínio.
  • Utilize a base de dados do Certificate Transparency para verificar se seus domínios possuem certificados válidos emitidos por antigos donos. Pode fazer isso com a ferramenta de Monitoramento de transparência de certificado do Facebook. Para simplificar o trabalho, os pesquisadores disponibilizaram uma ferramenta própria que pode ser usada por qualquer pessoa para pesquisar domínios expostos às vulnerabilidades descritas.

Nós podemos dar mais algumas dicas:

  • Faça um inventário completo das suas páginas corporativas para ver se há qualquer certificado antigo para seus domínios. Se encontrar algum, entre em contato com o centro de certificação e solicite a anulação.
  • Não adquira um certificado para múltiplos domínios, especialmente se for uma prática comum da sua empresa criar diversos sites e domínios associados sem um monitoramento de operabilidade rigoroso. Se o registro de um domínio “abandonado” expirar e alguém assumi-lo, tudo que precisará ser feito para derrubar sua página corporativa é revogar o certificado.
  • Pondere com antecedência a situação do certificado comprometido. Você terá que revogá-lo urgentemente e, de acordo com o estudo, alguns centros de certificação são lerdos demais para responder – então pode ser uma boa ideia escolher os mais rápidos.