- La solicitud de permiso de ubicación del navegador no se limita a una estimación basada en IP, sino que realiza una medición precisa de la ubicación usando información de puntos de acceso Wi‑Fi cercanos
- En este proceso, el navegador recopila datos como SSID, BSSID e intensidad de la señal (RSSI) y los compara con la base de datos de proveedores de servicios como Google
- Estas bases de datos se han construido mediante wardriving en el pasado y la transmisión continua de datos desde los dispositivos de los usuarios
- Han surgido varias controversias por invasión de privacidad, incluido el caso de recolección de datos no cifrados por parte de los vehículos de Google Street View
- Hoy en día, la mayoría de los dispositivos usan este sistema por defecto, y es posible excluirse (opt-out) registrando el BSSID o agregando ‘_nomap’ al SSID
Sistema de asistencia y verificación de ubicación
- La plataforma TopHat usada en una clase de algoritmos de la Universidad de Wisconsin verifica la ubicación real del estudiante para confirmar asistencia
- Además de ingresar un simple código de asistencia, la función Secure Attendance usa la información de ubicación del dispositivo para determinar si el estudiante está cerca del aula
- Como la estimación basada en IP tiene mucho margen de error, TopHat usa la API de Geolocalización del navegador
- Esta API solicita permiso explícito al usuario y puede determinar la ubicación con una precisión de unos pocos metros
Cómo funciona la API de Geolocalización
- La API de Geolocalización aprovecha varias fuentes como GPS, IP y Wi‑Fi, pero en dispositivos sin GPS como las laptops se usa principalmente el Wi‑Fi Positioning System (WPS)
- Cuando el navegador llama a
getCurrentPosition(), recopila el SSID, BSSID e intensidad de señal de los AP Wi‑Fi cercanos
- El BSSID es un identificador único basado en la dirección MAC, lo que permite distinguir varias redes con el mismo SSID
- La información recopilada se envía a proveedores de servicios de ubicación como Google, que calculan la ubicación precisa comparándola con los datos ya acumulados
Historia del posicionamiento Wi‑Fi y recopilación de datos
- Se originó a principios de los años 2000 con la técnica de wardriving comercializada por Skyhook Wireless
- Se instalaba un receptor GPS en un vehículo para registrar, mientras se desplazaba, la ubicación y la intensidad de señal de las redes Wi‑Fi cercanas
- Después, Google recopiló información de Wi‑Fi mediante los vehículos de Street View, y empresas como Apple y Microsoft también pasaron a un modelo de recolección automática desde los dispositivos de los usuarios
- Hoy, la mayoría de los smartphones y laptops, cuando tienen activados los servicios de ubicación, envían información de Wi‑Fi cercana a los servidores del fabricante, y eso se usa para estimar la ubicación de otros dispositivos
Controversias de privacidad y seguridad
- En 2010 se reveló que Google había recopilado alrededor de 600 GB de datos HTTP no cifrados mediante los vehículos de Street View, lo que desató la polémica
- También se reportó un caso en el que, debido a un bug en la API de ubicación de Microsoft, se pudo reconstruir el recorrido de un usuario
- En una investigación de la Universidad de Maryland de 2024, se pudo extraer la ubicación de cerca de 2 mil millones de BSSID aprovechando una vulnerabilidad en el servicio de ubicación de Apple
- Esta información podría usarse indebidamente para rastrear personas o vigilar movimientos poblacionales
- Desde entonces, las principales empresas reforzaron la seguridad de sus API y ofrecen opciones para excluir redes de la base de datos agregando ‘_nomap’ al SSID o registrando el BSSID
Conclusión y bases de datos públicas
- Esta tecnología se conoce como Wi‑Fi Positioning System (WPS) y sigue usándose ampliamente en la actualidad
- wigle.net es una base de datos pública colaborativa que ha recopilado cerca de 2 mil millones de redes durante 25 años, y permite a los usuarios verificar si su red está registrada
- beacondb.net es una base de datos de ubicación inalámbrica basada en dominio público que ofrece un conjunto de datos independiente, distinto de los servicios comerciales
- La razón por la que una laptop puede determinar su ubicación con precisión es que innumerables usuarios han aportado datos de Wi‑Fi sin darse cuenta
- Incluso la verificación de asistencia en clases funciona sobre el resultado de esta acumulación colectiva de datos
1 comentarios
Comentarios de Hacker News
Yo fijé la ubicación en Firefox a un punto específico cerca de mi casa
user_pref("geo.provider.network.url", 'data:application/json,{"location": {"lat": 45.0, "lng": -122.0}, "accuracy": 128.0}');Con esto creo que los datos de Wi-Fi no se filtran hacia afuera
Por ejemplo, hay que poner
geo.provider.use_corelocation,geo.provider.use_geoclueygeo.enabledenfalseAdemás, quizá también haya que poner
geo.provider.testingentrueEnlaces de referencia: issue de Bugzilla, StackOverflow, Security StackExchange
Versión para Chrome, versión para Firefox
Hace tiempo, cuando trabajaba en un competidor de Zoom, probamos una función para detectar si los participantes estaban en la misma sala
Funcionaba haciendo que cada laptop emitiera un sonido agudo único y escuchara las señales de las demás
En el laboratorio funcionó bien, pero en la práctica fracasó. Aun así, fue un intento interesante
El ruido de fondo, el feedback y el sonido de los altavoces arruinan la reunión
Artículo relacionado: Science.org
Hace poco hice un pequeño CLI llamado where-am-i
Enlace de GitHub
Como el GPS en interiores es malísimo, siento que este tipo de tecnología de geolocalización es realmente útil
/usr/libexec/geoclue-2.0/demos/where-am-iSupongo que hoy en día los estudiantes listos de computación probablemente estén ejecutando en sus teléfonos Android una app proxy que retransmite el entorno Wi-Fi
y que sus amigos reciben esos datos con un plugin del navegador o con hacks en Linux para falsificar la ubicación
Solo hace falta conocer las coordenadas del salón
Mi PC no tiene conexión inalámbrica, así que la API de Geolocation siempre falla
Probablemente habría quedado fuera del control de asistencia en clase
Parece que también podría hackear el navegador para que devuelva una ubicación falsa
Luego me desanimó descubrir que eso se podía resolver desde la configuración de Firefox
Me pregunto si, con permisos de administrador, sería posible hacer spoofing de ubicación
Por ejemplo, quiero probar si se puede clonar la lista de SSID/BSSID del salón donde está un amigo para fingir que yo también estoy ahí
Solo se corrigió bien después de unos 30 segundos
Esto parece una versión moderna del sistema de clickers de la época universitaria
La “estrategia imposible de parchear” de dejarle el aparato a un amigo para que marque asistencia por ti sigue funcionando
Usé Symbian durante mucho tiempo, y apenas hace poco me enteré de que existían estas prácticas de escaneo de Wi-Fi
Que los autos de Google Street View escaneen mi router está bien, pero que mi teléfono me rastree en secreto me resulta desagradable
Espero que forks de Android como GrapheneOS bloqueen este tipo de cosas
Cuando estudié en Austria, la universidad dejaba casi todo a la autonomía del estudiante
No entiendo la obligación de asistencia. Pienso que debería bastar con aprobar el examen
Las clases de laboratorio son la excepción, pero si no participas se nota de inmediato
Al final, depende del nivel de la escuela y de la autonomía de los estudiantes
En cambio, los proyectos de laboratorio se hacían en equipo, así que si no participabas no podías obtener resultados
Porque se necesitan datos para becas, gráficas de correlación entre asistencia y calificaciones, etc.
Pero en lo esencial, los estudiantes son adultos, así que creo que aprender es su responsabilidad
Esta tecnología ya se usa ampliamente desde hace más de 20 años
El GPS es preciso, pero lento, y en interiores o entornos urbanos es inestable
En cambio, los datos de Wi-Fi abundan y permiten obtener una ubicación precisa en menos de 1 segundo