lunes, agosto 18, 2014

La discutible validez jurídica de la certificación GPS de Stamphoto en fotografías hechas desde un smartphone

En la actualidad, como bien sabéis, cualquier dispositivo digital que forma parte de nuestras vidas es capaz de generar información que puede convertirse en posibles evidencias valiosas, en caso de presentarse un incidente de seguridad o en cualquier delito tradicional que pueda investigarse en el mundo digital. Las evidencias pueden venir en forma de una fotografía, documento, registro de geolocalización GPS, mensaje de texto, correo electrónico o incluso un número telefónico registrado como parte de una llamada.

Estas evidencias serían útiles para investigar casos relacionados con actividades cibercriminales o de ataques informáticos, el reto en este caso es que la recolección y el manejo de esta información no se realizan de manera adecuada. Si no se puede garantizar que una evidencia digital no ha podido ser manipulada, entonces solo se le podrá dar validez de indicio y nunca como una prueba.

Ultimamente se está impulsando mucho el mercado de la evidencia digital con soluciones profesionales que garantizan la evidencia digital en el correo electrónico, los mensajes SMS o los documentos oficiales. Si bien esto supone un avance legal y jurídico, no todas las soluciones ofrecen las mismas garantías y robustez y por tanto habría que tomar esos datos no como evidencias, sino como indicios de posibles datos. Todo lo que se tome como evidencia deberá haber superado una revisión completa extremo a extremo. Es decir, desde el punto de origen de la misma, hasta su punto de adquisición final y si algo puede ser manipulado no valdría.

Figura 1: Recorte de prensa sobre la validez legal de evidencias digitales de algunas soluciones profesionales.

Stamphoto: La aplicación que te permite certificar tus fotografías

Hoy voy a  hablar en concreto de la app Stamphoto de la empresa Lleida.net, que se presenta como una aplicación que certifica imágenes digitales, tomadas desde los dispositivos donde está instalado y donde como la publicidad del sitio web informa, se certifica la fecha y la ubicación de dónde se tomó la fotografía.

Figura 2: Publicidad de Satmphoto

Según el propio desarrollador de la app, Stamphoto realiza una fotografía y, en base a los datos GPS del dispositivo, emiten un certificado de fecha y ubicación, con información de la hora y el lugar exacto donde se tomó la fotografía. En principio es una buena idea ya que implica la colaboración de un tercero de confianza que certifica que los datos son correctos.

Figura 3: Información sobre el certificado que se genera con Stamphoto

Sin embargo, esto solo funciona si se puede afirmar que no pueden alterarse los parámetros que van a ser certificados, en este caso la geoposición del lugar donde se hizo y la fotografía y la fecha de realización de la misma.

En el caso de la fecha es fácil evitar la manipulación, ya que el tercero de confianza puede garantizar la hora a la que le llegó la petición de la fotografía. No así la hora a la que se hizo la fotografía. Si se utiliza la hora la a la que se recibe la fotografía puede haber un descuadre con la hora a la que se hizo. No obstante, no es el mayor de los problemas, ya que el verdadero dilema viene con la ubicación GPS.

El problema de los datos GPS en los smartphone

Todas las apps que funcionan en el sistema operativo de un terminal, solicitan datos al dispositivo de la ubicación y estos son los que utilizan, dándolos por buenos. Pero es bien sabido que los datos GPS de un dispositivo son manipulables, y o bien con un dispositivo externo se engaña al dispositivo, o bien con muchas apps disponibles en Internet se pueden cambiar los valores que estos devuelven.

Figura 4: Instalación y configuración de Fake GPS para Android

Para esta prueba he ido a Google Play y he descargado Fake GPS para Android, una aplicación gratuita que facilita a las aplicaciones del teléfono la ubicación que el usuario desea, por ejemplo si quiere mandar un Twitter desde una ubicación determinada, si se quiere ser el Major de cualquier ubicación de FourSquare o si se quiere, simplemente evitar el espionaje.

Para falsear la ubicación GPS los terminales iPhone existen otras aplicaciones similares, pero todas requieren el uso del Jailbreak. Una vez instalada la app, el uso es muy sencillo, hay que destacar que una vez iniciada la aplicación, nos solicita habilitar las ubicaciones falsas.

Para seleccionar una ubicación concreta donde queremos estar basta con pulsar en la opción de Set Location, y teóricamente todas las aplicaciones que usen geolocalización tendrán esa ubicación. Basta probar con Google Maps y comprobar que sitúa al dispositivo en la ubicación seleccionada.

Figura 5: Configuración de una ubicación y engaño a Google Maps

Configurado así, la idea era probar si Stamphoto es capaz de detectar la localización GPS falsa y evitar que se pudiese certificar una foto desde un lugar no real. Una vez instalada la app de Stamphoto y creado la cuenta desde el propio teléfono, al intentar tomar una foto para poderla registrar en el servicio, nos advierte y obliga a deshabitar las ubicaciones falsas, lo que indica que busca que estén activadas esas acciones.

Figura 6: Stamphoto detecta que la ubicación falsa está activada

Para continuara con el uso de Stamphoto hay que ir a las ubicaciones falsas y deshabilitarlas. Una vez hecho, volvemos a Stamphoto e intentamos certificar una foto haciendo uso de la app.  Guardamos la foto, y como era de esperar, nos muestra nuestra ubicación real, por lo que parece a priori que no sería posible certificar ninguna foto con ubicación falsa.... ¿o sí?

Evasión de detección de ubicaciones falsas en Stamphoto

Pues bien, en este caso para evadir esta medida de seguridad de Stamphoto, sólo hay que mover la aplicación Fake GPS Location de la ruta por defecto /data/app a /system/app y reiniciar el dispositivo Android.

Con esto hacemos que Fake GPS Location sea una aplicación del sistema y nos permita, abrir Stamphoto con las ubicaciones falsas deshabitadas, que parece ser la medida de seguridad que comprueba la app para dejarte continuar y generar un certificado digital firmado con la fecha y la ubicación de la fotografía.

Figura 7: Recolocación de la app Fake GPS en la carpeta System/app

Reiniciamos el teléfono abrimos Fake GPS Location y  ahora veremos que no nos solicita el habilitar las ubicaciones falsas, porque al ser una app del sistema no le afecta ese permiso, por lo que se puede realizar la prueba de nuevo. El resultado que se obtiene es que Stamphoto marca la ubicación seleccionada en la aplicación Fake GPS Location.

Figura 8: Stamphoto no detecta la ubicación falsa

Sólo nos queda hacer clic en Certificar Foto, y recibiremos nuestra foto certificada con Validez Jurídica en la ubicación que hemos seleccionado.


Figura 9: Certificada una foto tomada en París estando en mi casa

Hay que recalcar que este "truco" de poner la app de Fake GPS Location como una app del sistema se conoce desde antes del lanzamiento de Stamphoto, ya que es fácil encontrar referencias a él en el año 2011, con la salida de Android 4.4.

Detalles finales y respuesta del desarrollador

Dicho esto, mientras que no se pueda contar con un sistema de detección de datos GPS falseados, el tomar por bueno un certificado de una fotografía tomada por un terminal del que no se ha podido certificar su integridad, es un poco arriesgado. Podríamos seguir hablando de indicios, pero ni mucho menos de pruebas, más visto lo visto. Aquí está el vídeo completo de la Prueba de Concepto.


Figura 10: Vídeo con la Prueba de Concepto completa

El 10 de Agosto de este año informé a los responsables de la app de esta prueba de concepto informándoles de que había sido capaz de certificar una fotografía con una ubicación falsa usando Stamphoto.

El 12 de Agosto recibí la siguiente contestación:
"Ante todo, muchas gracias por tu correo. Estamos trabajando actualmente en mejorar las medidas de seguridad de la aplicación. En cualquier caso, la aplicación emplea los datos que le proporciona el dispositivo, con lo que si el dispositivo no es utilizado adecuadamente, no podemos hacernos responsables del resultado.”
Visto todo esto, si algún juez ha utilizado una fotografía certificada con Stamphoto sin haber comprobado la integridad del terminal durante todo el proceso, parece que sería bastante arriesgado.

Autor: JAEP
Twitter: https://twitter.com/Erratum_

7 comentarios:

  1. Lo de certificar la localización de la foto puede ser un problema.

    He visto casos de teléfonos con un funcionamiento no demasiado bueno en el que la localización del GPS indicaba como la actual una a más de 10 km de distancia.

    ¿Significa que la localización, al ser certificada, podría utilizarse como prueba, aún pudiendo existir la posibilidad de ser erronea?

    ResponderEliminar
  2. No se supone que el juez podría pedir a Google el registro de las apps instaladas? Y así descubrir que existe fake GPS instalado.

    ResponderEliminar
  3. Para mover la aplicación a /system/app debes tener el teléfono rooteado.

    ResponderEliminar
  4. Tras darle varias vueltas y sin pretender defender lo indefendible,se me ocurre que el posicionamiento aproximado proporcionado al juez por la operadora telefónica podría dar mayor validez al indicio.

    ResponderEliminar
  5. Hola, Maligno.
    Soy Elena, directora de comunicación de Lleida.net.
    Lo primero, agradecerte el aviso y la explicación pormenorizada del tema.
    Nos has puesto las pilas y ya hemos tomado medidas en el asunto. Se ha publicado una actualización de la app Stamphoto.
    Además, hemos realizado una reflexión sobre ello: http://blog.lleida.net/es/eficacia-del-certificado-emitido-por-stamphoto/

    No obstante, en favor de mejorar la robustez de la evidencia, seguiremos trabajando en el desarrollo de mejoras.

    Un saludo,
    Elena

    ResponderEliminar
  6. Hola, interesante post que me ha recordado una pregunta pendiente que tengo desde hace tiempo. Tenemos una aplicación a la que le hemos detectado un problema serio, que creo que no es el caso, porque, en mi opinión, aquí el problema serio lo tiene la justicia de este pais y no la app; ¿qué hacemos después? El autor del artículo indica que da aviso al programador de la app del problema, ¿pero le descubre todas las cartas? Es decir, ¿le cuenta los detalles de la prueba de concepto, o se ofrece directamente a hacerle un analisis tipo "pentesting" a la app con su correspondiente informe/presentación a cambio de unos honorarios? Ésa era mi duda. ¿Qué hacer en estos casos? Supongo que dependerá de quién esté detrás de la aplicación. Si es alguien que, p.e., está ganando dinero y está desprotegiendo gravemente los datos personales de sus clientes, podría pensar que no estaría de más recibir una propina por el encargo de un pentest, para ir al cine o para comprar un paquete de arroz. Sería como cortarle el cesped al vecino, pero siendo el servicio mucho mayor, entiendo yo. ¿Está bien visto esto de ofrecer los servicios de uno a todo empresario que tenga el culo al aire? ¿O no se lleva? Evidentemenete, si a uno le sobra la pasta, pues igual es perder el tiempo, pero últimamente me está costando mantener el yate de puertobanús y no me vendría mal una ayudita para el diesel. Disculpas por no ceñirme del todo al tema, pero creo que es interesante. Un saludo a todos y gracias por este grandísimo blog.

    ResponderEliminar
  7. Hay un problema adicional de seguridad en esta herramienta, que no sé si está solucionado o no.. básicamente la App enviará una petición a una Api backend en algún momento, en dicha petición incluirá las coordenadas GPS como parámetros, por tanto, conociendo dicha petición cualquier usuario con suficientes conocimientos podría simular dicha petición con parámetros GPS que él decida, y por tanto conseguir certificar una fotografía

    ResponderEliminar