In che modo le compagnie telefoniche possono rilevare il tethering (incl. Hotspot WiFi)


25

Gli operatori di rete mobile (anche: compagnie telefoniche, compagnie telefoniche, provider) a volte offrono pacchetti di dati a basso costo utilizzabili solo al telefono. O almeno così dicono.

Come possono distinguere un utente che naviga sul Web con un browser sul suo telefono Android e un utente che utilizza un browser su un laptop collegato a un telefono Android?

All'inizio del 2012 ero a Parigi e stavo usando un pacchetto dati mobile Orange con un Nokia E51 (Symbian S60). In effetti, ho potuto accedere a Internet solo tramite il browser del telefono, non dal mio laptop collegato al telefono. Ora ho un telefono Android 2.3 e sto pensando di abbonarmi a un pacchetto di dati simile in Spagna (operatore Más Móvil).


3
Si può fare con deep packet inspection. Puoi combattere con TOR, tunnel e VPN circondati da Stacheldraht.
ott--

Risposte:


30

Il modo in cui rilevano che qualcuno sta collegando un dispositivo non è qualcosa di cui i provider di rete spesso vogliono parlare, per l'ovvia ragione che più i consumatori conoscono come viene rilevato, più facile è per loro trovare modi per nascondere il fatto che lo stanno facendo ed evitare i costi aggiuntivi associati (1) . Tuttavia, ci sono alcune tecniche note che daranno il via al tethering, se il tuo fornitore di servizi sta eseguendo lo strumento giusto per verificare la presenza di questi indicatori:

Il telefono chiede alla rete se è consentito il tethering

Il primo e più semplice metodo è che alcuni telefoni interrogheranno la rete per verificare se il contratto corrente consente il tethering e, in caso contrario, disabilitare totalmente le opzioni di tethering sul dispositivo nel software. Questo in genere accade solo se si esegue una versione del sistema operativo che è stata personalizzata dal proprio provider, esempio 1 esempio 2 .

Il telefono comunica alla rete che si sta eseguendo il tethering

Si dice anche che alcuni telefoni abbiano un secondo set di dettagli APN salvati in essi dalla rete telefonica, quando abiliti il ​​tethering passano all'utilizzo di questo secondo APN per tutto il traffico collegato, mentre usano l'APN normale per il traffico proveniente dal telefono. Tuttavia, non ho trovato alcuna prova concreta di ciò, a parte le persone che trovano strani APN e si chiedono a cosa servono (tenere presente che un telefono sbloccato acquistato fuori contratto può avere centinaia o migliaia di APN memorizzati su di esso, pronti per utilizzare su qualsiasi rete in qualsiasi paese l'eventuale proprietario decide di utilizzarlo).

Ispezione dei pacchetti di rete per il loro TTL (tempo di vivere)

Ogni pacchetto di rete che viaggia attraverso una rete TCP / IP , come Internet, ha un time-to-live ( TTL ) incorporato impostato su di esso, in modo che nel caso in cui ci sia un problema con quel pacchetto che raggiunge la sua destinazione questo lo fermerà viaggiando per la rete intasando per sempre tutto.

Il modo in cui funziona è che il pacchetto inizia con un numero TTL (diciamo 128) impostato su di esso quando lascia il dispositivo di invio (telefono o laptop), e quindi ogni volta che un pacchetto viaggia attraverso un router di qualsiasi tipo (come il tuo router a banda larga domestica o un router presso il tuo ISP o compagnia telefonica) che sottrae uno dal TTL (che in questo esempio ridurrebbe il TTL a 127, il router successivo che percorre a sua volta diminuirà nuovamente il TTL, e così acceso, se il TTL raggiunge mai lo zero allora il router è a scartare il pacchetto e non lo trasmette più.

Quando il telefono è collegato, si comporta come un router, quindi, mentre il pacchetto passa dal laptop collegato tramite il telefono e alla rete telefonica, il telefono sottrarrà "1" dal TTL per mostrare che il pacchetto è passato attraverso il suo primo router . Le reti telefoniche sanno quali sono i TTL attesi dai dispositivi comuni (ad esempio i pacchetti di un iPhone iniziano sempre con un TTL di 64) e quindi possono individuare quando sono uno in meno (o totalmente diversi) di quanto si aspettino.

Ispezione dell'indirizzo MAC

I dispositivi su una rete TCP / IP, come Internet, hanno tutti un ID MAC univoco impostato sulle loro interfacce di rete. È composto da due metà, una metà identifica il produttore dell'interfaccia e l'altra metà è un identificatore univoco assegnato dal produttore (come un numero seriale). Ogni pacchetto di rete inviato verrà "timbrato" con l'indirizzo MAC della porta di rete del dispositivo di origine. L'indirizzo MAC della scheda wifi del tuo laptop avrà un produttore e un codice seriale molto diversi rispetto all'indirizzo MAC dell'interfaccia 3G del tuo telefono.

Impronta digitale dello stack TCP / IP

Diversi sistemi operativi per computer (ad es. Android, iOS, Windows, Mac OSX, Linux, ecc.) Impostano le loro pile TCP / IP con valori e impostazioni predefiniti diversi (ad es. Dimensione iniziale del pacchetto, TTL iniziale, Dimensione della finestra ...). La combinazione di questi valori può fornire una "impronta digitale" che può essere utilizzata per identificare quale sistema operativo è in esecuzione sul dispositivo di origine. Un effetto collaterale di questo potrebbe significare che se si utilizza un sistema operativo non comune o un sistema operativo simile a quello del telefono sull'altro dispositivo, il tethering potrebbe non essere individuato .

Guardando l'IP / URL di destinazione

Puoi imparare molto da ciò con cui un dispositivo comunica regolarmente.

Ad esempio, molti SO in questi giorni eseguono Captive Portal Detection quando si connettono per la prima volta a una rete wifi (come la connessione tether wifi), lo fanno provando a connettersi a un server Web noto su Internet e controllando se ottenere la risposta che si aspettano. Se la risposta prevista non viene ricevuta, è probabile che la connessione wifi in uso sia un "portale captive" e potrebbe essere necessario il login o il pagamento per connettersi ad esso. Poiché i sistemi operativi Microsoft (come Windows Vista e Windows 7 controllano con un server Microsoft per impostazione predefinita e altri sistemi operativi come Android, MacOS e così via, tutti si collegano ai server della società madre per eseguire questi controlli, può essere usato come una buona indicazione del funzionamento sistema subito dopo aver effettuato la connessione iniziale.

Inoltre, se un dispositivo contatta regolarmente i server Windows Update, è molto probabile che sia un PC o laptop Windows, mentre se controlla regolarmente con i server di aggiornamento Android di Google, è probabilmente un telefono. O se riescono a vedere che ti stai collegando all'Apple App Store, ma l' IMEI del dispositivo in cui si trova la tua scheda SIM indica che non è un dispositivo Apple, forse stai collegando un iPad a un telefono Android?

I sistemi più sofisticati possono esaminare un'intera gamma di dati per vedere con chi stai comunicando (ad esempio, ti stai collegando ai server API dell'app di Facebook che è più probabile da un telefono o ai server Web di Facebook che è più probabile da un PC) e aggiungi un intero carico di questi indicatori insieme per creare un'impronta digitale che indica il tipo di dispositivo che probabilmente stai utilizzando. Alcune di queste impronte digitali possono essere rilevate quando escono nuovi tipi di dispositivi e servizi, ad esempio ci sono rapporti secondo cui subito dopo l'uscita dei tablet con 3G integrato, alcuni proprietari di questi sulla rete AT&T hanno ricevuto messaggi di posta elettronica che avvisavano che avrebbero sono stati tethering quando non lo erano, poiché l'impronta digitale di questo nuovo stile di dispositivo non sembrava un normale telefono.


(1) Ovviamente prima di provare qualsiasi metodo per aggirare il rilevamento del tethering, ricordarsi di controllare il contratto telefonico e le politiche della propria compagnia telefonica sul tethering. Possono avere delle clausole penali seppellite nel loro contratto, nella Politica di utilizzo corretto o nella Politica di utilizzo accettabile per le persone che cercano di aggirare le loro restrizioni e limiti.


1
Risposta fantastica! Ho anche contattato di nuovo Más Móvil e questa volta il rappresentante dell'assistenza clienti ha dichiarato che tutte le tariffe e le opzioni possono essere utilizzate con il tethering. Quindi ho prenotato un'ottima offerta e, sì, il tethering con il mio telefono Android 2.3 (tramite USB) funziona senza problemi. Forse la prossima volta che sarò in Francia, proverò a giocare con il TTL, per vedere se questo mi permette di bypassare Orange.
febbraio

5
grazie per la risposta molto ben informata e perspicace. voglio solo obiettare alla sezione di ispezione MAC. se si utilizza il telefono come router (come per il tethering della connessione Internet esterna) gli indirizzi MAC dei client non vengono affatto trasmessi al provider, come da definizione del routing IP. vengono sostituiti dal MAC del telefono, che è ciò che l'operatore si aspetta.

Ho il sospetto che questo sia ciò che sta accadendo con il mio cellulare. Da quando ho "aggiornato" il tethering 5.1 con tmo non funziona. Anche quando uso https (che maschererebbe l'agente utente, che è il modo in cui lo facevano). Come posso sapere se il mio telefono è in combutta con il mio provider?
Christian Bongiorno,

6
Una nota sul tuo indirizzo MAC: Il tethering è solo NAT (beh, può essere così semplice). Pertanto, una mappatura interna (ip: porta) <-> esterna (ip: porta) deve essere gestita dal dispositivo NAT, ma a parte questo, l'effettivo payload IP è l'unica cosa necessaria. Infatti, se in qualche modo ti identificassi sulla tua interfaccia Internet dal MAC dei dispositivi collegati, non verrebbe mai instradato. Non sono sicuro di come / perché il MAC dei dispositivi interni possa / dovrebbe / debba essere esposto.
Christian Bongiorno,

Ho un piano familiare con il tethering. Estrarre la sim card dal mio iPad (che ha il tethering) e inserirla in un HTC con root ha permesso il tethering. Tuttavia, Android stock dice che non ho tethering sul mio piano. Esiste un modo non root per aggirare questo?
Ha

5

In realtà, i provider di servizi Internet di rete mobile utilizzano principalmente Deep Package Inspection con impronte digitali URI per rilevare il tethering. È l'unico metodo che è possibile utilizzare per operazioni su larga scala. Possono utilizzare siti noti, ad esempio il server di aggiornamento di Windows, per rilevare che si tratta di un dispositivo non telefonico che accede. O per HTTP, leggere l'agente utente del browser Web per rilevare che il browser è per una piattaforma non telefonica.

Detto questo, questi metodi hanno alcune limitazioni significative.

  • Scostamento temporale dall'inizio dell'uso fino a quando il rilevamento può richiedere minuti
  • Il rilevamento può essere neutralizzato utilizzando la crittografia dell'utente finale
  • L'uso di tutte le tecniche di impronte digitali possibili spesso provoca l'attivazione di falsi positivi

Quindi la realtà è che il rilevamento del tethering è un atto di bilanciamento dal punto di vista dell'operatore. In genere si implementano solo abbastanza da essere in grado di bloccare utenti regolari e non geek (che costituiscono la stragrande maggioranza degli utenti mobili). L'implementazione di un rilevamento più rigoroso per bloccare gli utenti esperti di tecnologia in genere non vale la pena, e può ritorcersi contro generando troppi eventi falsi positivi. Finché vengono pagati per i dati utilizzati, avranno un aspetto opposto.

Preferiscono concentrare i loro sforzi sugli hacker e sul blocco delle perdite di entrate dovute a exploit di rete.


2

Il metodo più semplice è l'ispezione TTL. Se instrada la tua connessione al secondo dispositivo (tramite hotspot wifi mobile o in qualsiasi altro modo fattibile), i router della compagnia telefonica noteranno che alcuni valori TTL sono diversi dagli altri quando i pacchetti li passano. Poiché ci sono tabelle dei valori TTL iniziali previsti disponibili per molti dispositivi (i loro sistemi operativi, in particolare), la compagnia telefonica noterà immediatamente che qualcosa non va, in quanto possono facilmente calcolare "quanto lontano" è la fonte del pacchetto. NON richiede un'ispezione approfondita dei pacchetti, poiché i valori TTL sono disponibili per tutti, in qualsiasi tipo di pacchetto IP, e sono effettivamente MODIFICATI dai router (diminuiti di 1 ad ogni passaggio) quando il pacchetto viene passato alla destinazione. La soluzione è quindi abbastanza semplice.


Potresti collegare alcune fonti? A proposito, +1 per una risposta ricercata.
Tamoghna Chowdhury,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.