Ser capaz de determinar con precisión tu ubicación en cualquier lugar del planeta es un truco tecnológico útil. Pero cuando el rastreo no lo haces tú, sino que te lo hacen a ti -sin tu conocimiento o consentimiento- es una violación de tu privacidad. Por eso en la EFF llevamos mucho tiempo luchando contra la vigilancia de arrastre, rastreo de dispositivos móviles y rastreo GPS sin orden judicial.

Hace varias semanas, una simpatizante de la EFF llevó su coche al mecánico y encontró un misterioso dispositivo conectado a su coche bajo el asiento del conductor. Esta seguidora, a la que llamaremos Sarah (no es su nombre real), nos envió un correo electrónico preguntando si podíamos determinar si este dispositivo era un rastreador GPS y, en caso afirmativo, quién podría haberlo instalado. Ante un misterio que también podría ayudarnos a aprender más sobre el rastreo, nuestro equipo se puso a trabajar.

Sarah nos envió fotos detalladas del dispositivo. Era una caja negra y gris, de unos diez centímetros de largo, con un haz de seis cables que salían de un extremo. En uno de los lados, las palabras "THIS SIDE DOWN" estaban impresas en letras mayúsculas, junto a tres números de serie.

En primer lugar, queríamos confirmar que se trataba, de hecho, de un dispositivo GPS. Empezamos por buscar el ID de la FCC del dispositivo en la base de datos de la FCC. Cada dispositivo que tiene un transmisor o un receptor de radio debe tener un ID de la FCC. Con ese ID se pueden encontrar manuales, imágenes e incluso esquemas internos de cualquier dispositivo que la FCC haya revisado.

La búsqueda en la FCC confirmó que el dispositivo era un rastreador GPS vendido bajo la marca "Apollo" y fabricado por una empresa llamada M-Labs. Según el manual, el Apollo puede rastrear la ubicación de un coche y enviarla a un servidor a través de una conexión celular. El manual también decía que el Apollo tenía un tipo especial de puerto para comunicarse con el dispositivo, conocido como puerto serie UART. Utilizando este puerto, podríamos interactuar con el dispositivo para saber más sobre él.

Una rápida búsqueda en la web también reveló que un número de personas sobre todo lo largo de EE.UU. había encontrado exactamente estos dispositivos en sus coches. Algunas personas creían que los rastreadores GPS eran instalados por los concesionarios para embargarlos, o por las empresas de alquiler de coches para el seguimiento de la flota.

Le contamos a Sarah lo que habíamos encontrado y acordamos que, con acceso directo al rastreador GPS, podríamos averiguar cuándo se había instalado y, por tanto, quién lo había instalado. Si se instaló en el momento en que ella compró el coche, o antes de esa fecha, entonces podría haber sido instalado por el concesionario. Si se instaló después de esa fecha, entonces es posible que Sarah tuviera un acosador que hubiera instalado el dispositivo. El dispositivo fue puesto en el correo y enviado a nuestras oficinas.

Unos días después recibimos el Apollo y nos pusimos a trabajar. El primer paso fue abrir la carcasa y acceder a los componentes internos. Queríamos encontrar los conectores UART, que nos permitirían obtener información de diagnóstico del módem celular del Apollo.

Normalmente la UART viene en una serie de cuatro pines, o al menos cuatro agujeros seguidos, pero esta placa no tenía nada de eso. Mirando más de cerca, nos dimos cuenta de que había algunas almohadillas de contacto muy pequeñas etiquetadas como ART1, RX y TX. Decidimos empezar por ahí. 

Demos un paso atrás y discutamos por qué era tan importante tener acceso al puerto UART. UART significa Receptor y Transmisor Asíncrono Universal. Es tanto un hardware como un protocolo. El protocolo UART permite recibir entradas y salidas a través de cables de cobre comunes enviando y recibiendo bits de uno en uno, codificados por alta o baja tensión (el término técnico para esto es "bus serie"). En pocas palabras, la conexión UART te permite interactuar con el hardware como si tuvieras un teclado y un monitor conectados directamente a él.

Para conectarse al bus UART del dispositivo GPS utilizamos una pequeña y divertida herramienta llamada "Bus Pirate". El Bus Pirate le permite conectarse a diferentes interfaces de hardware, incluyendo UART, y los convierte en una interfaz USB a la que puede conectarse con su ordenador.

Conectamos el Bus Pirate a una computadora y con cuidado sostuvimos sus sondas de cable contra los puntos de contacto etiquetados como RX y TX en la placa, y configuramos el Bus Pirate para conectarse a través de UART. El Bus Pirate cobró vida y devolvió lo siguiente:

����3�����f��������b���{= ^����H���������x�������?���������������������������������~�����������H�?� �?����a�����>���8�8�����N'?0 ����~ ���� �s�2��G����

No era más que un galimatías. Decidimos probar a utilizar diferentes velocidades de transmisión, es decir, la velocidad a la que se transmiten los símbolos en una comunicación electrónica. Finalmente descubrimos que una velocidad de 115200 baudios era lo que se necesitaba para obtener una comunicación coherente del dispositivo.

Entre las líneas de más galimatías, vimos aparecer algún texto legible:

�����x���� V�� ����D������~��L����"����������Bƀ����3����>3�(P�K� P�����                                                                                                                                                
@�������� ���0���_����q������� �� �B!�� [�
FW:2.4.3; BIN:1.1.95T; MEID:A100005B46F154
IP:10.90.1.52:3078; LPORT:3078
RI:0,0,0; DTE:0,0,0,0,0,0; DI:0; HB:0; NR:2940,0,0; RS:0,900
���������CI��}��������|>0o��������P D���39@��                                                                                                   
   
��    �K��G���_������                                                                                                                       
��C�� �����: �����(�����@���

¡Un éxito! Por fin teníamos algunos datos del dispositivo GPS, pero ¿por qué seguía rodeado de datos basura? Para la respuesta a esto, tenemos que mirar de nuevo cómo funciona la UART. Como la UART sólo mide las diferencias de voltaje en los pines RX y TX, cualquier cosa que interfiera con esos voltajes cambiará la entrada y la salida. En este caso, la mano de un miembro del equipo de la EFF estaba sujetando la clavija del Bus Pirate al conector de transmisión del dispositivo GPS, y eso estaba creando una interferencia extra, que luego se interpretó como datos procedentes del dispositivo GPS, causando la salida confusa.

Luego, soldamos un cable RX y TX directamente en la placa del GPS y lo conectamos al Bus Pirate. Después de encender el dispositivo GPS de nuevo, ¡la salida salió limpia!

FW:2.4.3; BIN:1.1.95T; MEID:A100005B46F154
IP:10.90.1.52:3078; LPORT:3078
RI:0,0,0; DTE:0,0,0,0,0,0; DI:0; HB:0; NR:2940,0,0;

Ahora que teníamos una conexión podíamos comunicarnos con el módem celular del Apollo escribiendo lo que se llama "comandos AT". Los comandos AT son la forma estándar en que los humanos y las máquinas pueden interactuar con un módem celular. Se llaman comandos AT porque empiezan universalmente con las letras "AT". Por ejemplo: el comando "ATD" te permitiría marcar un número, y el comando "ATA" respondería a una llamada entrante.

Introdujimos un comando AT básico para determinar si las cosas funcionaban, y no recibimos nada de vuelta. Probamos varios comandos AT más y seguimos sin recibir nada. Esperábamos obtener al menos un código de error, pero el cursor se quedó ahí, parpadeando como un perro paciente, sin entender nada de lo que decíamos.

Después de varias horas más de proferir palabrotas, leer documentos, golpear nuestras cabezas contra la pared y auto medicarnos, descubrimos el problema: no habíamos conectado el pin de tierra. La conexión UART estaba incompleta. Nuestros comandos AT, cuidadosamente escritos, no se enviaban al dispositivo GPS que estaba esperando. No queriendo sacar el soldador de nuevo, cuidadosamente colocamos un cable de tierra del Bus Pirate en el plano de tierra del dispositivo GPS. ¡Funcionó! Pudimos enviar comandos AT y obtener datos.

FW:2.4.3; BIN:1.1.95T; MEID:A100005B46F154
IP:10.90.1.52:3078; LPORT:3078
RI:0,0,0; DTE:0,0,0,0,0,0; DI:0; HB:0; NR:2940,0,0; RS:0,90000,0
Ready
ATZONRS
ERROR
ATZ
OK
AT+IONRS
ERROR
AT+IONRS?
ERROR
AT+IONVO
ERROR
AT+IONVO?
17569

El manual del Apollo enumeraba varios comandos AT especiales incorporados para recuperar datos. Bajo ciertas condiciones, el dispositivo generaría un informe de sus actividades, incluyendo su historial de localización. Este informe es también lo que se envía al propietario del rastreador GPS. Esperábamos que el informe también contuviera información sobre cuándo y dónde se activó el Apollo por primera vez.

Probamos varios comandos durante varias horas, intentando obtener un informe del dispositivo GPS. Todos nuestros intentos fracasaron. La documentación del dispositivo era muy deficiente. Escribimos a M-Labs, la empresa fabricante, con la esperanza de que tuvieran la amabilidad de enviarnos un manual mejor, pero nunca recibimos respuesta.  Finalmente, probamos un comando que nos indicaba el número de kilómetros en el "cuentakilómetros virtual" del dispositivo. La respuesta: 17569, aparentemente el número de millas que ha recorrido este dispositivo.

Ahora estábamos llegando a alguna parte. Si nuestro partidario Sarah había conducido este coche menos de 17.000 millas, podríamos estar seguros de que fue instalado antes de que ella tenía el coche.

Llamamos a Sarah y le contamos la noticia. Le preguntamos cuántos kilómetros tenía el coche. Por desgracia, Sarah había conducido el coche 29.000 millas desde que lo compró, y lo había comprado nuevo, con menos de 200 millas. Esto parece llevarnos a una conclusión inquietante: ¿podría nuestra seguidora tener un acosador?

Sin embargo, nuestro hallazgo del cuentakilómetros no era seguro. Dada la escasa documentación, no podíamos estar seguros de la precisión del cuentakilómetros virtual, ni siquiera de su funcionamiento. También existía la posibilidad de que el dispositivo se hubiera restablecido en algún momento. Íbamos a necesitar más información para dar una respuesta definitiva a este misterio.

Intentamos una vez más sacar el informe. Varios días más y varios centenares de palabrotas después, seguíamos sin conseguir que el GPS imprimiera el informe que el manual prometía. Empezamos a creer que el informe contendría todas las respuestas que buscábamos, tal vez incluso las respuestas a la vida, al universo y lo demás. Habíamos probado todos los comandos y todos los trucos que se nos ocurrieron. Al vernos en un callejón sin salida, decidimos que había llegado el momento de adoptar un enfoque de baja tecnología.

Sarah dijo que cuando encontró el dispositivo por primera vez había preguntado a su concesionario si alguna vez habían instalado dispositivos GPS en los coches que vendían. Los empleados del concesionario juraron que nunca habían hecho tal cosa. Aunque no podíamos saber con seguridad si eso era cierto, fue un mecánico de ese concesionario quien encontró el dispositivo por primera vez, así que nos inclinamos a creerles.

Sarah también mencionó que el coche había sido transferido desde otro concesionario Audi en el Condado de Orange, California, cuando lo compró. ¿Podrían ser ellos los culpables? Llamamos al concesionario original y preguntamos si estaban familiarizados con este hardware o si instalaban dispositivos GPS en los coches de sus clientes. El concesionario nos dijo que solían trabajar con una empresa llamada Sky Link para instalar dispositivos antirrobo, pero que no los activaban a menos que el comprador pagara el servicio. ¿Podría ser ésta una explicación para este dispositivo GPS fraudulento?

Queríamos confirmar que este dispositivo pertenecía efectivamente a Sky Link. Mirando en su página web parecía have not been updated in years. Incluso contenía un widget para Adobe Flash, una forma muy antigua de crear animaciones en los sitios web. Aun así, había un número de atención al cliente.

Llamamos a Sky Link y preguntamos si podían confirmar si se trataba de uno de sus dispositivos. El VIN (número de identificación del vehículo) del coche no figuraba en su base de datos como si hubiera sido activado alguna vez. Tuvimos una última idea. Les dimos el número de serie del hardware y les preguntamos si alguna vez había formado parte de su cadena de suministro.

Resulta que sí. El dispositivo GPS fue comprado por el concesionario, pero nunca fue activado. Por fin teníamos pruebas de que se trataba de un dispositivo instalado por el concesionario.  Llamamos a Sarah para compartir la buena noticia. Estaba muy contenta de saber que no tenía un acosador.

Aunque lamentablemente no podemos dedicar tanto tiempo a investigar cada uno de los misterios tecnológicos que tiene un colaborador de la EFF, decidimos ocuparnos de este caso porque podíamos aprender muchas cosas. Aprendimos sobre la UART y las consolas ocultas que se incorporan a muchos dispositivos de hardware. Y nos recordaron que a veces un enfoque de baja tecnología es mejor que uno de alta tecnología para resolver un misterio. A veces puedes hackear tu camino para resolver un problema, y a veces puedes resolverlo llamando a las personas adecuadas y haciendo las preguntas correctas.

Otra pregunta persiste: ¿El dispositivo GPS de Sky Link sigue enviando datos de localización a un servidor de Sky Link? Si es así, ¿podría acceder a ellos un empleado o alguien que active el dispositivo en el futuro? No hemos podido ponernos en contacto con Sky Link para que nos confirme nada, pero es una posibilidad preocupante. Teniendo en cuenta la cantidad de personas que se han sorprendido al encontrar este rastreador GPS específico en sus coches (como se ha mencionado anteriormente), es posible que muchos concesionarios de automóviles estén instalando estos dispositivos sin la debida notificación al cliente. Esos dispositivos GPS podrían permitir algún día usos indebidos o abusos. Si has encontrado un dispositivo como este en tu coche, o si trabajas para Sky Link o una empresa similar, nos interesaría saber tu opinión.

Related Issues

Tags