Wie können Telefongesellschaften Tethering erkennen (inkl. Wifi-Hotspot)?


25

Mobilfunknetzbetreiber (auch: Telefongesellschaften, Telekommunikationsunternehmen, Anbieter) bieten manchmal kostengünstige Datenpakete an, die nur über das Telefon genutzt werden können. Zumindest sagen sie das.

Wie können sie zwischen einem Benutzer, der mit einem Browser auf seinem Android-Telefon im Internet surft, und einem Benutzer, der einen Browser auf einem an ein Android-Telefon angeschlossenen Laptop verwendet, unterscheiden?

Anfang 2012 war ich in Paris und habe ein Orange Mobile-Datenpaket mit einem Nokia E51 (Symbian S60) verwendet. Tatsächlich konnte ich nur mit dem Browser des Telefons auf das Internet zugreifen, nicht mit meinem Laptop, der an das Telefon angeschlossen war. Jetzt besitze ich ein Android 2.3-Telefon und denke darüber nach, ein ähnliches Datenpaket in Spanien (Betreiber Más Móvil) zu abonnieren.


3
Es kann mit getan werden deep packet inspection. Sie können sich mit TOR, Tunneln und VPNs wehren, die von Stacheldraht umgeben sind.
ott--

Antworten:


30

Wie sie erkennen, dass jemand ein Gerät anbindet, ist etwas, worüber Netzbetreiber häufig sprechen möchten. Je mehr Verbraucher über die Erkennung Bescheid wissen, desto einfacher ist es für sie, Möglichkeiten zum Verbergen der Geräte zu finden Tatsache, dass sie es tun, und vermeiden Sie die damit verbundenen zusätzlichen Kosten (1) . Es gibt jedoch bestimmte bekannte Techniken, die die Tatsache verraten, dass Sie gerade eine Verbindung herstellen, wenn Ihr Dienstanbieter zufällig das richtige Tool ausführt, um nach diesen Indikatoren zu suchen:

Ihr Telefon fragt Ihr Netzwerk, ob Tethering zulässig ist

Die erste und einfachste Methode besteht darin, dass einige Telefone das Netzwerk abfragen, um zu prüfen, ob der aktuelle Vertrag das Tethering zulässt, und die Tethering-Optionen auf dem Gerät in der Software vollständig zu deaktivieren, wenn dies nicht der Fall ist. Dies geschieht in der Regel nur, wenn Sie eine von Ihrem Provider angepasste Betriebssystemversion ausführen, Beispiel 1 Beispiel 2 .

Ihr Telefon teilt Ihrem Netzwerk mit, dass Sie eine Verbindung herstellen

Es wird auch gemunkelt, dass einige Telefone über einen zweiten Satz von APN- Details verfügen , die vom Telefonnetz gespeichert werden. Wenn Sie Tethering aktivieren, wird dieser zweite APN für den gesamten Tethering-Verkehr verwendet, während der normale APN für den Verkehr verwendet wird, der vom Telefon ausgeht. Ich habe jedoch keine konkreten Beweise dafür gefunden, abgesehen von Leuten, die ungerade APNs finden und sich fragen, wofür sie da sind (denken Sie daran, dass auf einem nicht vertraglich gebundenen Telefon möglicherweise Hunderte oder Tausende von APNs gespeichert sind, für die sie bereit sind) Verwendung in jedem Netzwerk in jedem Land, für das sich der spätere Eigentümer entscheidet).

Überprüfen der Netzwerkpakete auf ihre TTL (Time to Live)

Auf jedem Netzwerkpaket , das über ein TCP / IP-Netzwerk wie das Internet übertragen wird, ist eine TTL (Time-to-Live ) festgelegt. Wenn also ein Problem auftritt, bei dem das Paket sein Ziel erreicht, wird es angehalten Reisen im Netzwerk für immer alles verstopft.

Dies funktioniert so, dass das Paket mit einer TTL-Nummer (z. B. 128) beginnt, die beim Verlassen des sendenden Geräts (Ihres Telefons oder Laptops) festgelegt wurde, und dann jedes Mal, wenn dieses Paket einen Router (wie Ihren) durchläuft Heim-Breitbandrouter oder ein Router bei Ihrem ISP oder Ihrer Telefongesellschaft), der einen Router von der TTL subtrahiert (die in diesem Beispiel die TTL auf 127 verringern würde), der nächste Router, den er durchläuft, verringert wiederum die TTL, und so weiter Wenn die TTL jemals Null erreicht, verwirft der Router das Paket und überträgt es nicht erneut.

Wenn Ihr Telefon angebunden ist, verhält es sich wie ein Router. Wenn das Paket von Ihrem angebundenen Laptop über Ihr Telefon in das Telefonnetz übertragen wird, subtrahiert Ihr Telefon "1" von der TTL, um anzuzeigen, dass das Paket seinen ersten Router durchlaufen hat . Die Telefonnetzwerke wissen, wie hoch die erwarteten TTLs von gängigen Geräten sind (zum Beispiel beginnen Pakete von einem iPhone immer mit einer TTL von 64), sodass sie erkennen können, wenn sie eine niedrigere (oder eine völlig andere) als erwartet haben.

Überprüfung der MAC-Adresse

Geräte in einem TCP / IP-Netzwerk wie das Internet verfügen über eine eindeutige MAC- ID, die auf ihren Netzwerkschnittstellen festgelegt ist. Diese besteht aus zwei Hälften, von denen eine den Hersteller der Schnittstelle identifiziert und die andere eine vom Hersteller zugewiesene eindeutige Kennung (wie eine Seriennummer) ist. Jedes gesendete Netzwerkpaket wurde mit der MAC-Adresse des Netzwerkports des Ursprungsgeräts "gestempelt". Die MAC-Adresse der WLAN-Karte Ihres Laptops hat einen anderen Hersteller und Seriencode als die MAC-Adresse der 3G-Schnittstelle Ihres Telefons.

TCP / IP-Stack-Fingerprinting

Verschiedene Computer- Betriebssysteme (z. B. Android, iOS, Windows, Mac OS X, Linux usw.) richten ihre TCP / IP-Stacks mit unterschiedlichen Standardwerten und -einstellungen ein (z. B. anfängliche Paketgröße, anfängliche TTL, Fenstergröße ...). Die Kombination dieser Werte kann einen "Fingerabdruck" ergeben, mit dem identifiziert werden kann, welches Betriebssystem auf dem Ursprungsgerät ausgeführt wird. Ein Nebeneffekt davon kann sein, dass bei Verwendung eines ungewöhnlichen Betriebssystems oder eines Betriebssystems, das dem Ihres Telefons auf Ihrem anderen Gerät ähnelt, das Tethering möglicherweise nicht erkannt wird .

Betrachten Sie die Ziel-IP / URL

Sie können viel darüber lernen, mit was ein Gerät regelmäßig kommuniziert.

Beispielsweise führen viele Betriebssysteme heutzutage eine Captive Portal- Erkennung durch, wenn sie zum ersten Mal eine Verbindung zu einem WLAN-Netzwerk herstellen (z. B. Ihre WLAN-Tether-Verbindung), indem sie versuchen, eine Verbindung zu einem bekannten Webserver über das Internet herzustellen und zu überprüfen, ob sie eine Verbindung herstellen Erhalten Sie die Antwort, die sie erwarten. Wenn die erwartete Antwort nicht eingeht, handelt es sich wahrscheinlich um ein "Captive-Portal", bei dem Sie sich möglicherweise anmelden oder bezahlen müssen, um eine Verbindung herzustellen. Da Microsoft-Betriebssysteme (wie Windows Vista und Windows 7 standardmäßig einen Microsoft-Server verwenden und andere Betriebssysteme wie Android, MacOS usw. eine Verbindung zu den Servern des Mutterunternehmens herstellen, um diese Überprüfungen durchzuführen, kann dies als gute Anzeige für den Betrieb verwendet werden System unmittelbar nach dem Herstellen der ersten Verbindung.

Wenn ein Gerät regelmäßig Kontakt mit den Windows Update-Servern aufnimmt, ist es sehr wahrscheinlich, dass es sich um einen Windows-PC oder einen Laptop handelt, während es sich bei den Android-Update-Servern von Google wahrscheinlich um ein Telefon handelt. Oder wenn sie sehen, dass Sie eine Verbindung zum Apple App Store herstellen, die IMEI des Geräts, auf dem sich Ihre SIM-Karte befindet, jedoch anzeigt, dass es sich nicht um ein Apple-Gerät handelt, binden Sie möglicherweise ein iPad an ein Android-Telefon an?

Anspruchsvollere Systeme können auf eine ganze Reihe von Daten zugreifen und sehen, mit wem Sie kommunizieren (z. B. stellen Sie eine Verbindung zu den API-Servern der Facebook-App her, was mit größerer Wahrscheinlichkeit von einem Telefon aus oder zu den Webservern von Facebook, was mit größerer Wahrscheinlichkeit von einem PC aus möglich ist). und addieren Sie eine ganze Reihe dieser Indikatoren, um einen Fingerabdruck zu erstellen, der angibt, welche Art von Gerät Sie wahrscheinlich verwenden. Einige dieser Fingerabdrücke können abgefangen werden, wenn neue Gerätetypen und -dienste herauskommen. Beispielsweise wird berichtet, dass einige Besitzer von Tablets mit integriertem 3G im AT & T-Netzwerk E-Mails erhalten haben, in denen sie gewarnt wurden, dass dies der Fall ist als sie nicht angebunden waren, da der Fingerabdruck dieses neuen Gerätetyps nicht wie ein typisches Telefon aussah.


(1) Bevor Sie eine Methode zur Umgehung der Tethering-Erkennung ausprobieren, sollten Sie Ihren Telefonvertrag und die Tethering-Richtlinien Ihres Telefongesellschafts überprüfen. In ihrem Vertrag, ihrer Fair-Use-Richtlinie oder ihrer Acceptable-Use-Richtlinie sind möglicherweise Vertragsstrafenklauseln für Personen verankert, die versuchen, ihre Beschränkungen und Grenzen zu umgehen.


1
Geniale Antwort! Ich habe auch Más Móvil erneut kontaktiert, und diesmal sagte der Kundendienstmitarbeiter, dass alle Tarife und Optionen mit Tethering verwendet werden können. Also habe ich ein sehr gutes Angebot gebucht und, ja, das Tethering mit meinem Android 2.3-Handy (über USB) funktioniert problemlos. Vielleicht versuche ich das nächste Mal, wenn ich in Frankreich bin, mit der TTL zu spielen, um zu sehen, ob ich damit Orange umgehen kann.
Feklee

5
Vielen Dank für die sehr sachkundige und aufschlussreiche Antwort. Ich möchte nur gegen den MAC-Inspektionsabschnitt protestieren. Wenn Sie Ihr Telefon als Router verwenden (wie bei der Anbindung Ihrer Internetverbindung nach außen), werden die MAC-Adressen Ihrer Kunden gemäß der Definition des IP-Routings überhaupt nicht an den Provider übertragen. Sie werden durch den MAC des Telefons ersetzt, was der Betreiber erwartet.

Ich vermute, das passiert mit meiner Zelle. Seitdem ich auf 5.1 "upgegradet" habe, funktioniert Tethering mit tmo nicht mehr. Sogar wenn ich https benutze (was den User Agent maskieren würde, wie sie es gemacht haben). Wie kann ich feststellen, ob mein Telefon mit meinem Provider in Konflikt steht?
Christian Bongiorno

6
Ein Hinweis zu Ihrem MAC-Adresspunkt: Tethering ist nur NAT (na ja, so einfach kann es sein). Daher muss eine interne (ip: port) <-> externe (ip: port) Zuordnung vom NAT-Gerät verwaltet werden. Ansonsten ist nur die tatsächliche IP-Nutzlast erforderlich. Tatsächlich, wenn Sie sich auf Ihrer Internetschnittstelle irgendwie durch den MAC der angeschlossenen Geräte identifizieren, würde er niemals weiterleiten. Ich bin mir nicht sicher, wie / warum der MAC der internen Geräte freigelegt werden kann / würde / sollte.
Christian Bongiorno

Ich habe einen Familienplan mit Tethering. Wenn ich die SIM-Karte aus meinem iPad (das mit Tethering ausgestattet ist) nehme und sie in ein verwurzeltes HTC eins stecke, funktioniert das Tethering einwandfrei. Aktien Android sagt jedoch, dass ich kein Tethering auf meinem Plan habe. Gibt es eine nicht-root Möglichkeit, dies zu umgehen?
Drew

5

In der Realität verwenden Internetanbieter in Mobilfunknetzen vorwiegend Deep Package Inspection mit URI-Fingerprinting, um Tethering zu erkennen. Dies ist die einzige Methode, die für den Betrieb in großem Maßstab verwendet werden kann. Sie können bekannte Sites, z. B. den Windows Update-Server, verwenden, um zu erkennen, dass es sich um ein Gerät handelt, das kein Telefon ist und auf das zugegriffen wird. Oder lesen Sie für HTTP den Webbrowser-Benutzeragenten, um festzustellen, ob der Browser für eine Nicht-Telefonplattform bestimmt ist.

Allerdings weisen diese Methoden einige signifikante Einschränkungen auf.

  • Der Zeitversatz vom Beginn der Verwendung bis zur Erkennung kann Minuten dauern
  • Die Erkennung kann mithilfe der Endbenutzerverschlüsselung neutralisiert werden
  • Die Verwendung aller möglichen Fingerabdrucktechniken führt häufig dazu, dass falsche Positive ausgelöst werden

Die Realität ist also, dass die Tethering-Erkennung aus Sicht des Bedieners ein Balanceakt ist. Sie implementieren in der Regel nur so viel, dass reguläre Nicht-Geek-Benutzer blockiert werden können (die den größten Teil der mobilen Benutzer ausmachen). Das Bereitstellen einer strengeren Erkennung zum Blockieren technisch versierter Benutzer ist in der Regel nicht die Mühe wert und kann fehlschlagen, indem zu viele falsch positive Ereignisse generiert werden. Solange sie für benutzte Daten bezahlt werden, werden sie wegschauen.

Sie konzentrieren sich eher auf Hacker und blockieren Einnahmeverluste aufgrund von Netzwerk-Exploits.


2

Die einfachste Methode ist die TTL-Prüfung. Wenn Sie Ihre Verbindung zum zweiten Gerät weiterleiten (über einen mobilen WLAN-Hotspot oder auf eine andere Art und Weise), stellen die Router der Telefongesellschaft fest, dass sich einige TTL-Werte von den anderen unterscheiden, wenn Pakete sie weiterleiten. Da für viele Geräte (insbesondere deren Betriebssysteme) Tabellen mit erwarteten anfänglichen TTL-Werten verfügbar sind, erkennt die Telefongesellschaft sofort, dass etwas nicht stimmt, da sie leicht berechnen kann, wie weit die Quelle des Pakets entfernt ist. Eine eingehende Paketüberprüfung ist NICHT erforderlich, da TTL-Werte in jeder Art von IP-Paket für alle sichtbar sind und von Routern (bei jedem Durchlauf um 1 verringert) geändert werden, wenn das Paket an das Ziel übergeben wird. Die Problemumgehung ist daher recht einfach.


Könnten Sie einige Quellen verlinken? Übrigens +1 für eine recherchierte Antwort.
Tamoghna Chowdhury
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.