Agora é amplamente conhecido que nomes de usuário e senhas não são suficientes para acessar serviços online com segurança. Um estudo recente destacou que mais de 80% de todas as violações relacionadas a hacking acontecem devido a credenciais comprometidas e fracas, com três bilhões de combinações de nome de usuário/senha roubadas somente em 2016.
Por isso, a implementação da autenticação de dois fatores (2FA) tornou-se uma necessidade. A 2FA visa fornecer uma camada adicional de segurança ao sistema relativamente vulnerável de nome de usuário/senha.
E funciona. Os números mostram que usuários que habilitaram a 2FA conseguiram bloquear cerca de 99,9% dos ataques automatizados.
Mas, como em qualquer boa solução de segurança digital, os criminosos rapidamente encontram maneiras de contorná-la. Eles podem burlar a 2FA através dos códigos únicos enviados por SMS para o celular do usuário.
No entanto, muitos serviços online essenciais no Brasil ainda usam códigos únicos baseados em SMS, incluindo bancos como Itaú, Bradesco, Banco do Brasil, Santander e Caixa, além de plataformas como Receita Federal e diversos aplicativos de serviços públicos.
Qual é o problema com o SMS?
Grandes empresas de tecnologia como a Microsoft têm recomendado que usuários abandonem soluções de 2FA que utilizam SMS e chamadas de voz. Isso porque o SMS é conhecido por ter uma segurança notoriamente fraca, ficando vulnerável a diversos tipos de ataques.
Por exemplo, a clonagem de chip (ou troca de SIM) foi demonstrada como uma forma eficaz de contornar a 2FA. A clonagem envolve um criminoso convencendo a operadora de celular da vítima de que ele próprio é o dono da linha e então solicitando que o número seja transferido para um chip de sua escolha.
Códigos únicos baseados em SMS também podem ser comprometidos através de ferramentas disponíveis na internet, como o Modlishka, que usa uma técnica chamada “proxy reverso”. Isso permite interceptar a comunicação entre a vítima e o serviço que está sendo falsificado.
No caso do Modlishka, ele intercepta a comunicação entre um serviço legítimo e a vítima, rastreando e registrando todas as interações, incluindo senhas e códigos de segurança.
Além dessas vulnerabilidades conhecidas, pesquisadores descobriram falhas adicionais na 2FA baseada em SMS. Um ataque específico explora um recurso da Google Play Store que permite instalar automaticamente aplicativos da web no seu celular Android.
Se um criminoso tiver acesso às suas credenciais e conseguir fazer login na sua conta do Google em um computador (mesmo que você receba um aviso), ele pode instalar remotamente qualquer aplicativo no seu smartphone.
O ataque em celulares Android
Experimentos revelaram que criminosos podem acessar remotamente a 2FA baseada em SMS de um usuário com pouco esforço, usando aplicativos populares projetados para sincronizar notificações entre diferentes dispositivos.
Especificamente, os atacantes podem aproveitar uma combinação comprometida de e-mail/senha conectada a uma conta do Google (como [email protected]) para instalar maliciosamente um aplicativo de espelhamento de mensagens no smartphone da vítima via Google Play.
Este é um cenário realista, já que é muito comum as pessoas usarem as mesmas senhas em vários serviços diferentes. Usar um gerenciador de senhas é uma maneira eficaz de tornar sua primeira linha de defesa – o login com usuário e senha – muito mais segura.
Uma vez que o aplicativo está instalado, o atacante pode usar técnicas simples de engenharia social para convencer o usuário a conceder as permissões necessárias para o app funcionar.
Por exemplo, eles podem fingir estar ligando do banco ou da operadora para persuadir a vítima a habilitar as permissões. Depois disso, conseguem receber remotamente todas as mensagens enviadas ao celular da vítima, incluindo códigos únicos usados para 2FA.
Embora várias condições devam ser cumpridas para esse ataque funcionar, ele ainda demonstra a fragilidade dos métodos de 2FA baseados em SMS.
Mais importante: este ataque não precisa de conhecimentos técnicos avançados. Basta entender como esses aplicativos funcionam e como usá-los de forma inteligente (junto com engenharia social) para atingir uma vítima.
A ameaça é ainda maior quando o atacante é alguém próximo (como um familiar ou conhecido) com acesso físico ao seu celular.
Qual é a alternativa?
Para se manter protegido online, você deve verificar se suas defesas básicas estão seguras. Primeiro, verifique se sua senha foi vazada em alguma violação de dados. Existem sites como o “Have I Been Pwned” que permitem fazer essa verificação. E certifique-se de usar senhas fortes e diferentes para cada serviço.
Também recomendamos que você evite usar SMS como método de 2FA sempre que possível. Em vez disso, use códigos únicos baseados em aplicativos, como o Google Authenticator ou Microsoft Authenticator. Neste caso, o código é gerado dentro do próprio aplicativo no seu celular, em vez de ser enviado por mensagem.
No entanto, essa abordagem também pode ser comprometida por hackers usando malware sofisticado. Uma alternativa ainda melhor seria usar dispositivos de hardware dedicados, como o YubiKey.
Esses são pequenos dispositivos USB (ou que funcionam por aproximação via NFC) que fornecem uma maneira simplificada e muito mais segura de habilitar a 2FA em diferentes serviços.
Esses dispositivos físicos precisam ser conectados ou aproximados do computador ou celular como parte da autenticação, eliminando os riscos associados a códigos enviados por SMS ou até mesmo gerados em aplicativos.
Vale ressaltar que qualquer método de 2FA exige que você, usuário, tenha participação ativa e responsabilidade. A segurança digital depende tanto da tecnologia quanto do comportamento consciente de quem a usa.
Ao mesmo tempo, bancos, empresas de tecnologia e pesquisadores precisam continuar desenvolvendo métodos de autenticação mais acessíveis e seguros.
Essencialmente, precisamos ir além da simples 2FA e caminhar para um ambiente de autenticação multifatorial, onde vários métodos de autenticação são usados simultaneamente e combinados conforme necessário.
