web-dev-qa-db-fra.com

Comment les applications basées sur la localisation évitent-elles d'être trompées par le GPS émulé?

Certaines applications comme Foursquare obligent l'utilisateur à "s'enregistrer" dans des lieux physiques, afin de bénéficier d'avantages financiers.

Étant donné que le GPS émulé est disponible pour les versions personnalisées d'Android, il semble facile de tromper ces applications.

Compte tenu des incitations monétaires, je suis sûr que de nombreuses personnes ont essayé, alors comment les applications empêchent-elles la triche GPS?

29
Nicolas Raoul

Il existe de nombreuses façons de suivre l'emplacement de l'utilisateur sur un appareil mobile (j'expliquerai plus tard comment cela fonctionne).

Aucune des méthodes de suivi n'est particulièrement facile à usurper. Cela peut être fait, mais cela est tout simplement hors du domaine de l'utilisateur moyen car il nécessite généralement un appareil modifié (physiquement ou par programme) ou un équipement externe.

De plus, il est beaucoup plus facile pour les développeurs de lier simplement plusieurs formes de suivi avec une logique simple (IE, vous ne pouvez `` enregistrer '' x nombre de fois dans le délai y) que pour un pirate pour usurper une application comme foursquare et l'obtenir. 5% de réduction sur le dîner. Encore une fois, cela peut être fait, mais [ma théorie est] jusqu'à présent, il n'est pas économique pour les pirates.

Comme promis, voici quelques-unes des grandes technologies utilisées dans le suivi géographique:

  • Rapports GPS. Ceci vous est probablement plus familier. Il s'agit du rapport le plus "coûteux" car il nécessite des quantités d'énergie relativement importantes pour lire plusieurs satellites GPS. Un système GPS pur est rarement utilisé sur les appareils mobiles aujourd'hui. Les appareils GPS peuvent être usurpés par programme (en changeant l'appel du logiciel à la position du pilote GPS) même sans modifier un appareil ( comme on le voit ici ).
  • GSM Reporting . C'est peut-être la façon la plus courante de suivre votre position tout au long de la journée pendant que vous vous déplacez. Le concept est simple. Votre téléphone, avec des messages normaux aux tours cellulaires à proximité, triangule votre position à un moment donné. Cette méthode est extrêmement difficile à usurper sans matériel externe ou à altérer sérieusement les fonctionnalités de votre téléphone (IE si vous usurpez une tour de téléphonie cellulaire, alors oui, vous n'êtes pas `` suivi '' géographiquement, mais vous ne pouvez pas non plus passer d'appels téléphoniques). De plus, le trafic cellulaire est crypté. Vous pouvez potentiellement usurper le point d'accès où le logiciel des applications communique avec le pilote de données de la tour de téléphonie cellulaire du téléphone, mais c'est aussi difficile de dire le moins.
  • Reporting LAN. Il s'agit d'un concept plutôt cool car il fournit des niveaux élevés de précision à l'intérieur (quelque chose qui a toujours été un problème ). Cela nécessite beaucoup de configuration mais permettrait au moins aux applications de parler aux points d'accès wifi enregistrés pour confirmer votre emplacement en fonction du wifi auquel vous êtes connecté. Il est théoriquement possible d'usurper mais cela dépendrait en grande partie des niveaux de cryptage pour la signature de la connexion légitime.
  • WAN Reporting. Ce n'est rien de plus qu'un simple rapport d'adresse IP. C'est peut-être le plus facile à usurper, mais je le mets ici pour être complet car il est très courant sur les sites adaptés aux mobiles.
  • Autres (Bluetooth, RFID, navigation inertielle, expérimental, etc.) Il existe de nombreuses autres méthodes. Un de mes favoris est navigation inertielle où il n'y a pas de transmissions externes (donc potentiellement très difficile à usurper) car il utilise des capteurs internes et une carte pour déterminer votre position. Cela se voit dans les systèmes de guidage de missiles ainsi que dans certaines applications. Life360, par exemple, utilise une variante de cela car il utilise très peu d'énergie (tous les capteurs sont déjà actifs).

Autres choses à retenir:

  • Les développeurs peuvent exploiter un certain nombre de ces technologies, rendant ainsi une application encore plus difficile à usurper.
  • La plupart des données de localisation sont stockées sur un appareil mobile (et parfois dans de nombreux endroits) jusqu'à leur suppression explicite. Ainsi, un développeur peut (potentiellement) accéder aux points de données de localisation précédents. Donc, si vous dites que vous étiez chez cafe mama 20 fois aujourd'hui et que l'application parle simplement à siri pour savoir que votre dernier point de géo-données était à 100 miles, l'application se demandera ...
  • L'application de la loi aurait beaucoup plus de capacité à déterminer votre emplacement réel, ce n'est pas parce que vous avez peut-être usurpé une application que vous devriez parier votre vie dessus (certains commentaires ailleurs suggéraient que vous pouviez utiliser cette usurpation malveillante, alors j'ai pensé que je '' d jeter ceci ici).
26
Matthew Peters

Pour Ingress , le wargame mondial de Google, une gamme de mesures anti-usurpation sont utilisées. Google garde le silence sur la gamme complète, mais deux ont été démontrés:

  • Limitation de vitesse: 40 mph maximum autorisé dans le jeu
  • Mesures corroborantes: recoupement des SSID wifi reçus avec leur base de données de localisation
8
Rory Alsop

La réponse courte est que (pour autant que je sache), il n'est pas possible d'arrêter parfaitement l'émulation de localisation sur des plateformes ouvertes (par exemple Android). D'autres plates-formes plus restrictives (par exemple, iOS/Windows Phone non jailbreaké) n'ont pas tendance à souffrir autant de ces problèmes car elles n'accordent pas aux utilisateurs le même niveau de liberté en termes de types d'applications qu'ils peuvent installer.

Ce que les éditeurs de logiciels peuvent faire, c'est essayer de réduire l'impact et de détecter les personnes qui utilisent mal cette fonctionnalité. À titre d'exemple, une façon de procéder pourrait être d'analyser les positions des utilisateurs et s'ils se déplacent trop rapidement, supposons qu'ils utilisent une forme quelconque d'usurpation/émulation GPS.

3
Rory McCune

D'après mes connaissances, la façon dont vous usurpez les emplacements consiste à:

1) Utilisez le mode développeur avec des emplacements fictifs. Il existe des moyens de détecter que vous utilisez le mode développeur afin que le développeur puisse décider que le GPS n'est pas fiable dans ce cas. Ils utiliseront donc d'autres façons de trouver votre position, comme les réseaux wifi.

2) Vous pouvez simuler votre position lorsque votre téléphone est enraciné, sans activer le mode des emplacements fictifs. Encore une fois, dans certains cas, il existe des moyens de détecter que le téléphone est enraciné et le développeur peut de nouveau décider de ne pas faire confiance à la position GPS.

Gardez à l'esprit qu'il ne s'agit que d'une explication simple. Si vous voulez voir comment certaines personnes identifient les emplacements fictifs, lisez ceci: https://stackoverflow.com/questions/6880232/disable-check-for-mock-location-prevent-gps-spoofing

Edit: Il a été porté à mon attention que les appareils enracinés peuvent ne pas être toujours aussi faciles à détecter ou ne pas être détectables du tout. La deuxième version peut donc fonctionner lorsque la racine est indétectable.

1
sir_k

La clé est un défi auquel il est facile de répondre pour ceux qui sont sur place et presque impossible pour ceux qui n'y sont pas.

Par exemple, une simple validation peut être de connaître l'identifiant de la tour cellulaire et les SSID Wifi disponibles à l'endroit. Si vous avez le téléphone à portée de main, la réponse est simple et peut être effectuée à partir du programme automatiquement, mais si vous n'y êtes pas, il est difficile de répondre.

Mais après que quelqu'un en ait créé map . Ce sera facile à usurper.

Et je ne peux pas vraiment imaginer une meilleure façon si les propriétaires fonciers locaux ne sont pas impliqués.

Si les propriétaires fonciers locaux sont impliqués, une autre façon consiste à mettre un autocollant ou un petit écran dans la fenêtre de la boutique avec un mot-clé et dire à l'utilisateur de le saisir pour valider son emplacement. L'utilisateur doit être là pour saisir le mot correct. Pour éviter le problème de mappage, le mot-clé peut être changé fréquemment.

1
Calmarius