Jump to content

Tor (network)

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Gat101 (talk | contribs) at 13:17, 29 January 2010 (→‎See also). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Tor
Developer(s)The Tor Project[1]
Initial releaseSeptember 20, 2002 (2002-09-20)[2]
Stable release0.4.8.12[3] Edit this on Wikidata (6 June 2024; 3 months ago (6 June 2024))
Repository
Written inC
Operating systemCross-platform
TypeOnion routing / Anonymity
LicenseBSD license
Websitewww.torproject.org

The Onion Router (Tor) is a free software implementation of second-generation onion routing enabling Internet anonymity by thwarting network traffic analysis. Roger Dingledine, Nick Mathewson, and Paul Syverson presented "Tor: The Second-Generation Onion Router" at the 13th USENIX Security Symposium on Friday, August 13, 2004.[4]

Tor employs cryptography in a multi-layered manner (hence the Onion routing analogy), ensuring perfect forward secrecy between routers.[citation needed] A user of the Tor network runs a proxy server on his computer. Internet-facing software can then access Tor through a SOCKS interface. Once inside a Tor network, the traffic is sent from router to router, the Tor software periodically negotiating a virtual circuit through the Tor network, ultimately reaching an exit node at which point the cleartext packet is forwarded on to its original destination. Viewed from the destination, the traffic appears to originate at the Tor exit node.

Tor cannot and does not attempt to protect against monitoring of traffic at the boundaries of the Tor network, i.e., the traffic entering and exiting the network.[5] The United States government, for example, has the capability to monitor any broadband Internet traffic using devices mandated by the Communications Assistance For Law Enforcement Act (CALEA) and can therefore monitor both ends of a US-based Tor connection. While Tor does provide protection against traffic analysis, it cannot prevent traffic confirmation (also called end-to-end correlation).[5]

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.[6] 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][6][7]

Operation

Tor aims to conceal its users' identity and their network activity from traffic analysis. Operators of the system operate an overlay network of onion routers which provides anonymity in network location as well as anonymous hidden services.

Originating traffic

Users of a Tor network run an onion proxy on their machine. The Tor software periodically negotiates a virtual circuit through the Tor network. Tor employs cryptography in a multi-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 a 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 the Tor exit node.

Tor's application independence sets it apart from most other anonymity networks: it works at the Transmission Control Protocol (TCP) stream level. Applications whose traffic is commonly anonymised using Tor include Internet Relay Chat (IRC), instant messaging and World Wide 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.

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 network location), hidden services are accessed through Tor-specific .onion pseudo top-level domain (TLD), or pseudomain. The Tor network understands this TLD and routes data anonymously both to and from the hidden service. Due to this lack of reliance on a public address, hidden services may be hosted behind firewalls or network address translators (NAT). A Tor client is necessary in order to access a hidden service.[8]

Hidden services have been deployed on the Tor network beginning in 2004.[9] Other than the database that stores the hidden-service descriptors,[10] 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 thus not perfectly hidden. Other pitfalls include misconfigured services (e.g. identifying information included by default in web server error responses),[8] uptime and downtime statistics, intersection attacks and user error.

Weaknesses

DNS leaks

As with many anonymous web surfing systems, direct Domain Name System (DNS) requests are usually still performed by many applications, without using a Tor proxy. Using Privoxy or the command "torify" included with a Tor distribution is a possible solution to this problem.[11] 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.[12]

As of Tor release 0.2.0.1-alpha, 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 the Tor hidden service (.onion) access to non-SOCKS aware applications.[13]

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.[14]

Steven J. Murdoch and George Danezis from University of Cambridge presented an article[15] at the 2005 IEEE Symposium on Security and Privacy on 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. These techniques greatly reduce the anonymity provided by Tor. Murdoch and Danezis have also shown that otherwise unrelated streams can be linked back to the same initiator. However, this attack fails to reveal the identity of the original user.[15] Murdoch has been working with, and funded by, Tor since 2006.

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.[16] 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 may or may not inherently violate the anonymity of the source, depending on the data transferred, 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.[17]

Etiquette

Because of its inherent anonymity, the traditional practices that network operators use to curb abuse may be insufficient with regard to connections coming from a 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 by Tor community members 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 BitTorrent protocol, it is considered impolite and inappropriate by Tor community members to use the Tor network for BitTorrent transfers. By default, the Tor exit policy blocks the standard BitTorrent ports.
Spam
The default Tor exit policy prevents connections to port 25 (SMTP), 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.

Illegal uses

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

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).[23]

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.

Implementation

  • The main implementation of Tor is written in the C programming language and consists of roughly 146,000 lines of source code.[24]
  • Vuze (formerly Azureus), a BitTorrent client written in Java, includes built-in Tor support.

See also

Footnotes

  1. ^ a b "Tor: People". 2008-07-17. Retrieved 2008-07-17.
  2. ^ Dingledine, Roger (2002-09-20). "pre-alpha: run an onion proxy now!". or-dev (Mailing list). Retrieved 2008-07-17. {{cite mailing list}}: Unknown parameter |mailinglist= ignored (|mailing-list= suggested) (help)
  3. ^ "Stable release 0.4.8.12". 6 June 2024. Retrieved 6 June 2024.
  4. ^ Dingledine, Roger (2004-08-13). "Tor: The Second-Generation Onion Router". Proc. 13th USENIX Security Symposium. San Diego, California. Retrieved 2008-11-17. {{cite conference}}: Unknown parameter |booktitle= ignored (|book-title= suggested) (help); Unknown parameter |coauthors= ignored (|author= suggested) (help)
  5. ^ a b "One cell is enough to break Tor's anonymity"". Tor website. February 18th, 2009. Retrieved 2009-03-18. {{cite web}}: Check date values in: |date= (help)
  6. ^ a b "Tor: Sponsors". 2008-07-16. Retrieved 2008-07-17.
  7. ^ "Tor: Donate!". 2008-06-27. Retrieved 2008-07-17.
  8. ^ a b "Tor: Hidden Service Configuration Instructions". 2008-02-27. Retrieved 2008-06-08.
  9. ^ Øverlier, Lasse (2006-06-21). "Locating Hidden Servers" (PDF). Proceedings of the 2006 IEEE Symposium on Security and Privacy. IEEE Symposium on Security and Privacy. Oakland, CA: IEEE CS Press. p. 1. doi:10.1109/SP.2006.24. ISBN 0-7695-2574-1. Retrieved 2008-06-08. {{cite conference}}: Check |authorlink= value (help); External link in |authorlink= and |conferenceurl= (help); Unknown parameter |booktitle= ignored (|book-title= suggested) (help); Unknown parameter |coauthors= ignored (|author= suggested) (help); Unknown parameter |conferenceurl= ignored (|conference-url= suggested) (help)
  10. ^ Tor: Hidden Service Protocol, Hidden services
  11. ^ "TheOnionRouter/TorifyHOWTO – Noreply Wiki". Retrieved 2007-04-19.
  12. ^ "RFC 1928 - SOCKS Proxy Protocol, Version 5". Retrieved 2008-08-04.
  13. ^ "Tor Changelog". Retrieved 2007-09-11.
  14. ^ "TheOnionRouter/TorFAQ". Retrieved 2007-09-18. Tor (like all current practical low-latency anonymity designs) fails when the attacker can see both ends of the communications channel
  15. ^ a b "Low-Cost Traffic Analysis of Tor" (PDF). 2006-01-19. Retrieved 2007-05-21.
  16. ^ "Wired: Rogue Nodes Turn Tor Anonymizer Into Eavesdropper's Paradise". Retrieved 2007-09-16.By Kim Zetter(09.10.2007)
  17. ^ "Tor hack proposed to catch criminals". Retrieved 2008-02-01.
  18. ^ Cleaning up Tor on broadband.com
  19. ^ a b Anders Bylund (September 11, 2006). "TOR anonymizing proxy servers seized during German child porn investigation". {{cite web}}: Unknown parameter |publisaher= ignored (help)
  20. ^ Jones, Robert (2005). Internet forensics. O'Reilly. pp. P133. ISBN 059610006X.
  21. ^ Ed Oswald, (September 11, 2006). "Tor Servers Target of Porn Crackdown". BetaNews.{{cite web}}: CS1 maint: extra punctuation (link)
  22. ^ "German TOR Servers Seized". September 11, 2006.
  23. ^ "Tor Abuse FAQ".
  24. ^ http://www.ohloh.net/p/tor/analyses/latest

References

Further reading

Software and hardware Tor realizations
Special OS
Known hidden Tor services (requires Tor and appropriate browser configuration)