Marco Carnut: Um Truque Rasteiro para Disfarçar nossos Endereços IP ao Navegar - Tempest Blog
Por Marco Carnut em 2010-10-17 12:40:05 8 comentários
Muita gente vez por outra me pergunta como disfarçar nosso endereço IP nos logs dos servidores web, em geral querendo evitar serem rastreados. Existem diversas maneiras e hoje vou explicar a que talvez seja a mais simples delas – e que vai me dar um gancho para discorrer sobre o fato que disfarçar o endereço IP é só a "pontinha do iceberg" no que tange a navegarmos anonimamente.
Primeiro, vamos relembrar que, se você acessar algum site – digamos, o site aqui do Tempest Blog, http://blog.tempest.com.br –, o servidor vai registrar sua visita em um arquivo-texto chamado "log", tal como mostrado abaixo:
2010-10-17 10:21:18 189.115.173.166 200 10600 blog.tempest.com.br:80
Mozilla/5.0_(X11;_U;_Linux_i686;_en-US;_rv:1.9.0.19)_Gecko
/2010040118_Ubuntu/8.10_(intrepid)_Firefox/3.0.19
none /index.html.gz
Aqui, por brevidade, eu só coloquei a linha referente ao hit que baixou a página em si, omitindo os outros hits relativos às figuras, folhas de estilos, etc. Para uma explicação mais aprofundada disso tudo e do significado de cada um dos campos, dê uma lida no artigo anterior desta série.
O que é importante pra nós hoje é notar, no trecho do acima, a presença do endereço IP 189.115.173.166. É ele que nos denuncia, pois pode ser usado para nos identificar, pois:
O DNS reverso diz que o nome do host é "189.115.173.166.static.host.gvt.net.br", o que já identifica que o meu provedor é a GVT.
O serviço de WhoIs do Registro.BR confirma que esse endereço pertence à GVT
Então, se perguntarmos à GVT para consultar no seu cadastro para qual assinante estava alocado o IP 189.115.173.166 por volta das 10:21:18 do dia 17 de outubro de 2010, a GVT prontamente daria o meu cadastro. Claro, eles não respondem esse tipo de pergunta para qualquer um; mas, via de regra, eles (e todos os outros provedores de acesso, hospedagem ou serviços) respondem para policiais, juízes e agregados.
Portanto, o que queremos inicialmente é navegar pelo site, mas de forma que apareça outro endereço IP que não seja o nosso. A maneira mais fácil que eu conheço de fazer isso é acrescendar o sufixo .nyud.net, de forma que o endereço que colocamos no navegador se torna:
http://blog.tempest.com.br.nyud.net
Esse sufixo .nyud.net faz parte de um projeto chamado Coral Content Distribution Network cujo objetivo é prover meios de acesso alternativos para sites que porventura estejam sobrecarregados. Só que a maneira que eles fazem isso é acessando site de destino e repassando o resultado pra nós. Vejam só como aparece no log do nosso site quando o acesso é feito dessa forma:
2010-10-17 10:27:00.407601500 137.226.138.154 200 36066 blog.tempest.com.br:80
CoralWebPrx/0.1.20_(See_http://coralcdn.org/)
none /index.htm
Note duas mudanças importantes: primeiro, o endereço IP apareceu como 137.226.138.154, que, cujo nome, segundo o DNS reverso, é freedom.informatik.RWTH-Aachen.DE. O ".DE" no final é o código de país para a Alemanha, sugerindo que a máquina que atuou como intermediária nessa conexão se encontra nesse país. Note também que o UserAgent passou a ser "CoralWebPrx", mascarando o nome e versão do meu navegador.
Por simples que possa parecer, o simples fato do endereço IP ser de um site estrangeiro já constituiria um empecilho considerável para muitos tipos de investigação – um juiz brasileiro, por exemplo, não tem poder para intimar um site estrangeiro a revelar seus logs de acesso. Na realidade, isso é possível, mas teria de ser feito por intermédio da justiça estrangeira, o que tornaria tudo bem mais demorado, complicado e custoso. Além disso, no improvável caso do site estrangeiro chegar a ser intimado, ele pode alegar que não possui a informação em questão ou se recusar a cooperar. Isso pode ser suficiente para retardar ou até mesmo deter o investigador – ele só irá por esse caminho se estiver muito interessado e não tiver outras opções.
Naturalmente, esse truque de acrescentar o sufixo .nyud.net ao endereço de um site não funciona só com o site do nosso Blog – você pode fazer isso com qualquer site que deseje. Há algumas limitações sérias, entretanto:
Os intermediários do projeto Coral CDN só aceitam requisitões tipo HTTP GET e rejeitam qualquer outro tipo de requisição, especialmente as do tipo HTTP POST que são usadas para postar comentários em blogs ou nos formulários de login e senha.
O plugin do Flash Player e vários outros desrespeitam o navegador e acessam o site diretamente, sem passar pelo Coral e, portanto, denunciando nosso endereço IP. Portanto, esse truque só é efetivo para sites muito simples, que não usem plugins, tais como Flash, Java, Quicktime, essas coisas.
Há diversos truques que os grandes sites usam para identificar os usuários ou no mínimo identificar visitantes recorrentes, tais como cookies, webbugs e outros. Se você for usar essa técnica para qualquer coisa importante, eu recomendo usá-la em outro computador, de preferência com o sistema operacional e o navegador recém instalados (ou um "semi-novos virtualizados", conforme descrevi nesse post).
A rede CoralCDN têm computadores nos EUA, na Europa, Ásia,... e no Brasil também. Se você der azar, pode ser que o computador que seja alocado para atuar como intermediário seja no Brasil, de forma que uma intimação se torne viável.
Há ainda um problema quase fatal: o intermediário do CoralCDN denuncia, sim, o nosso endereço IP de origem, e de propósito – veja abaixo a captura completa da requisição web que deu origem ao item de log mostrado acima:
x-codemux-client: 189.115.173.166
host: blog.tempest.com.br
user-agent: CoralWebPrx/0.1.20 (See http://coralcdn.org/)
via: HTTP/1.0 137.226.138.154:8080 (CoralWebPrx/0.1.20 (See http://coralcdn.org/))
Veja como o nosso endereço IP aparece no cabeçalho x-codemux-client – um cabeçalho criado pelo pessoal da Coral CDN, mas que não é universalmente padronizado. Por isso, quase nenhum servidor web vem configurado para salvar seu conteúdo nos logs. Dessa forma, o administrador do site destino só conseguirá obter seu endereço IP se tiver previsto tudo isso de antemão e tiver previamente preparado seu servidor web ou sua infra-estrutura de monitoração para registrar esse cabeçalho, o que quase ninguém faz. É por isso que eu chamei essa falha de "quase fatal": rastreamento e anonimização é um jogo de gato e rato – basta o rato estar um passo à frente que o gato fica sem jantar.
Por todas essas razões, esse truque de adicionar .nyud.net no final dos hostnames nas URLs não é uma técnica de anonimização lá muito boa. Mas ela tem a vantagem de ser simples de explicar – por isso que optei por começar por ela – e pode ser suficiente, ou às vezes a única alternativa, em algumas situações: por exemplo, se você está acessando a Internet pelo navegador de um telefone celular de sistema operacional proprietário, que não te deixe instalar programas de anonimização. Mas, em um computador comum, existem alternativas melhores, que vou abordar em futuros posts.
Tímido Visitante Anônimo | 2014-11-08 20:59:43 | permalink | topo
Marco Carmut
Queria entender um pouco mais sobr o funcionamento da rede e suas seguranças. Que livros me aconselha ? Queria saber se eu navegasse com outro endereço ip, toda que me conectasse se seria o suficiente para a Vivo entender que eu não atingir a minha cota ? Você tem alguma sugestão para essa situação ?
Gyngonet | 2010-12-17 15:10:09 | permalink | topo
Muito obrigado por dispor de seu tempo para sanar minha dúvida, amigo. Estou mais esclarecido agora, o ideal mesmo é usar algo como o hotspotshield ou outros túneis de VPN, pois no geral os proxys internacionais são meio lerdos. Valeu.
Marco Carnut | 2010-12-17 13:43:47 | permalink | topo
Gyngonet: pelo que sei, quando você se conecta em qualquer provedor de banda larga, ele já te dá um endereço IP, sempre. Então, o "dedo-duro" seria o "provedor de sinal ADSL", segundo sua terminologia. É pra ele que são alocados os netblocks (blocos de endereços IP) e o cadastro deles, em princípio, deveria ser capaz de prover informações suficientes que investigadores poderiam consultar.
Isso dito, é provável que o detalhamento, abrangência, capricho e tempo de retenção dos logs de acesso variem de provedor para provedor. Essa "variação na qualidade dos logs e cadastros" é uma das razões pela qual o Azeredo propôs aquele projeto de lei (apelidado de "AI-5 digital") para que os provedores uniformemente fossem obrigados a gerar, manter e guardar esses logs por três anos (se não me falha a memória).
Se sua banda larga requer "provedor de autenticação", os logs desse provedor podem ser mais um item que os investigadores podem consultar para tentar te rastrear. Ou seja, parece lícito afirmar que conexões de banda larga que requerem "provedores de autenticação" são mais "rastreáveis" do que as que não requerem, pois, no primeiro caso, os investigadores têm à disposição o cadastro de duas instituições, ao passo que, no segundo caso, só uma. Não sei dizer se essa distinção faz muita diferença na prática.
O que eu posso, sim, afirmar, é que, a menos que você use uma das diversas técnicas de disfarce de IP e outros expedientes que tenho descrito nessa série de artigos, autoridades investigativas podem, sim, rastreá-lo, se assim o quiserem; e últimamente tem se tornado meio "moda" os advogados iniciarem processos civis (onde os padrões de evidência são muito mais baixos que os os processos criminais) contra gente que denigre outras em comentários em blogs, ou manda emails de ameaça, etc., começando pelo endereço IP e requerendo ao judiciário que intime os provedores a identificar os usuários.
GYNGONET | 2010-12-16 20:11:34 | permalink | topo
Gostei muito desse tópico, mas uma dúvida surgiu em minha mente: quem é realmente o dedo duro, quero dizer, responsável pela denúncia/monitoração do IP, o provedor do sinal de internet (GVT, Brasiltelecom, Oi) ou o provedor de autenticação (globo.com, uol.com)? No caso da GVT (ouvi dizer) se não me engano ela já vende o sinal ADSL autenticado, dispensando a necessidade de um provedor de autenticação (login e senha), corrija-me se eu estiver enganado. Mas eu por exemplo utilizo uma ADSL que exige provedor e a autenticação eu utilizo um login qualquer gratuito (http://digitalentretenimento.blogspot.com/2010/12/provedor-adsl-gratuito.html). Se por acaso for o provedor de autenticação o responsável pelo IP, no caso desses gratuitos (@senado.gov.br por exemplo), quem seria intimado pelo juiz a denunciar o IP, o senado?
Rafael Silva | 2010-10-22 18:56:54 | permalink | topo
Kiko, Sugestão de colocar um ping back aqui nos comentarios!
-rfdslabs
Marco Carnut | 2010-10-20 10:56:57 | permalink | topo
Tobias: eu mencionei plugins em geral, mas concordo contigo que teria valido a pena eu mencionar explicitamente o Java. Corrigi o texto.
Rafael: pretendo discutir sobre o hidemyass e outros em posts futuros, mas, como você levantou a bola, vou me adiantar aqui. A razão pela qual eu não costumo recomendar esses proxies para anonimidade é que não sabemos muito bem quem são seus operadores e suas idoneidades e há muitos truques que eles podem usar tanto para te rastrear, muitos erros que podem cometer que podem te denunciar ou, pior, usar o fato de você estar usando proxies sob controle deles para injetar malware no teu navegador. Confiar nesses caras acaba sendo trocar alguns riscos por outros talvez maiores.
Eu excetuo dessa minha "desconfiança" projetos como o CoralCDN porque eles são operados por gente de muita reputação e, como eu falei, o objetivo deles nem é dar anonimidade – eles o fazem meio que como efeito colateral de seu objetivo primário de servir de "cache público universal".
Via de regra, um único hop de proxies costuma ser uma proteção relativamente fraca, sujeita a esse tipo de problema. Isso pode ser mitigado encadeado vários proxies ou mesmo gateways/vpns, como pretendo discutir nos futuros posts. Fique ligado.