SlideShare uma empresa Scribd logo
1 de 41
SISTEMAS
DISTRIBUÍDOS
SEGURANÇA
ARTHUR EMANUEL DE OLIVEIRA
CAROSIA
1
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
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
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
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
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
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
NEGAÇÃO DE
SERVIÇO
• O atacante evita que o componente desempenhe suas
funções;
• Por exemplo: um site é impedido de responder.
8
ServidorInvasor
...
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
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
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
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.
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.
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.
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
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
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
CRIPTOGRAFIA
18
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
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
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
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
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
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
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
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
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
CRIPTOGRAFIA
SIMÉTRICA X ASSIMÉTRICA
28
ASSINATURA DIGITAL
29
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
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
ASSINATURA DIGITAL
32
Compressão
Compressão
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
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
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
CONTROLE DE
ACESSO
36
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
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
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
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
SISTEMAS
DISTRIBUÍDOS
SEGURANÇA
ARTHUR EMANUEL DE OLIVEIRA
CAROSIA
41

Mais conteúdo relacionado

Mais procurados

Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos
Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídosAula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos
Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídosMessias Batista
 
Ameacas ataques e Cyberseguranca básica.pdf
Ameacas ataques e Cyberseguranca básica.pdfAmeacas ataques e Cyberseguranca básica.pdf
Ameacas ataques e Cyberseguranca básica.pdfEdkallenn Lima
 
Arquitetura de software : Cliente-Servidor
Arquitetura de software : Cliente-ServidorArquitetura de software : Cliente-Servidor
Arquitetura de software : Cliente-ServidorAlexsandro Oliveira
 
Sistemas Distribuídos - Aula 01
Sistemas Distribuídos - Aula 01Sistemas Distribuídos - Aula 01
Sistemas Distribuídos - Aula 01Arthur Emanuel
 
Sistemas Distribuídos - Aspectos de Segurança em Sistemas Distribuídos e JAAS
Sistemas Distribuídos - Aspectos de Segurança em Sistemas Distribuídos e JAASSistemas Distribuídos - Aspectos de Segurança em Sistemas Distribuídos e JAAS
Sistemas Distribuídos - Aspectos de Segurança em Sistemas Distribuídos e JAASAdriano Teixeira de Souza
 
Protocolo MQTT - Redes de Computadores
Protocolo MQTT - Redes de Computadores Protocolo MQTT - Redes de Computadores
Protocolo MQTT - Redes de Computadores Maurício Moreira Neto
 
Redes 1 introducao historico conceitos
Redes 1 introducao historico conceitosRedes 1 introducao historico conceitos
Redes 1 introducao historico conceitosMauro Pereira
 
Analise de Requisitos
Analise de RequisitosAnalise de Requisitos
Analise de Requisitoselliando dias
 
Introdução à Segurança de Redes
Introdução à Segurança de RedesIntrodução à Segurança de Redes
Introdução à Segurança de RedesSofia Trindade
 
Introdução a Cloud Computing
Introdução a Cloud ComputingIntrodução a Cloud Computing
Introdução a Cloud ComputingFrederico Madeira
 
Endereçamento IP
Endereçamento IPEndereçamento IP
Endereçamento IPPjpilin
 
Servidores de E-mail: Qmail, Sendmail e Postfix
Servidores de E-mail: Qmail, Sendmail e PostfixServidores de E-mail: Qmail, Sendmail e Postfix
Servidores de E-mail: Qmail, Sendmail e PostfixAlvaro Oliveira
 
Aula04 Sistemas Distribuídos - Processos
Aula04 Sistemas Distribuídos - ProcessosAula04 Sistemas Distribuídos - Processos
Aula04 Sistemas Distribuídos - ProcessosMessias Batista
 
222097384 aulas-de-rede-tipos-de-servidores
222097384 aulas-de-rede-tipos-de-servidores222097384 aulas-de-rede-tipos-de-servidores
222097384 aulas-de-rede-tipos-de-servidoresMarco Guimarães
 
Importância, os mecanismos e a segurança dos sistemas operativos.
Importância, os mecanismos e a segurança dos sistemas operativos.Importância, os mecanismos e a segurança dos sistemas operativos.
Importância, os mecanismos e a segurança dos sistemas operativos.Diogo Rosa
 
Arquitetura cliente servidor
Arquitetura cliente servidorArquitetura cliente servidor
Arquitetura cliente servidorMarcia Abrahim
 

Mais procurados (20)

Windows server
Windows serverWindows server
Windows server
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos
Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídosAula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos
Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos
 
Ameacas ataques e Cyberseguranca básica.pdf
Ameacas ataques e Cyberseguranca básica.pdfAmeacas ataques e Cyberseguranca básica.pdf
Ameacas ataques e Cyberseguranca básica.pdf
 
Arquitetura de software : Cliente-Servidor
Arquitetura de software : Cliente-ServidorArquitetura de software : Cliente-Servidor
Arquitetura de software : Cliente-Servidor
 
Sistemas Distribuídos - Aula 01
Sistemas Distribuídos - Aula 01Sistemas Distribuídos - Aula 01
Sistemas Distribuídos - Aula 01
 
Sistemas Distribuídos - Aspectos de Segurança em Sistemas Distribuídos e JAAS
Sistemas Distribuídos - Aspectos de Segurança em Sistemas Distribuídos e JAASSistemas Distribuídos - Aspectos de Segurança em Sistemas Distribuídos e JAAS
Sistemas Distribuídos - Aspectos de Segurança em Sistemas Distribuídos e JAAS
 
Vantagens__Desvantagens_Tipos_de_servidores
Vantagens__Desvantagens_Tipos_de_servidoresVantagens__Desvantagens_Tipos_de_servidores
Vantagens__Desvantagens_Tipos_de_servidores
 
Protocolo MQTT - Redes de Computadores
Protocolo MQTT - Redes de Computadores Protocolo MQTT - Redes de Computadores
Protocolo MQTT - Redes de Computadores
 
Redes 1 introducao historico conceitos
Redes 1 introducao historico conceitosRedes 1 introducao historico conceitos
Redes 1 introducao historico conceitos
 
Analise de Requisitos
Analise de RequisitosAnalise de Requisitos
Analise de Requisitos
 
Introdução à Segurança de Redes
Introdução à Segurança de RedesIntrodução à Segurança de Redes
Introdução à Segurança de Redes
 
Introdução a Cloud Computing
Introdução a Cloud ComputingIntrodução a Cloud Computing
Introdução a Cloud Computing
 
Redes 3 protocolos
Redes 3 protocolosRedes 3 protocolos
Redes 3 protocolos
 
Endereçamento IP
Endereçamento IPEndereçamento IP
Endereçamento IP
 
Servidores de E-mail: Qmail, Sendmail e Postfix
Servidores de E-mail: Qmail, Sendmail e PostfixServidores de E-mail: Qmail, Sendmail e Postfix
Servidores de E-mail: Qmail, Sendmail e Postfix
 
Aula04 Sistemas Distribuídos - Processos
Aula04 Sistemas Distribuídos - ProcessosAula04 Sistemas Distribuídos - Processos
Aula04 Sistemas Distribuídos - Processos
 
222097384 aulas-de-rede-tipos-de-servidores
222097384 aulas-de-rede-tipos-de-servidores222097384 aulas-de-rede-tipos-de-servidores
222097384 aulas-de-rede-tipos-de-servidores
 
Importância, os mecanismos e a segurança dos sistemas operativos.
Importância, os mecanismos e a segurança dos sistemas operativos.Importância, os mecanismos e a segurança dos sistemas operativos.
Importância, os mecanismos e a segurança dos sistemas operativos.
 
Arquitetura cliente servidor
Arquitetura cliente servidorArquitetura cliente servidor
Arquitetura cliente servidor
 

Destaque

Destaque (10)

Aula 2 introdução a sistemas distribuídos
Aula 2   introdução a sistemas distribuídosAula 2   introdução a sistemas distribuídos
Aula 2 introdução a sistemas distribuídos
 
Segurança de Rede
Segurança de RedeSegurança de Rede
Segurança de Rede
 
Uso das Redes Sociais para o Colhimento de Informações
Uso das Redes Sociais para o Colhimento de InformaçõesUso das Redes Sociais para o Colhimento de Informações
Uso das Redes Sociais para o Colhimento de Informações
 
Workshop "Get Paid Online"
Workshop "Get Paid Online"Workshop "Get Paid Online"
Workshop "Get Paid Online"
 
Modelo final
Modelo finalModelo final
Modelo final
 
Meios Pagamentos Online
Meios Pagamentos OnlineMeios Pagamentos Online
Meios Pagamentos Online
 
Conceito em segurança de redes de computadores
Conceito em segurança de redes de computadoresConceito em segurança de redes de computadores
Conceito em segurança de redes de computadores
 
Plataformas digitais
Plataformas digitaisPlataformas digitais
Plataformas digitais
 
Segurança na Rede
Segurança na RedeSegurança na Rede
Segurança na Rede
 
Segurança de Rede
Segurança de RedeSegurança de Rede
Segurança de Rede
 

Semelhante a Sistemas Distribuídos - Aula 08 - Segurança

Cyber Security - Aula 1
Cyber Security - Aula 1Cyber Security - Aula 1
Cyber Security - Aula 1VicenteTino
 
Certificação Digital - Aula1
Certificação Digital - Aula1Certificação Digital - Aula1
Certificação Digital - Aula1Leandro Rezende
 
Aula03 – Códigos Maliciosos e Tipos de Ataques
Aula03 – Códigos Maliciosos e Tipos de AtaquesAula03 – Códigos Maliciosos e Tipos de Ataques
Aula03 – Códigos Maliciosos e Tipos de AtaquesCarlos Veiga
 
Auditoria e Segurança em TI - Aula 4
Auditoria e Segurança em TI - Aula 4Auditoria e Segurança em TI - Aula 4
Auditoria e Segurança em TI - Aula 4Filipo Mór
 
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]Ministério Público da Paraíba
 
Criptografia de Chaves Assimetricas
Criptografia de Chaves AssimetricasCriptografia de Chaves Assimetricas
Criptografia de Chaves AssimetricasSuh Valentim
 
Pim 2 semestre_v51
Pim 2 semestre_v51Pim 2 semestre_v51
Pim 2 semestre_v51Suh Valentim
 
criptografia de chaves assimetricas
criptografia de chaves assimetricascriptografia de chaves assimetricas
criptografia de chaves assimetricasSuh Valentim
 
126015847 seguranca-de-redes-criptografia-2
126015847 seguranca-de-redes-criptografia-2126015847 seguranca-de-redes-criptografia-2
126015847 seguranca-de-redes-criptografia-2Marco Guimarães
 
126015847 seguranca-de-redes-criptografia-2 (1)
126015847 seguranca-de-redes-criptografia-2 (1)126015847 seguranca-de-redes-criptografia-2 (1)
126015847 seguranca-de-redes-criptografia-2 (1)Marco Guimarães
 
Protegendo Arquivos Sigilosos com EFS
Protegendo Arquivos Sigilosos com EFSProtegendo Arquivos Sigilosos com EFS
Protegendo Arquivos Sigilosos com EFSDiego Souza
 
Criptografia - Redes de Computadores
Criptografia - Redes de ComputadoresCriptografia - Redes de Computadores
Criptografia - Redes de ComputadoresCícero Bruno
 
Tema 09
Tema 09Tema 09
Tema 09Google
 
Segurança da informação
Segurança da informaçãoSegurança da informação
Segurança da informação2015s
 
Segurança da Informação
Segurança da InformaçãoSegurança da Informação
Segurança da Informaçãoalex_it
 

Semelhante a Sistemas Distribuídos - Aula 08 - Segurança (20)

Criptografia
CriptografiaCriptografia
Criptografia
 
Aula 8.0 - Segurança
Aula 8.0 - SegurançaAula 8.0 - Segurança
Aula 8.0 - Segurança
 
Cyber Security - Aula 1
Cyber Security - Aula 1Cyber Security - Aula 1
Cyber Security - Aula 1
 
Certificação Digital - Aula1
Certificação Digital - Aula1Certificação Digital - Aula1
Certificação Digital - Aula1
 
Aula03 – Códigos Maliciosos e Tipos de Ataques
Aula03 – Códigos Maliciosos e Tipos de AtaquesAula03 – Códigos Maliciosos e Tipos de Ataques
Aula03 – Códigos Maliciosos e Tipos de Ataques
 
Auditoria e Segurança em TI - Aula 4
Auditoria e Segurança em TI - Aula 4Auditoria e Segurança em TI - Aula 4
Auditoria e Segurança em TI - Aula 4
 
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]
 
Aula 2 semana3
Aula 2 semana3Aula 2 semana3
Aula 2 semana3
 
Aula 2 semana2
Aula 2 semana2Aula 2 semana2
Aula 2 semana2
 
Criptografia de Chaves Assimetricas
Criptografia de Chaves AssimetricasCriptografia de Chaves Assimetricas
Criptografia de Chaves Assimetricas
 
Pim 2 semestre_v51
Pim 2 semestre_v51Pim 2 semestre_v51
Pim 2 semestre_v51
 
criptografia de chaves assimetricas
criptografia de chaves assimetricascriptografia de chaves assimetricas
criptografia de chaves assimetricas
 
126015847 seguranca-de-redes-criptografia-2
126015847 seguranca-de-redes-criptografia-2126015847 seguranca-de-redes-criptografia-2
126015847 seguranca-de-redes-criptografia-2
 
126015847 seguranca-de-redes-criptografia-2 (1)
126015847 seguranca-de-redes-criptografia-2 (1)126015847 seguranca-de-redes-criptografia-2 (1)
126015847 seguranca-de-redes-criptografia-2 (1)
 
Protegendo Arquivos Sigilosos com EFS
Protegendo Arquivos Sigilosos com EFSProtegendo Arquivos Sigilosos com EFS
Protegendo Arquivos Sigilosos com EFS
 
Criptografia - Redes de Computadores
Criptografia - Redes de ComputadoresCriptografia - Redes de Computadores
Criptografia - Redes de Computadores
 
Tema 09
Tema 09Tema 09
Tema 09
 
Segurança da informação
Segurança da informaçãoSegurança da informação
Segurança da informação
 
Segurança da Informação
Segurança da InformaçãoSegurança da Informação
Segurança da Informação
 
Criptografia
CriptografiaCriptografia
Criptografia
 

Mais de Arthur Emanuel

Apresentação - Minicurso de Introdução a Python, Data Science e Machine Learning
Apresentação - Minicurso de Introdução a Python, Data Science e Machine LearningApresentação - Minicurso de Introdução a Python, Data Science e Machine Learning
Apresentação - Minicurso de Introdução a Python, Data Science e Machine LearningArthur Emanuel
 
Exercícios - Herança - Java
Exercícios - Herança - JavaExercícios - Herança - Java
Exercícios - Herança - JavaArthur Emanuel
 
Orientação a Objetos - Introdução - Exercícios
Orientação a Objetos - Introdução - ExercíciosOrientação a Objetos - Introdução - Exercícios
Orientação a Objetos - Introdução - ExercíciosArthur Emanuel
 
Android - Integração com Facebook
Android - Integração com FacebookAndroid - Integração com Facebook
Android - Integração com FacebookArthur Emanuel
 
Desenvolvimento para Android - Acelerômetro, GPS, Multimidia
Desenvolvimento para Android - Acelerômetro, GPS, MultimidiaDesenvolvimento para Android - Acelerômetro, GPS, Multimidia
Desenvolvimento para Android - Acelerômetro, GPS, MultimidiaArthur Emanuel
 
Aula 06 - Desenvolvimento de Jogos para Android - Física e Menu
Aula 06 - Desenvolvimento de Jogos para Android - Física e MenuAula 06 - Desenvolvimento de Jogos para Android - Física e Menu
Aula 06 - Desenvolvimento de Jogos para Android - Física e MenuArthur Emanuel
 
Aula 05 - Desenvolvimento de Jogos para Android - Layout e Som
Aula 05 - Desenvolvimento de Jogos para Android - Layout e SomAula 05 - Desenvolvimento de Jogos para Android - Layout e Som
Aula 05 - Desenvolvimento de Jogos para Android - Layout e SomArthur Emanuel
 
Aula 04 - Desenvolvendo Jogos Para Android - Pontuação e Colisao
Aula 04 - Desenvolvendo Jogos Para Android - Pontuação e ColisaoAula 04 - Desenvolvendo Jogos Para Android - Pontuação e Colisao
Aula 04 - Desenvolvendo Jogos Para Android - Pontuação e ColisaoArthur Emanuel
 
Aula 03 - Desenvolvendo Jogos Para Android - Obstáculos
Aula 03 - Desenvolvendo Jogos Para Android - ObstáculosAula 03 - Desenvolvendo Jogos Para Android - Obstáculos
Aula 03 - Desenvolvendo Jogos Para Android - ObstáculosArthur Emanuel
 
Aula 02 - Desenvolvendo Jogos Para Android - Controle do Jogo
Aula 02 - Desenvolvendo Jogos Para Android - Controle do JogoAula 02 - Desenvolvendo Jogos Para Android - Controle do Jogo
Aula 02 - Desenvolvendo Jogos Para Android - Controle do JogoArthur Emanuel
 
Aula 01 - Desenvolvendo Jogos Para Android - Ambiente do Jogo
Aula 01 - Desenvolvendo Jogos Para Android - Ambiente do JogoAula 01 - Desenvolvendo Jogos Para Android - Ambiente do Jogo
Aula 01 - Desenvolvendo Jogos Para Android - Ambiente do JogoArthur Emanuel
 
Desenvolvendo Jogos Para Android - Exercício
Desenvolvendo Jogos Para Android - ExercícioDesenvolvendo Jogos Para Android - Exercício
Desenvolvendo Jogos Para Android - ExercícioArthur Emanuel
 
HTML - Listas, Estilos, Tabelas, Div, Span, Formulário
HTML -  Listas, Estilos, Tabelas, Div, Span, FormulárioHTML -  Listas, Estilos, Tabelas, Div, Span, Formulário
HTML - Listas, Estilos, Tabelas, Div, Span, FormulárioArthur Emanuel
 
Android - Acelerometro e GPS
Android - Acelerometro e GPSAndroid - Acelerometro e GPS
Android - Acelerometro e GPSArthur Emanuel
 
Android - Consumindo Webservices
Android - Consumindo WebservicesAndroid - Consumindo Webservices
Android - Consumindo WebservicesArthur Emanuel
 

Mais de Arthur Emanuel (20)

Apresentação - Minicurso de Introdução a Python, Data Science e Machine Learning
Apresentação - Minicurso de Introdução a Python, Data Science e Machine LearningApresentação - Minicurso de Introdução a Python, Data Science e Machine Learning
Apresentação - Minicurso de Introdução a Python, Data Science e Machine Learning
 
Exercícios - Herança - Java
Exercícios - Herança - JavaExercícios - Herança - Java
Exercícios - Herança - Java
 
Orientação a Objetos - Introdução - Exercícios
Orientação a Objetos - Introdução - ExercíciosOrientação a Objetos - Introdução - Exercícios
Orientação a Objetos - Introdução - Exercícios
 
Android - Integração com Facebook
Android - Integração com FacebookAndroid - Integração com Facebook
Android - Integração com Facebook
 
Desenvolvimento para Android - Acelerômetro, GPS, Multimidia
Desenvolvimento para Android - Acelerômetro, GPS, MultimidiaDesenvolvimento para Android - Acelerômetro, GPS, Multimidia
Desenvolvimento para Android - Acelerômetro, GPS, Multimidia
 
Aula 06 - Desenvolvimento de Jogos para Android - Física e Menu
Aula 06 - Desenvolvimento de Jogos para Android - Física e MenuAula 06 - Desenvolvimento de Jogos para Android - Física e Menu
Aula 06 - Desenvolvimento de Jogos para Android - Física e Menu
 
Aula 05 - Desenvolvimento de Jogos para Android - Layout e Som
Aula 05 - Desenvolvimento de Jogos para Android - Layout e SomAula 05 - Desenvolvimento de Jogos para Android - Layout e Som
Aula 05 - Desenvolvimento de Jogos para Android - Layout e Som
 
Aula 04 - Desenvolvendo Jogos Para Android - Pontuação e Colisao
Aula 04 - Desenvolvendo Jogos Para Android - Pontuação e ColisaoAula 04 - Desenvolvendo Jogos Para Android - Pontuação e Colisao
Aula 04 - Desenvolvendo Jogos Para Android - Pontuação e Colisao
 
Aula 03 - Desenvolvendo Jogos Para Android - Obstáculos
Aula 03 - Desenvolvendo Jogos Para Android - ObstáculosAula 03 - Desenvolvendo Jogos Para Android - Obstáculos
Aula 03 - Desenvolvendo Jogos Para Android - Obstáculos
 
Aula 02 - Desenvolvendo Jogos Para Android - Controle do Jogo
Aula 02 - Desenvolvendo Jogos Para Android - Controle do JogoAula 02 - Desenvolvendo Jogos Para Android - Controle do Jogo
Aula 02 - Desenvolvendo Jogos Para Android - Controle do Jogo
 
Aula 01 - Desenvolvendo Jogos Para Android - Ambiente do Jogo
Aula 01 - Desenvolvendo Jogos Para Android - Ambiente do JogoAula 01 - Desenvolvendo Jogos Para Android - Ambiente do Jogo
Aula 01 - Desenvolvendo Jogos Para Android - Ambiente do Jogo
 
Desenvolvendo Jogos Para Android - Exercício
Desenvolvendo Jogos Para Android - ExercícioDesenvolvendo Jogos Para Android - Exercício
Desenvolvendo Jogos Para Android - Exercício
 
CSS 3
CSS 3CSS 3
CSS 3
 
CSS
CSSCSS
CSS
 
HTML - Listas, Estilos, Tabelas, Div, Span, Formulário
HTML -  Listas, Estilos, Tabelas, Div, Span, FormulárioHTML -  Listas, Estilos, Tabelas, Div, Span, Formulário
HTML - Listas, Estilos, Tabelas, Div, Span, Formulário
 
HTML - Introducao
HTML - Introducao HTML - Introducao
HTML - Introducao
 
Android - Google Maps
Android - Google MapsAndroid - Google Maps
Android - Google Maps
 
Android - Bluetooth
Android - BluetoothAndroid - Bluetooth
Android - Bluetooth
 
Android - Acelerometro e GPS
Android - Acelerometro e GPSAndroid - Acelerometro e GPS
Android - Acelerometro e GPS
 
Android - Consumindo Webservices
Android - Consumindo WebservicesAndroid - Consumindo Webservices
Android - Consumindo Webservices
 

Sistemas Distribuídos - Aula 08 - Segurança

  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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
  • 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. 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. 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. 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. 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. 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. 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. 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. 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
  • 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. 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
  • 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. 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. 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
  • 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. 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. 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. 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