miércoles, 29 de diciembre de 2010

Llevando un teléfono Android ya no te perderás...

Cuando uno tiene un teléfono móvil, puede hablar desde cualquier sitio. Por otro lado, la posibilidad de movilidad conlleva también la posibilidad de perderse, tanto intencional como no.

Contra esto la tecnología nos ayuda mediante los métodos de localización. Aunque para una localización precisa lo mejor es un GPS, tiene bastantes limitaciones: consume carga de batería, no funciona en interiores y no todos los teléfonos lo tienen. La alternativa más fácil, pero por otro lado poco precisa, es usar la identidad de las celdas GSM de las que el teléfono recibe la señal, ya que las antenas están todo el rato transmitiendo su identidad y hay bastantes maneras de traducir entre la identidad de la celda y su posición geográfica.

En la charla al respecto de Renaud Lifchitz, ha comenzado por contarnos que en realidad no es necesario disponer de una base de datos para hacer esa traducción, ya que se pueden aprovechar las API que Google utiliza para ello:
Pero lo más preocupante venía en la segunda parte de la charla: resulta que los teléfonos Android tienen unos ficheros de log en los que van registrando los cuatro parámetros que forman el identificador de todas las celdas por las que va pasando el teléfono. Con lo que si hay un atacante que tiene acceso al log, puede reconstruir todos los movimientos del usuario accedido durante las últimas horas o hasta un día entero.

¿Es fácil que una aplicación maliciosa del Android Market tenga acceso a los logs? No es trivial, aunque la granularidad de los permisos funciona un poco en contra de los usuarios.

Por un lado, hay varias combinaciones de permisos que una aplicación maliciosa puede pedir para ello, la más ingeniosa es simplemente pedir acceso a lectura de los logs. No es necesario pedir acceso a Internet, ya que una vez leídos los datos interesantes, la aplicación lo único que tiene que hacer es escribir esos datos en el log, leer un puntero nulo, y entonces ya se ocupa Google de hacerle llegar los datos al atacante, en forma de log de fallo de la aplicación...

Menos complicado es simplemente desarrollar una aplicación con las bibliotecas de desarrollo nativas (NDK), que se ejecutan fuera de la "sandbox" de Android y por tanto tienen permiso de acceso a todo...

La charla ha terminado con una prueba de concepto en la que Renaud ha mostrado el resultado de analizar los logs de su teléfono después del viaje desde su trabajo a su casa... y ahora, claro ya todos sabemos dónde trabaja y dónde vive por si algún día las aplicaciones de Android nos impiden perdernos.

No hay comentarios:

Publicar un comentario