SEGURANÇA   EM   SISTEMAS DE COMPUTAÇÃO




REDES PEER-TO-PEER
       (P2P)

                              Jean Pimentel
                                Rafael Lima
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.
SEGURANÇA EM P2P


•   Problema: USUÁRIO

    –   Sempre existirão usuários maliciosos.

    –   Mecanismos de segurança precisam se manter à frente
        desses “hackers”.
SEGURANÇA EM P2P


•   Pontos Principais:

    –   Disponibilidade
    –   Autenticidade
    –   Reputação (Confiança)
    –   Autorização
    –   Integridade
    –   Anonimidade
    –   Negabilidade
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?
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.
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.
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.
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.
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.
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?
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.
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.
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.
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).
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.
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.
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.
BIBLIOGRAFIA

•   Segurança em Redes P2P: Princípios, Tecnologias e
    Desafios
    • Marinho P. Barcellos (marinho@acm.org)
    • Luciano P. Gaspary (paschoal@inf.ufrgs.br)

Segurança em P2P

  • 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”.
  • 4.
    SEGURANÇA EM P2P • Pontos Principais: – Disponibilidade – Autenticidade – Reputação (Confiança) – Autorização – Integridade – Anonimidade – Negabilidade
  • 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 ([email protected]) • Luciano P. Gaspary ([email protected])