Segurança em sistemas P2P: disponibilidade, autenticidade, reputação e autorização
1. SEGURANÇA EM SISTEMAS DE COMPUTAÇÃO
REDES PEER-TO-PEER
(P2P)
Jean Pimentel
Rafael Lima
2. SEGURANÇA EM P2P
• Compartilha muitos problemas de segurança e
soluções com o resto da rede e sistemas distribuídos.
• Por exemplo:
– dados corrompidos
– transferência não confiável
– problemas de latência
– problemas de identificação etc.
3. SEGURANÇA EM P2P
• Problema: USUÁRIO
– Sempre existirão usuários maliciosos.
– Mecanismos de segurança precisam se manter à frente
desses “hackers”.
5. TOPOLOGIA
• Questão chave de projeto e impacta na segurança.
– Nós são equilibrados? Muitos nós com muitas conexões?
– Poucos saltos para alcançar toda a rede?
– Busca por inundação?
– Interceptação de buscas, resposta falsa?
– Há hierarquia?
– Nó pode se passar como supernó?
– Como é a identificação dos nós?
6. DISPONIBILIDADE
• Negação de Serviço
– Enviar muitas mensagens de busca, sobrecarregando a
rede.
• Elimina-se esses nós temporariamente.
– Supernós não responderem às buscas.
• Uso de replicação. Evitar ponto único de responsabilidade.
7. DISPONIBILIDADE
• Negação de Serviço
– Entrada e saída acelerada de nós. Alto custo para manter a
comunicação dos serviços disponíveis.
• Nós maliciosos também se prejudicam.
8. DISPONIBILIDADE
• Roteamento
– Nós encaminham rotas erradas nas respostas.
– Nós alteram suas mensagens com tabelas de rotas.
– Ataque “eclipse”. Nós maliciosos encobrem nós corretos,
impedindo que mensagens cheguem.
9. AUTENTICIDADE
• Nó confia apenas em nós com quem já houve conexão?
• Nó aceita nós recomendados?
• Nó pode assumir várias identidades?
– Usa-se então uma autoridade certificadora. Contra: passa
a ser ponto de ataque.
10. REPUTAÇÃO E CONFIANÇA
• P2P é colaborativo. Quando não há colaboração o
sistema pode ir a colapso.
• Recompensar nós colaboradores. Punir nós que usam
muito mais do que oferecem.
– Baseados em reputação ou remuneração.
11. REPUTAÇÃO E CONFIANÇA
• Como gerenciar?
– Otimista: todos são confiáveis até prova contrária.
– Pessimista: ignorar nós estranhos até prova contrária.
– Investigativo: Perguntar a nós de confiança sobre
reputação de determinado nó.
– Centralizado: nó responsável pela reputação de todos.
• Problema: Garantir a validade da informação.
– Nós mais confiáveis tem peso maior na avaliação de outro
nó.
– Confiabilidade tem prazo para expiração.
– Como fazer com novos nós para evitar starvation?
12. REPUTAÇÃO E CONFIANÇA
• Ataques
– Whitewashing: quando nós podem trocar de identidade. Deixam
a rede e voltam com nova identidade para se livrarem de
reputações ruins.
– Contra sistemas de reputação. Muitos nós comprometidos
provendo falso testemunho, aumentando reputação de nós
maliciosos e diminuindo de nós corretos.
– Traidor: nó se comporta adequadamente por um tempo para
obter reputação. Depois a usa para explorar o sistema.
• A escolha de um nó nunca deve se basear no anúncio de um
nó como melhor. Pode se levar em conta então: velocidades
de download/upload, menor atraso, quantidade de arquivos.
13. AUTORIZAÇÃO
• Quem, quando e o que pode ser acessado?
• Não deve comprometer a escalabilidade. Deve lidar
bem com anonimato e manter o incentivo mesmo com
políticas de restrições.
14. AUTORIZAÇÃO
• Uma solução: mesclar reputação e controle de acesso.
– Cada objeto tem 2 limiares associados: direct trust e direct
contribution.
– Só tem acesso aos objetos quem apresenta valores
equivalentes ou superiores.
– Valores dos nós são atualizados de acordo com o grau de
satisfação da transação.
15. INTEGRIDADE
• Arquivos podem ser adulterados durante a
transferência entre nós.
– Cálculo de hash. Como saber se o hash mesmo coincidindo
é do arquivo original?
– Dispersão de informação. O objeto é dividido em m blocos,
de modo que quaisquer n deles podem reconstituir o
arquivo original (m < n).
16. INTEGRIDADE
• Violar criptografia é muito custoso
computacionalmente.
• Ataques alternativos:
– Poluição de Arquivos. Nó malicioso fica transmitindo
trechos corrompidos.
– Resposta falsa. Nó intercepta busca, e responde com a
informação de que ele tem o arquivo e é o melhor nó. Feito
isso, envia arquivos corrompidos.
17. ANONIMIDADE
• Consiste em não permitir a identificação do:
– Autor do objeto
– Identidade de nó que armazena determinado objeto
– Detalhes de uma requisição de recuperação de um objeto
• Soluções:
– Chaum mixes. As mensagens são transmitidas entre
determinados nós aleatórios, sendo criptografadas diversas
vezes, até que em um momento aleatório é enviada para o
destino. O objetivo é dificultar a identificação de quem está
falando com quem na rede.
– Cashmere. Ao invés de nós relays, seleciona regiões de relays.
Reduz a probabilidade de falhas no sistema.
18. NEGABILIDADE
• Componente do aspecto Anonimidade, consiste na
habilidade do nó negar conhecer o conteúdo dos
objetos que armazena.
• Nesse caso, usuários não podem ser responsabilizados
pelo conteúdo de seus nós.
• Dificuldade pois as chaves para os objetos estão
associadas aos nós que os possuem.
19. BIBLIOGRAFIA
• Segurança em Redes P2P: Princípios, Tecnologias e
Desafios
• Marinho P. Barcellos (marinho@acm.org)
• Luciano P. Gaspary (paschoal@inf.ufrgs.br)