No dia 2 de outubro recebemos um e-mail da AFP ProVida, uma das maiores administradoras de fundos de pensão do Chile, com o assunto «Aviso Ingreso Reclamo» (Aviso de Registro de Reclamação). Ele nos acusava de não ter pago as contribuições previdenciárias de vários funcionários, mencionava juros acumulados e terminava com uma advertência de cobrança judicial. Para ver os detalhes do suposto processo, era preciso clicar em um link.
Era um golpe, mas o e-mail não era falso: foi enviado pelo próprio sistema da ProVida, a partir do seu próprio domínio. Os golpistas não precisaram se passar pela administradora: a análise do e-mail aponta para um abuso do formulário de reclamações que a empresa mantém aberto ao público.
Se a sua empresa tem um formulário web público que responde automaticamente por e-mail e inclui nessa resposta o que o solicitante escreveu, o mesmo pode acontecer com você.
O e-mail que recebemos
À primeira vista, nada destoa. O remetente é atencionclientes@provida.cl, o logotipo é o da ProVida, o telefone de atendimento é o verdadeiro e o rodapé leva à rede de agências. O texto é bem escrito, usa o vocabulário de uma carta de cobrança e apela a algo que todo empregador leva a sério: as contribuições previdenciárias dos seus funcionários.
O link «Ver Detalle del Reclamo» (Ver detalhes da reclamação) não leva a provida.cl. Ele aponta para um domínio que imita o nome da administradora com a terminação .icu, para um arquivo que se apresenta como PDF. Não o abrimos. Consultamos o registro público do domínio sem visitá-lo: ele foi criado em 1º de outubro, um dia antes de o e-mail chegar, e quando o verificamos em 10 de outubro já estava suspenso.
Por que ele passou nas verificações de e-mail
Serviços de e-mail como o Gmail ou o Outlook verificam três coisas para decidir se uma mensagem vem de quem diz vir. Eles conferem se o servidor que a enviou está autorizado pelo domínio (SPF), se a mensagem traz uma assinatura digital desse domínio e não foi alterada no caminho (DKIM), e se as duas coisas coincidem com o endereço que o destinatário vê (DMARC). Se falharem, o e-mail pode ir para o spam ou ser rejeitado, dependendo de como o domínio está configurado.
Este e-mail passou nas três. Saiu dos servidores da MetLife, a empresa dona da ProVida, assinado com a chave de provida.cl. Isso confirma quem o enviou, mas não diz nada sobre o que ele contém: autenticar o remetente não garante que o conteúdo seja seguro. Outros controles, como a análise de links que alguns filtros fazem, ainda podem detectar uma mensagem assim ou o seu link.
Quase todas as recomendações que circulam («confira o remetente», «desconfie se o domínio for estranho») supõem que o golpista está se passando por alguém. Com este e-mail, conferir o remetente não teria bastado.
Como um formulário de reclamações vira um canal de phishing
A ProVida, como muitas empresas, tem um formulário web para registrar reclamações. Quando alguém o preenche, o sistema envia um e-mail de confirmação para o endereço informado: «Estimado(a) [nome], te informamos que tu reclamo ha sido ingresado correctamente» (Prezado(a) [nome], informamos que sua reclamação foi registrada com sucesso).
O problema aparece quando esse e-mail inclui, exatamente como foi digitado, o que a pessoa escreveu no formulário. Se o sistema não verifica esse conteúdo, nada impede que alguém escreva ali uma carta inteira, com títulos, parágrafos e links, no lugar de um nome. Basta informar como endereço de contato o e-mail da vítima. O sistema monta a confirmação, coloca a carta na saudação e a envia com a assinatura da empresa.
Não temos acesso aos sistemas da ProVida, então não podemos confirmar os detalhes, mas a análise do e-mail aponta para um abuso desse tipo. Na captura dá para ver a costura: toda a «Notificación de Reclamo por Cotizaciones Pendientes» (Aviso de reclamação por contribuições pendentes) está dentro da saudação, logo depois de «Estimado(a)». A linha de traços no final empurra para baixo o texto real do modelo, que continua ali: «Te informamos que tu Reclamo ha sido ingresado correctamente».
Escolher a vítima também não é difícil: a razão social e o e-mail de uma empresa costumam ser públicos.
O seu formulário tem o mesmo risco
Não é um problema exclusivo das administradoras de pensão nem dos formulários de reclamação. O risco aparece quando um sistema cumpre duas condições: envia e-mails para um endereço que ninguém verificou, e esse e-mail inclui conteúdo escrito por quem preencheu o formulário. Uma resposta automática com texto fixo, que não repete nada do que foi digitado, não tem o mesmo risco.
Essas duas condições aparecem em lugares muito comuns. Formulários de contato com a opção «enviar uma cópia para mim» mandam ao remetente a sua própria mensagem, e o remetente pode ser qualquer um. Cadastros de conta cumprimentam pelo nome no e-mail de boas-vindas. Pedidos de orçamento, solicitações de reserva e inscrições em eventos ou newsletters costumam confirmar com um resumo dos dados informados. Em todos os casos, quem controla o texto e o e-mail de destino pode usar o sistema da empresa como se fosse seu.
O dano não fica só no destinatário. Se o seu domínio começa a enviar phishing, os provedores de e-mail podem rebaixar a reputação dele, e então os seus e-mails legítimos (notas fiscais ou recuperação de senha) começam a cair no spam, e o nome que aparece no golpe é o da sua empresa.
Como fechar a brecha
Trate o que foi digitado como texto simples
Se o e-mail de confirmação é em HTML, o conteúdo digitado pelo usuário precisa ser escapado antes de ser inserido, de modo que uma tag <a> apareça como texto e nunca como link. A maioria das linguagens e dos motores de templates tem uma função para isso; o problema costuma estar nos modelos de e-mail montados à mão, que ninguém revisa com o mesmo cuidado que o site.
Remova tags e links da mensagem
Escapar o HTML não resolve tudo. Um endereço escrito como texto simples, sem tags, ainda chega na cópia, e a maioria dos clientes de e-mail, como o Gmail ou o Outlook, o transforma sozinha em um link clicável. Por isso vale revisar a mensagem do solicitante e remover as tags e os links para sites externos antes de incluí-la em qualquer e-mail. Se o formulário realmente precisa receber links, como um de suporte em que o cliente cola o endereço da página com problema, o link pode chegar à sua equipe, mas não há por que devolvê-lo ao solicitante na confirmação.
Não repita o que o solicitante escreveu
A confirmação precisa repetir alguma coisa? Um «Recebemos a sua reclamação, número 12345» cumpre a mesma função que uma saudação personalizada e não deixa espaço para o atacante. Se o nome precisa aparecer, ajuda limitar o tamanho e os caracteres permitidos: um nome real não precisa de 2.000 caracteres nem dos sinais < e >.
Limite o volume
Um captcha ou um limite de envios por endereço e por IP não impedem um caso isolado, mas impedem que alguém use o formulário para enviar milhares de e-mails. Revisar de vez em quando os formulários recebidos, procurando links ou HTML onde deveria haver um nome, permite detectar o abuso antes que um terceiro o denuncie.
Publique um contato de segurança
Publicar um contato de segurança ajuda quem detectar o problema a avisar você. Existe um padrão para isso, o arquivo security.txt, que indica a quem escrever. Quando quisemos avisar a ProVida, não encontramos esse canal.
Se é você quem recebe o e-mail
Estes sinais servem para qualquer e-mail, mesmo quando o remetente é autêntico. Os quatro primeiros apareceram neste caso:
- O link leva a outro domínio. Antes de clicar, passe o cursor sobre o link (ou mantenha-o pressionado no celular) e veja o endereço real.
- O conteúdo não combina com o tipo de e-mail. Uma confirmação automática que de repente traz uma carta de cobrança, ou que confirma um pedido que você nunca fez.
- Urgência e ameaças. Multas, juros e cobrança judicial no mesmo e-mail que pede para clicar imediatamente.
- Um documento importante atrás de um link. Uma instituição séria não costuma enviar documentos de cobrança hospedados em um site externo: o normal é que você os veja dentro do site oficial dela.
- Pedem seus dados pessoais ou seu usuário e senha. Normalmente isso não é feito por e-mail.
Na dúvida, não use nenhum dado do e-mail para verificá-lo. Entre no site da instituição digitando você mesmo o endereço, ou ligue para o número que aparece no site oficial. No caso das contribuições previdenciárias no Chile, você pode consultar a Previred (a plataforma que os empregadores usam para pagá-las) ou o site da AFP para ver se há algo pendente.
Neste artigo não publicamos o link nem os detalhes técnicos que permitiriam repetir o abuso: enquanto o formulário não for corrigido, qualquer pessoa poderia usá-lo de novo. Também não buscamos acusar a ProVida de más práticas. Contamos o caso para que as pessoas tomem cuidado com os e-mails que recebem e, sobretudo, para que as empresas adotem boas práticas diante de situações que poderiam colocar a sua marca em risco sem que percebam.