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.