Como agressores contornam a moderna autenticação de dois fatores e como proteger os usuários

Ben Balthazar, 4 de Fevereiro de 2020
How Attackers Bypass Modern Two-factor Authentication and How to Protect Your Users

Neste artigo, veremos um exemplo de ferramentas e técnicas que os criminosos usam para contornar a maioria dos métodos de autenticação de dois fatores (2FA) mais tradicionais, da OTP por SMS às notificações push criptografadas para um aplicativo móvel. O método de ataque pode ser muito eficaz contra a maioria dos tipos de 2FA implantados hoje, incluindo autenticação fora de banda. Também discutiremos que tipo de contramedidas pode ser implementado pelos bancos para mitigar o risco desses ataques e proteger seus clientes.

Configurando o ataque

Para executar esse ataque, usaremos a combinação de duas ferramentas, a Muraena e o Necrobrowser. A Muraena é um proxy reverso que rodará nossa página de phishing. A página de phishing vai fazer o proxy da página original, com o qual a vítima vai interagir. Quando a vítima tiver autenticado a sessão, a Muraena enviará a sessão para o Necrobrowser, o que permite que o criminoso tome controle da sessão ou automatize as próximas etapas do ataque. Como a Muraena age como um proxy reverso, não haverá diferença entre nosso site malicioso e o site da Web original além da URL. A Muraena pode ser configurada para usar o SSL com certificados obtidos com o LetsEncrypt, por exemplo. Do ponto de vista da vítima, toda a experiência parecerá legítima, pois parece que estão interagindo com a página genuína. Eles passarão pelo processo de autenticação regular, incluindo a 2FA. Se a 2FA consistir de uma senha de uso único regular fornecida por SMS, token de hardware ou software, a vítima a digitará, como de costume. No entanto, mesmo métodos modernos como a notificação push para um dispositivo móvel ou escaneamento de um código QR na tela podem ser burlados por esse ataque.

Ilustração do ataque de phishing com proxy reverso.

  1. Usuário visita a página de phishing com SSL ativado.
  2. O proxy reverso (Muraena) encontra a página legítima do banco e fornece uma cópia à vítima.
  3. A vítima tenta fazer o acesso à página e recebe uma solicitação de autenticação de dois fatores
  4. Após a vítima ter concluído o processo de autenticação, o Proxy Reverso (Muraena) entrega a sessão (por Necrobrowser) para que o criminoso assuma o controle, excluindo a vítima.

Na imagem abaixo, você pode ver a Muraena hospedando o Google no domínio phish.anti. Para fins de demonstração, configurei um DNS local para resolver isso para minha máquina de teste e também emiti certificados usando meu próprio CA, que é confiável para o navegador. Porém, é exatamente assim que seria a aparência do ponto de vista da vítima se tivesse sido implantado em seu próprio domínio usando certificados válidos.

Instantâneo da Muraena fazendo o proxy de google.com em phish.anti usando SSL.

Protegendo contra o ataque

Agora que entendemos como o ataque funciona, podemos identificar quais etapas teriam êxito em identificar ou proteger contra esse tipo de ataques.

A vinculação dinâmica fornece uma boa primeira camada de defesa contra diversos ataques. A vinculação dinâmica consiste em uma autenticação de dois fatores feita no momento da transação, o que incorpora os detalhes da transação no processo de validação. Geralmente chamado de O que você vê é o que você assina, porque o usuário final deve receber os detalhes da transação antes de completar o processo de validação. Uma vez validada, a assinatura deve ser válida somente para essa transação específica, tornando assim mais difícil de um criminoso a contornar. Tipicamente, a vinculação dinâmica é implementada por tokens de hardware ou software ou integrada como parte de um aplicativo de serviços bancários. Abaixo, temos dois exemplos de vinculação dinâmica. O primeiro é de um pagamento legítimo e, no segundo, o criminoso tenta modificar o pagamento.

Ilustração da vinculação dinâmica em um pagamento legítimo.

  1. O usuário cria uma transação no serviço bancário online.
  2. O usuário envia a transação.
  3. O banco envia os detalhes da transação para o telefone celular do usuário.
  4. O usuário verifica os detalhes da transferência e autoriza o pagamento com biometria (ou outro segundo fator).
  5. O aplicativo para dispositivo móvel gera uma senha de uso único usando os detalhes da transação e a chave do token no aplicativo.

Ilustração da vinculação dinâmica onde o criminoso tenta modificar o pagamento.

  1. O usuário cria um pagamento no serviço bancário online.
  2. O criminoso modifica o pagamento para que tenha uma nova conta beneficiária e/ou valor.
  3. O banco envia os detalhes da transação para o telefone celular do usuário.
  4. O usuário vê as informações do pagamento modificado e rejeita o pagamento.

O exemplo acima também ilustra a importância do uso de encriptação de ponta a ponta ao implementar a vinculação dinâmica. Além disso, mostra que o próprio aplicativo para dispositivo móvel deve ser protegido, pois o criminoso pode tentar atacar o aplicativo para ocultar os detalhes do pagamento modificados do usuário.

Outro meio eficaz de reconhecer e de se defender contra uma grande variedade de ataques é implementar o monitoramento contínuo em suas plataformas digitais. Ao monitorar a sessão, do início até seu final, podemos ter mais contexto por meio das ações dos usuários e dos dispositivos ou contas que eles usam. O monitoramento contínuo combina perfeitamente com outras camadas, como a 2FA ou a vinculação dinâmica, pois ele permite que o banco também obtenha contexto dos dispositivos de autenticação.

Exemplo de monitoramento contínuo para entender cada tentativa de operação, autenticação e resultado.

O banco pode, então, monitorar indicadores típicos de ataques conhecidos, como novos dispositivos, locais, presença de proxy e outros. Essas informações podem estar correlacionadas com sua base de usuários para entender ainda mais o risco desses elementos. Também podemos fatorar operações que o usuário está fazendo por toda a sessão e fazer um perfil disso para contrastar com o comportamento usual. Essa abordagem estabelece um perfil de risco contínuo que pode mudar com cada ação realizada pelo usuário final. Isso não apenas permite que o banco tome medidas automatizadas em tempo real quando anomalias são detectadas, mas também permite que o banco reduza o atrito para sessões legítimas, reduzindo a quantidade de autenticações solicitada para sessões genuínas.

Conclusão

Embora o ataque desse artigo use tecnologia e conceitos que já estão por aí há algum tempo, vemos que sua aplicação correta ainda pode levar a muito êxito e vencer diversos métodos de autenticação implantados hoje. É importante que os bancos usem uma abordagem em camadas, pois a maioria das camadas individuais ainda pode ser atacada ou explorada. Ao implementar a vinculação dinâmica, os bancos precisam se certificar de que estabelecem uma linha segura de comunicação com o usuário final. Depender do SMS, por exemplo, já provou ser pouco confiável, pois as mensagens podem ser roubadas, clonadas ou interceptadas pelo criminoso. No entanto, ao implementar aplicativos de dispositivos móveis, os bancos também devem estar cientes de que esses aplicativos passam a ser um alvo. Eles devem, assim, proteger esses aplicativos de ataques externos. O objetivo desse artigo é, principalmente, demonstrar que os ataques de phishing podem se modernizar para vencer a autenticação de dois fatores no acesso e que a 2FA sozinha não oferece proteção completa contra o phishing. Por fim, mencionamos algumas camadas que os bancos podem implementar para dar mais proteção aos seus usuários finais, assim como quais armadilhas devem ser evitadas ao fazer isso. Para resumir:

  • Implementar vinculação dinâmica com encriptação de ponta a ponta.
  • Implantar análises do lado do servidor para monitorar as sessões do usuário final, dispositivos e comportamento para ataques em potencial.
  • Proteger seus aplicativos para dispositivos móveis de malware e outras ameaças externas.
capa do ebook
eBook

Fraude de sequestro de conta: como proteger seu negócio e seus clientes

Como prevenir a fraude de sequestro de conta e proteger os clientes em cada estágio de sua jornada digital.

Baixar Agora

 

 

Ben Balthazar é consultor de fraude da OneSpan, ajudando instituições financeiras da Europa, Oriente Médio e Ásia a se defenderem contra o cibercrime financeiro. Ben iniciou sua carreira na OneSpan em 2014 e mudou-se da Bélgica para Dubai em 2016.