Hace un par de semanas,
Chema Alonso publicaba en su blog un
comportamiento inseguro que tienen los dispositivos Apple con sistema operativo iOS, es decir, iPad, iPhone e iPod Touch. La inseguridad existe en la política de gestión de redes conocidas que hace este sistema operativo, a la hora de conectarse a una red WiFi. Por defecto, en el momento que un terminal con sistema operativo iOS tiene configurada activa la conexión WiFi, el dispositivo intentará conectarse a una red conocida
Este comportamiento no se puede cambiar, es decir, en el momento en que esté activada la conexión WiFi el dispositivo buscará una red conocida y se conectará a ella. Esta política de conexión a redes conocidas es bastante confusa y tiene unos fallos en cuanto política que merece la pena resaltar.
¿Cómo borrar una red conocida?
El sistema operativo iOS solo permite borrar una red conocida si está en las proximidades, pero si no, no es posible eliminarlas de la lista, lo que hace necesario modificar manualmente el fichero keychain-2.db. Esto quiere decir que puede haber una red conocida, a la que el dispositivo fue conectado alguna vez, y la próxima vez que la encuentre se conectará.
¿Cuál es la política de elección de red a conectarse?
Tras hacer múltiples pruebas, parece que los dispositivos con iOS, en el caso de que haya más de una red WiFi conocida en las proximidades, el terminal elije la última red a la que haya sido conectado, es decir, parece utilizar un sistema de elección LiFO (Last In First Out).
¿Cómo se reconoce una red WiFi?
Aquí viene el problema principal. Los dispositivos iOS utilizan el SSID, es decir, el nombre de la red WiFi, y la tecnología, es decir, el protocolo de cifrado y la contraseña de conexión. Esto es un problema serio, ya que debería utilizarse el ESSID (
Extended SSID) para reconocer la red, y no solo el nombre. Esto puede generar que el dispositivo se conecte a una falsa red, solo porque tenga el mismo nombre y la misma configuración.
Todo este funcionamiento descrito puede llevar a serios riesgos de seguridad, que pueden ser dirigidos o aleatorios, dependiendo de la estrategia del atacante.
Ataque aleatorio con nombres de redes comunes
Supongamos una conferencia, un aeropuerto o cualquier lugar con concentración de personas en las que puedan existir terminales Apple con sistema operativo iOS. Es probable que muchos de ellos se hayan conectado alguna vez a una red WiFi abierta, llamada Default, Free o Public. Todos esos nombres son muy comunes en espacios públicos u hoteles, por lo que es probable que muchos usuarios tengan esa red en su lista de redes conocidas. Si no hay otra red conocida cerca, esos dispositivos se conectarán automáticamente e intentarán enviar y recibir datos todas las aplicaciones, que podrían ser interceptadas por el atacante que haya puesto el punto de acceso WiFi falso.
Ataque dirigido con nombre de red conocida
Este mismo ataque puede ser hecho de forma dirigida, por ejemplo, entre los compañeros de una empresa, o de establecimientos, como cafeterías, restaurantes, hoteles. Supongamos un entorno en el que todos los miembros conocen la contraseña de la red WiFi. Si uno de ellos quisiera atacar a otro, podría replicar la red WiFi que ambos conocen en otro entorno, donde la víctima no espere que exista esta red, haciendo que el dispositivo se conecte automáticamente a este falso punto de acceso.
Mejoras de seguridad en conexiones WiFi
Estos dos entornos permitirían al enemigo realizar ataques de man in the middle, robando o interceptando datos del terminal de la víctima, poniendo en riesgo la seguridad del usuario. Es por eso que pensamos que Apple debería cambiar la política de conexión a redes WiFi añadiendo:
a) La posibilidad de ver la lista de redes conocidas.
b) La posibilidad de eliminar una red conocida de la lista aún cuando ésta no esté cerca.
c) La posibilidad de elegir el orden de prioridad de conexión a redes conocidas.
d) El reconocimiento de redes WiFi por medio del ESSID.
Y puestos a pedir, sería recomendable que la dirección física de la tarjeta WiFi y la tarjeta
BlueTooth no guarden ninguna relación que permita
predecir la dirección Bluetooth a partir de la dirección mac de la tarjeta WiFi.
Veremos si el funcionamiento de este módulo de conexión WiFi en la versión 5 de iOS de Apple mantiene este comportamiento o añade alguna modificación que incida en la seguridad de los usuarios, pero por si acaso, es recomendable apagar la tarjeta WiFi en momentos en los que no se vaya a hacer uso de ella.