Empresas que adoptaron la autenticación por SMS para iniciar sesión enfrentan cuestionamientos por ataques de SIM swapping
(keydiscussions.com)- Los ataques de SIM swapping consisten en hacer que la operadora transfiera el número de teléfono de la víctima al dispositivo del atacante y luego interceptar códigos de inicio de sesión por SMS o de restablecimiento de contraseña; el punto central es la decisión de las empresas de incorporar esta vía vulnerable en sus flujos de autenticación.
- Los SMS se transmiten en texto plano y no son un protocolo de seguridad, por lo que si se usan para restablecer contraseñas, recuperar cuentas, hacer onboarding o iniciar sesión, la seguridad digital del usuario se transfiere junto con el número telefónico.
- Varios servicios como Apple, Google, Dropbox, PayPal, Block, Chase, Wells Fargo, Robinhood, Schwab y Bank of America usan o han usado SMS para inicio de sesión, recuperación o 2FA; proveedores cloud como Azure, AWS, Twilio y Google ofrecen servicios de códigos SMS de un solo uso.
- Mejores alternativas son el restablecimiento basado en correo electrónico y apps de autenticación como Authy o Google Authenticator; incluso si el 2FA por SMS se usa de forma limitada junto con opciones más sólidas, no debería ser el fallback para recuperar cuentas.
- Desde 2024, el panorama empeoró con compromisos prolongados en grandes operadoras de EE. UU. como AT&T, T-Mobile y Verizon por el ataque Salt Typhoon, lo que debilita aún más la premisa de que los SMS aportan seguridad real en los flujos de inicio de sesión.
La estructura por la que la autenticación basada en SMS amplifica los ataques de SIM swapping
- Un ataque de SIM swapping ocurre cuando el atacante solicita a la operadora que porte el número de teléfono de la víctima a su propio teléfono.
- En EE. UU., por las reglas de portabilidad numérica orientadas a fomentar la competencia, las operadoras deben procesar las transferencias de números con facilidad.
- Una vez transferido el número, el atacante puede recibir la información de inicio de sesión por SMS o los códigos de restablecimiento de contraseña que envía la empresa y acceder a la cuenta.
- Es válida la crítica de que la protección de números por parte de las operadoras es débil, pero muchas empresas también han construido flujos de autenticación de misión crítica sobre ese eslabón vulnerable.
- La preocupación central es: “Que alguien convenza a T-Mobile, AT&T, Verizon u otras de portar mi número no debería implicar que también se porte mi seguridad digital”.
SMS no fue diseñado como medio de autenticación
- SMS es un mensaje en texto plano sin cifrado, que puede leerse o interceptarse en el camino como una postal.
- Usar SMS, que no es un protocolo de seguridad, para restablecer contraseñas, recuperar cuentas, hacer onboarding o iniciar sesión es estructuralmente inadecuado.
- El 2FA basado en SMS solo se considera el “menos malo” entre escenarios de seguridad débiles cuando se ofrece junto con opciones de 2FA más fuertes.
- La crítica principal apunta al restablecimiento de contraseña, el onboarding de usuarios y la recuperación de cuentas basados en SMS.
- Mejores opciones son el restablecimiento de contraseña por correo electrónico y las apps de autenticación como Authy y Google Authenticator.
- Si SMS queda como fallback para recuperar cuentas, incluso una implementación de 2FA más fuerte puede debilitarse.
Cómo las empresas incorporaron SMS en sus flujos de autenticación
- Apple anunció en 2018 la función de autocompletar códigos SMS en iPhone, reforzando el uso de SMS para restablecer contraseñas e iniciar sesión en cuentas.
- Hay escenarios en los que SMS puede usarse para restablecer una cuenta de Apple.
- En la autenticación de dos pasos de las cuentas de desarrollador de Apple también se usan SMS o llamadas telefónicas.
- Se considera que la implementación nativa de 2FA de Apple se debilita por el fallback por SMS.
- Google ofreció en 2019 el autocompletado de códigos de un solo uso mediante SMS autofill para Android.
- Los proveedores cloud y las empresas de infraestructura de mensajería dieron forma a la industria de códigos SMS.
- En servicios financieros y de pagos también se usan ampliamente el restablecimiento por SMS, el inicio de sesión por SMS, el 2FA por SMS y la recuperación de cuentas por SMS.
- Se mencionan como ejemplos Wells Fargo, Cash App, Robinhood, Schwab, PayPal y Bank of America.
- Estas opciones por SMS se ofrecen como medio de “verificación de identidad”, pero la estructura también favorece a atacantes de SIM swapping.
- En servicios de comida a domicilio, redes sociales, servicios de almacenamiento de datos y otros, SMS también suele usarse como método predeterminado para restablecer cuentas.
- Aunque haya formas de desactivarlo, como en Dropbox, el usuario debe hacer opt-out manualmente en cada servicio.
- Muchos servicios no ofrecen opt-out.
La responsabilidad del diseño de seguridad está por encima de la comodidad
- Es posible que los usuarios no entiendan la vulnerabilidad del restablecimiento por SMS, y juzgar eso no debería ser responsabilidad del usuario.
- SMS puede ser preferido por los usuarios porque es más cómodo que el restablecimiento por correo electrónico o apps de 2FA como Authy.
- El autocompletado de SMS del iPhone también recibe elogios como una buena función de iOS, pero la comodidad no garantiza seguridad.
- La responsabilidad de juzgar y diseñar si un sistema de seguridad es seguro recae en las empresas tecnológicas.
- Si dicen priorizar la seguridad de sus clientes pero mantienen la autenticación basada en SMS, dejan a los clientes expuestos.
Mejorar protocolos y regular no alcanza
- Los esfuerzos por reforzar protocolos telefónicos como SHAKEN/STIR no han llegado a una adopción completa ni a una aplicación estricta, y difícilmente justifican seguir enviando códigos de restablecimiento de contraseña por SMS.
- Incluso si se introducen protocolos telefónicos más fuertes, no detendrán por sí mismos los ataques de SIM swapping.
- La iniciativa Sim Verify de la UE se menciona como una vía para que empresas que dependen de SMS puedan verificar si una SIM fue portada recientemente.
- No está claro si un cambio así llegará pronto a EE. UU., y la experiencia de despliegue de SHAKEN/STIR muestra que los cambios pueden tomar mucho tiempo.
- También hay comentarios en Hacker News que señalan que, a octubre de 2023, NIST emitió lineamientos fuertes sobre el uso de SMS o llamadas telefónicas para identificar usuarios.
Desde 2024, el riesgo de las operadoras empeoró
- La actualización resume que grandes operadoras de EE. UU. como AT&T, T-Mobile y Verizon sufrieron compromisos durante meses por el ataque Salt Typhoon.
- Estas operadoras transportan SMS sin cifrar usados en innumerables flujos de inicio de sesión, reactivación de cuentas y restablecimiento de contraseñas.
- Al considerar tanto los compromisos de operadoras estadounidenses como la persistencia de los ataques de SIM swapping, hay que abandonar la idea de que SMS aporta seguridad real en cualquier parte del flujo de inicio de sesión.
- Google se menciona como un caso que empezó a reconocer de forma limitada las debilidades de SMS y a alejarse de él en Gmail.
- Chase, Block/Square, Apple y otros siguen siendo ejemplos que aún dependen de SMS en parte de sus procesos de inicio de sesión.
Casos de perjuicio a usuarios en comentarios de Hacker News
- Si se viaja a una zona donde no se reciben SMS, el usuario puede quedar bloqueado fuera de su cuenta.
- Se señala como problemático el caso de bancos como Bank of America, donde hay que activar SMS 2FA para poder habilitar cualquier tipo de 2FA.
- También hay casos de bloqueo en Viber tras cambiar de número, o de Citibank exigiendo autenticación por SMS para cambiar el teléfono asociado a la cuenta.
- Si la operadora cobra roaming por SMS, el usuario termina pagando por un mecanismo de seguridad vulnerable.
- Si no se recarga el saldo prepago y la SIM queda bloqueada, no se pueden recibir SMS, lo que también genera problemas para acceder a servicios que obligan a usar SMS.
- Un comentarista que trabajó en banca de la UE evaluó que, como SMS era más caro que en EE. UU., no se instaló tan ampliamente, y que el 2FA por SMS es vulnerable tanto a brechas de seguridad como a bloqueos de usuarios.
Por qué hay que alejarse de la verificación de identidad basada en números de teléfono
- En la era de los deepfakes, los servicios de verificación de identidad sólidos se vuelven más importantes.
- Se están popularizando los servicios de documentos de identidad falsos basados en IA, y la identificación por huella de voz que usaban empresas financieras e ISP puede dejar de ser útil frente a audio deepfake y atacantes persistentes.
- Hay que alejarse de mecanismos de verificación de identidad no cifrados y vulnerables a SIM swapping, como SMS.
- El ransomware también es un gran problema para TI, y los ataques de SIM swapping se mencionan como un vector importante para comprometer redes corporativas.
- Se plantea una conexión: reducir los inicios de sesión por SMS podría mitigar parte del problema del ransomware.
1 comentarios
Opiniones de Hacker News
Antes de que llegara la avalancha de basura por SMS, 1Password autocompletaba los códigos TOTP en cualquier dispositivo y desde cualquier ubicación.
Ahora tengo que sacar el celular todo el tiempo y, aunque no necesite ese número, si quiero viajar tengo que pagar roaming internacional o configurar el reenvío de SMS. Qué maravilla la seguridad.
Si la lógica es que un número de teléfono siempre se puede recuperar como identidad real, entonces que no me obliguen a repartir mi número a todas las empresas del mundo; bastaría con vincular la app de autenticación al SMS.
Pero empresas tontas exigen un número telefónico y bloquean el uso de Google Voice.
Que se pudiera elegir según el costo: presentar una identificación emitida por el gobierno, verificar la huella dactilar, hasta una prueba rápida real de ADN; y también designar beneficiarios de la cuenta en caso de muerte o incapacidad.
El método actual, que depende del correo electrónico, la cuenta de Google o el SMS para la verificación final de identidad, es absurdo. Los tres son inseguros, o tienen riesgo de bloqueo arbitrario, o son difíciles de recuperar, o no verifican la identidad real y por eso son vulnerables al spam.
La réplica común es algo como: WhatsApp bloquea restablecimientos de contraseña y demás si el número no se usó durante 90 días, así que no hay problema.
Y luego siguen con que basta con solicitar por escrito al banco el cambio de número de celular, así que tampoco hay problema.
Usar SMS para acciones importantes de una cuenta es terrible.
Por favor, no aten las cuentas a números telefónicos.
Edición: cambié la primera línea para aclarar que no me refiero a notificaciones puntuales, etc.
Estoy de acuerdo en que es mejor usar Authenticator y passkeys, pero no por eso hay que negar las ventajas del SMS.
Veo seguido parejas que usan el celular del otro y conocen sus contraseñas, y no sé si podría confiar tanto en alguien. No creo que le daría mi contraseña ni a mi propia madre, y ella nunca me ha dado motivos para desconfiar.
Lo peor es que esto no es opcional. Los servicios simplemente empiezan de pronto a usar SMS como segundo factor de autenticación.
No sé qué haría si cambiara de número. Si ya no puedo controlar el número anterior y no puedo entrar a la cuenta, ¿cómo lo cambio por el nuevo? ¿Y si una cuenta que ni siquiera pensé que debía actualizar de pronto exige autenticación de dos factores un día? En general, es un sistema realmente malo.
STOP, está bien.Durante un viaje de camping de 2 semanas, una tormenta fuerte pasó por mi estado natal y la electricidad estuvo cortada durante 5 días. Si no hubiera sido por la notificación por SMS, no me habría enterado, y apenas regresé pude vaciar de inmediato el refrigerador y el congelador.
Aunque te secuestren el teléfono, todavía queda el correo.
Desde el punto de vista del usuario final, también hay una comodidad real. Aunque este problema le ocurra al 1%, puede no ser un problema para miles de millones de personas. Es barato y cómodo. El celular recibe el mensaje y lo autocompleta.
No hace falta cambiar de app para revisar el correo. Mientras el correo no esté comprometido, la cuenta siempre se puede recuperar. Si pierdes el correo, es una lástima, pero esas cosas pasan de todos modos, y por eso hay que cambiar las contraseñas periódicamente y configurar autenticación multifactor.
La seguridad nunca puede ser 100%. Eso es una ilusión. Debe ser lo bastante cómoda y lo bastante segura para que funcione para la mayor cantidad posible de personas.
A casi todos fuera de HN ni les importa ni lo entienden. Tampoco tienen por qué hacerlo. Usan la app para hacer lo que necesitan y siguen adelante.
Que el backend lo manejen los nerds.
En Argentina hubo un problema grande relacionado con Payoneer SMS para usuarios de Movistar. Intenté publicarlo en HN, pero quedó enterrado.
La traducción aproximada de un tuit esclarecedor en español [1] es esta:
“Se resolvió el misterio de Payoneer.
#PayoneerHacked
Tengan cuidado. Facebook, Twitter, etc. también comparten el mismo gateway para ahorrar costos de SMS
Dejo una captura de los SMS que le llegaron a una víctima de madrugada. La víctima no pudo haber compartido esto en ningún phishing, y esos SMS eran necesarios para vaciar la cuenta
Lean lo que lean en los medios… hay mucha fruta y mucha ensalada, pero poca salsa. El original está acá
Gracias a todos los que colaboraron”
[1] https://twitter.com/julitolopez/status/1748440685743587811
Se dice que “a [los clientes] [el restablecimiento por SMS] les parece más cómodo que el restablecimiento por email”, pero personalmente me molesta cada vez que tengo que iniciar sesión en mi cuenta de Google con verificación por teléfono.
Tengo que levantarme del escritorio y buscar el celular, que a veces está en otra habitación. Todo para poder recibir una llamada o un mensaje con un código.
En comparación, TOTP es mucho más cómodo. Guardo los códigos en KeePassXC, así que no necesito levantarme del escritorio
Google llama a esta opción “Obtener un código de verificación desde la app Google Authenticator”, aunque nunca hayas usado Authenticator
https://www.google.com/account/about/passkeys/
https://blog.google/technology/safety-security/passkeys-defa...
Sitios con soporte para passkeys: https://passkeys.directory/
También es pésimo cuando pierdes el número de teléfono.
Hace años que no puedo iniciar sesión en mi cuenta principal de Google. Tengo el nombre de usuario, la contraseña y la dirección de email de recuperación, y todos los correos me llegan a mí, pero como ya no tengo el número de teléfono asociado a la cuenta, claramente me tratan como un intruso
La única solución es volver a un rango de IP que parezca la ubicación original de “casa” y rezar para que funcione. Tengo muchas cosas que decirle a la persona dentro de Google que pensó que era buena idea no permitir el acceso ni la recuperación de la cuenta
La credencial de identidad de mi país tiene un chip que usa criptografía de clave pública. Si permitieran vincular permanentemente una cuenta de Google a una identidad nacional, el problema se resolvería, al menos para residentes de la UE.
Así se podría usar una sola YubiKey sin preocuparse por perderla, y si alguien la roba, podrías recuperar la cuenta
Pero Google no tiene helpdesk ni forma de reportar bugs. Debería darles vergüenza, Google
Detesto cuando las empresas insisten en que mi número de Google Voice “no se puede usar para autenticación” o, más descaradamente, que “no es un número de teléfono/celular válido”.
Algunas empresas al principio me permitieron registrarme con ese número y luego, en algún momento después del registro, cambiaron la política. Normalmente uno se entera recién cuando queda bloqueado fuera de la cuenta.
Por suerte, la mayoría eran apps de tiendas o servicios de pago que simplemente puedo evitar en adelante. Está claro que no valoran mi negocio. Pero me preocupa que algún día mi banco haga lo mismo y me deje bloqueado fuera de mi cuenta.
Todo el mundo tiene celular, la mayoría casi nunca cambia de número y mucha gente entrega su número de teléfono con más facilidad que su número de seguridad social.
A ellos no les importa la seguridad de la cuenta ni si es un número válido bajo control del usuario. Solo quieren un número que identifique al usuario de forma única y que ya esté en las bases de datos de las empresas de tecnología publicitaria que más pagan por los datos de usuarios.
Escribí un poco en otro comentario de este artículo sobre por qué no se debería usar Google Voice: https://news.ycombinator.com/item?id=39270503
Mi experiencia no necesariamente aplica a todos, pero sigo viendo riesgoso depender de Google Voice “gratis”.
Para plantear la postura contraria, el inicio de sesión y la recuperación de cuentas por SMS tienen buena experiencia de usuario, y las operadoras deberían elevar el nivel en general.
Si estoy usando una computadora de escritorio, no deberían mandarme al celular cada vez que inicio sesión solo porque no quieren soportar FIDO u otra verdadera autenticación de dos factores.
Mi laptop tiene lector de huellas, mi teléfono tiene Face ID y tengo una YubiKey en USB. Usen eso.
El correo electrónico es claramente mejor. La razón principal es que el proveedor de correo está bajo control del usuario o, como con los dominios personalizados de geeks como nosotros, o con un actor grande e impersonal como Google, no es un objetivo que un atacante pueda cambiar fácilmente como sí ocurre con un proveedor de número telefónico.
Trabajo en un proveedor de identidad y hay bastante gente que pide que soportemos esta función, especialmente desde el punto de vista de la experiencia de usuario.
Como se dijo arriba, los proveedores de números telefónicos también deberían tener responsabilidad. Si sigue la tendencia de imponer el número de teléfono como identificador global offline y online, las operadoras deberían exigir más requisitos para el cambio de número telefónico.
“Durante años, la gente de la industria siempre decía algo así: ‘Ofrecer autenticación basada en SMS es, en conjunto, mejor para la seguridad de los clientes. Tiene desventajas, pero es más cómodo que otros métodos, como una verificación por correo electrónico mucho más segura’. A eso yo respondo: ‘¿Quién eres tú para quitarles seguridad a los clientes?’”
También:
“Es comprensible que gran parte de la indignación por los ataques de SIM swapping se haya dirigido a las operadoras. En efecto, las operadoras protegen pésimamente los números telefónicos de sus clientes y pueden ser responsables de esa falla. Pero el punto central es este: la seguridad de las operadoras siempre fue mala, e incluso empeoró en parte por el marco legal, y aun así otras empresas eligieron construir sistemas críticos sobre ese eslabón débil.”
También:
“SMS tiene mala seguridad, pero permite manejar casi sin fricción el alta de nuevos clientes —por ejemplo, el onboarding de Uber— y los restablecimientos de contraseña. Las empresas sintieron que tenían que igualar a sus competidores que habían adoptado esta técnica.”
Esta última parte se sobrescribió lamentablemente durante una actualización del post de WordPress, y la volví a agregar.
Estoy de acuerdo en que SMS es un factor de autenticación multifactor pésimo.
Pero se popularizó porque pedirle a la gente que instale una app es una carga enorme. Además, la gente nunca guarda los códigos de recuperación.
Puedes usar Authy y respaldar los códigos, pero eso ya entra casi en territorio “para técnicos”.
Al final, para una persona común y corriente, la única solución realista es SMS. Hay que hacer que las operadoras móviles dificulten más los SIM swaps.
Allí, por suerte, los SMS son lo bastante caros como para que a los bancos les resulte poco económico usarlos como factor de contraseña de un solo uso, y se consideró que eran demasiado inseguros para usarlos solos en autenticación de pagos, por lo que se volvió necesario un segundo factor.
Como resultado, los bancos terminaron ofreciendo métodos más seguros o más ergonómicos. Por ejemplo, apps de autenticación específicas del banco que a menudo funcionan incluso sin Internet ni señal celular, como durante viajes internacionales, autenticadores de hardware, WebAuthN, etc.
No se trata de “hagamos más difícil el SIM swapping”, sino de que las empresas financieras eleven el nivel y ofrezcan métodos que no sean vulnerables tanto a brechas de seguridad como al bloqueo de usuarios.
Para declarar impuestos necesito MyGovID. Tampoco está bueno.
Apliquemos la misma lógica en otros casos
Las empresas que introdujeron el inicio de sesión con contraseña deberían ser responsables del robo de notas adhesivas
Las empresas que introdujeron la autenticación de dos factores por correo electrónico deberían ser responsables del robo de cuentas de correo
No sé si esa lógica se sostiene. Veo esto una y otra vez. Hay una entidad que no viola la ley y que además puede cooperar con las autoridades, y luego hay actores criminales que no respetan la ley y atacan a sus clientes. Como no se puede chasquear los dedos y hacer que el gobierno vuelva el delito de robo dos o tres veces más ilegal, la gente suele agarrarse de la parte inocente e intenta hacerle la vida más difícil
Hay que respirar hondo y dejarlo pasar. No existe un nivel inofensivo de castigar a inocentes en lugar de a los culpables
Va a sonar raro y descabellado, pero quien cambió la SIM debería ser responsable del ataque de SIM swapping. ¿Qué? ¿Culpar al delincuente? Es una postura audaz, pero correcta
Que yo sepa, ningún operador móvil de consumo en EE. UU. ha implementado protecciones adecuadas para evitar cosas como el SIM swapping no autorizado
Una empresa que implementa autenticación de dos factores por SMS debería saberlo, y si vendió a los consumidores un sistema de 2FA profundamente defectuoso como “más seguro”, sabiendo eso, debería responder cuando falle
Cuanto antes muera la autenticación de dos factores por SMS, antes los sitios web obsoletos que solo implementaron 2FA por SMS se verán obligados a implementar métodos realmente seguros
Puede que debieran haberlo hecho mejor, pero el intento de “castigarlos” se siente como legislación retroactiva. Habría que crear nuevas regulaciones y castigar los casos futuros, no este caso
Un ataque de SIM swapping no se puede controlar
Desde la perspectiva de un proveedor de servicios en línea, usar SMS tiene todo el sentido
Los siguientes dos objetivos son muy parecidos, pero distintos
SMS es muy efectivo para el punto 2, porque casi nadie tiene acceso a 100 números de teléfono distintos
Tener un número de celular suele implicar un proceso personal que requiere cosas como dirección, pasaporte o número de seguridad social. Hay trámites que superar
Las empresas dependen de SMS porque pueden tercerizar el proceso de conocimiento del cliente a los operadores. No lo usan porque sea la solución más óptima o segura para demostrar la titularidad de una cuenta
Quienes se quejan todo el tiempo claramente nunca han tomado este tipo de decisiones de autenticación en una empresa relacionada con regulación o servicios financieros
Se puede exigir un número de teléfono para crear una cuenta sin permitir que esa cuenta pueda ser secuestrada solo con un SMS enviado a ese número
Con la misma lógica, se podría justificar que una empresa rastree a los usuarios y venda sus datos personales. Gana dinero, y ganar dinero es una parte importante de operar un negocio
Por una suma muy pequeña, como 50 centavos por verificación, se pueden usar decenas o cientos de números de teléfono. No se detiene a nadie con un mínimo de voluntad