SISTEMAS DISTRIBUÍDOS Princípios e paradigmas slide 1 Capítulo 9 - Segurança Andrew S....

Post on 21-Apr-2015

194 views 40 download

Transcript of SISTEMAS DISTRIBUÍDOS Princípios e paradigmas slide 1 Capítulo 9 - Segurança Andrew S....

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 1Capítulo 9 - Segurança

www.pearson.com.br

Andrew S. TanenbaumMaarten Van Steen

Segurança

9capítulo

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 2Capítulo 9 - Segurança

www.pearson.com.br

Andrew S. TanenbaumMaarten Van Steen

Segurança

1. Introdução à Segurança

2. Canais Seguros

3. Controle de Acesso

4. Gerenciamento de Segurança

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 3Capítulo 9 - Segurança

www.pearson.com.br

Andrew S. TanenbaumMaarten Van Steen

Introdução à SegurançaAmeaças a segurança, políticas e mecanismos

• Segurança está fortemente ligada a confiabilidade (disponibilidade, fidedignidade, segurança e capacidade de manutenção), e para confiarmos em sistemas de computação, ainda precisamos de:– Confidencialidade: informações são

reveladas apenas a entidades autorizadas;– Integridade: ativos são realizados apenas por

entidades autorizadas.

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 4Capítulo 9 - Segurança

www.pearson.com.br

Andrew S. TanenbaumMaarten Van Steen

Introdução à SegurançaAmeaças a segurança, políticas e mecanismos

• Necessário proteger contra ameaças a segurança:

1. Interceptação2. Interrupção3. Modificação4. Invenção

• Para isso, é necessário definir:– Políticas de segurança: definir quais ações as

entidades têm permissão de executar e quais são proibidas;

– Mecanismos de segurança: mecanismos para impor as políticas de segurança

Falsificação de dados

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 5Capítulo 9 - Segurança

www.pearson.com.br

Andrew S. TanenbaumMaarten Van Steen

Introdução à SegurançaAmeaças a segurança, políticas e mecanismos

• Mecanismos de segurança:1. Criptografia: transformação de dados em

algo que atacantes não possam entender;

2. Autenticação: verificação de identidade de usuário, cliente, servidor ou outra entidade;

3. Autorização: após autenticação, verificar se possui permissão de executar a ação;

4. Auditoria: rastrear quais clientes acessaram o quê e de que modo.

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 6Capítulo 9 - Segurança

www.pearson.com.br

Andrew S. TanenbaumMaarten Van Steen

Introdução à SegurançaQuestões de Projeto

• Para fornecer serviços de segurança de modo a implementar uma vasta coleção de políticas de segurança, são discutidas várias questões, sendo abordadas:– Foco de Controle;– Mecanismos de Segurança em Camadas;– Distribuição de Mecanismos de Segurança;– Simplicidade.

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 7Capítulo 9 - Segurança

www.pearson.com.br

Andrew S. TanenbaumMaarten Van Steen

Introdução à SegurançaQuestões de Projeto – Foco de Controle

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 8Capítulo 9 - Segurança

www.pearson.com.br

Andrew S. TanenbaumMaarten Van Steen

Introdução à Segurança – Questões de ProjetoMecanismos de segurança em camadas

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 9Capítulo 9 - Segurança

www.pearson.com.br

Andrew S. TanenbaumMaarten Van Steen

Introdução à Segurança – Questões de ProjetoConfiança x Segurança

Ferrari P45:- É seguro de dirigir?- A empresa é confiável?- Compraria?

Mastercard:- É seguro usá-lo em compras?- É confiável?- Usaria para comprar a Ferrari?

Dick Vigarista é o vendedor!- É seguro comprar dele a Ferrari usando Master Card?- Ele é confiável?

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 10Capítulo 9 - Segurança

www.pearson.com.br

Andrew S. TanenbaumMaarten Van Steen

Introdução à Segurança – Questões de ProjetoDistribuição de mecanismos de segurança

• As dependências entre serviços relacionados a segurança resultam na noção de uma base de computação confiável (TCB). Quanto menor a TCB, melhor.

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 11Capítulo 9 - Segurança

www.pearson.com.br

Andrew S. TanenbaumMaarten Van Steen

Introdução à Segurança – Questões de ProjetoSimplicidade

• O projeto de um sistema de computação seguro é considerado uma tarefa difícil. Se um projetista de sistemas puder usar alguns poucos mecanismos simples que sejam fáceis de entender e em cujo funcionamento seja possível confiar, melhor.

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 12Capítulo 9 - Segurança

www.pearson.com.br

Andrew S. TanenbaumMaarten Van Steen

Introdução à SegurançaCriptografia

• Um remetente manda uma mensagem ao destinatário, sendo esta indecifrável a estranhos.

• Notação usada é C=EK(P), sendo:– C o texto cifrado (criptografado) obtido;– P o texto aberto a ser cifrado;– K a chave de criptografia usada.

• Para decifrar (descriptografar): P=DK(C).• Protege contra três tipos de ataque:

– Interceptação (Intrusos Passivos);– Modificação de mensagens (Intrusos Ativos);– Invenção de mensagens (Intrusos Ativos).

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 13Capítulo 9 - Segurança

www.pearson.com.br

Andrew S. TanenbaumMaarten Van Steen

Introdução à SegurançaCriptografia – Intrusos passivos e ativos

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 14Capítulo 9 - Segurança

www.pearson.com.br

Andrew S. TanenbaumMaarten Van Steen

Introdução à SegurançaCriptografia - Tipos

• Criptossistemas simétricos: a chave para cifrar e decifrar é compartilhada entre remetente e destinatário (mesma chave);

P=DK(EK(P))

• Criptossistemas assimétricos: as chaves para cifrar e decifrar são diferentes, porém, juntas formam um par exclusivo.

• Usa uma chave privada outra pública

PEDPED KK

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 15Capítulo 9 - Segurança

www.pearson.com.br

Andrew S. TanenbaumMaarten Van Steen

Introdução à SegurançaCriptografia - Tipos

• Funções de hash, dadas por h=H(m).– Funções não reversíveis – inviável achar

computacionalmente a entrada m que corresponde a uma saída conhecida h;

– Fraca resistência a colisão – dadas uma entrada m e sua saída associada, h, é inviável entrada diferente m’ ≠ m tal que H(m)= H(m’)

– Forte resistência a colisão – quando é dada somente H, inviável achar dois valores de entrada diferente m e m’, tal que H(m)= H(m’)

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 16Capítulo 9 - Segurança

www.pearson.com.br

Andrew S. TanenbaumMaarten Van Steen

Introdução à SegurançaCriptossistema Simétrico: DES

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 17Capítulo 9 - Segurança

www.pearson.com.br

Andrew S. TanenbaumMaarten Van Steen

Introdução à SegurançaCriptossistema Simétrico: DES

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 18Capítulo 9 - Segurança

www.pearson.com.br

Andrew S. TanenbaumMaarten Van Steen

Criptossistema de chave pública: RSA

• Usa números primos muito grandes para construir chaves pública e privada.

– Quebrar o RSA é encontrar estes números primos, o que se mostra inviável computacionalmente.

1. Escolher dois números primos muito grandes, p e q2. Calcular n=p×q e z=(p-1)×(q-1)3. Escolher um número d que seja primo em relação a

z4. Calcular número e tal que e×d mod z = 1

• Cifrar: ci=mie (mod n)

• Decifrar: mi=cid (mod n)

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 19Capítulo 9 - Segurança

www.pearson.com.br

Andrew S. TanenbaumMaarten Van Steen

Criptossistema de chave pública: RSA

• Exemplo: p=3; q=11; n = p*q = 33

n é valor máximo que cada caracter pode assumir z = (p-1)*(q-1) = 20 d = 7

d pode ser qualquer número, desde que n e d sejam primos entre si.

Encontrar e tal que (e*d)mod z = 1 (e*7)mod 20 = 1. Poderia ser 3, 23, etc.

Cifrando “m” valendo 13: 133 mod 33 = 19

Decifrando 197 mod 33 = 13

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 20Capítulo 9 - Segurança

www.pearson.com.br

Andrew S. TanenbaumMaarten Van Steen

Introdução à SegurançaFunção de Hash: MD5

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 21Capítulo 9 - Segurança

www.pearson.com.br

Andrew S. TanenbaumMaarten Van Steen

Segurança

1. Introdução à Segurança

2. Canais Seguros

3. Controle de Acesso

4. Gerenciamento de Segurança

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 22Capítulo 9 - Segurança

www.pearson.com.br

Andrew S. TanenbaumMaarten Van Steen

SegurançaCanais Seguros

• Um canal seguro protege remetentes e receptores contra:– Interceptação: através da garantia de

confidencialidade;– Modificação de mensagens; e invenção de

mensagens: por meio de protocolos para autenticação mútua e integridade de mensagem.

Não protege necessariamente contra interrupção.

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 23Capítulo 9 - Segurança

www.pearson.com.br

Andrew S. TanenbaumMaarten Van Steen

Segurança – Canais SegurosAutenticação

• Autenticar consiste em assegurar que quem diz estar enviando uma mensagem é realmente quem está enviando, mas só seria válida se houver garantias que a mensagem não foi modificada.– Portanto, autenticação sempre deve vir

acompanhada de integridade.• Para garantir integridade das mensagens de

dados que são trocadas depois da autenticação, a prática comum é usar criptografia de chave secreta por meio de chaves de sessão. O tempo de vida da chave é o tempo de vida da sessão.

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 24Capítulo 9 - Segurança

www.pearson.com.br

Andrew S. TanenbaumMaarten Van Steen

Segurança – Canais Seguros – Autenticação baseada em chave secreta compartilhada

• Protocolos de desafio-resposta, onde uma parte desafia a outra a dar uma resposta que só pode estar correta se o outro conhece a chave secreta compartilhada.

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 25Capítulo 9 - Segurança

www.pearson.com.br

Andrew S. TanenbaumMaarten Van Steen

Segurança – Canais SegurosAutenticação baseada em chave secreta compartilhada

Essa otimização pode ser

feita?

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 26Capítulo 9 - Segurança

www.pearson.com.br

Andrew S. TanenbaumMaarten Van Steen

Segurança – Canais SegurosAutenticação baseada em chave secreta compartilhada

• Não! Pois pode haver ataque de reflexão!

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 27Capítulo 9 - Segurança

www.pearson.com.br

Andrew S. TanenbaumMaarten Van Steen

Segurança – Canais SegurosAutenticação que usa uma central de distribuição de chaves

• Aumentar escalabilidade através de um KDC, a fim de não manter uma chave compartilhada para cada hospedeiro comunicante.

E se Alice pede conexão a Bob antes da chave chegar?

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 28Capítulo 9 - Segurança

www.pearson.com.br

Andrew S. TanenbaumMaarten Van Steen

Segurança – Canais SegurosAutenticação que usa uma central de distribuição de chaves

• Soluciona-se passando a chave de Bob como tíquete a Alice, pois somente Bob saberá interpretá-lo.

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 29Capítulo 9 - Segurança

www.pearson.com.br

Andrew S. TanenbaumMaarten Van Steen

Segurança – Canais SegurosAutenticação que usa uma central de distribuição de chaves

• Variação: Autenticação de Needham-Schroeder autenticar o uso da KDC. Esse método está livre de ataques?

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 30Capítulo 9 - Segurança

www.pearson.com.br

Andrew S. TanenbaumMaarten Van Steen

Segurança – Canais SegurosAutenticação que usa uma central de distribuição de chaves

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 31Capítulo 9 - Segurança

www.pearson.com.br

Andrew S. TanenbaumMaarten Van Steen

Segurança – Canais SegurosAutenticação usando criptografia de chave pública

• Uso de chave pública de Bob K+B para enviar o

desafio. Alice precisa ter certeza que a chave pública K+

B pertence a Bob e não a terceiros.

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 32Capítulo 9 - Segurança

www.pearson.com.br

Andrew S. TanenbaumMaarten Van Steen

Segurança – Canais SegurosIntegridade e confidencialidade de mensagens

• Além da autenticação, é necessário fornecer garantias para integridade e confidencialidade de mensagens.

• Integridade: mensagens são protegidas contra modificações sub-reptícias;

• Confidencialidade: Obtida através da criptografia, das formas descritas anteriormente.

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 33Capítulo 9 - Segurança

www.pearson.com.br

Andrew S. TanenbaumMaarten Van Steen

Segurança – Canais SegurosAssinaturas Digitais

• Assinar digitalmente mensagens de modo a:– Garantir que destinatário não modificará a

mensagem maliciosamente;– Garantir que o remetente não possa negar envio da

mensagem, maliciosamente.

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 34Capítulo 9 - Segurança

www.pearson.com.br

Andrew S. TanenbaumMaarten Van Steen

Segurança – Canais SegurosAssinaturas Digitais

• Pode-se diminuir o tamanho da assinatura através do uso de resumo (hash) da mensagem, sendo este criptografado e enviado como assinatura, no lugar de toda mensagem criptografada sendo a assinatura.

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 35Capítulo 9 - Segurança

www.pearson.com.br

Andrew S. TanenbaumMaarten Van Steen

Segurança – Canais SegurosChaves de sessão

• Normalmente após a autenticação usa-se uma chave de sessão compartilhada exclusiva para garantir confidencialidade. Esta é descartada seguramente ao término da sessão. Os motivos são:– Chaves usadas com freqüência ficam mais fáceis de

serem reveladas (desgaste);– Garantir proteção contra ataques de reprodução;– Extravio de chave implica em insegurança de apenas

uma sessão, mantendo as seguintes seguras;– Manter chaves de alto grau de confidencialidade

para troca com terceiros mais confiáveis.

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 36Capítulo 9 - Segurança

www.pearson.com.br

Andrew S. TanenbaumMaarten Van Steen

Segurança

1. Introdução à Segurança

2. Canais Seguros

3. Controle de Acesso

4. Gerenciamento de Segurança

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 37Capítulo 9 - Segurança

www.pearson.com.br

Andrew S. TanenbaumMaarten Van Steen

Controle de acesso

• Controle de acesso é a verificação de direitos de acesso por parte de um servidor sobre ações de um cliente;

• A autorização trata de conceder direitos de acesso ao cliente pelo servidor.

Formas de implementação comuns envolvem firewalls que protejam as aplicações ou mesmo a rede inteira.

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 38Capítulo 9 - Segurança

www.pearson.com.br

Andrew S. TanenbaumMaarten Van Steen

Controle de acessoQuestões gerais de controle de acesso

• Consiste em sujeitos que emitem uma requisição para acessar um objeto.– Sujeitos são processos que agem em nome de

usuários, mas também podem ser objetos que precisam dos serviços de outros objetos para executar seu próprio trabalho.

– A proteção é imposta por um monitor de referência.

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 39Capítulo 9 - Segurança

www.pearson.com.br

Andrew S. TanenbaumMaarten Van Steen

Controle de acesso – Questões geraisMatriz de controle de acesso

• Cada sujeito é representado por uma linha, cada objeto representado por uma coluna.– A entrada M[s,o] da matriz M apresenta uma

lista com as operações que o sujeito s pode executar no objeto o.

– Muitos usuários usam poucos objetos, gerando muitas entradas vazias.

• Solução por:– Lista de controle de acesso (ACL); ou– Lista de capacidades.

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 40Capítulo 9 - Segurança

www.pearson.com.br

Andrew S. TanenbaumMaarten Van Steen

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 41Capítulo 9 - Segurança

www.pearson.com.br

Andrew S. TanenbaumMaarten Van Steen

Controle de acesso – Questões geraisDomínios de Proteção

• Mesmo ACLs podem ser grandes.• Possível otimizá-las com domínios de

proteção, nos quais um conjunto de pares [objetos, direitos de acesso] servem como base para um monitor de referência verificar se a requisição tem permissão de ser executada. Pode ser feita de diversas formas:– Construindo grupos de usuários;

• Diretamente analisado pelo monitor de referência;• Facilitado por um certificado transportado pelo sujeito.

– Através de papéis a desempenhar

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 42Capítulo 9 - Segurança

www.pearson.com.br

Andrew S. TanenbaumMaarten Van Steen

Controle de acesso – Questões geraisDomínios de Proteção

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 43Capítulo 9 - Segurança

www.pearson.com.br

Andrew S. TanenbaumMaarten Van Steen

Controle de acesso – Questões geraisFirewalls

• Quando se permite acesso de estranhos a recursos distribuídos, como enviar correio, descarregar arquivos, entre outros, torna-se necessário controlar o acesso externo a qualquer parte do sistema distribuído.– Para isso é usado um monitor de referência

conhecido como firewall.• Um firewall desconecta qualquer parte de um sistema

distribuído do mundo exterior.• O firewall inspeciona todos os pacotes que entram e que

saem, descartando pacotes que não possuem permissão de continuar.

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 44Capítulo 9 - Segurança

www.pearson.com.br

Andrew S. TanenbaumMaarten Van Steen

Controle de acesso – Questões geraisFirewalls

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 45Capítulo 9 - Segurança

www.pearson.com.br

Andrew S. TanenbaumMaarten Van Steen

Controle de acesso – Questões geraisFirewalls

• Existem, em essência, dois tipos de firewall:1. Gateway de filtragem de pacotes – funciona como

um repassador e toma decisões sobre transmitir ou não um pacote de rede com base no endereço de fonte e de destino contido no cabeçalho do pacote.

2. Gateway de nível de aplicação – inspeciona o conteúdo de uma mensagem que está chegando ou saindo.

– Filtro de SPAM;– Filtro de Vírus;– Fornecedor de conteúdo de bibliotecas digitais;– Proxy

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 46Capítulo 9 - Segurança

www.pearson.com.br

Controle de acesso – Questões geraisCódigo Móvel Seguro

Andrew S. TanenbaumMaarten Van Steen

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 47Capítulo 9 - Segurança

www.pearson.com.br

Controle de acesso – Questões geraisRecusa de Serviço

• Controle de acesso trata de garantir cuidadosamente que recursos sejam acessados por processos autorizados.

• Ataques contra Controle de acesso:– DoS– DDoS

• Não existe um método único para proteção contra ataques DDoS.– Normalmente feito com auxílio de terceiros inocentes

infectados por spyware, etc.

Andrew S. TanenbaumMaarten Van Steen

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 48Capítulo 9 - Segurança

www.pearson.com.br

Andrew S. TanenbaumMaarten Van Steen

Segurança

1. Introdução à Segurança

2. Canais Seguros

3. Controle de Acesso

4. Gerenciamento de Segurança

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 49Capítulo 9 - Segurança

www.pearson.com.br

Gerenciamento de SegurançaGerenciamento de Chaves

• Como as chaves são obtidas?– Não é trivial. Não adiantaria nada transferir

chaves privadas em canais não seguros.– Pode ser necessário recorrer a recursos fora

de banda (cartões, mídia removível, telefone, etc.).

– Ainda é necessário revogar chaves

Andrew S. TanenbaumMaarten Van Steen

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 50Capítulo 9 - Segurança

www.pearson.com.br

Gerenciamento de SegurançaEstabelecimento de Chaves

• Concorda-se com 2 números grandes n e g, públicos, gerando chaves privadas x e y.

Andrew S. TanenbaumMaarten Van Steen

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 51Capítulo 9 - Segurança

www.pearson.com.br

Gerenciamento de SegurançaDistribuição de chaves

• Ao distribuir chaves, é necessário garantir:– Confidencialidade e autenticação, para chaves privadas;– Autenticação, para chaves públicas.

• Problema: Como garantir autenticação sem uso de canal seguro ou chaves anteriores?– Através de certificados de chaves públicas

(consiste em uma chave pública junto com uma seqüência de bits que identificará a entidade à qual essa chave está associada) assinados por uma autoridade de certificação.

Andrew S. TanenbaumMaarten Van Steen

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 52Capítulo 9 - Segurança

www.pearson.com.br

Andrew S. TanenbaumMaarten Van Steen

SISTEMAS DISTRIBUÍDOS Princípios e paradigmas

slide 53Capítulo 9 - Segurança

www.pearson.com.br

Gerenciamento de SegurançaVida útil de certificados

• Se um certificado for comprometido, deve haver uma maneira de invalidá-lo.– Através de CRL (Certificate Revogation List);– Restrição da vida útil de um certificado;– Reduzir a vida útil de um certificado para próximo de

zero (ou seja, o cliente sempre terá que contatar uma autoridade de certificação para verificar a validade de uma chave pública).

• Na prática, os certificados são publicados com vida útil restrita.

Andrew S. TanenbaumMaarten Van Steen