Empresas que adotaram autenticação por SMS no login enfrentam questionamentos sobre responsabilidade em ataques de SIM swap
(keydiscussions.com)- Ataques de SIM swap funcionam ao fazer a operadora transferir o número de telefone da vítima para o aparelho do atacante, permitindo interceptar códigos de login por SMS e de redefinição de senha; a questão central é a escolha das empresas de colocar esse canal frágil no fluxo de autenticação
- O SMS é transmitido em texto puro e não foi feito como protocolo de segurança, então, quando é usado para redefinição de senha, recuperação de conta, onboarding e login, a segurança digital do usuário passa a ir junto com a transferência do número
- Apple, Google, Dropbox, PayPal, Block, Chase, Wells Fargo, Robinhood, Schwab, Bank of America e vários outros serviços usam ou usaram SMS para login, recuperação ou 2FA, enquanto provedores de nuvem como Azure, AWS, Twilio e Google oferecem serviços de códigos únicos por SMS
- Alternativas melhores são a redefinição baseada em e-mail e apps autenticadores como Authy e Google Authenticator; mesmo quando o SMS 2FA é usado de forma limitada junto com opções mais fortes, ele não deveria virar fallback de recuperação de conta
- Desde 2024, com grandes operadoras dos EUA como AT&T, T-Mobile e Verizon comprometidas por longos períodos no ataque Salt Typhoon, fica ainda mais abalada a premissa de que o SMS oferece segurança real em fluxos de login
A estrutura que faz a autenticação por SMS ampliar ataques de SIM swap
- Em ataques de SIM swap, o atacante pede à operadora para portar o número de telefone da vítima para seu próprio aparelho
- Nos EUA, regras de portabilidade numérica criadas para estimular a concorrência exigem que as operadoras processem a transferência de números com facilidade
- Depois que o número é transferido, o atacante pode receber informações de login por SMS ou códigos de redefinição de senha enviados pelas empresas e acessar a conta
- Faz sentido criticar a fragilidade da proteção de números pelas operadoras, mas muitas empresas também vêm construindo fluxos de autenticação mission-critical sobre esse elo vulnerável
- A ideia central é que “só porque alguém convenceu T-Mobile, AT&T ou Verizon a portar meu número, minha segurança digital não deveria ser portada junto”
SMS não foi projetado como método de autenticação
- SMS é uma mensagem em texto puro, sem criptografia, que pode ser lida ou interceptada no caminho, como um cartão-postal
- Usar SMS, que não é um protocolo de segurança, para redefinição de senha, recuperação de conta, onboarding e login é estruturalmente inadequado
- O 2FA baseado em SMS só é tratado como o cenário “menos ruim” entre opções fracas quando é oferecido junto com opções de 2FA mais fortes
- O principal alvo das críticas é o uso de SMS em redefinição de senha, onboarding de usuário e recuperação de conta
- Opções melhores são redefinição de senha por e-mail e apps autenticadores como Authy e Google Authenticator
- Se o SMS continua existindo como fallback de recuperação de conta, até implementações de 2FA mais fortes podem ser enfraquecidas
Como as empresas colocaram o SMS em seus fluxos de autenticação
- A Apple anunciou em 2018 o recurso de preenchimento automático de códigos SMS no iPhone, reforçando fluxos em que o SMS é usado para redefinição de senha e login em conta
- Há cenários em que o SMS pode ser usado na redefinição de conta Apple
- SMS ou ligação também são usados na autenticação em duas etapas de contas de desenvolvedor da Apple
- A implementação nativa de 2FA da Apple é avaliada como enfraquecida pelo fallback via SMS
- O Google passou a oferecer em 2019 o preenchimento automático de códigos únicos com SMS autofill no Android
- Provedores de nuvem e empresas de infraestrutura de mensagens ajudaram a formar a indústria dos códigos por SMS
- Em serviços financeiros e de pagamento, redefinição por SMS, login por SMS, SMS 2FA e recuperação de conta por SMS são amplamente usados
- Entre os exemplos citados estão Wells Fargo, Cash App, Robinhood, Schwab, PayPal e Bank of America
- Essas opções via SMS são oferecidas como meios de “verificar que é você”, mas também favorecem atacantes que fazem SIM swap
- Em serviços de pedido de comida, redes sociais e serviços de armazenamento de dados, o SMS também costuma ser o meio padrão de redefinição de conta
- Mesmo quando existe uma forma de desativar, como no Dropbox, o usuário precisa fazer opt-out manualmente em cada serviço
- Muitos serviços nem oferecem opt-out
A responsabilidade de projetar segurança vem antes da conveniência
- O usuário pode não entender a fragilidade da redefinição por SMS, e não deveria ser sua responsabilidade julgar isso
- O SMS pode parecer mais conveniente do que redefinição por e-mail ou apps de 2FA como o Authy, e por isso pode ser preferido pelos usuários
- O preenchimento automático de SMS no iPhone às vezes é elogiado como um bom recurso do iOS, mas conveniência não garante segurança
- A responsabilidade de decidir e projetar se um sistema de segurança é seguro é das empresas de tecnologia
- Quando uma empresa diz priorizar a segurança do cliente, mas mantém autenticação baseada em SMS, ela deixa o cliente exposto
Melhorias de protocolo e regulação não bastam
- Esforços para fortalecer protocolos telefônicos, como SHAKEN/STIR, ainda não chegaram a um nível de adoção completa e aplicação rígida, o que dificulta usá-los como justificativa para continuar enviando códigos de redefinição de senha por SMS
- Mesmo com protocolos telefônicos mais fortes, isso não impede ataques de SIM swap em si
- A iniciativa Sim Verify da UE é citada como uma forma de empresas dependentes de SMS verificarem se o SIM foi portado recentemente
- Não está claro se mudanças assim serão adotadas nos EUA em breve, e a experiência da implementação do SHAKEN/STIR mostra que mudanças desse tipo podem levar muito tempo
- Há também um comentário no Hacker News dizendo que o NIST, em outubro de 2023, publicou orientação forte contra usar SMS ou chamadas telefônicas para identificar usuários
O risco das operadoras ficou pior depois de 2024
- A atualização resume que grandes operadoras dos EUA, como AT&T, T-Mobile e Verizon, sofreram comprometimentos por meses no ataque Salt Typhoon
- Essas operadoras entregam SMS não criptografados usados em inúmeros fluxos de login, reativação de conta e redefinição de senha
- Considerando ao mesmo tempo a invasão das operadoras americanas e a persistência dos ataques de SIM swap, é preciso abandonar a ideia de que o SMS oferece segurança real em qualquer parte do fluxo de login
- O Google é citado como um caso que passou a reconhecer, ainda que de forma limitada, as fraquezas do SMS no Gmail e começou a se afastar dele
- Chase, Block/Square, Apple e outras ainda permanecem como exemplos de dependência de SMS em partes do processo de login
Casos de dano ao usuário relatados nos comentários do Hacker News
- Ao viajar por regiões sem recepção de SMS, o usuário pode ficar bloqueado fora da própria conta
- Casos como o do Bank of America, em que é preciso ativar SMS 2FA para então habilitar qualquer 2FA, foram apontados como problemáticos
- Também são citados casos de pessoas que mudaram de número e ficaram bloqueadas no Viber, ou de o Citibank exigir autenticação por SMS para alterar o número de telefone da conta
- Quando a operadora cobra roaming de SMS, o usuário acaba pagando por um mecanismo de segurança frágil
- Se o saldo pré-pago não for recarregado e o SIM for bloqueado, o usuário deixa de receber SMS e também tem dificuldade para acessar serviços que o exigem
- Um comentarista que trabalhou no setor bancário da UE avalia que, como o SMS é mais caro do que nos EUA, ele não se tornou tão difundido, e que o SMS 2FA é vulnerável tanto a violações de segurança quanto a bloqueios de usuários
Por que é preciso abandonar a verificação de identidade baseada em número de telefone
- Na era dos deepfakes, serviços robustos de verificação de identidade se tornam ainda mais importantes
- Com a popularização de serviços de documentos falsos baseados em IA, e com identificação por impressão vocal usada por empresas financeiras e ISPs podendo falhar diante de áudio deepfake e atacantes persistentes, esses métodos deixam de ser confiáveis
- É preciso se afastar de meios de verificação de identidade como o SMS, que não é criptografado e é vulnerável a SIM swap
- Ransomware também é um grande problema para a área de TI, e ataques de SIM swap são citados como um vetor importante de invasão de redes corporativas
- O argumento apresentado é que reduzir o uso de login por SMS pode aliviar parte do problema do ransomware
1 comentários
Opiniões no Hacker News
Antes de começar a avalanche de lixo por SMS, o 1Password preenchia automaticamente os códigos TOTP em qualquer dispositivo, em qualquer lugar.
Agora preciso ficar pegando o celular o tempo todo e, mesmo que eu não precise daquele número, para viajar tenho que pagar roaming internacional ou configurar encaminhamento de SMS. Que maravilha de segurança.
Se a lógica é que o número de telefone pode ser recuperado a qualquer momento como uma identidade real, bastaria vincular o app autenticador ao SMS, em vez de me fazer espalhar meu número por todas as empresas do mundo.
Só que empresas idiotas exigem número de telefone e bloqueiam o uso do Google Voice.
Poder apresentar um documento emitido pelo governo, fazer verificação por impressão digital, até um teste real e rápido de DNA, escolhendo conforme o custo, e também definir beneficiários da conta em caso de morte ou incapacidade.
O modelo atual, que depende de e-mail, conta Google e SMS para a verificação definitiva de identidade, é absurdo. Os três são inseguros, ou têm risco de bloqueio arbitrário, ou são difíceis de recuperar, ou não verificam a identidade real e ficam vulneráveis a spam.
Uma refutação comum é algo como: tudo bem, porque o WhatsApp impede redefinição de senha etc. se o número ficar 90 dias sem uso.
Depois disso, o argumento continua dizendo que tudo bem porque basta pedir por escrito ao banco para alterar o número de celular.
Usar SMS para ações importantes de uma conta é horrível.
Por favor, não vinculem contas a números de telefone.
Edit: mudei a primeira linha para deixar claro que não estou falando de notificações pontuais etc.
Concordo que é melhor usar Authenticator e Passkeys, mas não devemos negar também as vantagens do SMS.
Vejo com frequência casais usando o celular um do outro e sabendo a senha, e não sei se dá para confiar tanto assim em alguém. Acho que eu nem daria minha senha para minha própria mãe, e ela nunca me deu motivo para desconfiar.
O pior é que isso não é uma escolha. Os serviços simplesmente começam, de repente, a usar SMS como autenticação em dois fatores.
Não sei o que fazer se eu mudar de número. Se eu não tenho controle do número antigo e não consigo entrar na conta, como mudo para o número novo? E se uma conta que eu nem lembrava que precisava atualizar um dia, de repente, exigir autenticação em dois fatores? No geral, é um sistema realmente muito ruim.
STOP, tudo bem.Durante uma viagem de camping de 2 semanas, uma tempestade forte passou pelo meu estado de origem, e a energia ficou cortada por 5 dias. Se não fossem os alertas por SMS, eu não teria sabido e consegui esvaziar a geladeira e o freezer assim que voltei.
Mesmo que o telefone seja sequestrado, o e-mail continua lá.
Do ponto de vista do usuário final, também há praticidade real. Mesmo que esse problema aconteça com 1%, pode não ser um problema para bilhões de pessoas. É barato e conveniente. O celular recebe a mensagem e preenche automaticamente.
Não é preciso trocar de app para verificar o e-mail. Enquanto o e-mail não for comprometido, a conta sempre pode ser recuperada. Se você perder o e-mail, é uma pena, mas essas coisas acontecem mesmo, e é por isso que é preciso trocar senhas periodicamente e configurar autenticação multifator.
Segurança nunca pode ser 100%. Isso é uma ilusão. Ela precisa ser conveniente o bastante e segura o bastante para funcionar para o maior número possível de pessoas.
Quase todo mundo fora do HN não liga e nem entende. E nem precisa. É só usar o app, fazer o que precisa e seguir em frente.
Deixem o backend para os nerds resolverem.
Na Argentina, houve um grande problema relacionado ao SMS da Payoneer para usuários da Movistar. Tentei postar no HN, mas passou despercebido
A tradução de um tweet perspicaz em espanhol [1] é mais ou menos esta:
“O mistério da Payoneer foi resolvido.
#PayoneerHacked
Tomem cuidado. Facebook, Twitter etc. também compartilham os mesmos gateways para economizar custos de SMS
Deixo uma captura de tela dos SMS que chegaram à vítima de madrugada. A vítima não poderia ter compartilhado isso em nenhum phishing, e esses SMS eram necessários para esvaziar a conta
Independentemente do que vocês lerem na imprensa… há muita fruta e salada de sobra, mas pouco molho. O original está aqui
Obrigado a todos que colaboraram”
[1] https://twitter.com/julitolopez/status/1748440685743587811
Há quem diga que “[os clientes] acham [a redefinição por SMS] mais conveniente do que a redefinição por e-mail”, mas, pessoalmente, fico irritado toda vez que preciso entrar na minha conta do Google com verificação por telefone
Tenho que me levantar da mesa e procurar o celular, que às vezes está em outro cômodo. Só então consigo receber uma ligação ou mensagem com o código
Em comparação, TOTP é muito mais conveniente. Como salvo os códigos no KeePassXC, não preciso me levantar da mesa
O Google chama essa opção de “Receber código de verificação no app Google Authenticator”, mesmo que você nunca tenha usado o Authenticator
https://www.google.com/account/about/passkeys/
https://blog.google/technology/safety-security/passkeys-defa...
Sites com suporte a passkeys: https://passkeys.directory/
Também é péssimo quando você perde o número de telefone
Faz anos que não consigo entrar na minha conta principal do Google. Tenho o nome de usuário, a senha, o endereço de e-mail de recuperação e todos os e-mails também são encaminhados para mim, mas, como não tenho mais o número de telefone vinculado à conta, sou claramente tratado como invasor
A única solução é voltar para uma faixa de IP que pareça ser o local original de “casa” e torcer para funcionar. Tenho muitas coisas a dizer a quem, dentro do Google, achou que impedir o acesso ou a recuperação da conta era uma boa ideia
No meu país, o documento de identidade tem um chip que usa criptografia de chave pública. Se permitissem vincular permanentemente uma conta do Google à identidade nacional, o problema estaria resolvido, pelo menos para residentes da UE
Assim eu poderia usar uma única YubiKey sem me preocupar em perdê-la, e, mesmo que alguém a roubasse, poderia recuperar a conta
Mas o Google não tem helpdesk nem uma forma de reportar bugs. Que vergonha, Google
O que eu mais odeio é quando empresas insistem que meu número do Google Voice “não pode ser usado para autenticação” ou, de forma ainda mais explícita, que “não é um número de telefone/celular válido”
Algumas empresas inicialmente permitiram que eu me cadastrasse com esse número e, em algum momento depois do cadastro, mudaram a política. Normalmente a gente só descobre quando fica bloqueado fora da conta
Felizmente, na maioria dos casos eram apps de lojas ou serviços de pagamento que posso simplesmente evitar daqui em diante. Fica claro que não valorizam minhas transações. Mas me preocupa que um dia meu banco faça o mesmo e me bloqueie da conta
Todo mundo tem celular, a maioria quase nunca muda de número, e muita gente entrega o número de telefone com mais facilidade do que o número do seguro social
Eles não se importam com segurança da conta nem se é um número válido controlado pelo usuário. Só querem um número que identifique o usuário de forma única e que já esteja nos bancos de dados das empresas de adtech, que são as que pagam mais caro por dados de usuários
Escrevi um pouco em outro comentário deste tópico sobre por que não se deve usar Google Voice: https://news.ycombinator.com/item?id=39270503
Minha experiência pode não se aplicar a todo mundo, mas ainda acho arriscado depender do Google Voice “gratuito”
Para fazer o contraponto, login por SMS e recuperação de conta têm uma boa experiência de usuário, e as operadoras precisam elevar o nível como um todo
Estou usando um computador desktop, e não deveriam me mandar para o celular toda vez que faço login só porque não querem oferecer suporte a FIDO ou a outra autenticação de dois fatores de verdade
Meu notebook tem leitor de impressão digital, meu celular tem Face ID e tenho uma YubiKey no USB. É isso que deveriam usar
E-mail é claramente melhor. O principal motivo é que o provedor de e-mail é algo controlado pelo usuário, como um domínio personalizado de geeks como nós, ou então uma entidade grande e impessoal como o Google. Não é um alvo fácil para um invasor alterar, como acontece com um provedor de número de telefone
Trabalho em um provedor de identidade, e há bastante gente pedindo suporte a esse recurso, especialmente do ponto de vista da experiência do usuário
Como dito acima, os provedores de números de telefone também deveriam ser responsabilizados. Se a tendência de empurrar números de telefone como identificadores globais offline e online continuar, as operadoras precisam exigir mais requisitos para mudanças de número de telefone
“Durante anos, pessoas do setor sempre diziam algo assim: ‘Oferecer autenticação baseada em SMS é melhor para a segurança geral dos clientes. Há desvantagens, mas é mais conveniente do que outros métodos, como a verificação por e-mail, que é muito mais segura.’ A isso eu respondo: ‘Quem é você para tirar segurança dos clientes?’”
E também:
“É compreensível que boa parte da indignação em relação a ataques de SIM swap tenha sido direcionada às operadoras. De fato, elas fazem um péssimo trabalho em proteger os números de telefone dos clientes, e podem ser responsáveis por essa falha. Mas o ponto central é este: a segurança das operadoras sempre foi ruim, e em parte até piorada pelo arcabouço legal, enquanto outras empresas ainda assim escolheram construir sistemas críticos em cima desse elo fraco.”
E ainda:
“SMS tem segurança ruim, mas permite lidar quase sem atrito com o cadastro de novos clientes, como no onboarding da Uber, e com redefinições de senha. As empresas sentiram que precisavam acompanhar a adoção dessa técnica pelos concorrentes.”
Esta última parte infelizmente foi sobrescrita durante uma atualização do post no WordPress, e eu a adicionei novamente
Concordo que SMS é um fator de autenticação multifator terrível
Mas ele se espalhou porque exigir que as pessoas instalem um app é um enorme ônus. Além disso, as pessoas nunca salvam códigos de recuperação
Dá para usar Authy e fazer backup dos códigos, mas isso já é quase território “para técnicos”
No fim, a única solução realista para a pessoa comum é SMS. É preciso fazer as operadoras dificultarem mais o SIM swap
Lá, felizmente, SMS é caro o suficiente para que os bancos considerem pouco econômico usá-lo como fator de senha de uso único, e inseguro demais para ser usado sozinho na autenticação de pagamentos, o que tornou necessário um segundo fator
Como resultado, os bancos passaram a oferecer métodos mais seguros ou mais ergonômicos. Por exemplo: apps de autenticação próprios do banco, muitas vezes funcionando mesmo sem internet ou sinal de celular, como em viagens internacionais, autenticadores de hardware, WebAuthN etc.
Não se trata de “vamos dificultar mais o SIM swap”, e sim de as empresas financeiras elevarem o nível e oferecerem métodos que não sejam vulneráveis tanto a violações de segurança quanto a bloqueios de usuários
Para declarar impostos, preciso do MyGovID. Também não gosto
Vamos aplicar a mesma lógica em outros lugares
Empresas que adotaram login por senha deveriam ser responsabilizadas por roubo de post-its
Empresas que adotaram autenticação de dois fatores por e-mail deveriam ser responsabilizadas por roubo de contas de e-mail
Não sei se essa lógica se sustenta. Vejo isso acontecer repetidamente. Existe uma parte que não viola a lei e consegue cooperar com a aplicação da lei, enquanto uma parte criminosa que não segue a lei ataca seus clientes. Como não dá para estalar os dedos e fazer o governo tornar crimes de roubo duas ou três vezes mais ilegais, as pessoas geralmente tentam agarrar o lado inocente e tornar a vida dele mais difícil
É preciso respirar fundo e deixar passar. Não existe um nível inofensivo de punir pessoas inocentes no lugar dos culpados
Pode soar estranho e maluco, mas quem trocou o SIM deveria ser responsabilizado pelo ataque de SIM swap. Como é? Culpar o criminoso? É uma posição ousada, mas correta
Pelo que sei, nenhuma operadora móvel voltada a consumidores nos EUA implementou proteções adequadas para impedir coisas como SIM swaps não autorizados
Uma empresa que implementa autenticação de dois fatores por SMS deveria saber disso e, se vendeu aos consumidores um sistema de 2FA profundamente defeituoso como “mais seguro”, deveria ser responsabilizada quando ele falha
Quanto mais cedo a autenticação de dois fatores por SMS morrer, mais os sites antigos que só implementaram 2FA por SMS serão forçados a implementar métodos realmente seguros
Talvez eles devessem ter feito melhor, mas tentar “puni-los” parece legislação retroativa. Deveríamos criar novas regulações e punir incidentes futuros, não punir este incidente
Ataques de SIM swap não podem ser controlados
Do ponto de vista de um provedor de serviços online, usar SMS faz todo sentido
Os dois objetivos a seguir são muito parecidos, mas distintos
SMS é muito eficaz para o item 2, porque quase ninguém tem acesso a 100 números de telefone diferentes
Ter um número de celular normalmente envolve um processo pessoal que exige coisas como endereço, passaporte ou número de seguridade social. Há etapas a serem superadas
As empresas dependem de SMS porque podem terceirizar o processo de verificação de identidade do cliente para as operadoras. Não é porque seja a solução mais otimizada ou segura para prova de propriedade da conta
Quem vive reclamando claramente nunca tomou esse tipo de decisão de autenticação em uma empresa ligada a regulação ou serviços financeiros
É possível exigir um número de telefone para criar uma conta sem permitir que ela seja sequestrada apenas por um SMS enviado para esse número
Pela mesma lógica, também daria para justificar uma empresa rastrear usuários e vender dados pessoais. Isso gera dinheiro, e ganhar dinheiro é uma parte importante de operar um negócio
Pagando uma quantia muito pequena, como 50 centavos por verificação, é possível usar dezenas ou centenas de números de telefone. Isso não impede ninguém que tenha um mínimo de determinação