Sincronização e Segurança em Sistemas Distribuídos

Classificado em Computação

Escrito em em português com um tamanho de 4,81 KB.

Lamport – Feito para sincronização de clocks lógicos. Exigência: ordenação global de todos os eventos do sistema. Para cada par de eventos, deve-se saber qual aconteceu antes.

Passos:

  1. Envia mensagem a todos os processos e para si mesmo (mensagem = nome da região, seu número, tempo corrente).
  2. Quando um processo recebe:
    • a) Se o receptor não estiver usando ou não for usar, retorna OK.
    • b) Se estiver usando, não responde e guarda requisição na fila.
    • c) Se também quer usar, verifica o tempo da mensagem recebida com o da enviada. Se for menor, envia OK. Se não, não responde e guarda na fila.
  3. Após enviar a requisição, aguarda o OK dos demais.
  4. Termina o uso, envia OK para todos da fila.

Características:

  • Nenhum processo espera indefinidamente.
  • Não há deadlocks.
  • Número de mensagens é 2(n-1), onde n é o número de processos.

Vantagens: Garantia de inexistência de deadlocks ou espera indefinida. Número de mensagens requeridas: 2(n-1). Não há ponto de falha.

Problemas: Tráfego de rede muito maior. Uma falha no processo bloqueia as tentativas subsequentes de acesso. Sistema muito maior. Funciona melhor para pequenos grupos de processos.

Melhorias: Envio de negação de acesso. Processo pode entrar se tiver OK da maioria.

Anel Lógico – Atribui-se uma posição no anel (ordem numérica de endereços ou qualquer outro meio conveniente). Não importa a ordenação; o importante é cada processo conhecer o próximo na sequência.

Algoritmo:

  1. O processo recebe o bastão (token).
  2. O processo entra em somente uma região. Quando termina o uso, passa o token para o próximo.
  3. Se o próximo tem o token, mas não vai usar, passa para o vizinho.

Características: Não há starvation. Quando um processo deseja acessar, o pior que pode acontecer é ele esperar todos os anteriores executarem.

Vantagens: Garante a exclusão mútua, pois somente quem possui o token pode acessar a região crítica.

Problemas: Se o token se perder, há necessidade de regenerá-lo. Dificuldade de identificar perda de token; se não for detectada corretamente, pode gerar duplicidade. Se algum processo falhar, o vizinho tem que identificar e retirá-lo do processo.

Comparativo quanto ao número de mensagens enviadas:

  • Centralizado: Mais simples, mais eficiente - 3 (requisição, autorização e liberação).
  • Algoritmos Distribuídos: 2(n-1) (n-1 requisições, n-1 autorizações).
  • Token Ring: Variável e imprevisível. Se todos querem acessar, e pode circular por horas sem ninguém querer acessar.

Comparativo de tempo para entrar na região crítica:

  • Centralizado: Tempo de 2 mensagens (requisição e autorização).
  • Sistema Distribuído: 2(n-1).
  • Token Ring: Token chega (0 mensagens), passado (n-1 mensagens).

Principais Ameaças em Sistemas Distribuídos

Principals – Agentes que acessam informações e recursos mantidos em um sistema distribuído. Eles têm nome e chave secreta.

Ameaças:

  • Leakage (Vazamento): Aquisição de informações por agentes não autorizados.
  • Tampering (Falsificação): Alteração de informações.
  • Resource Stealing (Roubo de Recursos): Usar facilidades indevidamente.
  • Vandalism (Vandalismo): Interferência na operação do sistema, sem ganho para o criminoso.

Canais de Comunicação - Ameaças:

  • Eavesdropping: Cópias de mensagens sem autorização, direto pela rede ou examinando dispositivos de armazenamento de dados.
  • Masquerading (Disfarce): Usar identidade de outro principal.
  • Message Tempering (Falsificação de Mensagem): Capturar e alterar mensagens antes de repassá-las.
  • Replaying: Capturar e armazenar mensagens por um tempo, seguido de envio com atraso.

Infiltração:

  • Vírus: Programa anexo a um hospedeiro, que se infiltra sozinho.
  • Worm: Varre o sistema ou uma rede, replicando-se e tornando-o inoperante.
  • Cavalo de Tróia: Oferecido como útil ao usuário, mas tem função oculta.

Aspectos de Segurança:

  • Criptografia
  • Autenticação
  • Controle de Acesso
  • Auditoria

Entradas relacionadas: