Você está na página 1de 46

Sistemas Distribuídos

Segurança
Prof. Carlos Lahoz
Apoio: Prof André Y. Kusumoto
Segurança
Segurança computacional

“Prevenir que atacantes alcancem seus objetivos através do acesso não


autorizado ou uso não autorizado dos computadores e suas redes” (Howard,
1997).

A segurança pode ser dividido em duas partes:

• Canais seguros
• Controle de Acesso
Segurança
Divisão da segurança:

•  Canais seguros - comunicação entre usuários ou processos, que


possivelmente residem em máquinas diferentes. O principal
mecanismo para garantir comunicação segura é o uso de um canal
seguro. Autenticação, integridade das mensagens e confidencialidade.

•  Controle de Acesso - assegurar que um processo receba somente os


direitos de acesso a recursos de um sistema distribuído aos quais está
habilitado – Autorização.
Introdução à Segurança

•  Necessário definir o que é um sistema seguro.

•  Considerações sobre os aspectos de projeto para sistemas seguros.

•  Criptografia.
Introdução à Segurança

“A segurança em um sistema de informaçãoe comunicação (TIC) visa


protegê-lo contra ameaças à confidencialidade, à integridade e à
disponibilidade das informações e dos recursos sob sua
responsabilidade” (Brinkley & Schell, 1995; Joshi et al., 2001)
Introdução à Segurança
Ameaças a segurança, políticas e mecanismos

• A segurança em um SD está relacionada com a noção de confiabilidade.

• Sistema confiável - Propriedade de um sistema poder funcionar


continuamente sem falha.

• Um sistema de alta confiabilidade é aquele que mais provavelmente


continuará a funcionar sem interrupção durante um período de tempo
relativamente longo.
Introdução à Segurança
Ameaças a segurança, políticas e mecanismos

Também precisamos levar em conta:


•  Confidencialidade – propriedade de um sistema de computação por
meio da qual usa informações são reveladas apenas a partes
autorizadas.

•  Integridade – característica pela qual alterações realizadas em ativos


de um sistema só podem ser feitas com autorização.

•  Disponibilidade - capacidade de usar a informação ou o recurso


desejado.
Introdução à Segurança
Ameaças a segurança, políticas e mecanismos

Confidencialidade:
É a manutenção do sigilo das informações ou dos recursos.
A violação da confidencialidade ocorre com a revelação não autorizada da
informação ou dos recursos do sistema.
A prevenção contra as ameaças à confidencialidade pode ser alcançada com
a aplicação de mecanismos de controle de acesso e com técnicas de
criptografia e de segurança de redes .

Ex: A criptografia do extrato de uma conta corrente previne alguém não


autorizado de ler e eventualmente acessar dados de terceiros.
Introdução à Segurança
Ameaças a segurança, políticas e mecanismos

Integridade:
Refere-se a confiabilidade da informação ou dos recursos.
A violação da integridade ocorre pela modificação imprópria ou não
autorizada da informação ou dos recursos.
Integridade de dados:
• Confiabilidade do conteúdo dos dados: integridade de origem
• Confiabilidade da fonte dos dados: autenticação
Introdução à Segurança
Ameaças a segurança, políticas e mecanismos

Integridade:
Mecanismos para integridade
• Mecanismos de prevenção: bloqueio de qualquer tentativa não autorizada de
modificá-los ou qualquer tentativa de modificá-los por meios não autorizados
– acesso e uso não autorizados.
• Mecanismos de detecção: buscam reportar que a integridade dos dados não
é mais confiável, em parte ou no todo (criptografia pode ser usada para
detectar violações de integridade).
Introdução à Segurança
Ameaças a segurança, políticas e mecanismos

Disponibilidade:
A violação da disponibilidade ocorre com a retenção não autorizada de
informações ou recursos computacionais
Ataques de recusa de serviço – denial of service attacks
Usualmente definido em termos de “qualidade de serviço” : usuários
autorizados esperam receber um nível específico de serviço, estabelecido em
termos de uma métrica
Introdução à Segurança
Ameaças a segurança
Introdução à Segurança
Ameaças a segurança

Outra maneira de relacionar a segurança está na proteção contra ameaças.

Há quatro tipos de ameaças (Pfleeger, 2003):


1. Interceptação
2. Interrupção
3. Modificação
4. Invenção
Tipos de ameaças
Interceptação
•  Situação em que uma parte não autorizada conseguiu acesso a um
serviço ou a dados. Ex.: uma comunicação entre duas partes é ouvida por
alguém mais.

Interrupção
•  De modo geral, se refere à situação na qual serviços ou dados ficam
indisponíveis, são inutilizados ou destruídos. Ex.: ataques de recusa de
serviços (DoS – denial of services)
Tipos de ameaças
Modificações
•  Alteração não autorizada de dados ou interferir com um serviço de modo
que ele não siga mais suas especificações originais. Ex.: interceptar, e na
sequencia, alterar dados transmitidos ou altera um programa de modo que
ele registre secretamente as atividades do usuário.

Invenção
•  Situação na qual são gerados dados ou atividades adicionais que
normalmente não existiriam. Ex.: um intruso tentar adicionar uma entrada
a um arquivo de senhas ou a um BD
Tipos de ataques
Um ataque é o ato de utilizar (ou explorar) uma vulnerabilidade para violar
uma propriedade de segurança do sistema.

De acordo com [Pfleeger and Pfleeger, 2006], existem basicamente quatro


tipos de ataques:
• Interrupção
• Interceptação
• Modificação
• Fabricação
Tipos de ataques
Interrupção : consiste em impedir o fluxo normal das informações ou acessos;
é um ataque à disponibilidade do sistema;
Tipos de ataques
Interceptação : intruso passivo - consiste em obter acesso indevido a um
fluxo de informações, sem necessariamente modificá-las; é um ataque à
confidencialidade. Pode interceptar a mensagem sem que o servidor nem o
receptor percebam. Se for utilizado um bom algoritmo de criptografia, a
interceptação é inútil.

• Obviamente, se a mensagem transmitida for criptografada de tal modo que


não possa ser decifrada facilmente sem a chave adequada, a interceptação é
inútil: o intruso só verá dados ininteligíveis.
• Por outro lado, se o intruso estiver acompanhando o trafego na rede, e
observar durante uma crise (guerra) mundial que o trafego de rede que chega
a Casa Branca/USA reduzir drasticamente e, ao mesmo tempo, o trafego que
chega a uma certa montanha do Colorado, aumentar na mesma proporção,
isso pode ser uma informação útil).
Tipos de ataques
Modificação : consiste em modificar de forma indevida informações ou partes
do sistema, violando sua integridade. Ataque que modifica a mensagem.
Modificar um texto cifrado.

• Modificar texto comum é fácil. O que é muito difícil é modificar texto cifrado,
porque em primeiro lugar, o intruso terá que decifrar a mensagem antes de
modificá-la.
• E depois terá que criptografar novamente a mensagem de forma adequada,
senão o receptor poderá notar que a mensagem sofreu interferência, i.e. ele
sofreu um ataque.
Tipos de ataques
Fabricação : consiste em produzir informações falsas ou introduzir módulos
ou componentes maliciosos no sistema; é um ataque à autenticidade.
Inserção de mensagens cifradas no sistema de comunicação.

• Inserção de mensagens criptografadas nos sistemas de comunicação na


tentativa de fazer com que o receptor acredite que as mensagens vieram do
transmissor.
Politica de Segurança
•  Também é necessário uma descrição de requisitos de segurança, isto é,
uma política de segurança.

•  Descreve com exatidão quais ações as entidades de um sistema tem


permissão de realizar e quais são proibidas. Entidades incluem usuários,
serviços, dados, máquinas, etc.
Politica de Segurança

•  Uma vez estabelecida a política de segurança, torna-se possível focalizar


os mecanismos de segurança pelos quais um política pode ser imposta:

1. Criptografia
2. Autenticação
3. Autorização
4. Auditoria
Mecanismos de segurança
Criptografia, Resume de Mensagem e Assinatura Digital
Fundamental. Transforma dados em algo que um atacante não possa
entender. Proporciona um meio de implementar a confidencialidade dos
dados, e além disso, nos permite verificar se os dados foram modificados.

Autenticação
Usada para verificar a identidade declarada de um usuário, cliente, servidor,
ou outra entidade. Premissa básica é conhecer a identidade do cliente,
utilizando-se de senhas.
Mecanismos de segurança
Autorização
Depois que um cliente foi identificado, é necessário verificar se ele está
autorizado a executar uma ação requisitada. Dependendo de quem
acessa o sistema ele poderá ter permissão para ler registros, modificar
certos campos.

Auditoria
Ferramentas de auditoria são utilizadas para rastrear quais clientes
acessaram o que e de que modo.
Não oferecem proteção contra ameaças, mas são de extrema utilidade para
a análise de uma falha de segurança.
Questões de Projeto
Há várias questões importantes de projeto que precisam ser levadas em
conta na implementação de serviços de segurança de uso geral.

Foco de Controle
• Quando consideramos a proteção de uma aplicação distribuída, há, em
essência, três abordagens diferentes que podem ser seguidas:

(a) Proteção de dados


(b) Mecanismo de controle de acesso
(c) Controle do usuário
Questões de Projeto
(a) Focaliza diretamente a proteção dos dados que estão associados à
aplicação.
• Preocupação primordial é garantir a integridade dos dados.
• Ocorre normalmente em sistemas de banco de dados formulando várias
restrições de integridade
Questões de Projeto
(b) Focaliza a proteção por meio da exata especificação de quais operações
podem ser invocadas, e por quem.
• O foco de controle está fortemente ligado com mecanismos de controle de
acesso.
• Em um sistema OO podemos decidir especificar quais métodos os cliente
pode evocar.
Questões de Projeto
(c) Focaliza diretamente os usuários impondo medidas que garantam
somente a pessoas específicas ter acesso à aplicação,
Independentemente das operações que elas querem executar
Ex.: em uma universidade, a utilização de certos dados e aplicações está
restrita a professores.
Criptografia
•  A utilização de técnicas criptográficas é fundamental para a segurança em
sistemas distribuídos
•  A ideia básica da aplicação dessas técnicas é simples:
Criptografia
Existem ataques passivos, que visam capturar informações confidenciais, e
ataques ativos, que visam introduzir modificações no sistema para beneficiar
o atacante ou impedir seu uso pelos usuários válidos.

Além disso, os ataques a um sistema operacional podem ser locais, quando


executados por usuários válidos do sistema, ou remotos, quando são
realizados através da rede, sem fazer uso de uma conta de usuário local.

Um programa especialmente construído para explorar uma determinada


vulnerabilidade de sistema e realizar um ataque é denominado exploit.
Criptografia: Chaves
•  Os métodos de criptografia atuais são seguros e eficientes e baseiam-se
no uso de uma ou mais chaves.

•  A chave é uma sequência de caracteres, que pode conter letras, dígitos e


símbolos (como uma senha), e que é convertida em um número, utilizado
pelos métodos de criptografia para codificar e decodificar mensagens.
Criptografia: Chaves
•  Atualmente, os métodos criptográficos podem ser subdivididos em duas
grandes categorias, de acordo com o tipo de chave utilizada:

•  a criptografia de chave única e


•  a criptografia de chave pública e privada.
Criptografia de chave única
•  Também chamada de chaves simétricas
•  Utiliza a mesma chave tanto para codificar quanto para decodificar
mensagens.
•  Também são chamados de sistemas de chaves secretas ou chaves
compartilhadas, porque o remetente e o receptor devem compartilhar a
mesma chave e, para garantir que a proteção funcione, essa chave
compartilhada deve ser mantida em sigilo, ninguém mais tem permissão
de vê-la.
Criptografia de chave única
•  Apesar deste método ser bastante eficiente em relação ao tempo de
processamento, ou seja, o tempo gasto para codificar e decodificar
mensagens, tem como principal desvantagem a necessidade de utilização
de um meio seguro para que a chave possa ser compartilhada entre
pessoas ou entidades que desejem trocar informações criptografadas.
Criptografia de chaves públicas e privadas
•  Também chamada de chaves assimétricas
•  Utiliza duas chaves distintas, uma para codificar (criptografar) e outra
para decodificar (decifrar) mensagens.
•  Neste método cada pessoa ou entidade mantém duas chaves: uma
pública, que pode ser divulgada livremente, e outra privada, que deve ser
mantida em segredo pelo seu dono.

Determinar qual das chaves de criptografia ou decifração será a publica,


depende do modo como as chaves são usadas.
Criptografia de chaves públicas e privadas
•  As mensagens codificadas com a chave pública só podem ser
decodificadas com a chave privada correspondente.
Criptografia de chaves públicas e privadas
Seja o exemplo, onde José e Maria querem se comunicar de maneira
sigilosa. Então, eles terão que realizar os seguintes procedimentos:

•  José codifica uma mensagem utilizando a chave pública de Maria, que


está disponível para o uso de qualquer pessoa que Maria autorizou;
•  Depois de criptografada, José envia a mensagem para Maria, através
da Internet;
•  Maria recebe e decodifica a mensagem, utilizando sua chave privada,
que é apenas de seu conhecimento;
•  Se Maria quiser responder a mensagem, deverá realizar o mesmo
procedimento, mas utilizando a chave pública de José.
Criptografia de chaves públicas e privadas
•  Apesar deste método ter o desempenho bem inferior em relação ao
tempo de processamento, quando comparado ao método de criptografia
de chave única, apresenta como principal vantagem

–  Livre distribuição de chaves públicas, não necessitando de um meio


seguro para que chaves sejam combinadas antecipadamente.
Comparação
Resumo de Mensagem
Um resumo de mensagem ou resumo criptográfico (cryptographic hash) é
uma função que gera uma sequência de bytes de tamanho pequeno e fixo
(algumas dezenas ou centenas de bytes) a partir de um conjunto de dados de
tamanho variável aplicado como entrada.

Os resumos criptográficos são frequentemente usados para identificar


unicamente um arquivo ou outra informação digital, ou para atestar sua
integridade: caso o conteúdo de um documento digital seja modificado, seu
resumo também será alterado.
Resumo de Mensagem
Idealmente, uma função hash para calcular o resumo de mensagem deve
gerar sempre a mesma saída para a mesma entrada, e saídas diferentes
para entradas diferentes.

No entanto, como o número de bytes do resumo é pequeno, podem ocorrer


colisões.

Uma colisão ocorre quando duas entradas distintas m1 e m2 geram o mesmo


valor de resumo. Obviamente, bons algoritmos de resumo devem ter
resistência à colisão: dada uma mensagem m1 conhecida, deve ser
computacionalmente inviável encontrar m2 , m1 com hash(m2) = hash(m1).
Assinatura Digital
Os mecanismos de criptografia assimétrica e resumos de mensagem
previamente apresentados permitem efetuar a assinatura digital de
documentos eletrônicos.

A assinatura digital é uma forma de verificar a autoria e integridade de um


documento, sendo por isso o mecanismo básico utilizado na construção dos
certificados digitais, amplamente empregados para a autenticação de
servidores na Internet.

Em termos gerais, a assinatura digital de um documento é um resumo digital


do mesmo, cifrado usando a chave privada de seu autor (ou de quem o está
assinando).
Assinatura Digital
O mecanismo de Assinatura Digital é formado por dois procedimentos, a
assinatura de uma unidade de dados e a verificação desta assinatura em
uma unidade de dados.
• O primeiro baseia-se em informação privada (única e secreta).
• O segundo utiliza-se da informação pública para reconhecer a assinatura.

Analisando o procedimento da assinatura digital observamos que o mesmo


envolve a codificação da unidade de dados completa ou a codificação de uma
parte, por exemplo, de um campo de verificação, da unidade de dados,
ambos utilizando informação privada.
Assinatura Digital
Uma das características essenciais da assinatura digital é que ela deve
garantir que uma mensagem assinada somente poderá ter sido gerada com
informações privadas suas.

Resumindo, a assinatura digital consiste na criação de um código, através da


utilização de uma chave privada, de modo que a pessoa ou entidade que
receber uma mensagem contendo este código possa verificar se o remetente
é mesmo quem diz ser e identificar qualquer mensagem que possa ter sido
modificada.

• Desta forma, é utilizado o método de criptografia de chaves pública e


privada, mas em um processo inverso.
Assinatura Digital
•  Se José quiser enviar uma mensagem assinada para Maria, ele
codificará a mensagem com sua chave privada. Neste processo será
gerada uma assinatura digital, que será adicionada à mensagem enviada
para Maria.

•  Ao receber a mensagem, Maria utilizará a chave pública de José para


decodificar a mensagem. Neste processo será gerada uma segunda
assinatura digital, que será comparada à primeira.

•  Se as assinaturas forem idênticas, Maria terá certeza que o remetente da


mensagem foi o José e que a mensagem não foi modificada.
Assinatura Digital
•  A segurança do método baseia-se no fato de que a chave privada é
conhecida apenas pelo seu dono.

•  O fato de assinar uma mensagem não significa gerar uma mensagem


sigilosa.
•  Para o exemplo anterior, se José quisesse assinar a mensagem e ter
certeza de que apenas Maria teria acesso a seu conteúdo, seria
preciso codificá-la com a chave pública de Maria, depois de assiná-la.

Você também pode gostar