Ulysses Vilela
Trabalho Final de Redes II
Profs. Luís Henrique e Otto Duarte - GTA/UFRJ
Sistema que propõe aumentar a privacidade de
usuários e serviços
2003
2004
2006
US Naval
Research
Lab
EFF
ONG sem fins
lucrativos
Agências do governo
Investigar sites “à paisana”
Impedir que o endereço da CIA apareça
no log do site
Criar infra-estrutura em incursões
Transmitir informação sem chamar atenção
Jornalistas: liberdade de expressão
Em certos lugares voce pode morrer por
criticar o líder do Estado
Recomendação do Repórteres Sem Fronteira
Esconder a localização geográfica
$60 / mês: média do preço do log de um usuário [2]
Intranet
Email pessoal
Site censurado
Disque-denúncia
Opinião política/religiosa
Verificar políticas de firewall
Contornar proxies
Estratégia empresarial
E muito mais…
“Os malvados já
possuem algum tipo
de anonimização de
qualquer forma…”
Inimigo: análise de tráfego
Encherga uma parte da rede
Pode alterar, atrasar excluir tráfego
Pode participar do Tor
Pode comprometer o Tor
Inimigo: análise de tráfego
Vazamento de DNS
Análise fim-a-fim
Eavesdrop dentro do Tor
Inerências do protocolo
Flash, JavaScript
Rede
Sobreposta
Onion
Proxy
Circuito Virtual
Onion
Router
Unidade de comunicação
Células de tamanho fixo
Controle:
Relay:
Figura: [1]
João obtém uma lista de nós da rede Tor
João
Tor
Servidor de
Diretório
Não encriptado
João
Figura: [1]
João solicita a criação de um circuito com OR1
João
OR1
OR2
Tor
Servidor de
Diretório
Encriptado
Não encriptado
João
Figura: [1]
João solicita estender o circuito para OR2
João
OR1
OR2
Tor
Servidor de
Diretório
Encriptado
Não encriptado
João
Figura: [1]
João solicita iniciar uma conexão TCP com website
João
OR1
Tor
OR2
website
Servidor de
Diretório
Encriptado
Não encriptado
João
Figura: [1]
João e website trocam dados
João
OR1
Tor
OR2
website
Servidor de
Diretório
Encriptado
Não encriptado
João pode escolher o circuito e o nó de saída
Criptografia incremental
Circuito 1
Verificação de integridade no último
Circuito 2
nó
Circuito 3
Vazamento de DNS
o
o
Suporte à DNS via Tor
Resolução feita pelo nó de saída
Usuários anônimos
Serviços escondidos
Esconder o endereço IP (localização)
Pontos de encontro (rendezvous point)
Registro em um servidor de
diretório (descoberta)
Qualquer nó da rede pode
registrar serviços
IP? DNS?
Top-level domain .onion
Carlos elege pontos de introdução
João
IP1
Tor
IP2
Carlos
Servidor de
Diretório
Circuito Tor
Carlos anuncia seu serviço para o servidor de diretório
João
IP1
IP2
Tor
Servidor de
Diretório
Carlos
IP{1,2}
Chave
Endereço
Sumário
Circuito Tor
João descobre o serviço de Carlos
João
IP1
Tor
IP2
Carlos
Servidor de
Diretório
Circuito Tor
João elege um rendezvous point != IP{1,2}
João
IP1
Tor
IP2
Carlos
RP
Servidor de
Diretório
Circuito Tor
João se conecta em IP1, gera um segredo e criptografa
a mensagem para que Carlos possa decriptá-la
João
XYZ
RP
IP1
IP2
Tor
RP
Carlos
XYZ
RP
Servidor de
Diretório
Circuito Tor
Se Carlos aceitar a conexão, ele conecta em RP e
confirma João com base no segredo
João
XYZ
RP
IP1
Tor
RP
IP2
Carlos
XYZ
RP
Servidor de
Diretório
Circuito Tor
Proxy Anônimo
◦ Deve-se confiar no proxy
◦ Menos robusto à análise de tráfego
◦ Simples, intuitivo e popular
[5]
Peer-to-Peer
◦ Nó é relay e usuário
◦ Foco em comunicação interna à rede sobreposta
◦ Multicast e broadcast
Botnet
◦ Zombie
computers
◦ Agente controlador
◦ Spam, DoS, phishing, geração de tráfego
◦ Conficker:
◦ 6,000,000,000 nós [3]
Teste de anonimização
Teste de taxa e latência
◦
◦
◦
◦
Windows 7 Professional x64
Firefox
Link Velox 1Mbps
Tor, Vidalia, Privoxy, TorButton
Vidalia: interface de gerenciamento
Vidalia
Endereço IP está sendo escondido?
Sem Tor
Com Tor
Qual a perda de taxa e latência inserida pelo Tor?
SpeedTest [4]
Sem Tor
Com Tor
Taxa
◦ Média: 0.23Mb/s
◦ St. Dev.: 0.06Mb/s
◦ 40 amostras
Latência
◦ Média: 2735ms
◦ St. Dev.: 981ms
◦ 40 amostras
Propõe melhorar a privacidade de seus usuários
Permite disponibilizar serviços escondidos
Rede sobreposta descentralizada, escalável
Eficácia contra análise de tráfego (pelo menos
parcial)
De acordo com os testes:
◦ Funciona
◦ Baixa eficiência – uso inviável
[1] Dingledini, R., Mathewson, N., Syverson, P. (2004). Tor: The Second-Generation Onion
Router. In Proceedings of 13rd USENIX Annual Technical Conference (Usenix’04).
[2] Compete CEO - Seeking Alpha. http://seekingalpha.com/article/29449-compete-ceo-ispssell-clickstreams-for-5-a-month. Último acesso: 23-Novembro-2009.
[3] Conficker Working Group. http://www.confickerworkinggroup.org/wiki/. Último acesso: 09Novembro-2009.
[4] SpeedTest. http://www.speedtest.net. Último acesso: 23-Novembro-2009.
[5] Anonymouse. http://anonymouse.org. Último acesso: 09-Novembro-2009.
Descreva o problema do Tor com DNS e explique
como contorná-lo.
Se a resolução for feita por fora do Tor, a privacidade do
usuário é exposta. Se a aplicação não suportar SOCKS5, que
permite a resolução via proxy, deve-se “torificar” a aplicação,
filtrando o pedido e o resolvendo no nó de saída da rede Tor.
Descreva o problema do Tor com DNS e explique
como contorná-lo.
Se a resolução for feita por fora do Tor, a privacidade do
usuário é exposta. Se a aplicação não suportar SOCKS5, que
permite a resolução via proxy, deve-se “torificar” a aplicação,
filtrando o pedido e o resolvendo no nó de saída da rede Tor.
Quais as vantagens e desvantagens da anonimização
na camada TCP?
Se a resolução for feita por fora do Tor, a privacidade do
usuário é exposta. Se a aplicação não suportar SOCKS5, que
permite a resolução via proxy, deve-se “torificar” a aplicação,
filtrando o pedido e o resolvendo no nó de saída da rede Tor.
Quais as vantagens e desvantagens da anonimização
na camada TCP?
Vantagens: Facilidade de implementação (SOCKS) e
implantação (não precisa mexer no kernel).
Desvantagens: Tudo que não é TCP não é suportado (UDP,
ICMP); não faz normalização de protocolo.
Por que o Tor falha contra um adversário capaz de
realizar análise fim-a-fim? Cite uma forma de
contornar esse problema.
Se a resolução for feita por fora do Tor, a privacidade do
usuário é exposta. Se a aplicação não suportar SOCKS5, que
permite a resolução via proxy, deve-se “torificar” a aplicação,
filtrando o pedido e o resolvendo no nó de saída da rede Tor.
Por que o Tor falha contra um adversário capaz de
realizar análise fim-a-fim? Cite uma forma de
contornar esse problema.
O adversário pode correlacionar o tráfego nas duas pontas e
descobrir a identidade do usuário.
Medir o volume nas pontas – utilizar padding.
Determinar um padrão quando A fala com B – induzir atraso.
Por que o Tor falha contra um adversário capaz de
realizar análise fim-a-fim? Cite uma forma de
contornar esse problema.
Se a resolução for feita por fora do Tor, a privacidade do
usuário é exposta. Se a aplicação não suportar SOCKS5, que
permite a resolução via proxy, deve-se “torificar” a aplicação,
filtrando o pedido e o resolvendo no nó de saída da rede Tor.
Por que o Tor falha contra um adversário capaz de
realizar análise fim-a-fim? Cite uma forma de
contornar esse problema.
O adversário pode correlacionar o tráfego nas duas pontas e
descobrir a identidade do usuário.
Medir o volume nas pontas – utilizar padding.
Determinar um padrão quando A fala com B – induzir atraso.