Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

a comunicação anônima em redes P2P Parte1, Notas de estudo de Engenharia Unificada Básica

Apostilas de Engenharia de Automação e Sistemas da Universidade Federal de Santa Catarina UFSC sobre um protocolo para comunicação anônima em redes par a par (p2p), Conceitos Básicos de Segurança, Vulnerabilidades, Ameaças e Ataques, Políticas, Modelos e Mecanismos de Segurança.

Tipologia: Notas de estudo

2013

Compartilhado em 11/12/2013

Futebol13
Futebol13 🇧🇷

4.5

(186)

450 documentos

Pré-visualização parcial do texto

Baixe a comunicação anônima em redes P2P Parte1 e outras Notas de estudo em PDF para Engenharia Unificada Básica, somente na Docsity! ROBSON COSTA RPM: UM PROTOCOLO PARA COMUNICAÇÃO ANÔNIMA EM REDES PAR A PAR (P2P) FLORIANÓPOLIS 2008 UNIVERSIDADE FEDERAL DE SANTA CATARINA PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA DE AUTOMAÇÃO E SISTEMAS RPM: UM PROTOCOLO PARA COMUNICAÇÃO ANÔNIMA EM REDES PAR A PAR (P2P) Dissertação submetida à Universidade Federal de Santa Catarina como parte dos requisitos para a obtenção do grau de Mestre em Engenharia de Automação e Sistemas. ROBSON COSTA Florianópolis, agosto de 2008. AGRADECIMENTOS A Deus, por sempre iluminar meu caminho colocando pessoas maravilhosas nele. Ao Departamento de Automação e Sistemas (DAS) pela confiança e apoio ao me aceitarem como administrador de sistemas. À CAPES, pelo apoio financeiro, pois sem ele a realização deste trabalho não seria possível. Ao meu orientador Joni da Silva Fraga, pela orientação, compreensão, questionamentos e princi- palmente pela sua amizade e confiança em mim depositadas. Ao meu coorientador Rafael Rodrigues Obelheiro, pela imensa orientação, inúmeras idéias proporci- onadas, paciência em discutí-las, questionamentos e principalmente pela sua amizade e confiança em mim depositadas. Aos colegas Davi da Silva Böger e Emerson Ribeiro de Mello pelas valiosas ajudas com o simu- lador. Aos colegas administradores Paulo Mafra e Rodrigo, pelas várias idéias trocadas. Aos amigos que fiz em minha estada no DAS, em particular aos membros do "Sindicato do LCMI", André Tahim, Augusto Carlson, Benedito Rodrigues (Bene), Bernardo Ordoñez (Maradona), Car- los Costa (Carlão), Douglas Bertol (Gaúcho), Ebrahim Youssef, Helton Scherer, Jim Lau, Marcos Camada, Marcus Americano, Nardênio Martins, Tiago Semprebom, Tito Santos, Victor Barasuol (Chupisco), Warody Lombardi, além daqueles que porventura esqueci. Aos professores do DAS, pelo seu comprometimento com a atividade acadêmica e pela sua ami- zade, especialmente a Rômulo Silva de Oliveira, Jean-Marie Farines, Carlos Barros Montez, Werner Kraus Jr., Leandro Buss Becker e Eugênio de Bona Castelan Neto. Ao meu avô Santiago e meus amigos Vitor Klein Jr. e Avelar Fortunato, pelas inúmeras estadias. Aos meus pais (Gentil e Iara) e irmãos (Átila e Ádson) que sempre estiveram ao meu lado em to- das as minhas caminhadas; e nesta uma vez mais. São o bem mais precioso que possuo. À minha namorada Ana Paula, pelo imenso apoio e pela compreensão das diversas horas ausente. iv Resumo da Dissertação apresentada à UFSC como parte dos requisitos necessários para obtenção do grau de Mestre em Engenharia Automação e Sistemas. RPM: UM PROTOCOLO PARA COMUNICAÇÃO ANÔNIMA EM REDES PAR A PAR (P2P) Robson Costa Agosto/2008 Orientador: Joni da Silva Fraga, Dr. Área de Concentração: Automação e Sistemas Palavras-chave: Comunicação Anônima, Redes de Computadores e P2P Número de Páginas: xiv + 71 O anonimato é um preocupação crescente nos atuais sistemas baseados na Internet. As redes de anonimato tradicionais, baseadas em misturadores ou multicast, possuem limita- ções de confiabilidade, confidencialidade e desempenho. A ampla escala de redes P2P pode ser usada para minimizar tais limitações, mas essas redes têm de lidar com o fenômeno do churn (entrada e saída de nós na rede) e a menor confiabilidade dos nós individuais (devido ao roteamento na camada de aplicação). Esta dissertação apresenta o RPM (Random Path + Multicast), um protocolo para comunicação anônima em sistemas P2P. Além do anonimato, o RPM tem por objetivo a resistência ao churn e a redução do custo computacional normal- mente associado a sistemas de anonimato. Para o seu desenvolvimento, primeiramente foi realizada uma revisão bibliográfica de grande parte da literatura referente ao assunto abor- dado. Posteriormente foram definidos os objetivos gerais e específicos do projeto visando definir assim sua estrutura funcional. Ao final, foram realisados diversos testes através de simulações, os quais demonstraram que o RPM atinge eficazmente seus objetivos, especial- mente com respeito à resistência ao churn. v Abstract of Dissertation presented to UFSC as a partial fulfillment of the requirements for the degree of Master in Automation and Systems Engineering. RPM: A PROTOCOL FOR ANONYMOUS COMMUNICATION IN PEER TO PEER (P2P) NETWORKS Robson Costa August/2008 Advisor: Joni da Silva Fraga, Dr. Area of Concentration: Automation and Systems Engineering Key words: Anonymous Communication, Computer Networks and P2P Number of Pages: xiv + 71 Anonymity is a growing concern in recent Internet-based systems. Traditional mix- and multicast-based anonymity networks have a number of reliability, confidentiality, and performance issues. The large scale of P2P networks can be leveraged to minimize such is- sues, but these networks have to deal with node churn (the join/leave of nodes in the network) and the lower trustworthiness of individual nodes (had to routing in the application layer). In this dissertation we introduce RPM (Random Path + Multicast), a protocol for anonymous communication in P2P systems. In addition to anonymity, RPM aims at being resistant to churn and lowering the overhead usually found in anonymity systems. For its development, first a bibliographical revision of great part of referring literature to the boarded subject was carried through. Later the general and specific objectives of the project had been defined aiming at to define its functional structure thus. To the end, diverse tests through simulations had been realized, which had demonstrated that the RPM is effective in satisfying all these requirements, especially with respect to churn resistance. vi 3.3 Modelos de Anonimato . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.3.1 Rede de Misturadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.3.2 TOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.3.3 Tarzan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.3.4 Crowds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.3.5 Hordes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.3.6 P5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.3.7 MuON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.3.8 Rumor Riding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.4 Comparação entre os sistemas de anonimato . . . . . . . . . . . . . . . . . . . . . . 37 3.5 Conclusão do Capítulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 4 RPM: Um protocolo para comunicação anônima em redes par a par (P2P) 41 4.1 Objetivos do Protocolo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.2 Visão Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4.3 Premissas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.4 Formato das mensagens RPM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 4.5 Envio das mensagens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 4.6 Processamento das mensagens nos nós . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.7 Mensagens de Resposta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.8 Inicialização do Fluxo de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.9 Conclusão do Capítulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 5 Experimentos e Resultados 50 5.1 Resultados de Simulação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 5.1.1 Descrição dos Experimentos . . . . . . . . . . . . . . . . . . . . . . . . . . 50 5.2 Resultados Obtidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 ix 5.2.1 Tráfego Médio Observado por Nó . . . . . . . . . . . . . . . . . . . . . . . 51 5.2.2 Tráfego Máximo Observado por Nó . . . . . . . . . . . . . . . . . . . . . . 52 5.2.3 Influência do Churn no Tráfego Médio Observado . . . . . . . . . . . . . . 53 5.2.4 Overhead de Transmissão . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 5.2.5 Confiabilidade Média da Rede . . . . . . . . . . . . . . . . . . . . . . . . . 55 5.2.6 Latência . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 5.3 Análise qualitativa da segurança . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 5.3.1 Anonimato oferecido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 5.3.1.1 Anonimato do Emissor . . . . . . . . . . . . . . . . . . . . . . . 56 5.3.1.2 Anonimato do Receptor . . . . . . . . . . . . . . . . . . . . . . . 57 5.3.2 Avaliação Perante Ataques . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 5.3.2.1 Ataque de Temporização . . . . . . . . . . . . . . . . . . . . . . 58 5.3.2.2 Ataque de Inundação . . . . . . . . . . . . . . . . . . . . . . . . 58 5.3.2.3 Ataque de Interseção . . . . . . . . . . . . . . . . . . . . . . . . 59 5.3.2.4 Ataque de Negação de Serviço . . . . . . . . . . . . . . . . . . . 59 5.3.2.5 Ataque de Marcação de Mensagens . . . . . . . . . . . . . . . . . 60 5.3.2.6 Ataque à Codificação da Mensagem . . . . . . . . . . . . . . . . 60 5.3.2.7 Ataque de Volume de Mensagens . . . . . . . . . . . . . . . . . . 61 5.3.2.8 Ataque de Repetição da Mensagem . . . . . . . . . . . . . . . . . 61 5.3.2.9 Ataque de Predecessor . . . . . . . . . . . . . . . . . . . . . . . . 62 5.3.2.10 Ataque de Descoberta . . . . . . . . . . . . . . . . . . . . . . . . 62 5.3.2.11 Comparação com outros modelos . . . . . . . . . . . . . . . . . . 63 5.4 Conclusão do Capítulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 6 Conclusão 65 Referências Bibliográficas 67 x Lista de Figuras 2.1 Categorias gerais de ataque [Stallings, 2000] . . . . . . . . . . . . . . . . . . . . . . 8 2.2 Monitor de referência . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.1 Exemplo de comunicação na abordagem mix-based . . . . . . . . . . . . . . . . . . 20 3.2 Exemplo de comunicação na abordagem multicast-based . . . . . . . . . . . . . . . 22 3.3 Rede Overlay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.4 Onion Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.5 Exemplo de rede TOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.6 Exemplo de rede Crowd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.7 Exemplo de uma árvore de broadcast lógica (L) do P5 . . . . . . . . . . . . . . . . . 34 3.8 Exemplo de rede MuON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.9 Exemplo de comunicação Rumor Riding [Han e Liu, 2006] . . . . . . . . . . . . . . 36 4.1 Envio da mensagem do emissor E ao receptor R (G é o grupo de recepção) . . . . . . 42 4.2 Resposta do receptor R ao emissor E (G′ é o grupo de resposta) . . . . . . . . . . . . 43 4.3 Formato da mensagem RPM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 5.1 Tráfego médio observado por nó . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 5.2 Tráfego máximo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 5.3 Influência do churn no tráfego médio observado . . . . . . . . . . . . . . . . . . . . 53 5.4 Overhead na replicação de mensagens pela utilização de grupos . . . . . . . . . . . 54 xi Lista de Algoritmos 4.1 Envio aleatório de mensagens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.2 Transmissão de mensagens de dados . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.3 Processamento de mensagens transmitidas aleatoriamente . . . . . . . . . . . . . . . 46 4.4 Transmissão de mensagens de resposta . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.5 Inicialização do fluxo de dados: código do emissor . . . . . . . . . . . . . . . . . . 48 4.6 Inicialização do fluxo de dados: código do receptor . . . . . . . . . . . . . . . . . . 48 xiv Capítulo 1 Introdução 1.1 Motivação Muitas aplicações na Internet necessitam manter a confidencialidade de suas comunicações, e muitas vezes, tais necessidades vão além do segredo do conteúdo das mensagens trocadas, abran- gendo também o segredo a respeito de quem são as entidades que se comunicam. Pode-se citar como exemplos os casos de empresas que estão formando uma aliança estratégica e que desejam manter sigilo disso perante seus concorrentes, ou de usuários finais que desejam guardar segredo sobre as pessoas com as quais trocam mensagens instantâneas e emails. Em situações como estas, mecanis- mos criptográficos fim a fim — que garantem confidencialidade de conteúdo — não são capazes, por si só, de fornecer a proteção desejada; para isso, devem ser utilizados sistemas de anonimato. Existem diversas arquiteturas para sistemas de anonimato. A mais simples utiliza um único nó como intermediário entre a origem e o destino [Anonymizer, 2007], com comunicações criptografa- das entre os nós comunicantes e o intermediário. O grau de segredo oferecido por essa arquitetura é limitado: se o nó intermediário for comprometido ou apreendido, o segredo de todas as comunicações é violado. Além disso, se esse nó sofre uma falha, a comunicação anônima se torna inviável. Para contornar essas limitações, foram propostas outras arquiteturas baseadas em redes (lógicas) de ano- nimato [Chaum, 1981]. Nessas redes de anonimato, as mensagens percorrem uma seqüência de nós antes de chegar ao seu destino. A idéia é que cada nó que processa a mensagem tenha informações limitadas sobre a sua verdadeira origem ou destino, como forma de evitar que um único nó possa determinar os pares comunicantes na rede ou vincular um certo tráfego a nós específicos. Além disso, a dispersão do tráfego por vários nós dificulta a tarefa de observadores externos que tentam identificar padrões de comunicação na rede. Existem duas variantes básicas de redes de anonimato, as redes de misturadores e as redes baseadas em multicast. Nas redes de misturadores (mixers) [Chaum, 1981], o nó de origem monta uma seqüência de nós intermediários até o destino e usa camadas de cifragem (onion encryption) 1. Introdução 2 de tal forma que cada nó intermediário só conheça seu predecessor e seu sucessor na rota, e não a real origem ou destino do tráfego. Nas redes baseadas em multicast [Pfitzmann e Waidner, 1987], uma mensagem é enviada para um grupo que contém o seu real destinatário; um observador externo é incapaz de inferir a qual dos membros do grupo a mensagem é efetivamente destinada. Embora sejam um avanço significativo em relação a um intermediário único, a maioria das redes de anonimato sofre também de limitações em termos de confiabilidade, confidencialidade e desempenho, uma vez que as funções que garantem o anonimato ficam geralmente centralizadas em um conjunto pequeno de nós. Quanto menor for a rede, mais sérias se tornam essas limitações. Uma tentativa para resolver os problemas com redes de anonimato clássicas é o uso de redes par a par (peer-to-peer — P2P). A idéia é compartilhar os recursos dos usuários que desejam comu- nicações anônimas, aproveitando a ampla escala e a capacidade computacional disponível nas redes P2P para remover as restrições principalmente de escalabilidade das redes clássicas. As redes P2P se caracterizam pelo seu grande número de participantes, tipicamente máquinas voluntárias, o que faz com que haja grandes quantidades de nós que podem ser usados como intermediários entre origem e destino. Muito embora sistemas de anonimato P2P sejam eficazes nesse sentido, um desafio que estes enfrentam é a constante entrada e saída de nós da rede, um fenômeno conhecido como churn. Em re- des de misturadores, o churn faz com que os caminhos tenham que ser reconstruídos com freqüência. Nas redes baseadas em multicast, este agrava o problema de gerenciamento das chaves criptográficas usadas para comunicação com os grupos, que necessitam ser trocadas a cada mudança na composição do grupo. Em ambos os casos, são necessárias operações demoradas e de alto custo computacional, o que impacta negativamente no desempenho das redes. Outro desafio envolvendo redes de anoni- mato P2P é que, como o roteamento nessas redes é feito na camada de aplicação, torna-se mais fácil observar o tráfego passante, o que facilita a tarefa de espionar as comunicações alheias. 1.2 Objetivos Esta dissertação têm como objetivo geral propor um protocolo para comunicação anônima em redes P2P o qual ofereça garantia de anonimato dos nós comunicantes perante observadores exter- nos, impedindo que um atacante possa assim inferir um possível relacionamento entre os nós emis- sor/receptor. Além disso, pretende-se também ocultar a identidade do nó emissor de uma mensagem perante seu respectivo nó receptor. Os objetivos específicos derivados do supracitado objetivo geral se traduzem inicialmente na proposição de um sistema capaz de minimizar o overhead computacional gerado pelas operações criptográficas existentes e também um sistema capaz de oferecer resistência ao fenômeno do churn (intríncico de redes P2P). Para atingir esses objetivos, faz-se uso do conceito de roteamento aleatório de mensagens, fa- zendo com que cada mensagem enviada siga um caminho (escolhido aleatoriamente conforme a men- sagem transita na rede) diferente das demais. Este processo ajuda a aumentar o nível de anonimato, 2. Segurança 5 É usual ainda se encontrar entre as propriedades de segurança a autenticidade e o não-repúdio. A autenticidade está ligada à garantia de que usuários e informações são autênticas segundo políticas do sistema. Por sua vez, o não repúdio assegura que os usuários não possam negar as suas participa- ções em operações no sistema. 2.2 Vulnerabilidades, Ameaças e Ataques As vulnerabilidades existentes em sistemas computacionais normalmente são provenientes de um erro de programação, configuração ou até mesmo de operação. Estas por sua vez podem permitir que um usuário não autorizado tenha acesso ao sistema, ou até mesmo que usuários autênticos pos- sam efetuar ações não autorizadas, podendo assim comprometer o bom funcionamento do sistema [Bishop e Bailey, 1996]. Sendo assim, de acordo com [Seacord e Householder, 2005], a vulnerabili- dade é um conjunto de condições que podem levar à violação de uma política de segurança explícita ou implícita. Uma ameaça a um sistema computacional consiste em uma possível ação que, se concretizada, poderá produzir efeitos indesejados ao mesmo, comprometendo assim as propriedades básicas de segurança (seção 2.1). Já o ataque é a concretização de uma ameaça, ou seja, a exploração de alguma vulnerabili- dade do sistema. Este pode ser executado de forma maliciosa ou não, pois em alguns casos pode ser somente um erro de operação de algum usuário inocente. A exploração de vulnerabilidades existentes em um sistema computacional gera uma maior quantidade de ameaças para o mesmo, consequentemente, aumenta as possibilidades de ataques. Uma maneira de diminuir este problema é a identificação e remoção das vulnerabilidades existentes, porém, em sistemas complexos esta tarefa tende a ficar mais difícil de ser realizada. 2.3 Políticas, Modelos e Mecanismos de Segurança De acordo com [Fraser, 2008], uma política de segurança consiste em um conjunto formal de regras que devem ser seguidas pelos usuários autorizados dos recursos de um sistema computacional. Esta é sempre feita sob medida para um sistema específico e não para uma classe geral de sistemas. Estas políticas por sua vez estabelecem os limites de operação dos usuários e são formadas por: diretrizes, que indicam o que cada componente do sistema (máquinas, usuários, etc) tem permissão para fazer; normas, que indicam o que cada componente está habilitado a fazer e como isto deverá ser feito; e procedimentos, que são tomados para cada estado do sistema, como por exemplo, um estado normal de funcionamento ou um estado de alerta após um evento inesperado ou malicioso. 2. Segurança 6 As políticas de segurança de sistemas computacionais se dividem em três tipos distintos: polí- tica de segurança física, política de segurança gerencial e política de segurança lógica. • Política de segurança física - envolve a proteção do meio físico em que o sistema opera. Para tal são definidas medidas de restrição de acesso físico ao servidor do sistema (impedindo assim o acesso de pessoas não autorizadas) e também contra desastres (incêndio, alagamento, terremoto, etc). • Política de segurança gerencial - trata a segurança do ponto de vista organizacional. Trata da definição dos processos que devem ser tomados para seleção de pessoal e da criação e manutenção das próprias políticas de segurança do sistema. • Política de segurança lógica - as políticas de segurança lógica tratam dos recursos internos de um sistema computacional. Estas políticas definem as permissões ou direitos dos usuários autenticados no sistema. Os modelos de segurança são uma representação formal de uma classe de políticas, abstraindo detalhes de implementação e se concentrando em eventos que ocorrem nos estados de segurança de um sistema. Estes modelos são úteis para a expressão de uma política e o entendimento dos meca- nismos que devem implementar a mesma [Landwehr, 1981]. Na literatura, os modelos se apresentam divididos em três tipos básicos: discricionários (discretionary), obrigatórios (mandatory) e os ba- seados em papéis (roles). • Discricionários - baseia-se na idéia de que o proprietário da informação deve definir quem terá o direito de acesso a mesma. De acordo com [Sandhu e Samarati, 1994], os modelos discricio- nários garantem o acesso de sujeitos1 às informações com base na identidade dos mesmos e nas autorizações (ou permissões, ou ainda direitos) que determinam, para cada sujeito (ou grupo de sujeitos) os acessos que o mesmo está autorizado a realizar sobre objetos2 do sistema. • Obrigatórios - neste modelo há uma preocupação extra com o fluxo de informações no sis- tema, além da referente ao controle de acesso aos objetos do sistema como ocorre nos modelos discricionários. Para definir os fluxos de informação permitidos são então atribuídas aos objetos e sujeitos do sistema classes de segurança definidas através de rótulos de segurança (security label). Estes rótulos, quando atribuídos aos objetos do sistema, tomam o nome de níveis de classificação, definindo assim a sensibilidade das informações contidas no objeto rotulado. Já para os rótulos atribuídos a sujeitos do sistema é usado o termo habilitação (clearance), que representa a confiança no sujeito em não revelar informações sensíveis a outros sujeitos. 1É uma entidade ativa em um sistema computacional que pode ser representada por um usuário ou um processo execu- tando em nome de um usuário. 2É uma entidade passiva em um sistema computacional que pode ser representada por arquivos, diretórios e segmentos de memória, etc. 2. Segurança 7 • Baseado em papéis - também chamados de role-based models, atribuem os direitos de acesso sobre os objetos a papéis desempenhados no sistema e não aos sujeitos do sistema. Um sujeito consegue os direitos para acesso através dos papéis atribuídos ao mesmo nas suas sessões de processamento. Os papéis são definidos como um conjunto de ações e responsabilidades asso- ciadas com uma atividade de trabalho em particular [Sandhu e Samarati, 1994]. Um sujeito que desempenha um papel só estará apto a realizar ações no sistema de acordo com as permissões que o papel possui. Em diferentes situações, um sujeito poderá assumir diferentes papéis e também um papel pode ser assumido por diferentes sujeitos, às vezes, simultaneamente. Os mecanismos de segurança correspondem aos componentes de software e de hardware responsáveis pela implementação das políticas de segurança. Por exemplo, uma lista de controle de acesso (access control list — ACL) é um mecanismo que implementa a política discricionária definida pelo proprietário de um arquivo. 2.4 Segurança em Sistemas Distribuídos 2.4.1 Tipos de Ataques Como mostrado na seção 2.2, o ataque é a concretização de uma ameaça. De acordo com [Voydock e Kent, 1983], no contexto de sistemas distribuídos, a proteção da comunicação entre cli- entes e servidores pode ser avaliada em termos de um canal seguro entre os pares comunicantes. Deste modo, um canal seguro protege os emissores e receptores de interceptações, modificações e personificações de mensagens. Um canal seguro não necessariamente protege a comunicação de in- terrupções. Abaixo são conceitualizadas as quatro categorias de ataques normalmente identificadas em sistemas distribuídos [Stallings, 2000], as quais são demonstradas na figura 2.1. • Interrupção: quando o fluxo normal da mensagem é interrompido, impossibilitando que a informação chegue ao destino, violando assim a propriedade de disponibilidade. • Interceptação: quando uma entidade não autorizada obtém acesso à informação, violando a propriedade de confidencialidade. • Modificação: quando uma entidade não autorizada modifica a informação recebida da origem e a transmite para o verdadeiro destino, violando desta forma a propriedade de integridade. • Personificação: quando uma entidade não autorizada transmite uma mensagem maliciosa pela rede, se passando por uma entidade autêntica, e violando a propriedade de autenticidade. 2. Segurança 10 ser aplicada entre os próprios nós comunicantes, fazendo com que o emissor de uma mensagem, não identifique a real identidade de seu receptor, e vice-versa. Os diferentes tipos de anonimato podem ser divididos como se segue [Wright et al., 2005]: • Anonimato perante a outra parte comunicante - neste tipo de anonimato ou o emissor ou o receptor são incapazes de descobrir quem realmente é o parceiro na comunicação. • Anonimato perante uma terceira parte - neste tipo de anonimato, terceiras partes, não par- ticipantes de uma comunicação, são incapazes de determinar quem é o emissor e/ou quem é o receptor nas trocas de mensagens. 2.5.2 Anonimato de Emissor O anonimato do emissor pode ser dividido de duas maneiras: • anonimato do emissor perante o receptor - o emissor se mantém anônimo (perante o recep- tor) durante a comunicação. • anonimato do emissor perante uma terceira parte - qualquer outro nó de uma rede (com exceção do receptor) é incapaz de descobrir quem é o real emissor de uma mensagem. Há a possibilidade ainda de que o emissor se mantenha anônimo tanto perante o receptor quanto perante o resto da rede na qual se encontra. Desta maneira são unidos os dois tipos de anonimato de emissor citados anteriormente. 2.5.3 Anonimato de Receptor Não diferentemente do anonimato do emissor, o anonimato do receptor também pode ser subdividido de duas formas: • anonimato do receptor perante o emissor - o emissor é incapaz de descobrir quem é o real receptor da mensagem durante a comunicação; • anonimato do receptor perante uma terceira parte - qualquer outro nó de uma rede (com exceção do emissor) é incapaz de descobrir quem é o real receptor de uma mensagem. E assim como no anonimato do emissor, há ainda a possibilidade de que o receptor se mantenha anônimo tanto perante ao emissor quanto perante a terceiras partes do sistema considerado. Desta maneira, neste terceiro tipo, são unidos os dois tipos de anonimato de receptor citados anteriormente. 2. Segurança 11 2.5.4 Não vinculação O termo não vinculação (unlinkability) refere-se à propriedade de uma comunicação de não revelar quem são seus pares comunicantes, ou seja, um observador é incapaz de definir quem é o real emissor e quem é o real receptor de uma comunicação. De acordo com [ISO, 1999], a não vinculação assegura que um usuário possa fazer uso de múltiplos recursos ou serviços sem que outros sejam capazes de vincular estes usos consigo. 2.5.5 Não detecção De acordo com [Pfitzmann e Hansen, 2007], a não detecção (undetectability) de um item de interesse3 para um atacante, significa que este não pode precisar este item existe ou não. 2.5.6 Não observação A não observação (unobservability) de um item de interesse significa: • a não detecção de um item de interesse contra todos os sujeitos não envolvidos nisto; • o anonimato dos sujeitos envolvidos no item de interesse até contra outros sujeitos envolvidos neste mesmo item. De acordo com [ISO, 1999], a não observação assegura que um usuário possa usar um recurso ou serviço sem que outros usuários, especialmente terceiras partes, sejam capazes de observar que o recurso ou serviço está sendo utilizado. 2.6 Ataques Contra o Anonimato Qualquer sistema de anonimato que tenha por objetivo realizar comunicações anônimas entre pares comunicantes, gera consequentemente também uma rede de comunicação anônima (RCA), a qual possui uma infra-estrutura composta por pontos de comunicação conectados à Internet, e faz uso de mecanismos criptográficos para a obtenção do anonimato. Desta forma, ataques realizados contra o anonimato de uma comunicação são realizados contra uma RCA e seus usuários. Os ataques realizados contra o anonimato em redes de computadores, em geral, não visam somente a descoberta do conteúdo das mensagens que trafegam na rede, mas também a descoberta 3Entende-se por item de interesse qualquer mensagem, recurso ou serviço provido por um usuário da rede. 2. Segurança 12 da origem e do destino das mesmas. Como exemplo, pode-se citar ataques realizados contra usuários Web com o objetivo de se obter a relação de sites visitados pelos mesmos. Neste caso, a informação que interessa é a origem (usuário) e os seus vários destinos (sites visitados), e não o conteúdo das requisições realizadas. Com o objetivo de uma melhor compreensão dos resultados finais do protocolo proposto nesta dissertação, nesta seção serão apresentados os ataques mais comuns realizados contra o anonimato, baseados em análise de tráfego, e também serão apresentadas as técnicas comumente utilizadas para a proteção contra estes ataques. 2.6.1 Ataque de Temporização O ataque de temporização (timing attack) é realizado de forma passiva, sendo que o atacante monitora as transmissões dos emissores e receptores das mensagens, registrando a ocorrência do início e do término de uma transmissão. Isto é possível devido ao fato que as possíveis rotas tomadas pela mensagem tendem a ter tempos de tráfego constantes. Desta forma, o atacante pode inferir uma relação entre o início de uma transmissão por parte do emissor e sua correspondente finalização por parte do receptor [Bansod et al., 2005; Berthold et al., 2000; Kocher, 1996; Raymond, 2001]. De acordo com [Back et al., 2001b], um atacante pode desfazer o anonimato de uma comuni- cação inferindo uma relação entre pares comunicantes através do monitoramento destes pares e de posse de seus respectivos tempos médios de transmissão. Como exemplo deste tipo de ataque pode-se citar um atacante monitorando a atividade das comunicações de dois pontos A e B em uma rede, este atacante tem conhecimento do tempo médio de transmissão de uma mensagem do ponto A ao ponto B. Caso o atacante observe que este foi o tempo aproximado decorrente do início de uma comunicação por parte de A ao recebimento de uma mensagem por parte de B, então este pode inferir com uma alta probabilidade que o ponto A estabeleceu uma comunicação com o ponto B. Uma técnica utilizada para prevenção deste tipo de ataque é a armazena e encaminha (store- and-forward) [Fratta et al., 1973], neste técnica, a ordem de envio das mensagens pelos nós da rede é diferente da ordem de recebimento das mesmas, gerando assim um atraso aleatório nas transmissões e dificultando a análise pelo atacante. Este atraso é variável de acordo com o volume de tráfego gerado pelos usuários da RCA. Para melhorar a eficiência da técnica anterior, cada nó da RCA pode ainda introduzir atrasos aleatórios para o envio de cada mensagem recebida. Esta medida somente é útil para aplicações que não necessitam de uma alta velocidade nas comunicações, como por exemplo, correio eletrônico (e-mail). Já para aplicações que necessitam de uma resposta rápida, como por exemplo, navegado- res (browsers), este atraso na comunicação torna-se incômodo ao usuário, que espera uma resposta imediata do receptor da mensagem.
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved