Este año, usted y su amigo Steve Stevington comenzaron un inicio de seguimiento de usuarios. El negocio se basa en la
fuga de metadatos de WhatsApp que descubrió . Ambos deben aprender administración, pero la compañía se ha convertido en una compañía poderosa, aunque inestable, de 65 pasantes y estudiantes, trabajadores independientes y trabajadores no remunerados en un período de prueba. Recientemente se mudó a la nueva oficina ingeniosa en el departamento de literatura del siglo XIX de la Biblioteca Pública de San Francisco, y tiene una reputación envidiable en el campo del marketing en Internet.
Pero bajo este aspecto brillante y dudoso se esconde la podredumbre. Sospecha que su buen amigo, cofundador y director ejecutivo Steve Stevington, está conspirando en su contra. Sale corriendo de la biblioteca todo el tiempo en momentos extraños y en algún lugar desaparece durante horas y horas. Cuando le preguntas a dónde va, construye una mueca extraña, que probablemente considera una sonrisa malévola, y te dice que no te preocupes. Usted ha dado instrucciones a los bibliotecarios para que lo sigan varias veces, pero todos son terribles en el trabajo de campo.
Has estado viviendo en Silicon Valley durante bastante tiempo, y sabes qué atrocidades despiadadas suceden cuando está en juego una gran suma de dinero y datos de usuarios. Steve Stevington probablemente esté tratando de convencer a los inversores para que lo saquen del negocio. Crees que Peter Thiel te apoyará, pero es difícil decir sobre tía Martha. Entonces necesitas averiguar a dónde va Steve.
Afortunadamente, él es un ávido usuario de Tinder.
La aplicación Tinder rastrea la ubicación de sus usuarios para que las parejas potenciales sepan qué tan lejos están el uno del otro. Esto permite a los usuarios tomar decisiones inteligentes: ¿realmente vale la pena conducir 13 kilómetros para encontrarse con una pareja en 6 o 6.5 puntos cuando se bañan, toman un helado en el refrigerador y trabajan en la mañana? En otras palabras, Tinder sabe exactamente hacia dónde se dirige Steve. Y si elige el exploit correcto, pronto también lo descubrirá.
Para determinar la dirección de sus búsquedas, examinó los informes de filtraciones anteriores de datos de ubicación para los usuarios de Tinder. Había varios de ellos. En 2013, se descubrió que los
servidores Tinder envían las coordenadas exactas de posibles coincidencias a una aplicación móvil . En función de ellos, la aplicación calculó la distancia entre los usuarios, pero no mostró las coordenadas en la interfaz. Sin embargo, un atacante podría interceptar fácilmente el tráfico de red de Tinder, verificar los datos sin procesar y determinar la ubicación exacta del objetivo.
Respuesta API de Tinder, incluida la ubicación exactaTinder trató de corregir silenciosamente la vulnerabilidad cambiando el cálculo de distancia a los servidores en lugar de a la aplicación. Después de eso, los mensajes de red enviados desde el servidor a la aplicación contenían solo estas distancias precalculadas sin ubicaciones reales. Sin embargo, Tinder envió casualmente distancias en forma de números sin redondear con 15 decimales.
Respuesta API de Tinder, incluida la distancia precisaEsta negligencia permitió a los
investigadores astutos determinar de nuevo la ubicación exacta de los objetivos utilizando un exploit para la trilateración. Los investigadores enviaron tres coordenadas falsas a Tinder con diferentes ubicaciones de usuarios. En cada nueva ubicación, le preguntaron a Tinder qué tan lejos estaba el objetivo. Luego, se dibujaron tres círculos en el mapa con centros en coordenadas falsas y radios iguales a las distancias obtenidas. El punto de intersección: las coordenadas del objetivo con una precisión de 30 metros.
Ejemplo de trilateración de yescaEl equipo de seguridad de Tinder observó a estas personas que constantemente los hacían trabajar, suspiró y solucionó la vulnerabilidad en silencio. Ahora Tinder envía distancias redondeadas a kilómetros a la aplicación. Todavía puede usar el procedimiento de trilateración indicado para determinar las coordenadas del objetivo dentro de un kilómetro más o menos. Pero en la ciudad densamente poblada de San Francisco, esto no dará una respuesta, ¿a dónde va el astuto Steve Stevington?
El viernes por la tarde, una mueca de robo reapareció en la cara de Steve Stevington, lo que indica la voluntad de tomar varias medidas en lugares desconocidos. Debes averiguar a dónde se dirige antes de que sea demasiado tarde. Te encerraste en tu cuenta, en la sala de lectura de la biblioteca en el cuarto piso. Después de quince minutos de respiración profunda y reflexión aún más profunda, tiene un plan sobre cómo reanimar la hazaña de trilateración de Tinder y descubrir hacia dónde se dirige el Stevenator.
Supongamos que Tinder ahora calcula las distancias exactas en los servidores, las redondea al número entero más cercano y luego envía los números redondeados a su teléfono. Puede comenzar un nuevo ataque de la misma manera que con la trilateración. Enviamos ubicaciones falsas de Tinder y preguntamos qué tan lejos está el objetivo. Tinder puede responder "8 kilómetros", lo que en sí mismo es de poca utilidad. Pero luego puedes mover un píxel hacia el norte, preguntando la distancia con cada paso. El servidor responderá "8 kilómetros, 8 kilómetros, 8 kilómetros, 8 kilómetros, 7 kilómetros". Si su suposición sobre el proceso de redondeo es correcta, entonces el punto en el que cambia la respuesta corresponde a la distancia exacta al objetivo de 7.5 kilómetros. Si repite este procedimiento tres veces y dibuja tres círculos, utilizaremos nuevamente el exploit de trilateración.
Pasamos a acciones activas. Mientras Wilson iba al baño, toma prestado su teléfono para probarlo, ya sabes que usa Tinder, y el código de desbloqueo está visible en la huella digital en la pantalla. Hable con sus pasantes no remunerados durante un período de prueba para que no lo llamen por teléfono ni le digan nada a Wilson, y apúrense al rincón apartado y desierto de su oficina en el departamento de ficción para la edad de la escuela secundaria. Allí abres Tinder en ambos teléfonos. Continúe deslizando hasta obtener una coincidencia y luego escriba un breve script de Python usando
pynder para falsificar las llamadas de la API de Tinder. Coloque a Wilson en el medio de la Bahía de San Francisco y luego trate de determinar sus coordenadas, cambiando su ubicación píxel por píxel para encontrar el punto cuando la distancia entre usted cambia de un número redondeado a otro.
Pero algo está mal. Ha llegado la noche, la cena ha pasado y todavía no has encontrado a Wilson. Te acercas, pero no lo suficiente. Los círculos a veces están dolorosamente cerca de la intersección, pero generalmente no dan una respuesta significativa sobre dónde está Wilson. Empiezas a desesperarte. En este mismo momento, Steve Stevington puede firmar un nuevo contrato con Peter Thiel y tía Marta. Es posible que ya haya actualizado la página de LinkedIn de su empresa y le haya cambiado el nombre a "Asesor", "Asistente" o "Ex CEO". La biblioteca se cierra y tú te mueves a la despensa. Wilson continúa llamando, pero los pasantes de libertad condicional no te dan por vencido. Incluso un pensamiento fugaz salta para darles un trabajo.

Frustrado, das un paso atrás y te golpeas la cabeza con el estante inferior. Cuando salga de una pila de productos de limpieza, está considerando la posibilidad de que las suposiciones puedan estar equivocadas. Quizás Tinder no solo redondea distancias exactas. Usted toma un refrigerio del refrigerador de un empleado de la biblioteca para ayudar al proceso de pensamiento. Deje de dibujar círculos y comience a caminar a lo largo de las líneas alrededor de la verdadera ubicación de Wilson, marcando cada cambio en la distancia.
A la segunda hora de la noche todo se aclara.
Colocar marcas en un mapa basado en distancias de TinderAhora Tinder es tan celoso por la privacidad de los usuarios que rompe los aburridos clips de la geometría convencional. Abandonó a Euclides. No necesita la
fórmula de Haversinus . En cambio, Tinder utiliza dos innovaciones para calcular la distancia entre partidos.
Primero, y lo más importante, divide la ciudad en cuadrados de aproximadamente 1 × 1 milla. Al calcular la distancia, la ubicación del objetivo se ajusta al centro del cuadrado de la cuadrícula actual. Luego calcula y devuelve la distancia aproximada entre usted
y esta ubicación adjunta .
Tinder ajusta las ubicaciones de los usuarios a una cuadrículaEn segundo lugar, calcula las distancias como si fuera por su fórmula única. Para hacer esto, se toma un mapa de distancias aproximadas y predefinidas, y se superpone en el centro del cuadrado del objetivo. Tinder busca la ubicación del atacante en esta superposición y devuelve la distancia correspondiente. En el cálculo normal de la distancia euclidiana, esto sería un conjunto de círculos concéntricos.

Pero Tinder parece estar usando una superposición concéntrica con curvas extrañas en las esquinas a medida que se aleja del objetivo.

Entre otras cosas, esto significa que Tinder a menudo devuelve distancias ligeramente incorrectas. Sospecha que es necesario redondear las esquinas para corregir distancias
demasiado incorrectas que están al noreste una de la otra.
El ajuste de malla es una innovación clave en el enfoque de Tinder. Esto significa que Tinder siempre devolverá la misma distancia si el objetivo está en algún lugar dentro del cuadrado de la cuadrícula dada. Tu hazaña trilateracional no funcionará. Y si Tinder implementó correctamente el enlace de malla, entonces ningún exploit puramente remoto funcionará. No hay forma de encontrar la ubicación de un objetivo con mayor precisión que los bordes de uno de los cuadrados de la cuadrícula (aproximadamente) 1 × 1 milla. Incluso una vigilancia tan burda puede hacer que los usuarios de Tinder se pregunten. Pero, de hecho, este es un comportamiento bastante razonable para la aplicación, cuya función principal es decirle a los extraños dónde está usted.
Realmente no sabes por qué Tinder usa una capa de cuadrados tan extraña con esquinas redondeadas. Mientras las ubicaciones de los usuarios estén vinculadas a una cuadrícula, Tinder podría usar la distancia euclidiana normal sin arriesgar la privacidad. Quizás es solo que una nueva métrica se calcula más rápido y, a pesar de los preceptos de Gordon Moore, las computadoras aún son limitadas. Sin embargo, todo esto lleva a la conclusión de que Tinder es seguro, en este aspecto muy estrecho, y te equivocaste.
La biblioteca está en completa oscuridad, sin contar el brillo verde de Xerox. Estás triste, pero diligentemente barriendo pistas. Póngalo en el armario y arroje el teléfono de Wilson a la trituradora industrial de la biblioteca. Salga por la entrada principal, robe una bicicleta mal ajustada y viaje tristemente a casa.
A la mañana siguiente, Steve Stevington te da uno de los dos codirectores en los que trabajó en su clase secreta de cerámica por la tarde. Esto es completamente asqueroso. Sería mejor si te entregara uno de un par de billetes de diez dólares y se quedara en la oficina. Trabajó poco y mal, y usted tuvo que celebrar muchas reuniones y mentir mucho, generalmente este es su trabajo. Pero al menos no robó su compañía. Vierte el café de Wilson en tu taza ridícula y le deseas buena salud a tu buen amigo.
Cuando te duermes por la noche, se te ocurren pensamientos sobre lo que está sucediendo con la cuadrícula Tinder en el Polo Norte ...
Su código de este artículo se publica en Github . Infórmese si tiene alguna pregunta o encuentra errores.