Tor (anonymity network)

From Wikipedia, the free encyclopedia

Jump to: navigation, search
Image:Eff tor.png
Developed by The Tor Project[1]
Initial release September 20, 2003 (2003-09-20)[2]
Stable release  (2009-02-21; 49 days ago) [+/−]
Preview release  (2009-02-08; 62 days ago) [+/−]
Written in C
Operating system Cross-platform
Type Onion routing / Anonymity
License BSD license

Tor (The Onion Router) is a free software implementation of second-generation onion routing – a system which claims to enable its users to communicate more anonymously on the Internet. Roger Dingledine, Nick Mathewson, and Paul Syverson presented "Tor: The Second-Generation Onion Router" at the 13th USENIX Security Symposium.[3]

Tor cannot (and doesn't try to) protect against an attacker who can monitor both traffic going into the Tor network and also traffic coming out of the Tor network, such as the United States government[4] which has the capability to monitor any broadband internet traffic under the Communications Assistance For Law Enforcement Act and can therefore see both ends of the Tor connection. Tor tries to protect against traffic analysis, but Tor does not have the ability to prevent traffic confirmation (also called "end-to-end correlation").

Originally sponsored by the US Naval Research Laboratory, Tor became an Electronic Frontier Foundation (EFF) project in late 2004, and the EFF supported Tor financially until November 2005.[5] Tor software is now developed by the Tor Project, which since December 2006 is a 501(c)(3) research/education non-profit organization based in the United States of America that receives a diverse base of financial support.[1][5][6]


[edit] Description

Aiming to protect its users against traffic analysis attacks, volunteers operate an overlay network of onion routers that enable anonymous outgoing connections and anonymous "hidden" services.

[edit] Outgoing connections

Users of Tor network run an onion proxy on their machine. This software connects out to Tor, periodically negotiating a virtual circuit through Tor network. Tor employs cryptography in a layered manner (hence the Onion routing analogy), ensuring perfect forward secrecy between routers. At the same time, the onion proxy software presents a SOCKS interface to its clients. SOCKS-aware applications may be pointed at Tor, which then multiplexes the traffic through a Tor virtual circuit.

Once inside Tor network, the traffic is sent from router to router, ultimately reaching an exit node at which point the cleartext packet is available and is forwarded on to its original destination. Viewed from the destination, the traffic appears to originate at Tor exit node.

Tor's application independence sets it apart from most other anonymity networks: it works at the TCP stream level. Applications commonly anonymised using Tor include IRC, instant messaging and Web browsing. When browsing the Web, Tor is often coupled with Privoxy – a filtering proxy server – that aims to add privacy at the application layer.

[edit] Hidden services

Tor can also provide anonymity to servers in the form of location-hidden services, which are Tor clients or relays running specially configured server software. Rather than revealing the server's IP address (and therefore its location), hidden services are accessed through Tor-specific .onion pseudo top-level domain. Tor network understands this TLD and routes data anonymously both to and from the hidden service. Due to this lack of a public address, hidden services may be hosted behind firewalls or NAT. A Tor client is necessary in order to access a hidden service.[7]

Hidden services have been deployed on Tor network beginning in 2004.[8] Besides the database that stores the hidden-service descriptors,[9] Tor is decentralized by design; there is no direct readable list of hidden services. There are a number of independent hidden services that serve this purpose.

Because location-hidden services do not use exit nodes, they are not subject to exit node eavesdropping. There are, however, a number of security issues involving Tor hidden services. For example, services that are reachable through Tor hidden services and the public Internet are susceptible to correlation attacks, and consequently are not necessarily hidden. Other pitfalls include "letting your web server reveal identifying information about you, your computer, or your location",[7] uptime and downtime statistics, intersection attacks and user error.

[edit] Weaknesses

[edit] DNS leaks

As with many anonymous web surfing systems, direct DNS requests are usually still performed by many applications, without using Tor proxy. Using Privoxy or the command "torify" included with Tor distribution is a possible solution to this problem.[10] Additionally, applications using SOCKS5 – which supports name-based proxy requests – can route DNS requests through Tor, having lookups performed at the exit node and thus receiving the same anonymity as other Tor traffic.[11]

As of Tor release, Tor includes its own DNS resolver which will dispatch queries over the mix network. This should close the DNS leak and can interact with Tor's address mapping facilities to provide Tor hidden service (.onion) access to non-SOCKS aware applications.[12]

[edit] Traffic analysis

Like all current low latency anonymity networks, Tor is vulnerable to traffic analysis from observers who can watch both ends of a user's connection.[13]

Steven J. Murdoch and George Danezis from University of Cambridge presented an article[14] at the 2005 IEEE Symposium on Security and Privacy. They presented traffic-analysis techniques that allow adversaries with only a partial view of the network to infer which nodes are being used to relay the anonymous streams and therefore greatly reduce the anonymity provided by Tor. They have also shown that otherwise unrelated streams can be linked back to the same initiator. The identity of the original user remains undiscovered by this attack, however.[14] Murdoch has been working with and funded by Tor since 2006.

[edit] Eavesdropping by exit nodes

In September 2007, Dan Egerstad, a Swedish security consultant, revealed that by operating and monitoring Tor exit nodes he had intercepted usernames and passwords for a large number of email accounts.[15] As Tor does not, and by design cannot, encrypt the traffic between an exit node and the target server, any exit node is in a position to capture any traffic passing through it which does not use end-to-end encryption, e.g. SSL. While this does not inherently violate the anonymity of the source, it affords added opportunities for data interception by self-selected third parties, greatly increasing the risk of exposure of sensitive data by users who are careless or who mistake Tor's anonymity for security.[16]

[edit] Etiquette

Because of its inherent anonymity, the traditional practices that network operators use to curb abuse may be insufficient with regards to connections coming from Tor network. Tor has some features intended to reduce this problem, both from the perspective of exit node operators and third party sites.

Exit nodes each maintain an exit policy of what traffic is and is not permitted to leave Tor network through that node. It is possible to prevent most major abuses of Tor network using a combination of addresses and ports. Potential abuses include:

Bandwidth hogging
It is considered impolite to transfer massive amounts of data across the Tor network – the onion routers are run by volunteers using their own bandwidth at their own cost.
Due to the high bandwidth usage caused by the use of this protocol, it is considered impolite and inappropriate to use the Tor network for BitTorrent transfers. By default, the Tor exit policy blocks the standard BitTorrent ports.
The default Tor exit policy prevents connections to port 25, preventing people from sending spam directly from the Tor network.
Anonymous users
The Tor project attempts to ensure that websites that wish to set different access policies for users visiting through Tor can do so.

[edit] Illegal uses

The Tor network can be used for purposes that are illegal in some jurisdictions, ranging from criticizing leaders of state, to P2P sharing of copyrighted files, to communicating child pornography.[17][18][19] In September 2006, German authorities seized data center equipment running Tor software during a child pornography crackdown.[18][20][21]

The Tor project's response to accusations that it is helping to facilitate illegal activity has been to emphasize that (1) many law-abiding individuals who use Tor for "good" purposes (privacy, freedom of communication) do not have readily available and practical alternatives to Tor, while (2) those who are willing to break laws already have other more effective ways to remain anonymous (such as breaking into computers, renting botnets, or stealing cell phones).[22] The argument is that the benefit to those in group (1) is much larger than the assistance to those in group (2), who have realistic alternatives to Tor by virtue of the fact that they are willing to break the law.

[edit] Implementation

  • The main implementation of Tor is written in C and is roughly 49,000 lines of code long. C was used because of its inherent performance benefits.
  • Vuze (formerly known as Azureus, written in Java) includes built-in Tor support.

[edit] See also

[edit] Footnotes

  1. ^ a b "Tor: People". 2008-07-17. Retrieved on 2008-07-17. 
  2. ^ Dingledine, Roger (2002-09-20). "pre-alpha: run an onion proxy now!". or-dev mailing list. Retrieved on 2008-07-17. 
  3. ^ Dingledine, Roger; Mathewson, Nick; Syverson, Paul (2004-08-13). "Tor: The Second-Generation Onion Router". Proc. 13th USENIX Security Symposium. Retrieved on 2008-11-17. 
  4. ^ "One cell is enough to break Tor's anonymity"" (in English). Tor website. February 18th, 2009. Retrieved on 2009-03-18. 
  5. ^ a b "Tor: Sponsors". 2008-07-16. Retrieved on 2008-07-17. 
  6. ^ "Tor: Donate!". 2008-06-27. Retrieved on 2008-07-17. 
  7. ^ a b "Tor: Hidden Service Configuration Instructions". 2008-02-27. Retrieved on 2008-06-08. 
  8. ^ [Lasse]; Paul Syverson (2006-06-21). "Locating Hidden Servers" (PDF) in IEEE Symposium on Security and Privacy. Proceedings of the 2006 IEEE Symposium on Security and Privacy: 1, Oakland, CA: IEEE CS Press. doi:10.1109/SP.2006.24. ISBN 0-7695-2574-1. Retrieved on 2008-06-08. 
  9. ^ Tor: Hidden Service Protocol, Hidden services
  10. ^ "TheOnionRouter/TorifyHOWTO – Noreply Wiki". Retrieved on 2007-04-19. 
  11. ^ "RFC 1928 - SOCKS Proxy Protocol, Version 5". Retrieved on 2008-08-04. 
  12. ^ "Tor Changelog". Retrieved on 2007-09-11. 
  13. ^ "TheOnionRouter/TorFAQ". Retrieved on 2007-09-18. "Tor (like all current practical low-latency anonymity designs) fails when the attacker can see both ends of the communications channel" 
  14. ^ a b "Low-Cost Traffic Analysis of Tor" (PDF). 2006-01-19. Retrieved on 2007-05-21. 
  15. ^ "Wired: Rogue Nodes Turn Tor Anonymizer Into Eavesdropper's Paradise". Retrieved on 2007-09-16. 
  16. ^ "Tor hack proposed to catch criminals". Retrieved on 2008-02-01. 
  17. ^ Cleaning up Tor on
  18. ^ a b Anders Bylund (September 11, 2006). "TOR anonymizing proxy servers seized during German child porn investigation". 
  19. ^ Jones, Robert (2005). Internet forensics. O'Reilly. pp. P133. ISBN 059610006X. 
  20. ^ Ed Oswald, (September 11, 2006). "Tor Servers Target of Porn Crackdown". BetaNews. 
  21. ^ "German TOR Servers Seized". September 11, 2006. 
  22. ^ "Tor Abuse FAQ". 

[edit] References

[edit] Further reading

[edit] External links

Personal tools