Administração e Projeto de Redes
Material de apoio
Segurança de Redes
Cap.15
25/01/2010
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 não seja alterada (em trânsito ou
após) sem que isto seja detectado.
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
A linguagem da criptografia


Criptografia de chaves simétricas: as chaves de criptografia do
remetente e de decriptografia do destinatário são idênticas.
Criptografia de chaves públicas:
 Sigilo: Cifra com chave pública e decifra com chave privada (que é
secreta).
 Autenticação: Cifra com chave privada e decifra com chave pública.
7
Criptografia de chaves simétricas


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.
Chave KA-B onde KA = KB
8
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).
9
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ção
com SIGILO
10
Autenticação

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.
11
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
12
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.
13
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.
end IP
de Alice
senha
cifrada
“Sou Alice”
end IP
de Alice
OK
end IP
de Alice
senha
cifrada
“Sou Alice”
14
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!
15
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).
Integridade das mensagens:
Função Hash (Resumo de mensagens)
16


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.
Assinatura digital c/ Função Hash:
Assinatura do resumo da mensagem
17

Bob envia mensagem assinada
digitalmente ao criptografar o
Hash da mensagem com sua
senha privada:
Mensagem
grande
m
H: função
de Hash

Alice verifica a assinatura e a
integridade da mensagem
assinada digitalmente:
resumo de msg
criptografado
H(m)
-
KB(H(m))
chave
privada
de Bob K -
B
assinatura
digital
(criptografada)
resumo de msg
criptogrado
+
K-B(H(m))
mensagem
grande
m
H: função
de Hash
chave
pública
de Bob
+
KB
assinatura
digital
(decriptografada)
H(m)
H(m)
igual?
18
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).
19
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)
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, email 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.
20
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”.
21
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.
+
KB
assinatura
digital
(decifra)
Chave
pública
da CA
+
KCA
Chave
pública
+
KB de Bob
22
Firewalls

Isola a rede interna da organização da área pública da Internet,
permitindo que alguns pacotes passem e outros não.
23
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).
24
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.
25
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.
26
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.
27
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).
28
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.
29
Ameaças à segurança na Internet (3/4)

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.

IP Spoofing - contramedidas:
filtro de entrada:

Receptor não sabe se a
fonte é verdadeira ou se foi
forjada
Ex.: C finge ser B.

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.
30
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).
31
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.
32
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
Hash original recuperado
Hash
criptografado
Hash calculado de m
33
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.
34
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.
IPSec
Segurança de Camada de Rede
35


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 (SAservice 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.
Download

Cap.15 – Segurança de Redes - Turma 3B