Hace tiempo que quería escribir sobre este tema que me tiene dando vueltas a la cabeza, y no es otra que la privacidad de las personas y las redes WiFi que frecuenta. En un titular, la idea es que alguien puede saber qué lugares frecuentas - incluido dónde vives - gracias las redes WiFi que busca tu dispositivo. Es decir, saber en qué ciudades has estado, en que hoteles, en qué bloques de edificios o en que restaurantes has comido, siempre que te hayas conectado a una red WiFi allí y no hayas tenido la precaución de eliminarla.
Esta afirmación tiene muchos detalles importantes, así que voy a intentar ir por partes para no dejarme nada, y poder llevaros a una conclusión final entendible. Comencemos por un fallo de seguridad en los dispositivos iOS, Android y los equipos Mac OS X - seguro que alguno más también, pero no los Microsoft Windows -, como aperitivo.
Búsqueda de redes WiFi
Cuando una red WiFi expone su SSID (su nombre) mediante la difusión de Beacon Frames, no es necesario que ningún equipo cliente vaya buscándola incansablemente. ¿Qué ganaría?. El equipo sólo podría conectarse a ella si la red está emitiendo Beacon Frames que indiquen que está activa.
Sin embargo, aunque la red no esté oculta, los equipos con iOS, Android o Mac OS X, buscan insaciablemente todas las redes a las que se han conectado alguna vez, lo que permite a cualquier atacante que escuche los mensajes Probe de estos dispositivos, saber a qué redes se ha conectado alguna vez ese dispositivo.
 |
Figura 1: SSIDs buscados por un iPhone |
Si a esto le sumamos que ni
iOS, ni Android,
ni Mac OS X validan el BSSID - y
la validación BSSID es importante -, los hacen más
que propensos a los ataques de Rogue AP, pero esa es otra historia de la que ya hemos hablado por aquí hace tiempo.
En el caso de los sistemas
Microsoft Windows esto no es así. Si un equipo con Windows 6.X {Vista, 7 u 8} tiene configurada una red WiFi, este equipo no emitirá un mensaje Probe si la red no está emitiendo los Beacon Frames, con lo que no descubrirá nunca a qué redes se ha conectado en el pasado. Como debe de ser para proteger la seguridad de un cliente.