Você está na página 1de 49

Confiabilidade, Tolerncia a falhas e Segurana

UNAMA - Esp. em Rede de Computadores Daniel Corra Lobato <dc@lobato.org>

Tpicos
Confiabilidade e tolerncia a falhas
Terminologia Classificao Uso de redundncia Aspectos pertinentes ao meio magntico Tcnicas de recuperao

Segurana
Aspectos bsicos Kerberos
2

Motivao
Desejo primrio
Execuo correta da computao submetida Resultados consistentes e coerentes

Terminologia
Failure (falha): evento sem sucesso Fault (defeito): causa Error (erro): estado de incorretude
3

Terminologia
Falha
Banco de dados est recuperando registros errados

Defeito
Chip de memria com problemas Conexo de rede intermitente

Erro
Registros corrompidos recuperar registros errados
4

Confiabilidade
Definio
Medida de sucesso da conformidade do comportamento em relao especificao Logo, sem especificao no existe falha

Em funo das definies...


Defeito pode ser a escolha de um componente lgico ou fsico
SW, controladora, disco...

Difcil relacionar falha a defeito

Falhas de componentes
Falha geralmente causada por...
Erros de projeto, idade, condies ambientais, erros de operador...

Nem todos os defeitos causam falhas


Chip com problema no est sendo usado Porta de comutador com problema trocada antes de conectar servidor

Tipos de defeitos no tempo


Transientes
Refazer operao resolve Transmisso infra-vermelho entre Palms
No receber o beam falha Interromper o feixe defeito transiente

Intermitentes
Acontecem de tempos em tempos Componentes aquecendo, conector com folga

Permanentes
7

Como aumentar confiabilidade?


Aumentar confiabilidade dos componentes
Nem sempre possvel

Tornar o sistema tolerante a falha


Falhas so mascaradas Redundncia ou de HW e/ou SW

Como aumentar confiabilidade?


Idia bsica
Probabilidade de falha: p em 1 segundo Funcionar por k segundos consecutivos
MTTF = kp(1 p ) Tempo esperado para falha
MTTF = 1/p
k =1

p(1 p)k-1

k 1

MTTF = 106 probabilidade de parar 10-6


9

Classificao dos defeitos


Fail-silent
Pra de responder/avisa que est parado

Temporizao
Produz sadas muito cedo ou muito tarde

Bizantinos
Falha e continua a operar em comportamento arbitrrio

Processamento Incorreto
Resposta incorreta mas previsvel

Crash
Pra e perde estado interno
10

Influncia do sincronismo
Sincronismo relacionado com previsibilidade de tempo de servio Maior parte dos SDs assncrono
Presupe-se sincronismo para deduzir falha se no houver resposta timeout (falha)

Estudos mostram impossibilidade de tolerncia a falhas bizantinas em sistemas assncronos


11

Exemplos
Processador
Crash ou bizantino

Relgio
Temporizao
Fora da especificao

Rede
Crash
Partio da rede

Crash
Relgio pra

Fail-silent
Perda de 1 mensagem

Bizantino
Valores aleatrios

Temporizao
Entrega atrasada

Proc. Incorreto
Erro na mensagem

12

Exemplos
Disco
Crash
Defeito mecnico

Software
Proc. Incorreto
Erro de projeto Bug (Detectado)

Temporizao
Demora no acesso aos dados

Bizantino
Bug (No detectado)

Fail-silent
Dados inacessveis

Crash
Deadlock Estouro de pilha

Proc. Incorreto
Dados corrompidos

Fail-silent
Estouro de buffer
13

Uso de redundncia
Soluo tpica para tolerncia a falhas
Redundncia de informao
Informao extra, para permitir recuperao Cdigos de Hamming, CRC, Reed-Solomon

Redundncia de tempo
Executar novamente se necessrio Operaes idempotentes, transaes

Redundncia fsica
Replicao ativa Primrio-backup
14

Replicao ativa
Conceito natural
Dois pulmes, dois olhos, dois ouvidos... Trs turbinas...

Implementao computacional
Triple Modular Redundancy

15

Primrio-backup
Toda a computao feita pelo primrio No caso de falha, backup assume
Transio suave para os clientes

Vantagens
Mais simples: mensagens apenas para o primrio Mais barato: 1 backup por primrio

Impossvel usar para falhas bizantinas


Primrio responde, e errado
16

Meio magntico
Confiabilidade depende de componentes mecnicos
trilha mais interna trilha mais externa trilha cabea brao

prato

setor

cilindro

Atuador

17

Meio magntico
Como aumentar
Disponibilidade
Distribuindo os dados Reduo de confiabilidade efeito colateral
MTTF do Array = MTTF de um disco Nmero de discos

Confiabilidade
Redundncia Como calcular, onde colocar???

Matriz de discos com redundncia!


18

RAID
Nveis
S t r i p e 0 S t r i p e 1S t r i p e 2 S

A B C D

0 0 0 0

0: conjunto de fragmentos sem paridade 1: espelhamento P a r i d a d e A A 0 A 1 A 2 A 3 P a r i d a d e B B 0 B 1 B 2 B 3 A B C D 2: cdigosF de ChammingH e/ou ECCr i d a d e C P a C 0 C 1 2 C 3 E G P a r i d a d e 0 A 0 B 0 C 0 i d a d e r a d o rD d eA AK E P a DG 0 1 D DP 3 a I J i d a e 1D 1 3:e a paridade de 2 bit/byteE rLemd disco rnico D B 1 P r i d a d e A 1 BN F M = P a BOr i d a d e C2eF 2t c . . .= A 2 D 2 C C G 4: paridade2 adee bloco emE discoG 3Enico E C C P a r i d d 3 3 B A 3 C 3 C C A 1 A A x D C C A y D D H H B 1 B B 3 E C C B x E C B 5: paridade2 de bloco misturada Caos y E C C C 1 C 2 C 3 E C C C x E C C C y E C C dados D 1 D 2 D 3 E C C D x E C C D y E C C 6: nvel 5 com redundncia redundante

t r i p e

P a r i d a d e G e r a d o r Sd et r i p e s 0 , e 3 P a r i d a d e 1 , 2 3

A B C D

z z z z

19

Ortogonalidade
Cadeia

Controladora da cadeia Cadeia

Opo 2 Opo 2

Controladora da cadeia Cadeia

Controladora da cadeia

Opo 1
20

Confiabilidade
Bsica (Patterson et al., 1988)
MTTF = 200.000h; MTTR = 1h; N=100; G=16 MTTF ( disco ) RAID 5
2

3.044 anos

(G 1) MTTR ( disco )

RAID 6
38.051.750 anos

MTTF(disco) 2 N (G 1) (G 2) MTTR (disco)

21

Confiabilidade
Revista (Chen et al., 1994)
Considera

Falha dupla/tripla de disco Falha de disco simples/dupla + Sistema Falha de disco simples/dupla + Erro de bit

Parmetros iguais
MTTDL (falha dupla de disco RAID 5)
304 anos

MTTDL (falha tripla de disco RAID 6)


38.051 anos
22

Desempenho X Custo
1 0,8 0,6 0,4 0,2 0 0 5 10 15 20 1 0,8 0,6 0,4 0,2 0 0 5 10

(Chen et al., 1994)

RAID 3

RAID 5

15

20

1 0,8 0,6 0,4 0,2 0 0 5 10 15 20

GL GE

PL PE

RAID 6

Eixo x tamanho do grupo Eixo y Throughput/US$ (relao RAID 0)

23

Recuperao de falhas
Detectar e recuperar dois tipos de falhas
Falha de transao
Transao abortada. Como voltar ao estado seguro?

Falha de sistema
HW falha, memria voltil perdida e memria estvel se mantm

Recuperao deve ser capaz de...


UNDO: desfazer REDO: refazer

24

Tcnicas
UNDO-REDO log Outras j citadas
Shadow page Protocolos de Commit

25

UNDO-REDO log
Todas as informaes sobre o estado devem estar em memria estvel
Log de operaes Tudo o que foi feito, e como desfazer Possvel retroceder ou avanar nos estados

Write Ahead Log


Anotar no log o que VAI fazer Passos intermedirios (UNDO) Situao final (UNDO e REDO)
26

UNDO-REDO log
Situao de falha
Desfazer o que estiver incompleto Refazer TUDO o que j est completo

Possvel otimizao
Estabelecimento de check points espaados

Desempenho dependente dos check points


Muito espaados: muito tempo para voltar Freqentemente: tempo de limpar

27

Consideraes finais
Confiabilidade
Modelos estatsticos de disponibilidade Geralmente atingida com redundncia

Aumento de confiabilidade/desempenho de armazenamento magntico


RAID

Falhou! Como recuperar???


Tcnicas como UNDO-REDO...
28

Segurana em SDs

Principais problemas da rea


Canais de comunicao
Privacidade Proteo contra alterao das mensagens

Servidores e clientes
Capacidade de identificar os parceiros

Garantir origem das mensagens

30

Ameaas x ataques
Possvel violao
Destruio de inf... Divulgao de inf... Interrupo de serv...

Personificao Replay Modificao DoS Armadilhas (vrus) Cavalos de Tria

31

Solues tpicas
Criptografia
Transformao dos dados Privacidade

Assinatura digital
Equivalente a assinatura real No-repdio, integridade, autenticidade

32

Onde aplicar as solues


Todos os nveis devem colaborar
Fsico: envolver meio em tubo pressurizado Enlace: criptografar na sada da mquina
E se tiver roteador? Trabalho desnecessrio

Rede: firewall Transporte: conexes criptografadas

33

Como atingir as solues


Alguns aspectos da ISO 7498-2
Crip Ass Ctl. Inte. Dig Acs Autenticao de parceiro Autenticao de origem Controle de acesso Confidencialidade com conexo Confidencialidade sem conexo Confidencialidade do contedo da mensagem Integridade com conexo e recuperao Integridade com conexo e sem recuperao Integridade do contedo da mensagem Integridade sem conexo
34

Troca Ids

Onde aplicar as solues


Alguns aspectos da ISO 7498-2
1 2 3 4 5 6 7 Autenticao de parceiro Autenticao de origem Controle de acesso Confidencialidade com conexo Confidencialidade sem conexo Confidencialidade do contedo da mensagem Integridade com conexo e recuperao Integridade com conexo e sem recuperao Integridade do contedo da mensagem Integridade sem conexo

35

Segurana em alguns servios


Correio eletrnico
SMTP no tem privacidade, autenticidade... Privacy Enhanced Mail

Gerncia de redes
SNMP v1 no tem SNMP v2 tem algum
Privacidade, aautenticao, integridade

Servio de nomes
DNS muito pobre X.500
Autenticao, integridade...

Emulao terminal
Usar SSH

36

Segurana em alguns servios


FTP/HTTP
TLS (RFC 2246)
Base do SSL Entre transporte/rede

Servio de arquivos
NFS
Autenticao com NIS Nada mais

Roteamento
BGP, EGP e OSPF
Requisitos semelhantes Autenticao e integridade

Andrew Filesystem
Autenticao, privacidade, integridade

37

Estudo de caso: Kerberos v5


Projeto Athena, do MIT em 1988
Usado no MIT e em vrios outros lugares OSF DCE e Andrew File System vm com ele

Funes de autenticao e segurana Escalabilidade garantida


Realms Vrios AS por realm replicao da base

38

Kerberos
Objetos de segurana
Ticket
Token emitido pelo sistema para usar em um srv

Authenticator
Token enviado pelo cliente para provar quem

Session Key
Chave que o cliente vai usar para falar com o srv
39

Kerberos
Cliente tem que possuir um ticket e uma chave para cada servidor que for usar
Ticket tm validade de algum tempo Us-los at expirar

Componentes
Kerberos Key Distribution Center
Autentication Service Ticket-granting Service

Cliente e Servidor
40

Kerberos
AS

KDC

TGS

Cliente

Servidor

41

Kerberos
Para logar, cliente tem que se autenticar no AS e obter um ticket vlido para o TGS Kc = Senha do cliente,
C A: C, T, n
O cliente C quer falar com o TGS

chave secreta... t1, t2 = Tempo de incio e fim de validade n = um valor arbitrrio

A C: {KCT , n}Kc , {ticket(C,T)}Kt


Cliente recebe uma chave KCT para falar com o TGS e um ticket que deve ser entregue ao TGS
Ticket (C,T) = {C, S, t1, t2, KCS } Verifica se n igual

42

Kerberos
Cliente pede ao TGS um ticket para usar com o servio S
C T: {C,t}Kct, {ticket(C,T)}Kt, S, n
Cliente solicita ao TGS um ticket para falar com S no tempo t

T C: {KCS, n}Kct, {ticket(C,S)}KS


TGS gera uma chave KCS que ser usada entre C e S e devolve um ticket para S
Ticket (C,T) = {C, S, t1, t2, KCS } 43

Kerberos
Cliente faz contato com S
C S: {C,t}Kcs, {ticket(CS)}Ks, req, n
Cliente C pede para servidor S executar req no tempo t

S C: {n, reply}Kcs
Servidor confirma que n foi recebido e a resposta para n reply

Ticket (C,T) = {C, S, t1, t2, KCS } 44

Aplicaes do Kerberos
Ideal para ambientes de alta desconfiana
Clientes, redes e mquinas so inseguros

Sistema Athena usa unicamente Kerberos


NFS, mail, login, impresso... Alterao dos servidores para pedir ticket
45

Login com Kerberos


Usurio envia seu login e n AS devolve n criptografado com a senha Cliente digita senha no console
Se decriptografar a mensagem, OK! Se no, senha errada

Senha descartada e ticket para TGS usado para obter outros tickets
46

Crticas ao Kerberos
Maiores reclamaes so operacionais
Segurana boa

Kerberos v4 usava relgio fsico para n


Sincronizao para evitar replay Protocolo de sincronizao seguro Hoje, n lgico servidor com estado

Segurana com base no tempo


Tickets valem por um tempo Como definir o tempo???

47

Consideraes finais
rea muito interessante e vasta
Criptografia, assinatura digital, OTP Firewall Deteco de intrusos

Servios internet carecem de segurana


IPv6 pode solucionar?

Nvel de segurana depende da aplicao


48

Por hoje...
Confiabilidade
Conceitos, classificao de defeitos

Tolerncia a falhas
Replicao ativa/passiva RAID

Segurana
Kerberos

A seguir: CP sobre SD
49