19 May 2017

Por qué la autentificación de doble factor no es suficiente

Noticias Seguridad

El debate sobre “si de verdad se necesita un antivirus” suele suceder así:

—¡No necesito un antivirus! ¡No tengo nada que puedan robarme! ¿Virus? ¿Ransomware? Vamos, ¡inféctenme! Reinstalaré el sistema operativo y no tengo nada que perder (no hay nada de valor en mi computadora).

—Pero tienes una cuenta bancaria, ¿verdad? Compras por Internet, ¿o no?

—Bah, el banco tiene la autentificación de doble factor. Eso me protegerá. Aunque los hackers me roben el número de la tarjeta, no podrán quitarme el dinero.

Bueno, resulta que sí pueden. En primer lugar, no todas las tiendas online usan la protección 3D Secure, lo que significa que no todas las transacciones requieren de la confirmación mediante un código enviado por mensaje de texto. Ni el código CVC (los tres dígitos de la parte posterior de la tarjeta) garantiza una protección contra el mal uso (no todas las transacciones lo requieren).

Además, los hackers pueden interceptar los mensajes de texto que envían los bancos y usar los códigos de verificación para obtener el control total de una cuenta. Recientemente, se robó con este método una suma considerable de dinero a unos clientes poco afortunados en Alemania. Analicemos con más detalle cómo sucedió.

SS7: Un agujero en el teléfono

Interceptar un mensaje de texto es posible gracias a las vulnerabilidades de los protocolos de las señales telefónicas del SS7 (el Sistema de señalización por canal común nº 7).

Estos protocolos de señales son la red troncal del sistema de comunicaciones telefónicas contemporáneo, diseñados para transmitir toda la información del servicio mediante la red telefónica. Se desarrollaron en los años 70 y se implementaron por primera vez en los 80; desde entonces, se han convertido en el estándar mundial.

En principio, los protocolos SS7 se diseñaron para los teléfonos fijos. La idea era separar físicamente las señales de voz y de servicio poniéndolas en canales diferentes; además, se hizo para endurecer la protección contra los intrusos telefónicos que usaban cajas especiales para imitar la señal de los tonos usados para transferir información entre las redes telefónicas (sí, las mismas cajas que fabricaban Steve Jobs y Steve Wozniak en aquel entonces, pero eso es otra historia).

Más tarde, se implementaron los mismos protocolos en las redes móviles. Los desarrolladores añadieron varias características. Entre otras, el SS7 se usaba para transferir mensajes de texto.

Pero la seguridad de la información no era algo por lo que preocuparse hace 50 años, al menos no en tecnologías civiles. Lo que importaba era la eficiencia y ello nos valió el eficiente, pero inseguro, sistema de señalización por canal común nº 7.

La principal debilidad de este sistema (al igual que otros sistemas diseñados en aquella época) es que se basa en la confianza. Se asumió que solo accederían a la red los operadores y se esperaba que fueran, en general, chicos buenos.

Finalmente, sin embargo, el nivel de seguridad del sistema lo define el miembro menos protegido. Si alguno de sus operadores es hackeado, todo el sistema queda comprometido. Lo mismo sucede si un administrador de red que trabaje para alguno de esos operadores decidiera excederse en su autoridad y usar el SS7 con fines propios.

El acceso a SS7 permite el espionaje de conversaciones, determinar la localización del usuario e interceptar mensajes de texto, por lo que no es sorprendente que tanto los servicios secretos de varios países como los delincuentes sean usuarios activos y no autorizados del acceso al SS7.

Cómo sucedió en realidad el ataque

En el caso del reciente ataque de Alemania, sucedió así:

1. Los usuarios de compuadora fueron infectados por un troyano bancario. Es muy fácil infectarse con uno si no usas una solución de seguridad, además, pueden funcionar sin dar señales evidentes, por lo que es posible que los usuarios no se den cuenta.

Al usar el troyano, los hackers robaron las credenciales bancarias. Por supuesto, robar dichas credenciales no es suficiente en muchos casos, pues se necesita el código que el banco envía por mensaje de texto.

2. Al parecer, también se usó el mismo troyano para robar los números de teléfono de los usuarios. Esta información se suele requerir cuando los usuarios realizan compras por Internet y no es difícil de robar. Así, los delincuentes obtuvieron las credenciales para acceder a las cuentas bancarias de los bancos y a sus números de teléfono móvil.

3. Los delincuentes usaron las credenciales bancarias robadas para realizar transferencias a sus cuentas bancarias. Tras ello, al tener acceso al SS7 en nombre de un operador extranjero, enviaron los mensajes de texto de esos números de teléfono a sus propios teléfonos y recibieron los códigos de confirmación necesarios para completar la identificación y la trasferencia. El banco no tenía ninguna razón para sospechar de un posible abuso.

El operador alemán cuyos usuarios sufrieron este daño confirmó el ataque. Se bloqueó al operador extranjero cuyo acceso a la red se usó para llevar el ataque y se notificó a los afectados. No sabemos si pudieron recuperar el dinero.

¿Sigues sin necesitar un antivirus?

Se suele considerar que la autentificación de doble factor es una medida sólida de seguridad, a no ser que un tercero pueda acceder a tu teléfono móvil, en cuyo caso: ¿quién más puede leer tus mensajes? Pues cualquiera que tenga acceso al sistema SS7 y esté interesado en tus mensajes de texto para conseguir tu dinero.

¿Qué puedes hacer para tener una autentificación de doble factor adecuada y protegerte de ataques similares al descrito aquí? Te dejamos dos consejos.

  • Los mensajes de texto no son la única solución para la autentificación de doble factor. Comprueba si tu banco es compatible con otro método o variantes más seguras como Google Authenticator o llaves USB cifradas.
  • Utiliza una buena solución de seguridad. Por desgracia, los bancos puede que no usen sistemas alternativos para la autentificación de doble factor; algunos solo envían la confirmación mediante mensaje de texto y, luego, tu única esperanza es tener una buena solución de seguridad en condiciones. En el caso del ataque que hemos descrito, un antivirus adecuado no habría permitido al troyano bancario infectar el ordenador, por lo que las credenciales bancarias no habrían sido robadas. Llegados a ese punto, acceder a tus mensajes de texto habría sido irrelevante.