Muchas veces los usuarios confían en la habilidad de los mensajes de texto para trasferir información sensible a sus destinatarios sin fugas de información, como por ejemplo la clave de una cuenta bancaria. De igual modo, se tiende a confiar en la veracidad de un mensaje que parece provenir desde números conocidos.
Numerosos sistemas de información utilizan mensajes SMS como mecanismo remoto de comando y control, como ser el caso de alarmas domésticas u otros electrodomésticos inteligentes. También son empleados por organizaciones como canales de comunicación, incluso para enviar y recibir datos confidenciales.
No obstante, ¿te has preguntado qué tanta seguridad ofrece esta tecnología?
Pequeña introducción al sistema SMS
El sistema de mensajes de texto funciona en esencia de la misma manera que el correo electrónico: el teléfono o tableta inteligente envía el mensaje a un servidor, que luego evaluará si el número de destino pertenece o no al mismo proveedor de servicio para reenviarlo a donde sea necesario, y donde será almacenado hasta que el dispositivo de destino pueda recibirlo. Esta metodología es conocida como store-and-forward (en español, almacena y reenvía).
Un gran número de tecnologías toman parte dentro de la transacción, determinando la seguridad de la comunicación. Una de ellas, esencial en el envío de llamadas y mensajes, el sistema GSM (Global System for Mobile Communications).
GSM provee algún grado de seguridad a través de mecanismos criptográficos, aunque esto no lo vuelve invulnerable. En principio, el dispositivo móvil y la estación del proveedor más cercana se autentican mediante una clave compartida, almacenada en la tarjeta SIM.
Luego, las comunicaciones en el enlace de radio son cifradas con alguna variante del algoritmo conocido como A5, acorde a la legislación del país. Estas variantes pueden implicar desde la utilización de algoritmos relativamente fuertes (como A5/3 o A5/1) hasta el envío de datos en texto plano (A5/0).
No obstante, lo anterior es válido únicamente para el enlace entre la estación base y el dispositivo, lo cual es una pequeña porción del trayecto que realiza el mensaje SMS. La manera en que los datos son protegidos dentro de la red del proveedor de servicio, o entre el proveedor y el servidor que desea enviar un mensaje, queda fuera del estándar especificado.
Algunos protocolos implicados en la transmisión de datos son SMPP (Short Message Peer-to-peer Protocol) y SS7 –usado como protocolo de señalización entre los SMSC (Short Message Service Center) y el núcleo de la red GSM–. Ninguno de ellos se orienta estrictamente a la protección de la comunicación. De hecho, con anterioridad hemos discutido algunas falencias en estos protocolos.
¿Qué obstáculos presentan los mensajes SMS en materia de seguridad?
Desde la aparición de los primeros teléfonos inteligentes, la tecnología SMS ha experimentado un crecimiento explosivo en su uso y popularidad, como así también en el conjunto de funcionalidades que recaen sobre este sistema.
Por desgracia, son igualmente utilizados por los cibercriminales para la propagación de códigos maliciosos –mediante el uso de la Ingeniería Social– y para la explotación de vulnerabilidades en las aplicaciones de los equipos, como fue el caso de StageFright.
En términos de confidencialidad, el problema yace en que existe una gran cantidad de actores a través de los que se transmite el mensaje y que pueden entrometerse con la información enviada. Mientras transita el camino hasta el dispositivo final, el mensaje puede ser alterado, retenido, copiado, duplicado, etcétera.
A pesar de los masivos volúmenes de datos que son transportados a diario, no existe manera de escapar ilesos de un escenario donde el propio operador telefónico se presenta como atacante. Aún más si tenemos en cuenta que el identificador del flujo de comunicaciones (el número de teléfono) es un dato público relativamente sencillo de conseguir.
Debemos preguntarnos entonces cómo encajan estos riesgos en los procesos de envío de mensajes entre suscriptores móviles (P2P) como ser chats, aplicaciones (A2P) o máquinas (M2M), cuando estos mensajes son de tipo confidencial. Entonces, será necesario evaluar el despliegue de mecanismos de cifrado en los extremos de la comunicación.
Por su parte, las empresas proveedoras de telecomunicaciones no ofrecen –ni mucho menos, hacen pública– garantía alguna sobre la protección de la información que transportan. Asimismo, la gran variación de las normativas a la que estas organizaciones están sujetas en los distintos países complica el escenario.
En entornos corporativos, los servicios de mensajes SMS no proveen ninguna capacidad para la auditoría o el seguimiento de la información enviada, con lo que resulta muy complicado determinar qué datos han sido expuestos a atacantes, dificultando el trabajo de aplicaciones de Mobile Device Management (MDM).
Además, existen muchos ataques que pueden realizarse sobre la sección cableada de la red, sobre la que no rigen regulaciones de cifrado.
Finalmente, existen otras amenazas no necesariamente relacionadas con el sistema SMS en sí, que ayudan a descartar esta tecnología como medio seguro para la transmisión de información confidencial. Por ejemplo, malware instalado en el equipo podría leer los mensajes enviados y recibidos, o el teléfono de destino podría no estar en manos de su propietario a causa de un robo o extravío de este.
Entonces, ¿por qué usar los SMS en la autenticación por doble factor?
Existen varios factores que hacen de la doble autenticación mediante códigos móviles una opción segura. En primer lugar, si el sistema ha sido correctamente diseñado, la autenticación por OTP (del inglés, One Time Password) permitirá alertar a los usuarios en tiempo real si ha ocurrido la intercepción del mensaje.
Esto porque podrá plantearse uno de los dos escenarios:
- Si el usuario ha recibido correctamente el código y se ha autenticado, cuando el atacante intente ingresar la credencial que ha robado, esta ya no será de utilidad.
- Si el atacante ha conseguido la credencial y se las ha arreglado para iniciar sesión primero, el usuario no podrá realizar el proceso de autenticación como corresponde. De este modo, recibe un indicador instantáneo de que su cuenta puede haber sido comprometida, pudiendo reaccionar rápidamente para restablecer la situación. Se vuelve necesario entonces incluir en la política de seguridad de la empresa o del servicio el detalle de las acciones a llevar a cabo si este riesgo se materializa.
Cualquier otra anomalía en el proceso de inicio de sesión que despierte la atención del usuario debiese ser igualmente tomada como alerta de posible compromiso; por ejemplo, si el mensaje SMS de autenticación no llega al dispositivo de destino. Claro que en este caso, tras esperar unos minutos el usuario probablemente genere un nuevo código, el cual invalidaría cualquier credencial que haya sido previamente interceptada y no utilizada.
Recordemos además que los códigos a través de mensajes SMS son utilizados como segundo factor de autenticación. Esto implica que para llegar a la instancia intentar interceptar un mensaje SMS, el atacante debe haber vulnerado también el primer factor –normalmente, consiguiendo la combinación de nombres de usuario y contraseña–. Entonces, la verdadera preocupación recae la protección de ese primer factor.
Para tener en cuenta
Recuerda tener mucho cuidado cuando envíes o recibas mensajes SMS, especialmente si estos involucran algún tipo de información confidencial o están ligados a procesos de autenticación. Extiende estas precauciones a otros servicios de mensajería instantánea que pueden tener las mismas debilidades.
Cuando es utilizado como canal de comunicación organizacional, la seguridad de este mecanismo debe ser considerada dentro de la estrategia de protección general. En conjunción, puedes utilizar una solución de seguridad móvil para asegurarte que tus mensajes no están siendo filtrados desde tu propio dispositivo.
Para conocer más prácticas de seguridad que protegerán tu equipo, accede a la Guía de Seguridad en Android.