Você está na página 1de 32

Sistemas Distribudos

Aula VI
Andr Luiz andreluizgsantos@gmail.com

Sistemas Distribudos

Algoritmos de Eleio

Algoritmos de Eleio
Algortimo Valento(Bully)

Um processo P, ao detectar a falha do coordenador, inicia a eleio do seguinte modo - P envia uma mensagem de eleio para todos os processor com nmeros maiores que o seu. - Se ningum responde, P vence a eleio e se torna coordenador - Se um dos processos responde, ele assume a eleio e P espera Quando um processo vence a eleio, ele envia uma mensagem coordenador para todos os processos - Se um processo que no estava funcionando volta a funcionar, ele inicia uma eleio e se tiver o maior nmero, assume a coordenao (da o nome do algoritmo)
3

Excluso Mtua
Algortimo do Anel

Um processo P, ao detectar a falha do coordenador, inicia a eleio do seguinte modo - P envia uma mensagem de eleio, contendo seu ID, para o proximo host. - Se o host no responder, P envia a mesma mensagen para o proximo host. - Se ningum responde, P vence a eleio e se torna coordenador - Se um dos processos responde, ele assume a eleio e P espera Quando um processo receber a mensagem que contem su proprio ID e capaz de definir o novo coordenador (Maior ID de todos) Neste momento todos fazem a mesma coisa e elegem o novo coordenador - Se um processo que no estava funcionando volta a funcionar, ele pergunta quem o coordenador e informa sua existncia
4

Sistemas Distribudos

Segurana em Sistemas de Objetos Distribudos

Segurana em Sistemas de Objetos Distribudos

Segurana um dos aspectos mais importantes de sistemas distribudos pois tem a ver com a usabilidade dos sistemas.

Por outro lado, um dos aspectos sobre o qual temos

menos conhecimento e controle.

Nunca podemos dizer que um determinado sistema

100% seguro. Provavelmente, nunca poderemos.

Em sistemas distribudos, o conceito de confiana torna-

se

muito

nebuloso:

em

quem

podemos

confiar?

Segurana em Sistemas de Objetos Distribudos


um tpico que j foi muito estudado, ento preciso

tomar cuidado para no "reinventar a roda"

Se o seu sistema precisa de segurana, o melhor

estudar as tecnologias existentes e escolher uma (ou algumas) delas

S em ltimo caso que se deve pensar em utilizar uma

nova tcnica ou metodologia

Mesmo que voc no precise controlar a segurana em

seu sistema, talvez voc seja forado a estudar o assunto para fazer com que o seu sistema funcione em ambientes que utilizam mecanismos de segurana (p.ex. firewalls, applets)

Segurana em Sistemas de Objetos Distribudos

Algumas ameaas segurana dos sistemas distribudos so bvias. Por exemplo, na maioria dos tipos de rede local fcil construir um programa que obtenha cpias de mensagens transmitidas entre processos. computador que j est conectado rede ou em um que est infiltrado nela, atravs de um ponto de conexo sobressalente. instalar como um servidor de arquivos e obter cpias de informaes confidenciais contidas nos dados que os clientes encaminham para armazenamento.

Um programa desse tipo pode ser executado em um

Outras ameaas so mais sutis. Um programa pode se

Segurana em Sistemas de Objetos Distribudos

Para se resguardar dessas ameaas, polticas de segurana devem ser adotadas e mecanismos de segurana devem ser empregados a fim de implementar tais polticas.

A distino entre polticas e mecanismos til quando

se projetam sistemas de segurana, mas freqentemente difcil ter certeza de que um certo conjunto de mecanismos implementa plenamente as polticas desejadas. Note que as polticas independem de tecnologia.

Segurana em Sistemas de Objetos Distribudos


A proposta de um sistema de segurana restringir o

acesso s informaes e aos recursos, somente aos principals que esto autorizados.

O termo principal usado para designar os agentes que

acessam informaes e recursos mantidos em um sistema distribudo. Portanto, um principal uma pessoa ou um processo. No modelo de segurana que adotamos, cada principal tem um nome e uma chave secreta.

Para produzir um sistema que seja comprovadamente

seguro contra ameaas especficas, necessrio classificar essas ameaas e os mtodos pelos quais cada uma delas pode se concretizar, isto , os mtodos de ataque, ou o modus operandi.

10

Segurana em Sistemas de Objetos Distribudos


As ameaas aos sistemas de computador subdividem-se

em quatro grandes classes:

- Leakage

(vazamento): aquisio de informao por agentes no autorizados; informao (inclusive de programas); sem autorizao;

- Tampering (falsificao): alterao no autorizada de

- Resource stealing (roubo de recursos): uso de facilidades

- Vandalism

(vandalismo): interferncia na operao apropriada de um sistema sem ganhos para o criminoso;

11

Segurana em Sistemas de Objetos Distribudos


Para

violar um sistema atravs de quaisquer das estratgias apresentadas anteriormente, necessrio acess-lo.

Virtualmente, todos os computadores possuem canais

de comunicao para acesso autorizado s suas facilidades, e atravs destes que o acesso no autorizado ocorre.
Nos

sistemas distribudos, os computadores esto conectados a uma rede e os seus sistemas operacionais oferecem uma interface de comunicao padro que permite o estabelecimento de canais de comunicao virtuais.

12

Segurana em Sistemas de Objetos Distribudos


Os mtodos pelos quais violaes de segurana podem

ser cometidas em sistemas distribudos dependem da obteno de acesso aos canais de comunicao existentes, ou do estabelecimento de canais que mascarem conexes aos principals, com a autoridade desejada.

Isto inclui: - Eavesdropping: obteno de cpias de mensagem

sem autorizao. Isto pode ser feito capturando mensagens diretamente da rede, ou examinando informaes que esto inadequadamente protegidas em dispositivos de armazenamento de dados. Por exemplo, usando a Internet um computador pode ser configurado com o endereo de rede de outro, permitindo que este tambm receba as mensagens endereadas quele.

13

Segurana em Sistemas de Objetos Distribudos


- Masquerading (disfarce): envio ou recebimento de

mensagens usando a identidade de outro principal sem a sua autorizao. tampering (falsificao de mensagem): captura e alterao do contedo das mensagens antes de pass-las ao destinatrio. Isto difcil de fazer em meios que se utilizam de broadcast para troca de mensagens, como o caso das redes Ethernet. De maneira simplificada, podemos definir broadcast como sendo a entrega simultnea de uma mensagem para todas as estaes da rede. por um certo perodo de tempo, seguido do envio atrasado dessas mensagens aos seus destinatrios. Este mtodo de ataque no pode ser evitado por simples criptografia, uma vez que pode ser usado para operaes do tipo vandalismo, ou roubo de recurso, mesmo quando as mensagens no podem ser interpretadas pelo criminoso.

-Message

- Replaying: captura e armazenamento das mensagens

14

Segurana em Sistemas de Objetos Distribudos


Para lanar esses ataques em um sistema distribudo, o

criminoso deve ter acesso ao sistema a fim de executar o programa que implementa o ataque. usurios legtimos do sistema. Para usurios ilegtimos, um mtodo simples de infiltrao a adivinhao de senhas, ou o uso de programas de quebra de senhas para obter as chaves de acesso de usurios conhecidos.

A maioria dos ataques so lanados por pessoas que so

15

Segurana em Sistemas de Objetos Distribudos


Alm

dessas formas diretas de infiltrao, existem diversos mtodos mais sutis, que esto se tornando bem conhecidos, tais como: que se instala sozinho no ambiente alvo, sempre que o programa hospedeiro executado. Uma vez instalado, ele realiza suas aes criminosas sempre que lhe apraz, freqentemente usando uma data como gatilho. rede, replicando-se e buscando bloquear todos os recursos disponveis, at torn-lo inoperante. Ao contrrio do vrus, um worm normalmente no destri dados.

- Vrus: um programa anexado a um hospedeiro legtimo,

- Worm: um programa que varre um sistema, ou uma

16

Segurana em Sistemas de Objetos Distribudos


- Cavalo de Tria: um programa oferecido aos usurios

de um sistema como sendo capaz de realizar uma funo til, mas que tem uma segunda funo oculta. O exemplo mais comum o spoof login, um programa que apresenta aos usurios um dilogo idntico ao dilogo normal de obteno de login (nome do usurio) e password (senha), mas que na realidade armazena as informaes fornecidas pelos usurios em um arquivo, com o objetivo de uso posterior ilcito.

17

Segurana em Sistemas de Objetos Distribudos

A discusso anterior, sobre ameaas e mtodos de ataque, leva-nos concluso de que para construir um sistema distribudo seguro, ns devemos projetar seus componentes partindo do princpio de que os agentes do sistema (pessoas e programas) no so confiveis, at que provem o contrrio. entanto, impossvel produzir um sistema til considerando que no h nenhum componente confivel. Assim sendo, o objetivo passa a ser produzir um sistema no qual um nmero mnimo de componentes sejam considerados confiveis.

No

Os mecanismos de segurana para sistemas distribudos

baseiam-se em alguns aspectos de segurana.

18

Segurana em Sistemas de Objetos Distribudos


Aspectos a se considerar em Segurana - criptografia ( uma ferramenta que ajuda a

implementar os itens seguintes) - autenticao (de usurios e objetos) - controle de acesso - auditoria

19

Segurana em Sistemas de Objetos Distribudos


Criptografia

A criptografia de mensagens possui trs papis principais na implementao de sistemas seguros. privada nos lugares do sistema onde ela estiver exposta, como por exemplo num canal de comunicao, o qual vulnervel a eavesdroping e message tampering. tradicional em atividades militares e de inteligncia. Baseia-se no fato de que uma mensagem criptografada com uma chave especfica s pode ser descriptografada por um agente que conhea a chave inversa correspondente.

Em primeiro lugar, usada para esconder informao

Esta aplicao de criptografia corresponde ao seu uso

20

Segurana em Sistemas de Objetos Distribudos


Criptografia

A segunda utilidade desta tcnica apoiar mecanismos

de autenticao que suportam a comunicao entre pares de agentes do sistema. sucesso, usando uma chave inversa especfica, pode assumir que a mensagem autntica se ela contm algum valor esperado. mensagem decodificada como sendo proveniente de um agente especfico.

Um agente que descriptografa uma mensagem com

Ento uma descriptografia com sucesso autentica a

21

Segurana em Sistemas de Objetos Distribudos


Criptografia

A terceira aplicao da tcnica a implementao de

um mecanismo conhecido como assinatura digital.

Este

mecanismo simula o papel das assinaturas convencionais, verificando com um terceiro se a mensagem uma cpia inalterada daquela produzida pelo agente especfico. existncia de alguma coisa que o agente emissor da mensagem possa fazer que outros no possam.

A habilidade de prover assinaturas digitais depende da

22

Segurana em Sistemas de Objetos Distribudos


Autenticao

outra tcnica que serve de base terica para mecanismos de segurana de sistemas distribudos autenticao. agentes clientes e servidores so estabelecidas de maneira confivel. O mecanismo utilizado para atingir esse objetivo baseia-se na posse de chaves de criptografia, isto , podemos inferir que um agente tem a identidade que afirma, se ele possui a chave secreta apropriada. Assim como nos trabalhos de espionagem ou nas sociedades secretas, a posse da senha exigida para autenticar o possuidor da identidade.

Esta tcnica o meio pelo qual as identidades dos

23

Segurana em Sistemas de Objetos Distribudos


Autenticao

Os

mecanismos de autenticao para sistemas distribudos tomam a forma de um servio de autenticao, quando implantados em um ambiente computacional. armazenamento e distribuio de todas as chaves de criptografia necessrias ao sistema.

Esse servio deve prover funcionalidades como gerao,

24

Segurana em Sistemas de Objetos Distribudos


Controle de Acesso

A ltima tcnica relativa a segurana controle de

acesso.

Os mecanismos de controle de acesso preocupam-se em

assegurar que os acessos aos recursos de informao (por exemplo, arquivos, processos, ou portas de comunicao) e aos recursos de hardware (servidores de impresso, pools de processadores ou gateways de rede) estejam disponveis apenas para os usurios autorizados a faz-los. Realizar controle de acesso a principal misso do sistema de segurana. Esse controle feito com base em informaes obtidas de forma criptografada e mediante autenticao dos agentes que se comunicam.

25

Segurana em Sistemas de Objetos Distribudos

Firewalls Filtragem de Pacotes Uma tabela definida manualmente pelo

administrador de sistema define quais pacotes podem passar Exemplos: pacotes UDP/IP s podem entrar se forem destinados maquina pateta.xpto.org.br nas portas 10 a 20 conexes TCP/IP podem ser enviadas para qualquer mquina www*.xpto.org.br na porta 80 todos pacotes IP vindos das mquinas *.xpto.org.es podem entrar

26

Segurana em Sistemas de Objetos Distribudos

Note que os dois primeiros exemplos limitam MUITO

o tipo de servio que pode ser oferecido por este domnio Note que o terceiro exemplo no garante muita coisa pois relativamente fcil forjar o endereo de origem dos pacotes
Pontes no nvel das Aplicaes (Application-Level

Gateways) permite uma filtragem mais fina que "olha" dentro de cada pacote o programador da aplicao escreve a ponte e a instala no firewall esta ponte pode autenticar os pacotes e redirecionlos para as mquinas apropriadas da Intranet

27

Segurana em Sistemas de Objetos Distribudos


O Servio de Segurana de CORBA
uma especificao enorme, super-completa de um

servio de segurana lo

to poderoso que muito poucos ousaram implement-

Requisitos abordados pelo servio Confidencialidade - a informao s est disponvel

28

para quem deve estar Integridade - a informao s alterada por quem autorizado a fazer isso Responsabilizao (accountability) - as aes dos usurios envolvendo segurana so guardadas para posterior verificao e responsabilizao dos usurios pelos seus atos Disponibilidade - Usurios autorizados conseguem acessar o servio quando querem

Segurana em Sistemas de Objetos Distribudos


Ameaas a Segurana usurios acessando servios aos quais eles no tem

acesso um usurio fingindo que outro usurio ou assumindo um papel ao qual ele no tem direito monitoramento de canais de comunicao confidenciais modificar, apagar ou re-enviar mensagens em canais de comunicao um usurio (p.ex. com super-poderes) realizando operaes que no so registradas em um log um usurio negando que tenha assinado um contrato

29

Segurana em Sistemas de Objetos Distribudos


O Servio de Segurana de CORBA oferece as seguintes

funcionalidades

- Identificao (de usurios, objetos, etc.) e Autenticao - Autorizao e Controle de Acesso - Delegao - Auditoria - mantendo registros das atividades, quais atividades devem ser registradas, quais no

30

Segurana em Sistemas de Objetos Distribudos


Segurana da Comunicao garantia de integridade garantia de confidenciabilidade Gerao de Provas (Non-repudiation) - usado para: oferecer uma prova da origem de certos dados para o

destinatrio dos dados. oferecer ao remetente uma prova de recebimento dos dados pelo destinatrio, desta forma, possvel evitar que destinatrios ou remetentes neguem as suas aes Exemplo: compra de produtos via Internet. Muito bom para comrcio eletrnico.

31

Segurana em Sistemas de Objetos Distribudos


Administrao de Polticas de Segurana ferramentas para determinar as polticas em cada

domnio

32