¿Cómo puedo evitar la falsificación del GPS? (previene un hack de Pokemon-go)? [duplicar]

2

Quiero evitar la falsificación del GPS en un dispositivo móvil y quiero investigar formas adicionales para mejorar la autenticidad de estos datos.

PokemonGo ya está luchando con esto alrededor del mundo.

Aquí hay algunas maneras que pueden mejorar la situación:

  • Para teléfonos con un programa de arranque firmado por el fabricante, firme los datos de ubicación del hardware del GPS. Esto limitaría el uso de emuladores y algunos dispositivos con jailbreak / rooteados

  • Correlacione los datos GPS con un ping IP a un servidor de confianza. Busque las coordenadas IP de esa IP en varias GeoDatabases

  • Para juegos de gran volumen, como Pokemon, recopile verificación adicional como SSID, direcciones BTLe. Los compañeros en la misma ubicación deben tener cierta superposición de datos.

Para preservar la privacidad, creo que los fabricantes de hardware (iOS / Android) podrían modificar las API existentes para agregar un nivel de confianza a los datos GPS devueltos.

¿Alguna de estas ideas tiene sentido? ¿Hay alguna manera mejor?

    
pregunta random65537 06.08.2016 - 18:39
fuente

2 respuestas

2

Fundamentalmente, confías en que el sistema operativo no te alimente con datos incorrectos. Si se modifica el sistema operativo para proporcionarle datos incorrectos, también puede proporcionarle una autenticación incorrecta.

Si el dispositivo GPS produjera datos firmados, todo lo que le dice es que un dispositivo que conoce la clave privada produjo esos datos, no la autentica como dispositivo. Lo que hace lo autentica como el trato real es una cadena de certificados, comenzando en una de las raíces confiables en el sistema operativo. Oh, espera, no confiamos en el sistema operativo.

Si su atacante usó un dispositivo físico para emular señales de GPS, entonces incluso su receptor de GPS no puede notar la diferencia, por lo que la firma tampoco ayuda allí.

Realmente se reduce a ti ejecutando en un dispositivo que no es de confianza y tener que hacer inferencias sobre lo que es y no es confiable (¡y lo que las API te permiten ver!).

Además, no sé qué intentaba hacer ping a un servidor conocido y luego buscarlo en una base de datos geográfica ... Todo lo que le dice es que ellos saben dónde están ...

    
respondido por el iAdjunct 06.08.2016 - 18:52
fuente
0

Si bien es posible que el desarrollador de aplicaciones y Google aseguren el software de esto tanto como puedan, hay un problema con el acceso a la raíz del dispositivo y el firmware personalizado (que es Android personalizado sin la raíz).

Por lo tanto, la aplicación podría estar buscando pistas independientemente de si el dispositivo no está enraizado y eso debería ser lo suficientemente bueno para este momento.

Otra cosa es que no habrá muchos usuarios de firmware personalizado (creo que sí), pero muchos con uno rooteado. El dispositivo de enraizamiento es mucho más fácil que reemplazar todo el firmware.

En lo que respecta a la verificación de dispositivos arraigados actualmente es fácil, ya que hacer "su" a root, pero esto se puede evitar. Pero creo que el servicio en segundo plano de Google Play también podría estar revisando la modificación de los archivos del sistema. Esto implicaría otro mecanismo que dependería del DRM en el dispositivo, por lo que siempre que no esté con el cargador de arranque "desbloqueado", debería poder decir de manera confiable lo que esté enraizado o no, ya que hay una cadena confiable de software en el dispositivo. / p>

Puede llegar al punto de que los juegos solo se podrán jugar en dispositivos bloqueados sin acceso root con componentes verificables y eso no me sorprenderá en absoluto.

Con respecto a iOS, si el dispositivo tiene Jailbreak, es posible que no se permitan los juegos. Siempre que se modifique el software del teléfono o se puedan instalar paquetes no autorizados, ya está.

    
respondido por el Aria 06.08.2016 - 18:55
fuente

Lea otras preguntas en las etiquetas