68893425 red015-cap-15-seguranca-de-redes-20110101

34
Administração e Projeto de Redes Material de apoio Segurança de Redes Cap.15 01/01/2011

Transcript of 68893425 red015-cap-15-seguranca-de-redes-20110101

Administração e Projeto de Redes

Material de apoio

Segurança de Redes

Cap.15

01/01/2011

2

Esclarecimentos Esse material é de apoio para as aulas da disciplina e não

substitui a leitura da bibliografia básica. Os professores da disciplina irão focar alguns dos tópicos da

bibliografia assim como poderão adicionar alguns detalhes não presentes na bibliografia, com base em suas experiências profissionais.

O conteúdo de slides com o título “Comentário” seguido de um texto, se refere a comentários adicionais ao slide cujo texto indica e tem por objetivo incluir alguma informação adicional aos conteúdo do slide correspondente.

Bibliografia básica: KUROSE, James F.; ROSS, Keith. Redes de Computadores e a INTERNET - Uma nova abordagem. Pearson. : , 2004.

3

O que é Segurança na Rede? Confidencialidade (Sigilo): apenas o remetente e o

destinatário pretendido devem “entender” o conteúdo da mensagem.

remetente cifra (codifica) msg. destinatário decifra (decodifica) msg.

Autenticação: destinatário quer confirmar a identidade do remetente.

Integridade e não-repudiação de Mensagem: remetente e destinatário querem garantir que a mensagem recebida não foi alterada (em trânsito ou após) e isto seja detectado caso ocorra. Caso seja considerada íntegra, não deverá ser repudiada (negada) pelo destinatário.

Disponibilidade e Controle de Acesso: os serviços devem estar acessíveis e disponíveis para os usuários.

4 Amigos e Inimigos: Alice, Bob e Trudy

Bob e Alice (amantes!) querem se comunicar de modo “seguro”.

Trudy, a “intrusa” pode interceptar, apagar e/ou acrescentar mensagens.

Quem são Alice e Bob: Browser/servidor web para transações eletrônicas (ex.,

compras on-line). Cliente/servidor home banking. Servidores DNS. Roteadores trocando atualizações de tabelas de

roteamento.

5

Há muitos criminosos digitais por aí! P: O que eles podem fazer?

R: um monte de coisas! grampo: interceptação de mensagens. inserir ativamente mensagens na conexão. falsidade ideológica: pode imitar/falsificar endereço de

origem de um pacote (ou qualquer campo de um pacote). seqüestro: assumir conexão em andamento removendo o

transmissor ou o receptor, colocando-se no lugar. negação de serviço: impede que o serviço seja usado por

outros (ex. sobrecarregando os recursos).

6

Código de substituição: substitui um caractere por outro: Código monoalfabético: substitui uma letra por outra.

Texto aberto: abcdefghijklmnopqrstuvwxyz Texto cifrado:mnbvcxzasdfghjklpoiuytrewq

Texto aberto: bob. eu te amo. Alice Texto cifrado: nkn. cy uc mhk. mgsbc

Criptografia de chave simétrica: Bob e Alice compartilham a mesma chave (simétrica): KA-B.

Criptografia de chaves simétricas

Chave KA-B onde KA = KB

7

Criptografia de chave simétrica DES - Data Encryption Standard

Padrão americano de cifragem [NIST 1993]. Tornando o DES mais seguro: 3-DES (Tripple DES)

Criptografa a mensagem repetindo o processo usando três chaves seqüencialmente (3-DES) (é usado no PPP [RFC 2420]).

AES – Advanced Encription Standard Algoritmo de chave simétrica padronizada pelo NIST, para

substituir o DES (Nov. 2001).

8

Criptografia de chave pública A criptografia de chaves simétricas requer que o remetente e

destinatário compartilhem a mesma chave secreta. Criptografia de chave pública (visando comunicação com Sigilo):

Abordagem é radicalmente diferente [Diffie-Hellman76, RSA78].

Remetente e destinatário não compartilham uma mesma chave privada (secreta).

A chave de cifragem é pública (conhecida por todos). A chave de decifragem é privada (conhecida apenas pelo

destinatário).

Comunicaçãocom SIGILO

9 Autenticação (reconhecer o remetente)

Objetivo: Bob quer que Alice “prove” sua identidade para ele.

Protocolo ap1.0: Alice diz “Eu sou Alice”.

Cenário de falha?? Sim, Trudy pode dizer: “Eu sou Alice”. Bob pode ser

confundido.

10

Autenticação: outra tentativa Protocolo ap2.0: Alice diz “Eu sou Alice” e envia seu endereço

IP junto como prova.

Cenário de falha?? Sim, Trudy pode criar um pacote “trapaceando” (IP

spoofing) o endereço de Alice.

IP spoofing

11

Autenticação: outra tentativa (cont.) Protocolo ap3.0: Alice diz “Eu sou Alice” e envia sua senha

secreta como prova.

Cenário de falha?? Sim: Ataque de playback: Trudy grava o pacote de Alice e

depois o envia de volta para Bob.

12 Autenticação: ainda uma outra tentativa

Protocolo ap3.1: Alice diz “Eu sou Alice” e envia a sua senha secreta cifrada como “prova”.

Gravar e reproduzir ainda funciona! É possível o ataque de playback.

“Sou Alice”end IPde Alice

senha cifrada

OKend IPde Alice

“Sou Alice”end IPde Alice

senhacifrada

13 Autenticação: ainda uma outra tentativa

Meta: evitar ataque de reprodução (playback).

Nonce: número (R) usado apenas uma vez na vida.

ap4.0: para provar que Alice “está ao vivo”, Bob envia a Alice um nonce. Alice deve devolver R, criptografado com a chave secreta comum.

Alice está ao vivo e apenas Alice conhece a chave para criptografar o nonce, então ela deve ser Alice!

14

Autenticação: Assinaturas Digitais Técnica criptográfica análoga às assinaturas à mão. Remetente (Bob) assina digitalmente o documento, atestando

que ele é o dono/criador do documento. Verificável, não forjável: destinatário (Alice) pode verificar que

Bob e ninguém mais assinou o documento. Assinatura digital simples para a mensagem m:

Bob assina mensagem “m” cifrando-a com a sua chave privada “K”, criando mensagem “assinada”, K (m).

15

Integridade das mensagens:Função Hash (Resumo de mensagens)

Meta: integridade da mensagem ao acrescentar um pacote de comprimento fixo facilmente computável. Para verificação de Integridade ou “impressão digital” da informação.

Aplicar função hash H à mensagem m, para obter um resumo de tamanho fixo, H(m).

Propriedades das funções de Hash:

O resultado do cálculo da função Hash pode ser igual para mensagems m diferentes (Muitas-para-1). Não é uma função 1 para 1.

Produz um resumo da mensagem de tamanho fixo (impressão digital).

Dado um resumo da mensagem x, é computacionalmente impraticável encontrar m tal que x = H(m). Só permite validar e não recuperar erro.

16 Algoritmos para gerar a Função de Hash

MD5 (RFC 1321) (1991). Está quebrada desde 2005.

SHA-1 (1995). padrão americano [NIST, FIPS PUB 180-1]. Está quebrada desde 2005.

SHA-2 (variação do SHA-1).

WHIRLPOOL. Algorítmo brasileiro-belga (padrão Comunidade Européia e

Asiática).

17 Assinatura digital c/ Função Hash: Assinatura do resumo da mensagem

Bob envia mensagem assinada digitalmente ao criptografar o Hash da mensagem com sua senha privada:

Alice verifica a assinatura e a integridade da mensagem assinada digitalmente:

Mensagem grande

m H: funçãode Hash H(m)

assinaturadigital

(criptografada)

chave privad

a de Bob

K B-

+ KB(H(m))-

resumo de msg criptogrado

KB(H(m))-

resumo de msg criptografado

mensagem grande

m

H: funçãode Hash

H(m)

assinaturadigital

(decriptografada)

H(m)

chavepúblicade Bob K B

+

igual?

18

Intermediários de confiança Problema com chave

simétrica Como duas entidades

escolhem chave secreta compartilhada pela rede?

Solução: Centro confiável de

Distribuição de chaves (KDC – Key Distribution Center) agindo como intermediário entre as entidades que querem manter comunicação segura. O KDC autentica as entidades.

Problema com chave pública:

Quando Alice obtém a chave pública de Bob (da web, e-mail ou disquete), como ela vai saber se a chave pública é mesmo de Bob e não de Trudy?

Solução: Autoridade Certificadora

(CA) confiável. CA armazena as chaves

públicas e disponibiliza-as aos solicitantes.

19

Autoridades Certificadoras (1/2) Autoridade certificadora (CA): associa uma chave pública a

uma entidade em particular, denominada “E”.

“E” (pessoa ou roteador) registra sua chave pública com CA: “E” fornece “prova de identidade” ao CA. CA cria um certificado associando “E” a sua chave pública. CA emite um Certificado contendo a chave pública de “E”

digitalmente assinada pela CA: CA diz que “esta é a chave pública de E”.

Chave Privada

20

Autoridades Certificadoras (2/2) Quando Alice precisa da chave pública de Bob:

Obtém o certificado de Bob (de Bob ou de outro lugar) na CA que guarda a chave de Bob.

Alice aplica a chave pública da CA ao certificado de Bob, para extrair a chave pública de Bob.

Chave públic

a de Bob

K B+

assinaturadigital

(decifra)

Chave públic

a da CA

K CA+

K B+

21

Firewalls Isola a rede interna da organização da área pública da

Internet, permitindo que alguns pacotes passem e outros não.

22

Firewalls: Para que servem? Prevenir ataques de negação de serviço:

Inundação de SYNs: atacante estabelece muitas conexões TCP “falsas” e não deixa nenhum recurso para as conexões “reais”.

Prevenir modificação/acesso ilegal aos dados internos. ex., o atacante substitui a homepage da CIA com outra

coisa.

Permitir apenas acessos autorizados ao interior da rede (conjunto de usuários/hospedeiros autenticados).

Tipos de firewalls: Filtragem de pacotes. Camada de aplicação (Gateways de Aplicação).

23

Firewall Filtro de pacotes Rede interna conectada à Internet via roteador firewall.

Filtro de pacotes. A decisão de enviar ou descartar pacotes que chegam no Firewall baseia-se regras que podem considerar:

Endereço IP de origem e/ou endereço IP de destino. Número de portas TCP/UDP de origem e/ou de destino. Tipo de mensagem ICMP. Bits TCP: SYN e ACK (para bloquear tentativas de criação de

uma sessão TCP).

Exemplo 1: Bloqueia datagramas de entrada e saída com campo de protocolo IP = 17 e com porta de origem ou destino = 23.

Todos os fluxos UDP de entrada e saída e conexões telnet são bloqueadas.

Exemplo 2: Bloqueia segmentos TCP de entrada com ACK=0. Previne que clientes externos estabeleçam conexões TCP

com clientes internos, mas permitem que clientes internos se conectem com o exterior.

24

Gateways de Aplicação Filtra pacotes em função de

dados de aplicação, assim como de campos do IP/TCP/UDP.

Exemplo: permite selecionar usuários internos que podem usar o Telnet.

Exige que todos os usuários Telnet se comuniquem através do Gateway.

Para os usuários autorizados, o gateway estabelece conexões Telnet com o hospedeiro de destino. O Gateway repassa os dados entre as duas conexões.

O filtro do roteador bloqueia todas as sessões Telnet que não se originam no Gateway.

25

Limitações dos Firewalls e Gateways IP spoofing: roteador não tem

como saber se os dados “realmente” vêm da fonte alegada.

Se múltiplas aplicações necessitam tratamento especial, cada uma deve ter o próprio Gateway.

O software do cliente deve saber como contactar o Gateway:

Por exemplo, deve setar o endereço IP do proxy no browser.

Compromisso: grau de comunicação com o mundo externo, nível de segurança:

Muita segurança limita as formas de comunicação.

Muita flexibilidade para se comunicar cria riscos para a segurança.

Muitos sites altamente protegidos ainda sofrem ataques.

26 Ameaças à segurança na Internet (1/4)

Mapeamento (Reconhecimento do terreno): antes de atacar: descobrir quais serviços estão

implementados na rede.

Use Ping para determinar quais hosts estão ativos na rede.

Varredura de portas (Port-scanning): tentar estabelecer conexões TCP para cada porta em seqüência (para ver o que acontece).

mapeador nmap (http://www.insecure.org/nmap/): “exploração da rede e auditoria de segurança”.

Contramedidas: Registrar o tráfego que entra na rede.

procurar atividade suspeita (endereços IP, portas sendo varridas seqüencialmente).

27 Ameaças à segurança na Internet (2/4)

Packet sniffing: Meio broadcast. NIC em modo promíscuo

lêem todos os pacotes que passam na rede.

Exemplo: C captura os pacotes de B na comunicação A-B e pode obter a senha.

Packet sniffing – contramedidas:

Todos os hospedeiros na organização executam software que examina periodicamente se a interface do hospedeiro está operando em modo promíscuo

Um host em cada porta de SWITCH na LAN (rede Ethernet).

Não usar HUB na rede LAN.

28

IP Spoofing:

Pode gerar pacotes IP “puros” diretamente da aplicação, colocando qualquer valor do endereço IP no campo de endereço de origem.

Receptor não sabe se a fonte é verdadeira ou se foi forjadaEx.: C finge ser B.

Ameaças à segurança na Internet (3/4)

IP Spoofing - contramedidas: filtro de entrada:

Roteadores não devem repassar pacotes para a saída quando esses têm endereço IP de origem inválido (exemplo, endereço de origem do datagrama que tenha valor fora da faixa de endereçamento da rede local).

Essa medida é restrita aos roteadores que transmitem os pacotes IP e sua adoção não é obrigatória.

29 Ameaças à segurança na Internet (4/4)

Negação de serviço (DoS): Inundação de pacotes

maliciosamente gerados que invadem o receptor.

DoS Distribuído (DDoS): múltiplas fontes coordenadas atacam simultaneamente o receptor.

exemplo: C e um hospedeiro remoto atacam A com inundação de SYN (pacotes de estabelecimento de sessão TCP).

Negação de serviço (DoS) - contramedidas:

Filtragem de pacotes de inundação (ex., SYN) antes de atingirem o alvo: corta os pacotes bons e os maus.

Rastrear em busca da fonte da inundação (mais provavelmente uma máquina inocente que foi invadida).

30

E-mail seguro: Sigilo Alice quer enviar e-mail confidencial, m, para Bob. Então:

Gera uma chave privada simétrica, KS. Codifica a mensagem com KS (por eficiência). Também codifica KS com a chave pública de Bob. Envia tanto KS(m) (msg criptografada com a chave KS)

como KB(KS) (chave simétrica KS criptografada com a chave pública de Bob) para Bob.

Bob: Usa sua chave privada para decodificar e recuperar KS. Usa KS para decodificar KS(m) e recuperar m.

31 E-mail seguro: Autenticação e Integridade

Alice quer fornecer autenticação de emissor e integridade de mensagem.

Alice assina digitalmente a mensagem (calcula Hash da msg m e criptografa com sua chave privada).

Envia tanto a mensagem (aberta) quanto a assinatura digital. Bob valida a autenticidade (decriptografa o Hash recebido com

chave pública de Alice obtendo o Hash original) e a integridade da mensagem recebida (calcula o Hash da mensagem m recebida), caso essas duas informações sejam iguais.

Hash

Hashcriptografado

Hash original recuperado

Hash calculado de m

32

SSL - Secure Sockets Layer (1/2) SSL trabalha na camada de

transporte.

Provê segurança para qualquer aplicação baseada em TCP que use os serviços SSL.

SSL: usado entre clientes e servidores www para comércio eletrônico (https).

Serviços de segurança SSL: autenticação do servidor. codificação dos dados. autenticação do cliente

(opcional).

Autenticação do servidor: Cliente habilitado com

SSL inclui chaves públicas das CAs confiáveis.

Cliente solicita certificado do servidor, emitido por CA confiável.

Cliente usa a chave pública da CA para extrair a chave pública do servidor a partir do seu certificado.

Visite o menu de segurança do seu browser para verificar quais são as suas CAs confiáveis.

33

SSL - Secure Sockets Layer (2/2) Sessão SSL criptografada:

Browser gera chave simétrica para a sessão, cifra-a com a chave pública do servidor, envia a chave cifrada para o servidor.

O servidor decifra a chave simétrica da sessão usando a sua chave privada.

Browser e servidor concordam que as msgs futuras serão cifradas com a chave simétrica gerado pelo Browser.

Todos os dados enviados para o socket TCP (pelo cliente ou servidor) são cifrados com a chave da sessão.

SSL: base para a Segurança da Camada de Transporte do IETF (TLS).

SSL pode ser usado para aplicações não Web, ex., IMAP.

Autenticação do cliente pode ser realizada com certificados do cliente.

34 IPSecSegurança de Camada de Rede

Sigilo na camada de rede: host transmissor cifra os

dados num datagrama IP. segmentos TCP e UDP,

mensagens ICMP e SNMP.

Autenticação da camada de rede:

host destino pode autenticar o endereço IP da origem.

Dois protocolos principais: Protocolo de cabeçalho

de autenticação (AH). Protocolo de

encapsulamento de segurança da carga (ESP).

Tanto para AH como ESP tem negociação origem-destino:

Criação de um canal lógico de camada de rede chamado de acordo de serviço (SA- service agreement)

Cada SA é unidirecional.

Determinado univocamente por:

Protocolo de segurança (AH ou ESP).

Endereço IP da origem. ID da conexão de 32-bits.