Tuesday 18 June 2013

Online Anonymity

     Anonymity over the Internet is achieved by hiding your identity while accessing different websites and services.

     Let us take an example. Say you are trying to access a website, the request sent from your browser first goes to the DNS for name resolution. Then the request passes through your ISP's router and finds its way (passing through a number of routers) to the web server hosting the website. The request may have to pass through a web application firewall before it actually reaches the application. 


    In the given case your request (source IP, time stamp and other parameters) will be logged at all the intermediate points mentioned above and of course by the web application itself. By using the logged information you may be tracked back by the authorities or anybody having access to the information by using your source IP address. This article will discuss some of the popular techniques that may help you achieve anonymity over internet. In case you are a part of an enterprise network, your activities will also be logged by the proxy/firewall of your organization.

Using a proxy website

    All the requests made by your browser will go to a proxy server (belonging to the proxy website) and this proxy server makes request for web resources on your behalf. if you are routing your traffic through a proxy then your IP address is hidden from the Internet (beyond the proxy). Logs of web servers and ISP routers will reveal only the IP address of the proxy server. There are several websites out there (proxy sites) which do it for free.

    Always keep in mind that your activities are being logged by the proxy itself. This by no means is going to secure you from being caught because these services will share their logs with authorities when asked to do so. One more important thing to note about proxies is that you are routing your Internet traffic through the proxy and technically they can see all the (unencrypted) data passing through them. Basically you are trusting a third party with your data.

You may use a proxy website or even the following techniques mentioned here to bypass access control lists of your local network because for the local firewall you are not connecting to a blocked website but to the proxy. Of course a smart administrator should block the known proxy websites.

Proxy Switching

    You can use a tool like ProxySwitcher to switch between multiple proxies while you do your regular Internet browsing . Again the idea is to try and make the backtracking difficult. There are many countries in the world where people set up proxies and these proxies are live for a very short duration (difficult to find logs) . You will normally see more proxies in the countries where the government restricts free access to Internet.

    Basically for an outsider trying to track you back, the source of traffic may change from Australia to China and then to Africa in a matter of seconds. 

The Onion Router project
(from Wikipedia)

"Tor directs Internet traffic through a free, worldwide volunteer network consisting of thousands of relays to conceal a user's location or usage from anyone conducting network surveillance or traffic analysis."
    As the end user you just have to install a TOR client browser which makes requests to a random TOR node (Onion router) and your IP is exposed to the first node only. This node asks another node to relay the traffic. This goes on till the traffic reaches its destination. The destination sees that the request is coming from the last TOR node.

   The TOR client finds out the route and gets the public keys for all the nodes. Your message is encrypted with all the keys starting from the key of the last node (hence the name Onion). Let us see the working in detail.

    Let us say there are 3 TOR nodes A,B and C involved (selected randomly by client) and the message is m. We assume the corresponding public keys of these nodes to be Pa,Pb and Pc.The message is repeatedly encrypted by the client starting with the public key of the exit node (Pc) followed by Pb and in the end Pa (Onion Routing).



Data received by node A: Pa(Pb(Pc(m))) 
Data received by node B: Pb(Pc(m)) 
Data received by node C: Pc(m) 
   The data is decrypted at each node by using their corresponding private key. After decryption each node gets some plain-text information about where to forward the remaining data. This makes sure that no single node knows the entire path. Each node only knows about the previous and the next node. 

    In such a case you never know who you are trusting (proxies and TOR nodes). I have heard the governments setting up TOR nodes to catch the cyber criminals. All I want to say is don't do anything stupid because you can only delay the trace you can't get away with it. 

    Always remember that you can not
completely hide yourself on the Internet but you can definitely make things difficult for the people who are tracking you.

No comments:

Post a Comment