A pesar de lo que dijo Steve Jobs sobre la captura/almacenamiento de la ubicación de los iPhone, Hispasec nos ofrece este estudio
Cómo funciona el almacenamiento de datos de localización del iPhone
Mucho se ha hablado estos días sobre qué datos de localización almacena
un iPhone. Sobre todo alrededor de la polémica en torno a la privacidad
y sobre cómo, además, parece una práctica habitual en el resto de
teléfonos y sistemas operativos para móviles de última generación. Pero
¿cómo sé qué datos se guardan exactamente? ¿Cómo funciona? Mostramos
cómo cualquier usuario (sin herramientas especiales) puede conocer a qué
antenas se conectó su teléfono (normalmente cerca de donde se encuentra
el terminal) desde que ejecuta iOS 4.
Alasdair Allan y Pete Warden, durante una sesión en la conferencia Where
2.0 llamada “¿Quién tiene acceso a estos datos?”, desvelaron un software
para estudiar el archivo de los iPhone e iPad que almacena la
información de localización. En el programa se podía ver en un mapa
todos los lugares por los que había pasado el terminal. Apple reconocía
el hecho y, además, se descubría que el fichero sobrevivía aunque se
borrasen el resto de datos. Vamos a ver, a bajo nivel, cómo funciona ese
software. Mientras, en torno a la polémica, el propio Steve Jobs ha
tenido que salir a la palestra para calmar ánimos y confirmar que esta
“funcionalidad” del iPhone será eliminada en la próxima actualización.
El archivo de la discordia
iPhone almacena varios archivos llamados consolidated.db, que no es más
que una base de datos en formato SQLite. Si podemos acceder al sistema
de ficheros (porque el sistema operativo se encuentre “jailbroken”) se
comprueba que son:
private/var/root/Library/Caches/locationd/consolidated.db
var/root/Library/Caches/locationd/consolidated.db
System/Library/Frameworks/CoreLocation.framework/Support/consolidated.db
Siendo los dos primeros exactamente el mismo fichero, y el que nos
interesa. El tercero, es una base de datos de uso interno del iPhone que
almacena datos genéricos de localización, por ejemplo, la longitud y
latitud que abarcan los países, su código, etc. Si se estudian más
profundamente, se podrán observar incluso direcciones MAC de routers
WiFi.
Si no podemos acceder al teléfono, es sencillo recuperarlo de la copia
que el propio terminal (a través de iTunes) almacena en el sistema. En
Mac OS, se encuentra en
/Users/<usuario>/Library/Application Support/MobileSync/Backup
Y en Windows, en
C:\Users\<usuario>\AppData\Roaming\Apple Computer\MobileSync\Backup\
Dentro del directorio más reciente se encuentran diferentes archivos con
nombres poco reconocibles. Existen varias formas de localizar
consolidated.db que nos interesa. Una es estudiando Manifest.mbdb y
Manifest.mbdx, y otra buscando una cadena específica entre todos los
archivos del directorio. En Windows se puede hacer con el comando:
findstr /M /I celllocation *.*
torio/images/noticias/iphonetrack1.png
Esto nos devolverá un archivo que será el que se encuentra almacenado en
el iPhone. En mi caso, tiene el peso de unos 6 megabytes. Cabe recordar
que el archivo se encontrará en todas las máquinas con las que se haya
sincronizado el iPhone.
Estudiando el fichero
Mirando las cabeceras del fichero, se ve trivialmente que corresponde a
una base de datos SQLlite. Con cualquier herramienta, ya se podrían
realizar muchos tipos de estudio de los datos almacenados y automatizar
diferentes procesos. Para cualquiera que quiera simplemente ver cómo
funciona, lo más sencillo es descargar, por ejemplo, la herramienta
gratuita SQLlite Browser desde http://sqlitebrowser.sourceforge.net/.
Se abre el fichero con el programa, y se busca la tabla CellLocation,
que contiene la localización de las células (más o menos, las antenas a
las que se conecta el teléfono). A partir de ahí, se deduce la
localización.
La tabla contiene diferentes campos relativos al protocolo GSM:
torio/images/noticias/iphonetrack2.png
* MCC – Mobile Country Code
* MNC – Mobile Network Code
* LAC – Location Area Code
* CI – Cell Identity
* Timestamp. Para traducir este dato a una fecha “comprensible” es
necesario saber que se encuentra en formato ” Cocoa NSDate” y
corresponde al número de segundos desde el 1 de enero de 2001 (algo
parecido al Epoch). Para traducirlo a una fecha real de forma muy
sencilla, se puede usar, por ejemplo, la herramienta web
http://blog.paddlefish.net/?page_id=90
* Latitud y Longitud. Los datos más interesantes. Ayudándonos de Google
Maps o Google Earth, comprobamos el punto exacto de la localización.
Para conseguirlo en Google Maps, se introduce la latitud y la longitud
separados por una coma.
torio/images/noticias/iphonetrack3.png
Otros datos
Es curioso como, sobre todo, es muy sencillo reconstruir viajes y largos
desplazamientos. Se observan en la tabla que a un mismo “timestamp” (un
mismo momento exacto) pueden llegar a corresponder varias
localizaciones. Esto no tiene nada que ver con la ubicuidad sino que en
realidad son las antenas cercanas. También se observan intervalos de
tiempo en los que no se registra nada. Se debe a que al parecer el
terminal solo recoge la información de las antenas a las que tiene
acceso cuando detecta desplazamientos significativos.
Existen, como hemos mencionado, herramientas que reconstruyen
itinerarios con esta información (iPhoneTracker), pero en esta entrada
he querido reflejar cómo se realiza esto a bajo nivel. Por ejemplo, como
curiosidad (resulta incluso adictivo) he podido reconstruir viajes
personales con mucha precisión (duración, momento exacto, etc) que
apenas recordaba.
Fuente
Comentario:
Pues parece que no es lo mismo que decia Steve Jobs hace poco (ver anexo de https://blog.satinfo.es/?p=14953)
saludos
ms, 29-4-2011
NOTA: Los interesados en información sobre contrato de soporte Asistencia Tecnica de SATINFO y/o licencia de uso/actualizaciones de sus utilidades, contacten con info@satinfo.es
__________
Este blog no se hace responsable de las opiniones y comentarios de los textos en los que se cita la Fuente, ofreciendo su contenido solo para facilitar el acceso a la información del mismo.
Puedes seguir cualquier respuesta a esta entrada mediante el canal RSS 2.0. Los comentarios y los pings están cerrados.
Los comentarios están cerrados.