Guia: o Projecto Tor

Como explica o título, este é um guia que tem como objectivo apresentar o sistema Tor. A partir de amanhã, o guia estará disponível de forma permanente no menu acima do título do blog. Boa leitura!

Tor (The Onion Router) é uma rede virtual da internet que, como veremos, é capaz de tornar anónimo o navegar por aqueles que desejam contornar a censura e proteger a privacidade. Esta sub-rede foi desenvolvida pela marinha americana que desejava ter disponível um sistema de comunicação durável e seguro através da internet: depois o projecto foi tornado público e está actualmente a ser implementado pela empresa sem fins lucrativos Projecto Tor. Mas o projecto em si não poderia existir sem a ajuda de milhares de voluntários que desistem de parte da sua banda de conexão para o funcionamento dessa rede.


Como funciona? Um pouco de técnica

A rede Tor permite transmitir tráfego de dados através de diferentes nós, criptografando a comunicação entre cada nó: desta forma, o destinatário não pode saber donde partiu o tráfego. Obviamente, nem os nós intermédios (normalmente são três) estão cientes do tráfego que transmitem porque todos os pacotes de dados são criptografados tantas vezes quantos são os nós cruzados; e cada um desses nós tem uma única chave de decodificação que lhe permite libertar apenas uma “camada” de dados, aqueles úteis a prosseguir a navegação.

Uma ligação sem o sistema Tor: João envia o pedido para ligar-se à Tomas e a ligação é estabelecida de forma directa.

Dito assim pode parecer complicado, mas não é. Um exemplo: o utilizador inicial envia um pedido para aceder a um site; o primeiro nó (chamado de nó de entrada) saberá de onde vem a solicitação, mas não saberá qual é a solicitação (o tal pedido) e, obviamente, nem conhece o conteúdo do tráfego (criptografado); o segundo nó sabe que o pedido é de qualquer nó e que vai para outro nó, mas não conhece o conteúdo do pedido… e assim por diante até o último nó (chamado nó de saída), que sabe que o pedido vem de qualquer um dos nós intermediários e que é capaz de “remover” a última camada de criptografia para ler o pedido e direcioná-lo para o site correto. O site visitado, então, acreditará que o pedido vem do último nó (porque nos factos é assim). A resposta do site seguirá o caminho inverso, de nó em nó até, sempre com tráfego criptografado, até o utilizador inicial.

Podemos pensar: “Ehi, mas se o pedido segue o percurso inverso isso significa que o caminho é traçado, é lembrado nos dados transmitidos e é possível identificar a fonte do pedido!”. Sim, na verdade o caminho é traçado (por configuração predefinida muda a cada 10 minutos), mas apenas a fonte: 1) conhece a sequência de nós 2) só ela conhece as chaves da criptografia de todos os nós que o pedido irá atravessa. Ao conhecer estas chaves, a fonte pode criar um pacote de dados em camadas, como se fosse uma cebola (daí o nome: Project Onion significa “Projecto Cebola”).

No sistema Tor, João envia o pedido para ligar-se à Tomás: o pedido é encriptado e enviado para o primeiro nó; deste passa para o segundo e assim por diante até que o último nó da série transfere o pedido para Tomás. Neste exemplo, todavia, Tomás não tem uma ligação https e o tráfego não é encriptado no último troço do percurso.

Quando o usuário entra na rede Tor, conecta-se a um dos servidores principais para obter a lista mais recente dos nós disponíveis (tudo acontece em automático, embora esteja disponível a modalidade manual); em seguida, entra em contacto com o nó de entrada que escolhe qual nó deverá receber o pacote de dados; este por sua vez entra em contacto com outro nó e assim por diante. Decidido qual o caminho a seguir, o cliente Tor criptografa os pacotes de dados com a chave dos nós escolhidos (sempre tudo em automático), criando as camadas da “cebola” segundo uma ordem precisa. Os nós intermediários estão conscientes apenas da entidade (nó ou fonte) da qual irão receber o pacote de dados e da entidade que a seguir irá recebe-lo: cada nó mantém em memória quais as outras duas entidades (aquela da qual recebeu o tráfego e aquela ao qual o enviou) para que seja capaz de reconhecer o pacote de dados de regresso e trata-lo da forma correcta (cada nó trata de muitos pacotes que chegam de vários outros nós ao mesmo tempo). Claro, o pacote de regresso estará criptografado, terá todas as chaves dos nós atravessados e será o cliente Tor a remover todas as camadas de criptografia.

É importante frisar como tudo isso acontece de forma automática: o usuário limita-se a abrir o navegador e digitar o endereço do site que deseja visitar, como em qualquer outro navegador. O processo acima descrito acontece em frações de segundos, o que justifica um muito leve atraso na velocidade de conexão.

O nó de saída merece um pouco mais de atenção: de facto, este nó está na melhor posição para “farejar” o tráfego com o qual lida, mas apenas se o site que é o destino final não estiver servido pelo protocolo HTTPS, cada vez mais difundido. Este protocolo possibilita estabelecer uma conexão segura ao site para todos os dados trocados: o protocolo HTTPS aumenta muito a confidencialidade da comunicação.

Utilizando o sistema Tor para uma página internet https, todo o percurso do pedido feito por João é encriptado, tanto na ida quanto na volta.

Neste ponto deve ficar claro como Tor permite a navegação anónima e contornar a censura. Muitas vezes pensamos na censura como algo que é possível encontrar em Países estrangeiros: mas geralmente é o nosso ISP (Fornecedor de Acesso à Internet ou Provedor de Serviço Internet, em inglês Internet Service Provider) que está encarregado de censurar determinados sites e pode fazê-lo de várias maneiras (interceptando os DNS ou bloqueando o pedido de ligação para um IP específico, por exemplo). Um caso comum: tentar aceder a uma página de The Pirate Bay: a censura é aplicada directamente pelo nosso provedor do serviço internet. Mas, ao utilziar Tor, o nosso ISP não sabe qual site queremos visitar porque o pedido é criptado e, portanto, será difícil bloquear o acesso.

E se o nosso ISP decidir bloquear todas as conexões para a rede Tor? Este é o método usado em alguns Países (como a China e Irão) mas não é muito eficaz, só torna a ligação um pouco mais difícil mas não impossível. A maioria dos nós da rede Tor são públicos (portanto são simples de bloquear) mas isso não acontece no caso de alguns nó de entrada chamado Bridge (“Ponte”) que, como o nome indica, funcionam como uma ponte através os firewall dos ISP, conseguindo assim ultrapassar a filtragem.

As técnicas de censura são cada vez mais afinadas: mesmo sem conhecer todos os nós da rede Tor, em alguns casos conseguem reconhecer os pacotes de dados típicos de Tor. Isso acontece com as técnicas do Deep Packet Inspection que não conseguem conhecer o conteúdo dos pacotes (sempre encriptados) mas podem bloqueá-los.

Por esta razão, o projecto Tor foi enriquecido com 4 diferentes sistemas (chamados Pluggable Transports) para mascarar o tráfego Tor em direcção aos Bridges (as tais pontes), tornando quase impossível bloquear as ligações feita com a rede “cebola”.


A Darknet

A Darknet (ou Deep Net ou Internet Profunda) não se limita a ser um simples meio de transporte para anonimizar a nossa navegação, mas também oferece uma “internet paralela” que muitas vezes é chamada de Darknet. Cada nó, de facto, tem a capacidade de oferecer um serviço (chamado hidden service) que pode ser uma chat, um fórum, um blog ou um site. Os serviços ocultos são diferenciados pelo domínio de primeiro nível que é sempre “.onion” e geralmente têm um “nome” (domínio de segundo nível) de 16 caracteres, gerado aleatoriamente, contendo letras e números. Ao visitar um hidden service, os nós intermédios chegam a ser seis (3 decididos e conhecidos apenas pelo utilizador na altura de efectuar o pedido de ligação, como vimos antes, e 3 decididos e conhecidos apenas para o nó que hospeda o serviço), o que garante o anonimato absoluto para ambos e repele os ataques que visam de-anonimizar o server.

No caso de serviços oferecidos através Tor e que não precisam de anonimato (porque bem conhecidos, tal como o motor de pesquisa DuckDuckGo), foi introduzida na última versão de Tor a possibilidade de escolher uma conexão chamada single hop que permite (se a função estiver habilitada no servidor) reduzir o número de nós para 3, consentindo que o utilizador permaneça anónimo mas acelerando a conexão. Existem alguns serviços que, além dum site “regular”, oferecem um hidden service: se a intenção for utilizar um desses serviços através de Tor, optar por visitar o hidden service elimina o já visto problema do sniffing por parte do nó de saída. Obviamente isso custa em termos de velocidade, pois os nós utilizados são seis (a não ser que esteja habilitada a função single hop).

Obviamente, no caso da Darknet, valem os avisos bem conhecidos. Utilizar a Darknet é um pouco o equivalente a entrar nos bairros mais sinistros duma grande cidade, lugares onde é possível encontrar coisas úteis e interessantes, mas também muitos conteúdos não adequados para pessoas sensíveis: e se o Leitor acha que não é sensível, acredite que é sempre possível encontrar algo que faça mudar de ideia. Além disso, as tentativas de alguém para introduzir-se no nosso computador e roubar dados sensíveis é um fenómeno difundido, sendo a Darknet o lugares preferido pelos hackers também. Utilizar Tor neste caso é absolutamente imprescindível, mas pode não ser suficiente: além de baixar Tor é preciso saber utiliza-lo.


Mas Tor é seguro?

A grande pergunta é: mas Tor é realmente seguro para o anonimato? Há quem garanta isso, mesmo contra as agências de segurança americanas (como a NSA). Outros, pelo contrário, afirmam que não, que Tor não consegue garantir sempre o anonimato.

Qual é a verdade? Ambas.

Os ataques contra Tor são verdadeiros, podem funcionar, mas muitas vezes são particularmente  difíceis (falamos aqui de ultra-sons interceptados por um aplicativo no telefone mantido ao lado do computador) se não até impossíveis (como controlar todos os nós de entrada) para ser implementados: e, até o momento, não há notícias de uma deanonimização em grande escala de usuários Tor. Mesmo que esses métodos fossem implementados em grande escala, não seria possível efectuar um ataque direcionado contra um específico cliente Tor, seria o equivalente da pesca de arrasto, onde acabam na rede somente aqueles que não respeitam as instruções para o uso correcto de Tor.

Tudo isso é válido no caso do controle por parte das autoridades ou ISPs sobre os usuários da rede Tor. Em resumo: Tor funciona muito bem contra a censura.

Se analisarmos outro aspecto, aquele do anonimato na rede, que permite que um usuário “se esconda” ao visitar um site, o discurso é um pouco mais complicado.

Se considerarmos, por exemplo, o navegador Tor, existe um sistema que permite que os sites identifiquem um computador mais ou menos univocamente e, portanto, potencialmente desanonimizem o usuário que o utiliza. Esta técnica é conhecida como fingerprintings: e, em particular, a técnica de fingerprinting AudioContext consegue identificar aquelas que podemos definir como as “impressões digitais” que são única por cada computador.

A boa notícia? É que a partir da versão 7.0 Tor pode bloquear o fingerprinting AudioContext. Mas o exemplo demonstra aquela que é uma batalha sem fim entre quem tenta anonimizar a navegação e quem, pelo contrário, trabalha para obter o efeito contrário. É uma guerra que não terá fim e, após o AudioContext, de certeza que outros sistemas surgirão: mais uma razão para manter o nosso Tor sempre actualizado.

Em conclusão, podemos dizer que, se usado com as devidas precauções, Tor é actualmente uma das melhores alternativas livremente utilizáveis ​​para o anonimato e contra a censura na rede.


Como utilizar Tor

Os objectivos que Tor Browser está empenhado em alcançar são:

  • todas as conexões do navegador passam através Tor;
  • a sessão deve ser completamente separada de qualquer outro navegador activo no sistema (o que não é tão óbvio no caso de plugins e é por isso que no navegador Tor estão desabilitados por padrão);
  • evitar escrever os pormenores da navegação no disco rígido (ou pendrive), a menos de diferentes configurações escolhidas pelo usuário;
  • camuflagem do ambiente de execução de Tor (definindo diversas variáveis de ambiente) e proteger o usuário da possibilidade de ser identificado através de dados de navegação ou outros rastos. Mas isso pode não ser suficiente para garantir o anonimato se o usuário não fizer a sua parte e, portanto, é fundamental seguir algumas regras:

Manter Tor actualizado. Utilizar unicamente a versão Tor mais actualizada: é a mais segura e acerca disso não há muito para acrescentar (também porque o mesmo Tor relembra aos utilizadores a necessidade de efectuar a actualização).

Não personalizar Tor. Temas, extensões, marcadores (os bookmark), extra, plugin… esqueçam. Qualquer personalização efectuada irá tornar o nosso computador um pouco “diferente” dos outros o que, por sua vez, permite mais facilmente a de-anonimização. Abram o navegador Tor e deixem tudo como está: não precisa de mais nada. Um erro muito comum é redimensionar Tor para que ocupe todo o ecrã, tal como costumamos fazer com Chrome, Firefox e os outros navegadores: não façam isso, deixem tudo como está, não redimensionem.

O navegador Tor bloqueia os plugins como Flash, RealPlayer, Quicktime e outros porque estes podem ser manipulados para revelar o nosso verdadeiro endereço IP. Nunca activa-los. Da mesma forma, outros complementos ou plugins podem ignorar a rede Tor e prejudicar o anonimato e a privacidade.

Não usar Tor para descarregar Torrent. Se gosta de descarregar músicas e filmes, não utilize Tor porque a) isso sobrecarrega a infra-estrutura disponibilizada por voluntários com uma carga que não consegue suportar b) este tipo de tráfego é muitas vezes filtrado a partir do nó de saída c) é muito mais simples poder ser deanonimizados. Isso é: quem descarrega ficheiros Torrent com Tor há optimas probabilidades de perder o anonimato.

Isso porque os aplicativos de compartilha de arquivos Torrent ignoram as configurações proxy e fazem conexões directas mesmo quando são instruídos a usar só Tor. Mesmo que o aplicativo para descarregar os Torrent se conecte apenas por meio do Tor, o nosso verdadeiro endereço IP será enviado porque é assim que os Torrents funcionam: usar Tor para descarregar Torrent é um total sem sentido.

Utilizar apenas versões HTTPS dos sites. Tor vai criptografar o nosso tráfego para e dentro da rede Tor, mas a criptografia do tráfego para o site do destino final depende do site que entendemos visitar. Para ajudar a garantir a criptografia privada, Tor Browser inclui o HTTPS Everywhere, um extra que força o uso da criptografia HTTPS nos principais sites que o suportam.

Não abrir online documentos baixados com Tor. O browser Tor avisa o utilizador antes deste abrir os documentos que são manipulados por aplicativos externos: é importante não ignorar este aviso pois é preciso muito cuidado ao fazer o download de documentos via Tor (especialmente arquivos DOC e PDF, a menos que não seja utilizado o visualizador PDF integrado em Tor), pois esses documentos podem conter recursos da Internet que serão baixados fora do sistema Tor e isso revelará o endereço IP do nosso computador. Sob nenhuma circunstância é seguro usar BitTorrent e Tor juntos.


Além de Tor, o Porjecto disponibiliza outros recursos para anonimizar a navegação em internet. Vamos vê-los.

Tails

Tails é uma maneira mais complexa de utilizar Tor: de facto é um sistema operativo da família Linux (Debian) que pode ser instalado no computador ou, melhor ainda, utilizado a partir duma pendrive. Tails nasceu como projecto independente desenvolvido por um grupo de ativistas sociais e políticos franceses mas depois reconhecido pelo Tor Project.

Tails é projectado para funcionar como um sistema operativo live a partir dum DVD ou duma pendrive USB, de modo a não deixar nenhum rasto no computador onde é usado, transmitindo todo o tráfego através da rede Tor. Tails tem excelente documentação também em português e um guia interativo para a “instalação”. A complexidade em relação ao navegador Tor Brower é evidente (é preciso iniciar um sistema live e não um simples programa), mas a maior segurança oferecida está fora de questão, ao ponto que Edward Snowden utiliza Tails. De fato, com Tails é possível usar qualquer programa sem que este revele o IP da máquina onde Tails está a ser executado (isso também se aplica aos plugins do navegador, embora seja sempre melhor não usá-los). Pela mesma razão, é possível abrir os arquivos baixados sem medo de ser deanonimizados.

Do meu ponto de vista, Tails tem dois defectos:

  1. a instalação no computador não é simples, sendo preciso antes efectuar uma profunda “limpeza” da máquina por razões de segurança. Obviamente este problema é ultrapassado caso seja utilizada a modalidade live (DVD ou USB).
  2. Tails utiliza o desktop Gnome, o mesmo da última versão de Ubuntu, do qual não gosto nada. Mas há pessoas que o adoram, portanto é uma questão de gostos.

Em qualquer caso, já experimentei Tails (também na última versão, o recente Tails 3.8) e o sistema funciona muito bem. Sobretudo impressiona positivamente o roadmap dos desenvolvedores, sinal de que o percurso é bem claro na mente dos programadores.


Orbot e Orfox

Não podia faltar uma versão Android de Tor. Outro projecto nascido como independente, hoje faz parte da família Tor e, com Orfox (o navegador, sempre baseado em Firefox), nas últimas versões não precisa dos privilégios de root para criar uma VPN local e canalizar todas as conexões (ou somente aquelas de alguns aplicativos selecionados) através de Tor. Também neste caso, um guia interativo está disponível para a instalação e configuração inicial do Orbot.


TorBirdy

É um add-on para o famoso client de e-mail Thunderbird. Permite enviar e-mails através da rede Tor, escondendo o nosso endereço IP (que é muitas vezes incluído no cabeçalho do e-mail e, portanto, visível para o destinatário). muito simpático e cómodo.

Todos estes e outros projectos Tor podem ser encontrados nesta página.


Links úteis

Para acabar, eis os links para descarregar os aplicativos que são tratados neste guia.

 

Fonte: TurboLab, Tor Project

5 Replies to “Guia: o Projecto Tor”

  1. Pergunto:

    A diferença entre usar Tor ou VPN (como Kaspersky VPN, p.ex.) seria basicamente a criptografia utilizada no sistema Tor?

    1. Nuno já explicou!

      VPN: server centralizados, conexões criptadas
      Tor: rede alternativa, dados criptados

      A rede VPN tem um problema se o objectivo for o anonimado: as VPNs são constituídas por uma rede de servidores centralizados que, consequentemente, são facilmente identificáveis, rastreáveis e controlados. Apesar das várias garantias, às vezes não garantem o que prometem por razões de lucro. As agências governamentais como a CIA ou a NSA têm as ferramentas para descriptografar muito sistemas comerciais de criptografia e aceder sem esforço a VPNs em todo o mundo através do uso de softwares específicos usados para a monitorização global (como Xkeyscore).

      Esses serviços secretos também podem impor por lei que as empresas de tecnologia dos EUA (como Google, Facebook, Microsoft, Apple, etc.) abram backdoors nas VPN ou utilizem servidores para os agentes do governo.

      No caso de Tor isso não acontece. Mas, como disse Nuno, as VPN são óptimas para navegar sem restrições e são mais rápidas (o navegador Opera oferece uma VPN grátis, já embutida no browser). Tor é mais lento e é para proteger o anonimato.

      Abraçooooooo!!!!

  2. Não. VPN é o que uso no movel/cel. Para poder aceder a conteúdo restrito ou bloquado pelo ISP ou exclusivo para certos países/zonas, basicamente aceder a conteudos bloquados ao local onde estou. O Tor já é uma rede em si baseada na criptografia da entrada a saida, dai para torrents vpn sim, tor não obviamente para p2p(facil identificar assim como certos tipos de plugins, o anonimato é a base). Só o tor e através de acesso onion .onion(mais velocidade melhor e cpu mais seguro que android, por experiência própria, mas funciona)
    Vpn diferente e muito de rede exclusivamente criptografada desde acesso a terminar sessão. O outro vpn é para contornar as proibições da rede/isp etc e dá muito jeito.
    Se é a mesma criptografia usada, no caso pode ser algo irrelevante. São coisas distintas.

    Mas isso é melhor o prof. Max explicar

Obrigado por participar na discussão!

This site uses User Verification plugin to reduce spam. See how your comment data is processed.

Este site utiliza o Akismet para reduzir spam. Fica a saber como são processados os dados dos comentários.

%d bloggers like this: