350 likes | 435 Views
Administração e Projeto de Redes. Material de apoio Segurança de Redes Cap.15 25/01/2010. Esclarecimentos. Esse material é de apoio para as aulas da disciplina e não substitui a leitura da bibliografia básica.
E N D
Administração e Projeto de Redes Material de apoio Segurança de Redes Cap.15 25/01/2010
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.
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.
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.
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).
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.
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 • Textocifrado: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
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).
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
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.
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
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.
Autenticação: ainda uma outra tentativa senha cifrada senha cifrada end IP de Alice end IP de Alice “Sou Alice” “Sou Alice” end IP de Alice OK • Protocolo ap3.1: Alice diz “Eu sou Alice” e envia a sua senha secreta cifrada como “prova”. • Gravar e reproduzir aindafunciona! É possível o ataque de playback.
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! Autenticação: ainda uma outra tentativa
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).
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. Integridade das mensagens:Função Hash (Resumo de mensagens)
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: Assinatura digital c/ Função Hash: Assinatura do resumo da mensagem H: função de Hash H: função de Hash Mensagem grande m mensagem grande m H(m) chave privada de Bob + - assinatura digital (criptografada) K K assinatura digital (decriptografada) B B chave pública de Bob resumo de msg criptogrado resumo de msg criptografado + - - KB(H(m)) KB(H(m)) H(m) H(m) igual?
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).
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, 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. Intermediários de confiança
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”.
Autoridades Certificadoras (2/2) + + assinatura digital (decifra) K K B B Chave pública de Bob Chave pública da CA + K CA • 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.
Firewalls • Isola a rede interna da organização da área pública da Internet, permitindo que alguns pacotes passem e outros não.
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).
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.
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. Gateways de Aplicação
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. Limitações dos Firewalls e Gateways
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).
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. Ameaças à segurança na Internet (2/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. Receptor não sabe se a fonte é verdadeira ou se foi forjadaEx.: C finge ser B. 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. Ameaças à segurança na Internet (3/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). Ameaças à segurança na Internet (4/4)
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.
E-mail seguro: Autenticação e Integridade Hash Hash original recuperado Hash criptografado Hash calculado de m • 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.
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. SSL - Secure Sockets Layer (1/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. SSL - Secure Sockets Layer (2/2)
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. IPSecSegurança de Camada de Rede