Sistemas Distribuídos - Aula 08 - Segurança

1.152 visualizações

Publicada em

Aula abordando o tema de segurança em sistemas distribuídos.

Publicada em: Tecnologia
0 comentários
3 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.152
No SlideShare
0
A partir de incorporações
0
Número de incorporações
13
Ações
Compartilhamentos
0
Downloads
72
Comentários
0
Gostaram
3
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Sistemas Distribuídos - Aula 08 - Segurança

  1. 1. SISTEMAS DISTRIBUÍDOS SEGURANÇA ARTHUR EMANUEL DE OLIVEIRA CAROSIA 1
  2. 2. SEGURANÇA Sistemas distribuídos são, por definição, inseguros: • Estações em modo promíscuo podem analisar o tráfego de toda a rede; • Um programa pode se instalar como um servidor e obter dados sigilosos. Ameaças: • Roubo de informações; • Alteração indevida de dados; • Roubo de recursos; • Vandalismo. 2
  3. 3. SEGURANÇA Num Sistema Distribuído, todos os computadores têm canais de comunicação. • Através deles, os usuários autorizados têm acesso a seus recursos. • Por eles também vêm as tentativas de acesso não autorizados. 3
  4. 4. MÉTODOS DE ATAQUE Obter mensagens sem autorização: • Direto da rede (Sniffers); • Dados não protegidos em disco; • Uma estação na Internet com endereço de outra estação para receber mensagens destinadas àquela. 4 Cliente Servidor Invasor Canal de Comunicação
  5. 5. MASCARAMENTO • Enviar ou receber mensagens usando a identidade de outro host na rede. • Possível se o impostor consegue a senha do agente verdadeiro. 5 Servidor Invasor Canal de Comunicação
  6. 6. ALTERAÇÃO DE MENSAGENS • Além de interceptar uma mensagem, seu conteúdo é alterado antes que chegue ao destino; • Difícil em redes broadcast como a Ethernet; 6 Cliente Servidor Invasor Canal de Comunicação
  7. 7. REPLAY • A mensagem é guardada e enviada mais tarde, depois que a autorização para usar um recurso foi revogada; • Pode ser usado para roubo ou vandalismo mesmo que o invasor não consiga interpretar a mensagem. 7 Cliente Servidor Invasor Canal de Comunicação Armazena a mensagem por um período de tempo
  8. 8. NEGAÇÃO DE SERVIÇO • O atacante evita que o componente desempenhe suas funções; • Por exemplo: um site é impedido de responder. 8 ServidorInvasor ...
  9. 9. INFILTRAÇÃO • É preciso ter acesso ao sistema, mesmo que de forma indevida; • É preciso um programa que implementa o ataque; • Se as listas de controle de acesso estão definidas corretamente e os mecanismos de autenticação são bastante fortes, um invasor não irá muito longe; 9 ServidorInvasor
  10. 10. MÉTODOS DE INFILTRAÇÃO • Imitar a voz de alguém ao telefone; • Convencer outra pessoa a executar operações que delegam direitos indevidos disfarçando-as com outra finalidade; • Adivinhar senhas; • Usar programas crackers. Formas mais sutis: • Vírus; • Worm; • Cavalo de Tróia. 10
  11. 11. SEGURANÇA EM SISTEMAS DISTRIBUÍDOS Para construir um Sistema Distribuído seguro, deve-se: • Levar em consideração que: pessoas, programas e hardware não são confiáveis até que provem que são de confiança No entanto, • É impossível construir um sistema útil considerando que nenhum componente é confiável. Portanto, o objetivo deve ser: • Construir um sistema em que assume-se que um mínimo de componentes são confiáveis; Lampson (1992) – base de computação confiável; • Com um mínimo de base confiável, é possível construir servidores seguros. 11
  12. 12. CENÁRIOS DE FALHA DE SEGURANÇA 12 Requisição ServidorCliente DoOperation (wait) (continuação) GetRequest (execução) SendReplay Replayer Resposta Espião Um espião pode obter dados da escuta tanto de requisições quanto de respostas. Com a mesma escuta, é possível fazer um replay de requisições.
  13. 13. CENÁRIOS DE FALHA DE SEGURANÇA 13 GetRequest (execução) SendReplay Cliente Impostor Aqui, um servidor legítimo é vítima de um cliente impostor.
  14. 14. CENÁRIOS DE FALHA DE SEGURANÇA 14 Cliente DoOperation (wait) (continuação) Servidor Impostor Neste caso, um cliente legítimo é vítima de um servidor impostor. O servidor pode obter dados sigilosos da requisição Pode enganar o cliente, que pensa que sua requisição foi feita.
  15. 15. CENÁRIOS DE FALHA DE SEGURANÇA Requisitos de segurança em sistemas cliente-servidor • Canais seguros, para evitar a espionagem. Projeto de clientes e servidores • Ver um ao outro (cliente e servidor) com suspeita. • Usar protocolos de autenticação. 15
  16. 16. SEGURANÇA EM SISTEMAS DISTRIBUÍDOS Criptografia • Manter privadas informações que trafegam em partes expostas do sistema. Assinatura digital • Confiar a um terceiro que autentique (ou não) a identidade de alguém que envia uma mensagem cifrada. 16
  17. 17. SEGURANÇA EM SISTEMAS DISTRIBUÍDOS Autenticação: • A posse de uma chave secreta é a prova de que a pessoa/principal/cliente/servidor é quem diz ser. Controle de acesso: • Garante que o acesso a um recurso está disponível apenas para um conjunto de usuários autorizados. 17
  18. 18. CRIPTOGRAFIA 18
  19. 19. CRIPTOGRAFIA Transformação de informações de forma que ela não possa ser entendida por ninguém, exceto o destinatário, que possui os meios de reverter a transformação. Grupos que tem usado e contribuído para a criptografia: • Militares; • Diplomatas; • Amantes. 19
  20. 20. CRIPTOGRAFIA Considere: • P: texto a ser cifrado; • C: texto cifrado; • E(): função (chave) de criptografia; • D(): função (chave) de descriptografia. Então: • P  E(P)  C  D(C)  P 20
  21. 21. MÉTODOS DE CRIPTOGRAFIA Cifras de substituição • Cada letra (ou grupo) é substituída por outra (outro); O exemplo mais antigo que se conhece é atribuído a Júlio César (Cifra de César); • A  D, B  E, C  F, ..., Z  C. • Ex.: Gisele  JLVHOH; Variação: • em vez de 3, usar um valor k qualquer; • K  chave! 21
  22. 22. MÉTODOS DE CRIPTOGRAFIA DES (Data Encryption Standard) • Algoritmo de chave secreta. • Desenvolvido pela IBM para o governo dos USA; • Padrão oficial para informação não classificada; • Foi implementado em hardware por vários fabricantes, tornando-se um padrão de mercado. 22
  23. 23. DES (DATA ENCRYPTION STANDARD) Idéia geral: • Em cada estágio, uma chave diferente é usada. • Antes de cada estágio, a chave sofre uma transposição. • Ela é quebrada em 2 partes de 28 bits. • Cada uma sofre uma rotação de n bits, onde n depende do número da iteração. • O resultado sofre uma nova transposição. • Este valor é Ki usado no estágio i. 23
  24. 24. DES (DATA ENCRYPTION STANDARD) Controvérsia: • Diffie e Hellman, 1977: • 56 bits é um tamanho pequeno para uma chave. • A chave original proposta pela IBM era de 128 bits; • Eliminaria em grande parte as chances de se quebrar uma mensagem cifrada por força bruta. • A razão para tornar o código mais fraco não foi divulgada; • É possível que o governo dos EUA tenha um método para quebrar o DES de 64 bits. • Não é interessante que o mercado tenha acesso a um código com chaves muito grandes que não possa ser quebrado com facilidade. 24
  25. 25. MÉTODOS DE CRIPTOGRAFIA Algoritmos de chave pública • Nos algoritmos de chave secreta, o maior problema é a distribuição das chaves entre os pares. • Diffie e Hellman (1976) mostraram que é possível usar um método que elimina a necessidade de confiança entre as partes. • Ele é baseado no produto de 2 números primos muito grandes (maiores que 10100). 25
  26. 26. ALGORITMOS DE CHAVE PÚBLICA Funcionamento: • A pessoa que quer receber mensagens cifradas cria 1 par de chaves, Ke e Kd, e mantém Kd secreta; • Ke é tornada pública para qualquer pessoa que queira mandar uma mensagem cifrada para a 1ª; • Por sua vez, E e D são funções conhecidas e do tipo f(X) = Y em que, conhecendo-se Y é extremamente difícil (ou impossível) descobrir X. 26
  27. 27. ALGORITMOS DE CHAVE PÚBLICA Considere: • P: texto a ser cifrado; • C: texto cifrado; • E(): função (chave) de criptografia; • D(): função (chave) de descriptografia. Processo de envio de uma mensagem: • B toma a chave pública de A e faz C = E(Ke, M); • A recebe C e faz M = D(Kd, C). Dos algoritmos de chave pública, um dos mais conhecidos é o RSA (Rivest, Shamir e Adelman, 1978). 27
  28. 28. CRIPTOGRAFIA SIMÉTRICA X ASSIMÉTRICA 28
  29. 29. ASSINATURA DIGITAL 29
  30. 30. ASSINATURA DIGITAL Usada para verificar a autenticidade e integridade de um documento digital. Emulação de assinaturas convencionais, que podem ser autenticadas por terceiros. Objetivo: • Atribuir de forma inquestionável o documento ao seu autor. • Assegurar que o conteúdo do documento não tem sido modificado depois de ser assinado. 30
  31. 31. ASSINATURA DIGITAL • Obtida pela cifragem da mensagem, ou uma forma comprimida dela (digest), por uma chave conhecida apenas pelo assinante. • Usa-se criptografia pública neste caso • Assinante produz o digest com sua chave secreta. • Qualquer receptor pode decifrar o digest com a chave pública correspondente. • Resultado • Seqüência de bits que se adiciona a uma peça de informação qualquer, e que permite garantir a sua autenticidade de forma independente do processo de transmissão 31
  32. 32. ASSINATURA DIGITAL 32 Compressão Compressão
  33. 33. CERTIFICADOS Documento que contém uma afirmação assinada por um agente. É um arquivo de computador que contém: • Informações referentes a entidade para o qual o certificado foi emitido. • Chave pública referente à chave privada que se acredita ser de posse unicamente da entidade especificada no certificado. • Período de validade. • Assinaturas comprovando que a chave pública contida naquele certificado confere com as informações contidas no mesmo. 33
  34. 34. CERTIFICADOS Exemplo Alice pode achar útil ter um certificado de seu banco garantindo sua conta bancária: 34 Certificado de conta bancária de Alice 1. Tipo de certificado: número de conta; 2. Nome: Alice; 3. Conta: 6262626 4. Autoridade certificadora:Banco das Maravilhas; 5. Assinatura: {Digest(campo 2 + campo 3)}Kbpriv
  35. 35. CERTIFICADOS • Alice pode usar este cerificado ao fazer compras • Garante que ela tem uma conta no Banco das Maravilhas. • Certificado é assinado com a chave privada do banco. • Vendedores Carol aceitam este certificado debitando itens na conta de Alice desde que possam validar a assinatura no campo 5. • Precisa da chave pública do banco e ter certeza de que ela é autêntica, evitando que Alice possa assinar um certificado falso associando seu nome com a conta de outro. 35
  36. 36. CONTROLE DE ACESSO 36
  37. 37. CONTROLE DE ACESSO Em geral, a proteção de recursos em Sistemas Distribuídos depende do serviço. Servidores recebem requisições da forma: <op, principal, recurso> • op é a operação, • principal é a pessoa, • recurso é o recurso onde a operação deve ser aplicada. 37
  38. 38. CONTROLE DE ACESSO O servidor deve • Autenticar a requisição e as credenciais do principal. • Aplicar o controle de acesso: • Recusando qualquer requisição que o principal não tenha os direitos de acesso necessários. 38
  39. 39. CONTROLE DE ACESSO Domínios de proteção • Ambiente de execução compartilhado por um conjunto de processos. • Contém um conjunto de pares <recurso, direitos>. • Os processos que rodam nesse domínio podem acessar os recursos indicados especificando as operações. • Um domínio de proteção é associado a um principal. • Quando o usuário faz o login, sua identidade é autenticada e todos os seus processos executam sobre aquele domínio. 39
  40. 40. EXERCÍCIO 1) Pesquise a respeito do trojan NetBus. 2) Pesquise a respeito de um programa que realize ataque de negação de serviço (Deny of Service – DOS). 3) Pesquise a respeito do programa para quebrar senhas de redes wireless AirCrack. 4) Faça um artigo contendo a descrição de cada um desses programas, forma de utilizá-los (com prints das telas passo-a- passo) e também uma discussão sobre como evitar ou minimizar esses tipos de ataques em suas redes. Dica: Para testar o funcionamento desses programas, utilize a máquina virtual Oracle VM Virtual Box 40
  41. 41. SISTEMAS DISTRIBUÍDOS SEGURANÇA ARTHUR EMANUEL DE OLIVEIRA CAROSIA 41

×