A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

CROWDS Wenceslau Elias Marcomino Prof. Dr. Sergio Donizetti Zorzo Universidade Federal de São Carlos Departamento de Computação Tópicos em Sistemas Distribuídos.

Apresentações semelhantes


Apresentação em tema: "CROWDS Wenceslau Elias Marcomino Prof. Dr. Sergio Donizetti Zorzo Universidade Federal de São Carlos Departamento de Computação Tópicos em Sistemas Distribuídos."— Transcrição da apresentação:

1 CROWDS Wenceslau Elias Marcomino Prof. Dr. Sergio Donizetti Zorzo Universidade Federal de São Carlos Departamento de Computação Tópicos em Sistemas Distribuídos e Redes: Privacidade e Personalização

2 Agenda Aspectos de Anonimato Crowds Funcionamento Análise de Segurança Segurança na Implementação Riscos e Limitações Aspectos Políticos de Uso Tor / Anonymizer / Mix-Net / Crowd Bibliografia

3 Aspectos de Anonimato [Reiter & Rubin, 1998] Consideram três aspectos em comunicações anônimas Anonimato de Comunicação Emissor anônimo Receptor anônimo Emissor e Receptor sem relação Atacantes Buscam quebrar o anonimato Grau de anonimato

4 Aspectos de Anonimato Grau de anonimato Absolute privacy – não identifica a presença de comunicação Beyond suspicion – identifica presença de mensagem Probable innocence – igualmente ser ou não o emissor Possible innocence – probabilidade do emissor ser outro qualquer Exposed – probabilidade de quem é o emissor Provably Exposed – identifica e prova o emissor absolute privacy beyond suspicion probable innocence possible innocence exposedprovably exposed

5 Crowds Crowds – Multidão Coleção dinâmica de usuários que trabalham de forma cooperativa para auxiliar cada um dos seus membros a se manter anônimo Cada usuário no sistema é identificado por um Jondo (John Doe) Mensagem viaja por um conjunto de usuários até atingir o servidor final

6 Crowds Ataques considerados Escuta local Atacante observa completamente a comunicação. Desprotegido quando servidor final está dentro da LAN Membros da Crowd Membros que não obedecem ao protocolo Servidor final Servidor para a qual a comunicação está direcionada Não pode conhecer a comunicação estre os membros

7 Crowds Ataques não atendidos Denial-of-service O membro não retransmite a mensagem e interrompe a comunicação. São identificáveis, não oferecem risco ao sistema e o membro é eliminado da lista do emissor. Comportamento Falha Abandono Alteração de informação O membro recebe a mensagem de outros membros ou do servidor final e altera seu conteúdo. O anonimato não é quebrado. Difícil detecção.

8 Crowds - Composição Jondo – membro da crowd Representa o usuário na crowd; Executado localmente na maquina do usuário; Configurado no browser como web proxy; Passando a controlar a comunicação HTTP;

9 Crowds - Composição Blender – administrador da crowd Concede liberação para novos membros; Concentra a lista dos membros; Fornece chaves para a comunicação entre os membros; Por medida de segurança pode ser replicado; Não participa como membro da crowd; Seu comprometimento não leva ao colapso da rede;

10 Crowds Lista de Membros Todo jondo possuí uma lista de membros; No aceite da participação do jondo na crowd, o blender envia ao jondo a lista de membros; Tal lista pode ser atualizada mediante aviso do blender; A medida que o jondo verifica a não existência de um outro membro este é eliminado da lista; Com isso as litas dos jondos podem diferir entre si;

11 Crowds Funcionamento 1/3 O usuário inicia o jondo localmente; Jondo solicita admissão ao blender na crowd; O jondo ao ser aceito recebe A atual sociedade da crowd; Uma lista dos membros da crowd; Conjunto de chaves comuns; Aguarda liberação do blender para iniciar sua participação na crowd; Uma vez admitido o usuário informa nas configurações de proxy de seu web browser o nro. ip e a porta onde o jondo está funcionando;

12 Crowds Funcionamento 2/3 Requisições subsequentes do usuário são encaminhadas ao jondo; Para cada requisição o jondo escolhe de forma randômica um outro membro e encaminha a mensagem. O próprio membro iniciador pode ser selecionado aleatoriamente e receber a mensagem; Cada membro ao receber a mensagem define aleatoriamente se a mensagem será encaminhada a outro jondo ou ao servidor final; Se a mensagem tiver que ser enviada a outro jondo, o sistema sorteia aleatoriamente um jondo para o envio da mensagem;

13 Crowds Funcionamento 3/3 A comunicação entre dois membros é encriptada usando uma chave conhecida somente entre eles; O jondo que encaminhar a mensagem ao servidor final aguarda pela resposta e a retransmite; O caminho formado no envio da mensagem é o mesmo utilizado para o retorno; O caminho permanece estático para futuras requisições do mesmo emissor; Eventualmente os caminhos são recriados;

14 Novo jondo ? Crowds Definição do Caminho Jondo recebe requisição Lança moeda Escolhe outro Jondo aleatórimente Envia requisição servidor final Seleciona-se jondos até a mensagem ser enviada ao servidor final. O retorno é feito pelo mesmo caminho de forma inversa. O caminho é gravado e reutilizado para novas requisições do iniciador. Comunicação encriptada com chave única entre os jondos. Sim Não

15 Crowds Definição do Caminho Jondos são selecionados aleatoriamente até a mensagem ser enviada ao servidor final; O lançamento da moeda é tendencioso ao envio da requisição ao servidor final. pf > ½ Probabilidade de forward (pf) é um parâmetro definido no sistema;

16 Crowds Impactos da probabilidade de forward Tamanho do caminho. pf -> 1 = caminho pequeno pf -> ½ = caminho longo Propriedades de anonimato oferecidas pelo sistema pf -> 1 = aumenta o número de membros em colaboração suportado pf -> ½ = diminui o número de membros em colaboração suportado

17 (1) client,request receive_request() (2) if (client = browser) (3) sanitize(request) /* strip cookies and identifying headers */ (4) if (my_path_id = _|_) /* if my path id is not initialized... */ (5) my_path_id new_path_id() (6) next[my_path_id] R Jondos (7) forward_request(my_path_id) (8) else /* client is a jondo */ (9) path_id remove_path_id(request) /* remove incoming" path id */ (10) if (translate[path_id] = _|_)/* incoming" path id is new */ (11) coin coin_flip(pf ) /* tails with probability pf */ (12) if (coin = heads) (13) translate[path_id] submit' (14) else (15) translate[path_id] new_path_id() /* set outgoing" path id */ (16) next[translate[path_id]] R Jondos /* select next jondo at random */ (17) if (translate[path_id] = submit') (18) submit_request() (19) else (20) forward_request(translate[path_id]) (21) subroutine forward_request(out_path_id) (22) send out_path_id || request to next[out_path_id] (23) reply await_reply( ) /* wait for reply or recognizable jondo failure */ (24) if (reply = jondo failed') /* jondo failed */ (25) Jondos Jondos \ {next[out_path_id]} /* remove the jondo */ (26) next[out_path_id] R Jondos /* assign a new random jondo for this path */ (27) forward_request(out_path_id) /* try again */ (28) else /* received reply from jondo */ (29) send reply to client (30) subroutine submit_request () (31) send request to destination(request) /* send to destination web server */ (32) reply await reply(timeout) /* wait for reply, timeout, or server failure */ (33) send reply to client /* send reply or error message to client */

18 Crowds Exemplo de Caminhos 1 -> 5 -> Server(1) 2 -> 6 -> 2 -> Server(2) 3 -> 1 -> 6 -> Server(3) 4 -> 4 -> Server(4) 5 -> 4 -> 6 -> Server(5) 6 -> 3 -> Server(6)

19 Escuta Local O emissor está exposto ao atacante; O atacante observa o envio da mensagem(cifrada); Não é capaz de determinar o receptor; A probabilidade do iniciador enviar a mensagem ao servidor final é de 1/n (nro. elementos na crowd quando o caminho foi criado); P(beyond syspicion) -> 1 n -> Análise de Segurança

20 Servidor Final O anonimato do servidor é impossível; O anonimato do emissor é forte; Tanto o servidor final quanto membros da crowd tem igual probabilidade de receber a mensagem do iniciador; Desta maneira crowd garante beyond suspicion ao iniciador; O aumento de membros na crowd não oferece segurança adicional de anonimato do ponto de vista do servidor final;

21 Análise de Segurança Membros em Colaboração Membros corrompidos infiltrados na crowd; Todo conteúdo da mensagem pode ser analisada; Objetiva identificar o iniciador da mensagem; Todos os membros não colaborantes possuem igual probabilidade de ser o iniciador. Porém o predecessor de um colaborante possuí uma chance maior de ser o iniciador;

22 Análise de Segurança Ataques de tempo Resultado da estrutura HTML; URL's contidas em web pages são requisitadas; Ataques de tempo pelos jondos em colaboração; Aguarda o pedido da URL e verifica o tempo; Solução O iniciador não requisita URL's o jondo final se encarrega de verificar as URL's requisitá-las e transmiti-las;

23 Análise de Segurança Caminhos dinâmicos x estáticos Dinâmicos Balanceamento de carga entre os membros; Caminhos dinâmicos diminuem segurança ( ligação de caminhos distintos com mesmo conteúdo ) Estáticos Oferece segurança de anonimato Caminhos são alterados com frequência Falhas são detectadas no caminho; Novos jondos se juntam a crowd; Se os caminhos permanecerem estáticos o novo caminho criado pode ser associado ao novo membro; join commits

24 Propriedades de Anonimato

25 Segurança na Implementação Novos membros não podem ser acrescentados de forma arbitrária; Permite a criação de grande número de jondos colaboradores; Definição de novos caminhos; Join-commit, parâmetro configurável; Eventualmente o blender envia esta mensagem aos seu membros Membros eliminam caminhos antigos; Permite a entrada de novos membros;

26 Segurança na Implementação Controlar a quantidade de membros na crowd; Criação de crowd com pequena quantidade de membros conhecidos e dispostos a participar da crowd; Crowd pública. Fazer a identificação individual de cada membro através de uma conta junto ao blender; E cada conta poderá ter apenas um jondo participante na crowd (ip); Atacantes deverão ter diferentes identidades junto ao blender e sendo executados em locais distintos;

27 Riscos e Limitações Qualquer membro pode enviar a mensagem ao servidor final que por sua vez pode armazenar o IP do jondo como o iniciador; Crowds não oferecem proteção ao conteúdo da mensagem. Algumas comunicações expõe dados do usuário. Deve-se desabilitar o jondo para realizar tais comunicações. Usuário pode baixar e executar programas que conectam diretamente a outros servidores. Não passam pelo jondo e expõe o usuário. Ex: Applet e ActiveX; Recomenda-se desabilitar estas opções no browser;

28 Riscos e Limitações Códigos Javascript oferecem abertura para ataques de tempo; SSL; Último jondo deve manter a conexão SSL com o servidor; Crowds elevam modestamente o tráfego de dados na rede; O desempenho está relacionado com a quantidade de imagens no conteúdo das mensagens; Jondo é executado na máquina do cliente consumindo recursos;

29 Riscos e Limitações Firewalls Jondos são identificados pelo ip e porta; Firewalls limitam o número de portas que podem receber conexões; A principio não permitirão a comunicação de jondos; Caso permita a saída, um jondo externo pode tentar conectar novamente com seu predecessor e caso a conexão falhe, conclui-se que o iniciador da mensagem deve pertencer a este domínio; Crowd rodando atrás de firewall não possuem o mesmo grau de anonimidade que os que não usam;

30 Aspectos Políticos no Uso Com anonymizer, servidores de e-commerce passam a recusar as requisições destes clientes; Devido a não identificação do iniciador, crowds possuí restrições com servidores de aplicações de e-commerce; Clientes utilizam de números de cartões de crédito roubados; Não identificação do IP de origem; Companhias proíbem o uso de Crowds, pois desejam e tem o direito de monitorar o acesso de seus funcionários;

31 TOR Tor é um conjunto de ferramentas para um amplo grupo de organizações e particulares que desejam aumentar a sua segurança na Internet. Usar Tor pode ajudar a tornar anónima a navegação e publicação na Web, instant messaging, IRC, SSH, e outras aplicações que usem o protocolo TCP. Tor também disponibiliza uma plataforma para os programadores de software, criarem novas aplicações com funções de anonimato, segurança e privacidade já incorporadas

32 TOR

33

34

35 Anonymizer Web site com proxy para requisições WEB; A requisição do usuário passa pelo proxy; O proxy faz a requisição ao servidor final e repassa ao requisitante; Proteção contra o servidor final que não identifica o emissor;

36 Crowds - Anonymizer Considerações Anonymizer Único ponto onde um ataque ou uma falha compromete todos os usuários; Anonymizer tem acesso a toda comunicação do usuário; Sistema deve ser confiável, não divulgar/utilizar a informação; Crowds Crowds possuí diversos pontos para o encaminhamento das requisições; Atacante deve monitorar todas comunicações entre todos os jondos ou a maquina de determinado usuário;

37 Crowds – Mix-Net Considerações Mix-Net Coleção de servidores dedicados; Encripta a mensagem em cada nó; Envio desordenado da mensagem; Não indicado para aplicações de tempo-real; Crowds Melhor adaptação em comunicações síncronas ( Web transactions ); Membros dinâmicos;

38 Referências Chaum, D., "Untraceable Electronic Mail, Return Addresses, and Digital Pseudonyms", Communications of the ACM, 24 (2). 1981, pp , htmlhttp://world.std.com/~franl/crypto/chaum-acm html Denning, D. et.al. To tap or not to tap. Commun ACM 36, 3 (Mar. 1993), Diffie, W., and Landau, S. Privacy on the Line: The Politics of Wiretapping and Encryption. MIT Pres, Cambridge, Mass., Droms, R. Dynamic Host Configuration Protocol. RFC-1541, Oct. 27, Gabber, E., Gibbons, P., Matias, Y., and Mayer, A. How to make personalized Web browsing simple, secure, and anonymous. In Proceedings of Financial Cryptography '97 (1997).

39 Referências Garfinkel, S. and Spafford, G. Web Security and Commerce. O'Reilly, Reiter, M.K., Anupam, V., and Mayer, A. Detecting hit-shaving in click-through payment schemes. In Proceedings of the 3 rd USENIX Workshop on Eletronic Commerce. (Aug. 1998), Reiter, M., Rubin, A., "Anonymous Web Transactions with Crowds", Communications of the ACM, Vol.42, No.2, February 1999, pp Syverson, D., Goldschlag, M., and Reed, M.G. Anonymous connections and onion routing. In Proceedings of the 1997 IEEE Symposium on Security and Privacy. (May 1997).


Carregar ppt "CROWDS Wenceslau Elias Marcomino Prof. Dr. Sergio Donizetti Zorzo Universidade Federal de São Carlos Departamento de Computação Tópicos em Sistemas Distribuídos."

Apresentações semelhantes


Anúncios Google