Rilevamento del proxy Tor leggendo le intestazioni delle richieste

13

Sono un principiante nel campo della sicurezza. Mentre cercavo di esplorare ulteriori informazioni sugli header HTTP di richiesta e risposta, mi sono imbattuto in questo sito web che fornisce un'analisi dettagliata della richiesta intestazione che viene inviata dal nostro sistema al suo server. Secondo il sito web, esaminando l'intestazione Via o X-Forwarded-For , è possibile concludere se il client utilizza o meno un proxy. Quando ho visitato il sito web senza utilizzare alcun proxy, ha mostrato entrambe le intestazioni come non presente (che era atteso). Ma, quando ho visitato di nuovo questo sito, stavolta utilizzando il Tor Browser , le due intestazioni non erano ancora presenti! Nessun segno di proxy.

Ho un'idea molto vaga del funzionamento di Tor, ma non sono sicuro del motivo per cui le intestazioni non sono in grado di rilevare il proxy quando si utilizza Tor Browser! Qualcuno può spiegare la ragione dello stesso in parole povere? Inoltre, se Tor offre questo livello di anonimato, esiste un altro modo per rilevare un proxy Tor?

    
posta Rahil Arora 06.07.2013 - 03:30
fonte

4 risposte

11

Tor semplicemente ripete le richieste come proxy HTTP anonimo trasparente, il che significa che non allega intestazioni proxy tipiche (come Via o X-Forwarded-For ), o in qualsiasi altro modo modifica le richieste o le risposte HTTP (oltre ad essere "onion routed, encrypted and decrypted" attraverso la rete Tor).

Come per identificare i client che si connettono attraverso la rete Tor, il modo più semplice per rilevare tali client sul server web è interrogare il pubblico Servizio TorDNSEL che pubblica i nodi di uscita di Tor:

TorDNSEL is an active testing, DNS-based list of Tor exit nodes. Since Tor supports exit policies, a network service's Tor exit list is a function of its IP address and port. Unlike with traditional DNSxLs, services need to provide that information in their queries.

Previous DNSELs scraped Tor's network directory for exit node IP addresses, but this method fails to list nodes that don't advertise their exit address in the directory. TorDNSEL actively tests through these nodes to provide a more accurate list.

Questa query di TorDNSEL può essere automatizzata, ad es. nella tua applicazione web e codice di esempio in molti linguaggi di programmazione possono essere trovati su Internet. Ad esempio, ecco alcuni esempi di codice che dimostrano come per farlo in PHP.

Se hai intenzione di implementare questa verifica Tor nella tua applicazione web, allora ti consiglio di memorizzare i risultati delle query nella cache localmente per un po 'di tempo, è ragionevole aspettarsi che i nodi di uscita non cambino nel frattempo, non ripetere costantemente le stesse query e aggiungi un ulteriore ritardo alle tue risposte.

Modifica per aggiungere : un altro modo per ottimizzare questo interrogazione del nodo di uscita Tor ed evitare l'utilizzo di TorDNSEL per tutto il tempo è fare un reverse DNS lookup in anticipo, e cercare di farlo corrispondere a un elenco dei principali host di nodi di uscita Tor noti. Questo può essere effettivamente molto efficace, poiché molti host di nodi di uscita importanti non cambiano mai e possono gestire un numero elevato di nodi di uscita utilizzando tutti nomi di nomi RDNS uguali o simili. Ad esempio, è possibile provare ad associare i nomi rDNS al proprio elenco utilizzando espressioni regolari, LIKE operatore SQL o simili. Alcuni degli host del nodo di uscita Tor noti (esempi reali) corrisponderanno a questi nomi:

tor[0-9].*
tor-exit*
*.torservers.*
*.torland.is

Questa è la lista che sto usando. Come vedi, è lontano dall'essere completo, ma è un inizio e puoi sempre aggiungere più voci mentre li rilevi per seguire uno schema facilmente abbinabile. Dato che si tratta di ottimizzare semplicemente le query, non ha davvero bisogno di essere completo, ma ogni partita sicuramente accelererà le cose. Spero che questo aiuti!

    
risposta data 06.07.2013 - 04:26
fonte
8

Il X-Foreward-For -header viene inviato facoltativamente (e volutamente) dai proxy. Se un proxy tenta di nascondere l'identità dell'utente, non verrà inviata questa intestazione.

The Onion Network è specificamente progettato allo scopo di mantenere nascosta l'identità degli utenti. Non rivelerà mai l'indirizzo IP o altri dati che potrebbero mostrare l'identità dell'utente.

    
risposta data 06.07.2013 - 03:45
fonte
1

Una piccola nota qui:

Durante la lettura del articolo di Wikipedia sui server proxy , ho scoperto che anche se i server proxy non stanno utilizzando il linee di intestazione come HTTP_VIA, HTTP_X_FORWARDED_FOR o HTTP_FORWARDED, è ancora possibile che un sito Web sospetti un proxy se i pacchetti inviati dal client includono un cookie di una visita precedente che non ha utilizzato il server proxy di anonimato.

    
risposta data 03.10.2013 - 05:07
fonte
0

Puoi rilevarlo con il pacchetto di risorse di Firefox. Devi solo essere a conoscenza della programmazione di JavaScript.

Lo schema URI resource:// viene utilizzato da Firefox per chiamare risorse su disco da moduli interni ed estensioni.

Ma alcune di queste risorse possono anche essere incluse in qualsiasi pagina web ed eseguite tramite un tag script. Gli sviluppatori di Mozilla non considerano le risorse come un vettore di impronte digitali, nonostante alcune di esse possano rivelare cose che l'utente non desidera rivelare. Ad esempio, le differenze nei file di preferenze incorporati indicano chiaramente se stai usando Windows, Linux o Mac, anche se sei dietro a Tor.

Prova questo URL nel browser Tor: link

    
risposta data 12.07.2016 - 12:54
fonte

Leggi altre domande sui tag