SS7 se diseñó para un club de operadores de confianza, así que no tiene autenticación a nivel de mensaje: un nodo extranjero puede consultar o falsificar operaciones MAP para rastrear la ubicación, interceptar SMS y OTP o redirigir llamadas. GSMA FS.11 define una defensa: clasificar los mensajes MAP entrantes en categorías 1, 2 y 3 y filtrar cada una en la frontera de la red.
Por qué SS7 es explotable
SS7 asume que todo par de señalización es un operador de confianza, así que las operaciones MAP no llevan autenticación criptográfica de su origen. A medida que la interconexión se abrió y el acceso se hizo ampliamente disponible, un atacante con conectividad SS7 podía enviar consultas y actualizaciones MAP que una red respondería o sobre las que actuaría como si vinieran de un socio legítimo. El resultado es una clase de ataques que no necesitan acceso al terminal objetivo, solo la capacidad de enviar mensajes SS7 hacia la red de la víctima.
Las principales clases de ataque
El abuso de SS7 se divide en unas pocas categorías reconocidas. El seguimiento de ubicación usa operaciones de interrogación para resolver un abonado a una celda o área. La interceptación explota los procedimientos de enrutamiento y movilidad para desviar SMS o llamadas al atacante. El fraude y la denegación de servicio manipulan el estado del abonado o el barring. Como los códigos de un solo uso se envían habitualmente por SMS, la interceptación de SMS socava directamente la autenticación de dos factores basada en SMS.
| Ataque | Operaciones explotadas | Efecto |
|---|---|---|
| Seguimiento de ubicación | anyTimeInterrogation, provideSubscriberInfo, sendRoutingInfoForSM | Localizar al abonado a nivel de celda/área |
| Intercepción SMS / OTP | updateLocation (suplantado), redirección mt-ForwardSM | Desviar MT-SMS al nodo del atacante |
| Intercepción/redireccionamiento de llamadas | updateLocation, provideRoamingNumber, insertSubscriberData | Redirigir o supervisar las llamadas |
| Fraude / DoS | cancelLocation, purgeMS, updateLocation | Dar de baja al abonado, denegar el servicio |
| Robo de credenciales | sendAuthenticationInfo | Recolección de vectores de autenticación |
Las categorías de GSMA FS.11
GSMA FS.11 (SS7 Interconnect Security Monitoring and Firewall Guidelines) clasifica los mensajes MAP entrantes por dónde pueden originarse legítimamente, dando a los operadores un reglamento de filtrado. Los mensajes de categoría 1 nunca deberían recibirse en una interconexión desde otro operador —pertenecen al interior de una sola red—, así que se bloquean sin más en la frontera. Los mensajes de categoría 2 solo deberían venir de la red de origen del abonado, así que se bloquean cuando el origen no es la red de origen. Los mensajes de categoría 3 pueden llegar legítimamente de una red donde el abonado está en itinerancia, así que no pueden bloquearse solo por origen y requieren comprobaciones de plausibilidad y velocidad.
| Categoría | Origen legítimo | Acción del cortafuegos | Ejemplos |
|---|---|---|---|
| 1 | Solo dentro de la propia red del operador | Bloqueo en la interconexión entrante | anyTimeInterrogation, sendIMSI, provideSubscriberInfo (entrante) |
| 2 | Solo desde la red propia del abonado | Bloquear si el origen ≠ red propia (home) | cancelLocation, insertSubscriberData, deleteSubscriberData |
| 3 | Desde una red visitada donde el abonado está en itinerancia | Comprobaciones de plausibilidad y velocidad | updateLocation, sendRoutingInfoForSM, provideRoamingNumber |
Reglas de cortafuegos que implementan FS.11
Un cortafuegos de señalización aplica FS.11 en capas. En la capa SCCP escruta el global title de la Calling Party contra listas de permitidos/denegados y comprueba la coherencia entre GT y point code. En la capa MAP inspecciona el código de operación y aplica la regla de categoría. Para la categoría 3 añade comprobaciones con estado: una comprobación de velocidad marca a un abonado que parece moverse entre países distantes más rápido de lo físicamente posible, y comprobaciones de coherencia comparan la red de servicio declarada con la ubicación conocida del HLR. El tráfico de categoría 1 simplemente se descarta y se registra.
on inbound MAP message from interconnect peer P:
if opcode in CATEGORY_1: drop + alert # never valid across interconnect
if opcode in CATEGORY_2:
if P != subscriber.homeNetwork: drop + alert
if opcode in CATEGORY_3: # e.g. updateLocation, SRI-SM
if velocityImplausible(subscriber, P): drop + alert
if !consistentWithHLR(subscriber, P): drop + alert
else: allow + logDefensa en capas
Ningún control por sí solo es suficiente. El filtrado FS.11 se complementa con la guía equivalente para Diameter de FS.19 para LTE y con controles de cortafuegos de SMS (GSMA IR.70/interfuncionamiento de SMS) contra el spam y las rutas grises. Los operadores combinan un cortafuegos de señalización con monitorización continua, para que los patrones novedosos que pasan las reglas estáticas afloren igualmente como anomalías. La mitigación estratégica para la interceptación de SMS en concreto es reducir la dependencia de los OTP por SMS, pero para las redes que deben transportarlos, el filtrado en frontera sigue siendo la defensa principal.
Preguntas frecuentes
¿Por qué SS7 es inseguro?
SS7 se construyó para un conjunto pequeño y de confianza de operadores y nunca añadió autenticación del origen del mensaje. Una vez que el acceso a la interconexión se hizo ampliamente disponible, un atacante capaz de enviar mensajes SS7 podía suplantar a una red legítima y lograr que se respondieran o se actuara sobre consultas MAP, sin necesidad de acceso al terminal objetivo.
¿Cuáles son las categorías de GSMA FS.11?
FS.11 ordena los mensajes MAP entrantes por origen legítimo. La categoría 1 nunca debería cruzar una interconexión y se bloquea. La categoría 2 solo debería venir de la red de origen del abonado y se bloquea en caso contrario. La categoría 3 puede llegar de una red visitada, así que necesita comprobaciones de plausibilidad y velocidad en lugar de un bloqueo directo.
¿Cómo detiene un cortafuegos SS7 la interceptación de SMS?
Escruta las operaciones SendRoutingInfoForSM y UpdateLocation que los atacantes usan para redirigir el MT-SMS. Comprueba el origen frente a la relación origen/visitada, aplica comprobaciones de velocidad para que un abonado no pueda aparecer en dos países distantes a la vez y descarta el tráfico inverosímil o de categoría 1.
¿Qué es una comprobación de velocidad?
Una comprobación de velocidad (o plausibilidad) compara la ubicación recién declarada de un abonado con su última ubicación conocida y el tiempo entre ambas. Si el desplazamiento implícito es físicamente imposible —por ejemplo, actualizaciones de itinerancia de dos continentes con segundos de diferencia—, el mensaje se trata como falsificado y se bloquea.
¿Un cortafuegos SS7 sustituye a abandonar los OTP por SMS?
No: reduce la exposición pero no la elimina. El filtrado en frontera es la defensa principal para las redes que deben transportar OTP por SMS, pero la mitigación más fuerte contra la interceptación es reducir la dependencia de los códigos de un solo uso por SMS donde haya disponible un factor más robusto.
Especificaciones de la fuente
Las normas publicadas en las que se basa esta página. Se abre en una pestaña nueva.