Click here to load reader
Upload
internet
View
193
Download
40
Embed Size (px)
Citation preview
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