Menú principal

viernes, 12 de agosto de 2011

Signal y la detección de estaciones base falsas (1 de 2)

=======================================================================
- Signal y la detección de estaciones base falsas (2 de 2)
Autores: José Picó y David Pérez, consultores de seguridad en Taddong
=======================================================================

Hace unos días Chema Alonso nos informó de que existía una aplicación que obtenía la ubicación de la estación base que está proporcionando servicio a un iPhone y de las estaciones base de las celdas adyacentes, así como diversos datos de las mismas. Chema nos preguntó si esta aplicación podría utilizarse para detectar un ataque con estación base falsa.

Para poder responder a esta cuestión tuvimos que hacer algunas pruebas. Las más significativas las explicamos en este artículo, donde también incluimos las conclusiones que hemos obtenido y alguna otra cosa que hemos ido sacando por el camino.

La aplicación en concreto se llama Signal (disponible en Cydia) y está escrita por PlanetBeing. El propósito de los creadores de la aplicación es el de hacer un mapa de las torres cercanas, medir la potencia que nos dan y proporcionar datos técnicos acerca de ellas.

Pruebas Fase I: con y sin conexión a Internet

Laboratorio de pruebas

Para poder realizar las pruebas, montamos los siguientes equipos como se muestra en la figura:

Figura 1: Esquema de preparación de escenario

El objetivo principal del montaje era el de poder analizar el tráfico que generaba el aplicativo y poder así obtener conclusiones preliminares antes de decidir qué pruebas posteriores realizaríamos.

Instalación y ejecución del aplicativo la primera vez

Después de jailbreakear nuestro iPhone e instalar el aplicativo via Cydia, configuramos el dispositivo de la siguiente forma:

• Desactivamos el servicio de datos móvil (como veremos más adelante queríamos que el tráfico de datos pasara por nuestra infraestructura para poder analizarlo)

• Desactivamos 3G para que sólo aceptase servicio GSM (de esta forma nos sería más fácil proporcionarle señal de nuestra estación base falsa)

La primera vez que se ejecuta el aplicativo pregunta si queremos usar los servicios de localización geográfica del iPhone. Respondemos que no porque queremos reducir al máximo los recursos disponibles para que el software descubra su ubicación, o sea, que jugamos sin GPS.

Posteriormente, vemos cómo el aplicativo señala en el mapa las ubicaciones de las torres próximas a nuestra ubicación geográfica (provincia de Valencia), junto con un número que representa la potencia percibida en DBm. Comprobamos que la ubicación geográfica refleja donde estamos realmente:

Figura 2: Ubicaciones de torres

Arranque del aplicativo sin ningún tipo de conexión de datos

Como sospechamos que el aplicativo obtiene de Internet la información de ubicación geográfica de las celdas, deshabilitamos todas las conexiones de datos del iPhone, incluyendo WiFi. En estas condiciones, nada más arrancar el aplicativo comprobamos que efectivamente detecta la celda que le estaba prestando servicio así como un conjunto de celdas adyacentes, y proporcionaba diversos parámetros relativos a las mismas. Además, presenta información geográfica de las celdas próximas, aunque con un formato distinto, como puede verse en esta figura:

Figura 3: Celdas próximas

La información de interpretación de los códigos de colores del aplicativo nos dice lo siguiente:

• Blue: Visible towers
• Red: Connected tower
• Gray: Unlocatable tower
• Yellow: Previously seen tower

Parece ser que Signal guarda algún tipo de cache donde almacena información de las celdas vistas con anterioridad. El aplicativo tiene una opción de “Reset tower data”. Comprobamos que al pulsar esta opción la información geográfica desaparece. Realizamos varios arranques del software, y la información geográfica no vuelve a aparecer.

Arranque del aplicativo de nuevo con conexión de datos

Después de habilitar el WiFi, rearrancamos el aplicativo y aquí sí que detecta de nuevo dónde están las estaciones base de telefonía de nuestra zona geográfica.

Conclusiones derivadas de las pruebas Fase I

De estas pruebas se deduce que:

Signal obtiene la información geográfica de la ubicación de las estaciones base de Internet.

• La aplicación tiene una cache donde almacena la información geográfica de las estaciones que ya ha visto; esta cache se puede borrar con la opción “Reset tower data”.

Pruebas Fase II: Utilizando una estación base falsa

Laboratorio de pruebas

Para esta segunda fase de pruebas, modificamos nuestro laboratorio para poder dar cobertura con nuestra estación base falsa al móvil. El esquema siguiente reproduce la configuración:

Figura 4: Esquema con base falsa

Prueba con un identificador de celda inexistente

Para realizar esta prueba, configuramos nuestra estación base falsa para que emitiera con un identificador de celda inexistente, y encendimos el iPhone una vez dentro de la jaula. Recordemos que el iPhone tiene conexión a Internet desde dentro de la jaula vía nuestra infraestructura WiFi (ver figura anterior).

Al arrancar el aplicativo Signal, éste detecta la cobertura y reporta correctamente el identificador de celda que le hemos proporcionado, pero no puede encontrar la ubicación geográfica.

Prueba con un identificador de celda de una ubicación geográfica distinta

En esta prueba utilizamos un identificador de celda que pertenece a una estación base ubicada en algún punto de la provincia de Madrid (nosotros nos encontrábamos en algún punto de la provincia de Valencia) y efectivamente la aplicación nos ubicó en Madrid, junto a la ubicación de esa estación base:

Figura 5: Ubicación de la estación base

Conclusiones derivadas de las pruebas Fase II

De estas pruebas se deduce que:

• La información técnica de la señal de cobertura la obtiene de la propia señal.

• La ubicación geográfica, que obtiene de Internet, depende únicamente de la identificación de celda (MCC|MNC|LAC|CI), donde:

• MCC: Mobile Country Code
• MNC: Mobile Network Code
• LAC: Location Area Code
• CI: Cell Identifier

=======================================================================
=======================================================================

No hay comentarios:

Publicar un comentario en la entrada

Artículos relacionados

Otras historias relacionadas

Entradas populares