25 votes

Comment les sociétés de téléphonie mobile peuvent-elles détecter le tethering (incluant le hotspot Wifi)

Les opérateurs de téléphonie mobile (aussi : compagnies de téléphone, opérateurs, fournisseurs) proposent parfois des forfaits de données à bas prix utilisables uniquement sur le téléphone. Du moins, c'est ce qu'ils disent.

Comment peuvent-ils distinguer un utilisateur naviguant sur le web avec un navigateur sur son téléphone Android et un utilisateur utilisant un navigateur sur un ordinateur portable connecté à un téléphone Android ?

Début 2012, j'étais à Paris et j'utilisais un forfait de données mobiles Orange avec un Nokia E51 (Symbian S60). En effet, je ne pouvais accéder à Internet qu'en utilisant le navigateur du téléphone, pas depuis mon ordinateur portable connecté au téléphone. Maintenant, j'ai un téléphone Android 2.3, et je pense m'abonner à un forfait de données similaire en Espagne (opérateur Más Móvil).

3 votes

Cela peut être fait avec inspection approfondie des paquets. Vous pouvez riposter avec TOR, des tunnels et des VPN entourés de Stacheldraht.

30voto

Joe Shaw Points 6386

Comment ils détectent que quelqu'un utilise un appareil en mode modem n'est pas quelque chose dont les fournisseurs de réseau ont souvent envie de parler, pour la raison évidente que plus les consommateurs en savent sur la manière dont cela est détecté, plus il est facile pour eux de trouver des moyens de cacher le fait qu'ils le font, et d'éviter les frais supplémentaires associés (1). Cependant, il existe certaines techniques connues qui révéleront le fait que vous êtes actuellement en mode modem, si votre fournisseur de services utilise l'outil approprié pour vérifier ces indicateurs:

Votre téléphone interroge votre réseau pour savoir si le partage de connexion est autorisé

La première et la plus simple méthode est que certains téléphones interrogeront le réseau pour vérifier si le contrat actuel autorise le partage de connexion, puis désactiveront complètement les options de partage de connexion sur l'appareil en logiciel si ce n'est pas le cas. Cela se produit généralement uniquement si vous utilisez une version du système d'exploitation personnalisée par votre fournisseur, exemple 1 exemple 2.

Votre téléphone informe votre réseau que vous êtes en mode modem

Il est également dit que certains téléphones ont un deuxième jeu de détails APN enregistrés en eux par le réseau téléphonique, lorsque vous activez le partage de connexion, ils basculent vers l'utilisation de ce deuxième APN pour tout le trafic en mode modem, tout en utilisant l'APN normal pour le trafic provenant du téléphone. Cependant, je n'ai trouvé aucune preuve concrète de cela, autre que des personnes découvrant des APN étranges et se demandant à quoi ils servent (gardez à l'esprit qu'un téléphone déverrouillé acheté hors contrat peut avoir des centaines ou des milliers d'APN stockés dessus, prêts à être utilisés sur n'importe quel réseau dans n'importe quel pays où le futur propriétaire décide de l'utiliser).

Inspection des paquets réseau pour leur TTL (time to live)

Chaque paquet réseau voyageant à travers un réseau TCP/IP, comme Internet, a un temps de vie intégré (TTL) qui lui est alloué, de sorte que en cas de problème avec ce paquet atteignant sa destination, cela l'empêchera de voyager indéfiniment dans le réseau et de le saturer.

Le fonctionnement est le suivant : le paquet commence avec un numéro de TTL (disons 128) lorsqu'il quitte l'appareil émetteur (votre téléphone, ou ordinateur portable), et chaque fois que ce paquet traverse un routeur de n'importe quel type (comme votre routeur Internet à domicile, ou un routeur de votre FAI ou entreprise de téléphonie), ce routeur soustrait un à la valeur du TTL (ce qui diminuerait le TTL à 127 dans cet exemple), le prochain routeur qu'il traverse fera de même, si le TTL atteint zéro, alors le routeur où il se trouve abandonne le paquet et ne le transmet pas de nouveau.

Lorsque votre téléphone est en mode modem, il agit comme un routeur, donc lorsque le paquet passe de votre ordinateur portable en mode modem à votre téléphone et sur le réseau téléphonique, votre téléphone soustraira "1" du TTL pour montrer que le paquet a traversé son premier routeur. Les réseaux de téléphonie connaissent les valeurs de TTL attendues des appareils courants (par exemple, les paquets d'un iPhone commencent toujours avec un TTL de 64), donc ils peuvent repérer lorsqu'ils sont inférieurs d'un (ou complètement différents) de ce qu'ils attendent.

Inspection de l'adresse MAC

Les appareils sur un réseau TCP/IP, comme Internet, ont tous une adresse MAC unique définie sur leurs interfaces réseau. Celle-ci se compose de deux moitiés, une moitié identifiant le fabricant de l'interface, et l'autre moitié étant un identifiant unique attribué par le fabricant (comme un numéro de série). Chaque paquet réseau envoyé sera "marqué" avec l'adresse MAC du port réseau de l'appareil d'origine. L'adresse MAC de la carte wifi de votre ordinateur portable sera très différente du fabricant et du code sériel de l'adresse MAC de l'interface 3G de votre téléphone.

Empreinte digitale du stack TCP/IP

Les différents Systèmes d'Exploitation informatiques (par exemple Android, iOS, Windows, Mac OSX, Linux, etc) configurent leurs stacks TCP/IP avec des valeurs et des réglages par défaut différents (par exemple la taille du paquet initial, le TTL initial, la taille de la fenêtre...). La combinaison de ces valeurs peut donner une "empreinte digitale" qui peut être utilisée pour identifier le système d'exploitation en cours d'exécution sur l'appareil d'origine. Un effet secondaire de ceci peut signifier que si vous utilisez un système d'exploitation peu courant, ou un système d'exploitation semblable à celui de votre téléphone sur un autre appareil, votre partage de connexion pourrait ne pas être repéré.

Examen de l'IP/URL de Destination

Vous pouvez en apprendre beaucoup sur quels dispositifs communiquent régulièrement.

Par exemple, de nos jours, de nombreux systèmes d'exploitation effectuent la détection de portails captifs lorsqu'ils se connectent pour la première fois à un réseau wifi (comme votre connexion en mode modem wifi), ils le font en essayant de se connecter à un serveur web connu sur Internet, et en vérifiant s'ils obtiennent la réponse qu'ils attendent. Si la réponse attendue n'est pas reçue, il est probable que la connexion wifi sur laquelle vous êtes a un "portail captif" et peut nécessiter que vous vous connectiez ou payiez pour vous y connecter. Comme les OS Microsoft (comme Windows Vista et Windows 7 vérifient auprès d'un serveur Microsoft par défaut et d'autres systèmes d'exploitation comme Android, MacOS, etc. se connectent tous aux serveurs de leur société mère pour effectuer ces vérifications, cela peut être utilisé comme une bonne indication du système d'exploitation juste après la connexion initiale.

De plus, si un dispositif contacte régulièrement les serveurs de mises à jour Windows, alors il est très probable que ce dispositif soit un PC ou un ordinateur portable Windows, tandis que s'il vérifie régulièrement les serveurs de mises à jour Android de Google, alors il s'agit probablement d'un téléphone. Ou s'ils voient que vous vous connectez à l'App Store d'Apple, mais que l'IMEI de l'appareil dans lequel se trouve votre carte SIM indique qu'il ne s'agit pas d'un appareil Apple, peut-être que vous partagez la connexion d'un iPad avec un téléphone Android?

Des systèmes plus sophistiqués peuvent examiner une gamme entière de données pour voir avec qui vous communiquez (par exemple vous connectez-vous aux serveurs API de l'application Facebook, ce qui est plus probable à partir d'un téléphone, ou aux serveurs web de Facebook, ce qui est plus probable à partir d'un PC) et rassembler tout un ensemble de ces indicateurs pour créer une empreinte digitale indiquant quel type d'appareil vous êtes susceptible d'utiliser. Certaines de ces empreintes digitales peuvent être trompées lorsque de nouveaux types d'appareils et services sortent, par exemple, il y a des rapports selon lesquels juste après la sortie des tablettes avec 3G intégrée, certains propriétaires de ces appareils sur le réseau AT&T ont reçu des emails les avertissant qu'ils partageaient la connexion alors que ce n'était pas le cas, car l'empreinte digitale de ce nouveau style d'appareil ne ressemblait pas à celle d'un téléphone typique.


(1) Évidemment, avant d'essayer des méthodes pour contourner la détection de partage de connexion, veuillez vérifier votre contrat téléphonique et les politiques de votre société de téléphonie sur le partage de connexion. Ils peuvent avoir des clauses de pénalité dissimulées dans leur contrat, leur Politique d'Utilisation Juste, ou leur Politique d'Utilisation Acceptable pour les personnes essayant de contourner leurs restrictions et limites.

1 votes

Superbe réponse! J'ai également contacté de nouveau Más Móvil, et cette fois-ci le représentant du service clientèle a déclaré que tous les tarifs et options pouvaient être utilisés avec le tethering. J'ai donc souscrit à une très bonne offre et, oui, le tethering avec mon téléphone Android 2.3 (via USB) fonctionne sans problème. Peut-être la prochaine fois que je serai en France, j'essaierai de jouer avec le TTL, pour voir si cela me permet de contourner Orange.

5 votes

Merci pour la réponse très compétente et éclairante. Je tiens seulement à objecter à la section sur l'inspection MAC. Si vous utilisez votre téléphone comme routeur (pour le partage de connexion Internet sortante), les adresses MAC de vos clients ne sont en aucun cas transmises au fournisseur, selon la définition du routage IP. Elles sont remplacées par le MAC du téléphone, ce qui est ce que l'opérateur attend.

0 votes

Je soupçonne que c'est ce qui se passe avec mon téléphone portable. Depuis que j'ai "mis à niveau" vers 5.1, le partage de connexion avec T-Mobile ne fonctionne plus. Même lorsque j'utilise le protocole https (ce qui masquerait l'agent utilisateur, c'est ainsi qu'ils le faisaient auparavant). Comment puis-je savoir si mon téléphone est en collusion avec mon fournisseur ?

5voto

Mr Mega Byte Points 51

En réalité, les fournisseurs d'accès Internet des réseaux mobiles utilisent principalement l'inspection approfondie des paquets avec empreinte URI pour détecter le tethering. C'est la seule méthode faisable pour une exploitation à grande échelle. Ils peuvent utiliser des sites connus, par exemple le serveur de mises à jour Windows, pour détecter qu'il s'agit d'un appareil autre qu'un téléphone qui y accède. Ou pour le protocole HTTP, lire l'agent utilisateur du navigateur Web pour détecter que le navigateur est destiné à une plate-forme autre qu'un téléphone.

Ceci étant dit, ces méthodes présentent certaines limites significatives.

  • Le délai entre le début de l'utilisation et la détection peut prendre quelques minutes
  • La détection peut être neutralisée en utilisant un cryptage de l'utilisateur final
  • L'utilisation de toutes les techniques de reconnaissance possibles entraîne souvent des faux positifs

Ainsi, la détection du tethering est un acte d'équilibre du point de vue de l'opérateur. Ils mettent généralement en œuvre juste assez pour pouvoir bloquer les utilisateurs réguliers, non-geeks (qui constituent la majorité écrasante des utilisateurs mobiles). Déployer une détection plus stricte pour bloquer les utilisateurs technophiles n'en vaut généralement pas la peine, et pourrait se retourner contre eux en générant trop d'événements faux positifs. Tant qu'ils sont payés pour les données utilisées, ils feront semblant de ne rien voir.

Ils préfèrent concentrer leurs efforts sur les hackers et le blocage des fuites de revenus dues aux exploitations du réseau.

2voto

xmp125a Points 121

La méthode la plus simple est l'inspection TTL. Si vous routez votre connexion vers le deuxième appareil (via un point d'accès wifi mobile ou de toute autre manière faisable), les routeurs de la compagnie de téléphone remarqueront que certaines valeurs TTL sont différentes des autres lorsque les paquets les traversent. Comme il existe des tables de valeurs TTL initiales attendues pour de nombreux appareils (leurs systèmes d'exploitation, plus spécifiquement), la compagnie de téléphone remarquera immédiatement quelque chose qui cloche, car ils peuvent facilement calculer "à quelle distance" se trouve la source du paquet. Cela ne nécessite PAS d'inspection approfondie des paquets, car les valeurs TTL sont visibles de tous, dans tout type de paquet IP, et sont en fait MODIFIÉES par les routeurs (diminuées de 1 à chaque passage) alors que le paquet est envoyé à la destination. La solution de contournement est donc assez simple.

0 votes

Pouvez-vous lier quelques sources ? Au fait, +1 pour une réponse bien recherchée.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X