L’existence d’un tel réseau est sujet à polémique.
Si la communauté Tor fait en effet valoir que les délinquants utilisent déjà d’autres techniques (vol, piratage, ingénierie sociale, etc.), et qu’en outre, pour certains échanges, la condition d’anonymat est primordiale : journalistes, réseaux militants, etc., il reste que l’on ne saurait ignorer le risque que des actes illicites soient, à l’aide de Tor, commis sans qu’aucune archive ne permette d’identifier les éventuels auteurs d’infractions (La police allemande a ainsi saisi, en septembre 2006, des serveurs du réseau Tor dans le cadre de l’instruction d’une affaire de pédophilie[réf. souhaitée]). On qualifie donc parfois ces systèmes de « réseaux d’impunité », les nœuds étant localisés dans le monde entier, alors même qu’une législation à l’échelle d’un seul pays est déjà difficile à mettre en œuvre.
La liste des serveurs Tor étant connue (par nécessité et par volonté des responsables du logiciel), certains sites web et canaux IRC ont bloqué l’accès à leurs données par le réseau Tor.
Tor ne peut assurer la protection de paquets UDP, et n’en soutient donc pas les utilisations, notamment les requêtes aux serveurs DNS, pourtant nécessaires à la navigation web et extrêmement révélatrices des habitudes de navigation du client. Cependant Tor offre la possibilité de router les requêtes DNS à travers son réseau, notamment à l’aide de la commande « torify
». Et les auteurs recommandent l’extension Firefox « Torbutton » qui fait passer tout le trafic Firefox par Tor et non une partie configurée. Torbutton peut utiliser un proxy anonymisant comme Privoxy ou Polipo.
Par ailleurs, tout site web peut disposer sur ses pages du code Javascript qui lui renvoie l’adresse IP de ses clients, annulant ainsi l’efficacité de Tor, qui avait justement pris soin de masquer cette information. Il est difficile de se prémunir contre ce problème, car bloquer l’exécution de ce type de code bloque également des fonctionnalités parfois indispensables aux services rendus par un site. On peut cependant utiliser NoScript, une extension Firefox qui gère les scripts javascript en les activant uniquement dans les domaines de confiance. Mais le mieux est de désactiver toutes les extensions (Javascript, Flash Player …).
Tor permet d’empêcher un attaquant de suivre le chemin pris par une connexion. Cependant, s’il ne peut reconnaître le contenu du flux, il existe des moyens dont le principe est en quelque sorte lié au problème des canaux cachés. Par exemple, envoyez un flux comme du code morse : 3 paquets envoyés en salve, puis 5 secondes de silence, puis 3 paquets, etc. Lorsque vous verrez un flux sortir d’un nœud Tor et dont le « motif temporel » ressemble à celui-ci, alors vous saurez que c’est le vôtre.
Selon ce principe, vous pouvez chercher à attribuer une signature temporelle à un flux que vous essayez de suivre, ce qui vous permettra peut-être de le faire. Un attaquant peut d’ailleurs augmenter ses chances en donnant lui-même un motif temporel au flux qu’il cherche à suivre. C’est en effet chose possible. Comme au sein d’un nœud tous les paquets sont transférés par le biais d’une machine commune et se partagent donc les ressources du système, un attaquant peut inonder un nœud de ses propres paquets pour moduler un ralentissement de la machine comme il l’entend, et ainsi créer une signature temporelle pour les flux qui traversent ce nœud précis.
Ces deux types d’attaques sont très différents et posent de nombreuses questions. La première montre que même si le réseau Tor protégeait parfaitement l'anonymat, des moyens simples peuvent le contourner complètement et fortement compromettre son efficacité. Le second exemple montre que, bien que Tor soit un outil efficace, il est possible de l’attaquer directement ; il n’est donc pas un paradis pour hackers.