viernes, 17 de mayo de 2013

Tu privacidad en peligro por culpa de las conexiones WiFi

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.

Conexiones a redes WiFi ocultas

Pero como en todo, hay dos caras en esta moneda. Si el dueño de la red WiFi, para quitarse curiosos ha decidido ocultar la red WiFi mediante la no emisión de Beacons Frames, entonces los clientes Microsoft Windows no se conectarían nunca a esa red, ya que no emitirían mensajes Probe hasta no recibir un anuncio de la presencia de la WiFi. Para ello, en la configuración de las propiedades de una red inalámbrica es posible marcar una opción que dice: "Conectar aunque la red no difunda su nombre (SSID)".

Figura 2: Opciones de conexiones a redes WiFi en Windows
En ese caso, los equipos Windows emitirían mensajes Probe para localizar las redes WiFi que están ocultas - solo con estas redes -, pero claro, esto lo harían en cualquier ubicación donde esté el sistema, descubriendo las redes a las que se han conectado en el pasado. La ventaja en Microsoft Windows es que se puede elegir - como en muchos de los ejemplos descritos en Máxima Seguridad en Windows -, y en el peor de los casos se comportaría como un Mac OS X, y solo a cambio de tener el beneficio de poder tener la red WiFi oculta - algo se gana -.

Pensando en la privacidad de los clientes

No obstante, visto lo visto, creo firmemente que puestos a elegir es mejor no descubrir a qué redes se conecta una persona - para garantizar su privacidad - a costa de no ocultar el SSID de una red WiFi, ya que esa protección solo es para curiosos, y no para atacantes que estén haciendo wardriving en la zona. Cualquier atacante avanzado solo tiene que esperar un poco en la zona para descubrir toda la información de la red, ya que con el primer cliente que se conecte será posible descubrir que allí hay una red WiFi oculta con un SSID que va en el mensaje Probe de establecimiento de conexión.

Por otro lado, el que una persona vaya contándole a todo el mundo a qué redes se conecta es como ir contándole a todo el mundo dónde vive, dónde trabaja, dónde veranea y en que lugar vive su amante. Algo que puede afectar seriamente a la privacidad de los clientes.

Cómo saber en qué lugar está una red WiFi

Hasta el momento yo he dicho que publicar a qué redes te conectas es como enumerar una lista de sitios que frecuentas, y esto es así gracias a las bases de datos de wardriving creadas con el esfuerzo de muchos amantes de esa disciplina. Estas bases de datos no suelen ser abiertas para todo el mundo, y suele haber sistemas de radio para acceder a ellas - es decir, tú colaboras reportando las redes WiFi que descubra tu equipo y te dejamos consular la base de datos -. 

Figura 3: Popular herramienta de Wardriving WiFiFoFum
Ejemplos de estas herramientas pueden ser WiFiFoFum o WiFiGet Scan, pero si quieres ver un ejemplo funcional de una base de datos grande, Wigle.net tiene una base de datos de los Estados Unidos bien repleta, y permite buscar todas las redes en ubicaciones GPS utilizando el SSID.

Figura 4: Ubicación GPS de la red amanda3413 en Wigle.NET
Los grandes Wardrivers: Google y Apple

Para que la localización de personas se pueda hacer a través del valor SSID de la red WiFi es necesario contar con una buena base de datos de nombres SSID, valores BSSID y ubicaciones GPS, lo que implica muchos amantes del wardriving peinando ciudades. 

Para solucionarlo, los grandes wardrivers, a.k.a. Google y Apple, decidieron convertir a todos los clientes de sus terminales iOS y Android - además de utilizar el Google Street Car - en wardrivers, de tal manera que cada vez que un usuario con los servicios de localización activados en su dispositivo detecta una red WiFi, reporta su posición tanto a Google como a Apple.

Figura 5: Ejemplo de reporte a Apple de información de red WiFi



Esto dio lugar a la famosa charla de "Cómo conocí a tu chica" en BlackHat, en la que se hacía uso de la API de Google para localizar ubicaciones físicas de equipos WiFi basados en su dirección MAC. Pero la API está ahora prohibida. Google ha capado esa conexión.

Lo curioso es que el reporte no es inmediato, así que si activas los servicios de localización se reportan las últimas redes WiFi y sus posiciones, lo que lleva a que el propio reporte de las redes WiFi a las que te conectas con un iOS sea también un leak de información que deje claro a que BSSIDs te conectas.

Debido a este comportamiento de los dispositivos Apple se ha publicado iSniff-GPS, que permite capturar los mensajes que emite un iPhone/iPad pudiendo localizar las redes WiFi a las que se ha conectado y su ubicación GPS. Adios privacidad.

Figura 6: iSniff-GPS mostrando en un mapa las redes a las que se conecta un terminal iOS

¿Cómo protegernos de esto?

Tras analizar esto, hay que suponer que, el SSID y el BSSID de nuestra red WiFi, y su ubicación GPS, de una manera u otra ha acabado en una base de datos de Wardrivers, ya sea de aficionados a esta disciplina o de grandes profesionales en esta materia como Google o Apple. Así que, cualquiera que sepa a qué redes nos conectamos acabará por localizar nuestros lugares de hábito, lo que para muchas personas puede ser un grave problema.

Para evitar esto, si tienes un equipo portátil, parece que Windows es el que mejor trata la seguridad de las conexiones WiFi, así que no ocultes el SSID de tu red WiFi, fortifica la red para estar más protegido contra los ataques, y listo. Como truco, utiliza SSIDs comunes, aunque no demasiado. Me explico, lo suficientemente comunes para que salgan bastantes redes con el mismo SSID en cualquier base de datos de wardriving, pero no demasiado comunes como para que alguien haya decidido pre-calcularse las rainbow tables de ese SSID para WPA/WPA2-PSK. Aquí tienes un artículo sobre cómo atacar redes WPA/WPA2-PSK.

Si tienes la red oculta, o un Mac OS X, o un terminal móvil con iOS {iPhone & iPad} o Android, lo mejor que apagues la WiFi siempre que no sea estrictamente necesario que la tengas encendida, usa conexiones 3G - cuidado con las GPRS - siempre que te sea posible, y borra cualquier red WiFi que hayas usado una vez termines de trabajar con ella - y aún esté en tu ámbito de alcance -.

Saludos Malignos! 

(Fuente | ElLadoDelMal)

2 comentarios: