¿Cómo evitan que las aplicaciones basadas en la ubicación se dejen engañar por el GPS emulado?

26

Algunas aplicaciones como Foursquare requieren que el usuario se "registre" en lugares físicos para obtener beneficios económicos.

Dado que los GPS emulados están disponibles para versiones personalizadas de Android, parece fácil engañar a estas aplicaciones.

Teniendo en cuenta los incentivos monetarios, estoy seguro de que muchas personas lo han intentado, así que, ¿cómo pueden las aplicaciones evitar el engaño del GPS?

    
pregunta Nicolas Raoul 12.08.2014 - 07:29
fuente

5 respuestas

25

Hay muchas maneras de rastrear la ubicación del usuario en un dispositivo móvil (veré cómo funciona más adelante).

Ninguno de los métodos de seguimiento es particularmente fácil de falsificar. Se puede hacer pero está fuera del ámbito del usuario promedio, ya que generalmente requiere un dispositivo modificado (física o programáticamente) o equipo externo.

Por otra parte, es mucho más fácil para los desarrolladores simplemente vincular múltiples formas de seguimiento con lógica simple (es decir, solo se puede "registrar" un número de veces dentro del período de tiempo y) que para un pirata informático falsificar una aplicación como foursquare Y consigue ese 5% de descuento en la cena. Una vez más, se puede hacer, pero [mi teoría es] hasta ahora no es económico para los hackers.

Como se prometió, aquí están algunas de las grandes tecnologías aprovechadas en el seguimiento geográfico:

  • Informes de GPS. Probablemente esto sea lo más familiar para ti. Es el informe más "costoso" porque requiere una cantidad relativamente grande de energía para leer varios satélites GPS. Un sistema de GPS puro rara vez se utiliza en dispositivos móviles en la actualidad. Los dispositivos GPS se pueden falsificar programáticamente (cambiando la llamada del software a la posición del conductor del GPS) incluso sin modificar un dispositivo en absoluto ( como se ve aquí ).
  • Informes GSM . Esta es quizás la forma más común de realizar un seguimiento de su ubicación a lo largo del día mientras se están moviendo alrededor El concepto es simple. Su teléfono, con mensajes normales a las torres de telefonía móvil cercanas, triangula su posición en un momento dado. Este método es extremadamente difícil de falsificar sin un hardware externo o alterando seriamente la funcionalidad de su teléfono (es decir, si falsifica una torre de telefonía móvil, entonces sí, no se le hace un seguimiento geográfico, pero tampoco puede hacer llamadas telefónicas). Además, el tráfico celular está encriptado. Podría potencialmente falsificar el punto de acceso donde el software de aplicaciones habla con el controlador de datos de la torre celular del teléfono, pero eso también es difícil de decir.
  • Informes de LAN. Este es un concepto bastante bueno porque proporciona altos niveles de precisión en interiores (algo que tradicionalmente ha sido un problema). Esto requiere mucha configuración, pero como mínimo permitiría que las aplicaciones se comuniquen con puntos de acceso wifi registrados para confirmar su ubicación en función de a qué wifi está conectado. Esto es teóricamente posible de falsificar, pero dependería en gran medida de los niveles de cifrado para la firma de la conexión legítima.
  • Informes WAN. Esto no es más que un simple informe de dirección IP. Este es quizás el más fácil de falsificar, pero lo puse aquí para que esté completo, ya que es muy común en los sitios compatibles con dispositivos móviles.
  • Otros (Bluetooth, RFID, navegación inercial, experimental, etc.) Hay Un buen número de otros métodos por ahí. Uno de mis favoritos es Navegación inercial donde no hay transmisiones externas (por lo tanto, potencialmente muy difíciles de falsificar) ya que utiliza sensores internos y un mapa para determinar su posición. Esto se ve en los sistemas de guía de misiles, así como en algunas aplicaciones. Life360, por ejemplo, usa una variación de esto, ya que usa muy poca energía (todos los sensores ya están activos).

Otras cosas para recordar:

  • Los desarrolladores pueden aprovechar cualquier número de estas tecnologías, lo que hace que una aplicación sea aún más difícil de falsificar.
  • La mayoría de los datos de ubicación se almacenan en un dispositivo móvil (y en ocasiones en muchos lugares) hasta que se eliminan explícitamente. Por lo tanto, un desarrollador puede (potencialmente) acceder a puntos de datos de ubicación anteriores. Entonces, si dice que estuvo en el café de mamá las 20 veces del día y la aplicación simplemente habla con siri para averiguar su último punto de datos geográficos a 100 millas de distancia, la aplicación se preguntará ...
  • La aplicación de la ley tendría una capacidad mucho mayor para determinar tu ubicación real, por lo que solo porque hayas falsificado una aplicación no significa que debas apostar tu vida en ella (algunos comentarios en otras partes sugieren que podrías usar esta falsificación de manera indebida, por lo que pensé en tirar esto aquí).
respondido por el Matthew Peters 12.08.2014 - 14:34
fuente
8

Para Ingress , el juego de guerra global de Google, se utilizan una serie de medidas contra la suplantación de identidad. Google no dice nada sobre el rango completo, pero dos que se han demostrado son:

  • Limitación de velocidad: 40 mph máximo permitido en el juego
  • Medidas de corroboración: las referencias cruzadas de SSID wifi recibidas con su base de datos de ubicación
respondido por el Rory Alsop 12.08.2014 - 13:55
fuente
3

La respuesta corta es que (hasta donde sé) no es posible detener perfectamente la emulación de ubicación en plataformas abiertas (por ejemplo, Android). Otras plataformas más restrictivas (por ejemplo, iOS / Windows Phone sin jailbreak) no tienden a sufrir tanto por estos problemas, ya que no les permiten a los usuarios el mismo nivel de libertad en cuanto a los tipos de aplicaciones que pueden instalar.

Lo que los proveedores de software pueden hacer es tratar de reducir el impacto y detectar que las personas utilizan mal esta función. Como ejemplo, una forma de hacerlo podría ser analizar las posiciones de los usuarios y, si se mueven demasiado rápido, supongamos que están usando algún tipo de simulación / simulación de GPS.

    
respondido por el Rоry McCune 12.08.2014 - 13:08
fuente
1

Por lo que sé, la forma en que se falsifican las ubicaciones es:

1) Usa el modo desarrollador con ubicaciones simuladas. Hay formas de detectar que está utilizando el modo de desarrollador para que el desarrollador pueda decidir que no se debe confiar en el GPS en este caso. Así que usarán otras formas de encontrar su ubicación, como redes wifi.

2) Puede falsificar su posición cuando su teléfono está rooteado, sin habilitar el modo de ubicaciones simuladas. Nuevamente, en algunos casos hay formas de detectar que el teléfono está rooteado y nuevamente el desarrollador puede decidir no confiar en la posición del GPS.

Tenga en cuenta que esto es solo una explicación simple. Si desea ver cómo algunas personas identifican ubicaciones simuladas, lea esto: enlace

Editar: Me llamó la atención que los dispositivos rooteados no siempre son tan fáciles de detectar o que no son detectables en absoluto. Así que la segunda versión podría funcionar cuando la raíz no es detectable.

    
respondido por el sir_k 12.08.2014 - 12:53
fuente
1

La clave es un desafío que es fácil de responder para aquellos que están en el lugar y casi imposible para los que no están.

Por ejemplo, una validación simple puede ser conocer el ID de la torre celular y los SSID de Wifi disponibles en el lugar. Si tiene el teléfono a la mano, la respuesta es fácil y se puede hacer desde el programa automáticamente, pero si no está allí, es difícil responder.

Pero después de que alguien cree un mapa de este. Será fácil de falsificar.

Y realmente no puedo imaginar una mejor manera si los dueños de propiedades locales no están involucrados.

Si los propietarios locales están involucrados, otra forma es colocar una etiqueta o una pequeña pantalla en la ventana de la tienda con una palabra clave y decirle al usuario que la ingrese para validar su ubicación. El usuario debe estar allí para ingresar la palabra correcta. Para evitar el problema de mapeo, la palabra clave se puede cambiar con frecuencia.

    
respondido por el Calmarius 30.10.2016 - 00:38
fuente

Lea otras preguntas en las etiquetas