Redes de Computadores Prof. Macêdo Firmino Princı́pios de Segurança de Redes Macêdo Firmino (IFRN) Redes de Computadores Junho de 2011 1 / 44 Introdução Uma comunicação é dita segura se apresentar as seguintes propriedades: Confidencialidade: somente o remetente e o destinatário devem poder “entender” o conteúdo da mensagem transmitida; Autenticação: remetente e destinatário precisam confirmar a identidade um do outro (confirmar que a outra parte é que alega ser); Integridade: remetente e destinatário precisam assegurar que o conteúdo de sua comunicação não foi alterado, por acidente ou por má intenção, durante a transmissão; Disponibilidade: a comunicação deve ocorrer (ou seja, os serviços e recursos do sistema devem estar disponı́veis sempre que forem necessários para os usuários legı́timos). Macêdo Firmino (IFRN) Redes de Computadores Junho de 2011 2 / 44 Por que devo me preocupar com a seguranca do meu computador? Computadores domésticos são utilizados para realizar inúmeras tarefas, tais como: Transações financeiras, sejam elas bancárias ou mesmo compra de produtos e serviços. Comunicação, por exemplo, através de e-mails; Armazenamento de dados, sejam eles pessoais ou comerciais, etc. E importante que você se preocupe com a seguranca de seu computador, pois você, provavelmente, não gostaria que: Seus dados pessoais, ou até mesmo comerciais, fossem alterados, destruı́dos ou visualizados por pessoas não autorizadas; Seu computador deixasse de funcionar, por ter sido comprometido e arquivos essenciais do sistema terem sido apagados, etc. Macêdo Firmino (IFRN) Redes de Computadores Junho de 2011 3 / 44 Por que alguém iria querer invadir meu computador? Os motivos pelos quais alguém tentaria invadir seu computador são inúmeros. Alguns destes motivos podem ser: Utilizar seu computador em alguma atividade ilı́cita, para esconder a real identidade e localização do invasor; Furtar suas senhas e números de cartões de crédito e contas bancárias; Destruir informações (vandalismo); Ler e enviar e-mails em seu nome; Utilizar seu disco rı́gido como repositório de dados; Furtar dados do seu computador, como por exemplo, informações do seu Imposto de Renda; Propagar vı́rus de computador. Macêdo Firmino (IFRN) Redes de Computadores Junho de 2011 4 / 44 Alguns Tipos de Malwares Engenharia Social; Vı́rus; Cavalo de Tróia; Adware e Spyware; Backdoor. Macêdo Firmino (IFRN) Redes de Computadores Junho de 2011 5 / 44 Engenharia Social É um método de ataque, onde alguém faz uso da persuasão, muitas vezes abusando da ingenuidade ou confiança do usuário, para obter informações que podem ser utilizadas para ter acesso não autorizado a computadores ou sistema da informação. Macêdo Firmino (IFRN) Redes de Computadores Junho de 2011 6 / 44 Vı́rus Vı́rus é um programa, normalmente malicioso, que se propaga infectando, isto é, inserindo cópias de si mesmo e se tornando parte de outros programas e arquivos de um computador. O vı́rus depende da execução do programa ou arquivo hospedeiro para que possa se tornar ativo e dar continuidade ao processo de infecção. Um vı́rus pode fazer qualquer coisa que outros programas fazem. A única diferença é que ele se conecta a outros programas e é executado secretamente quando o programa hospedeiro é executado. Quando um vı́rus está sendo executado, ele pode realizar qualquer função, como apagar arquivos e programas. Macêdo Firmino (IFRN) Redes de Computadores Junho de 2011 7 / 44 Cavalo de Tróia Um cavalo de tróia (trojan horse) é um programa, normalmente recebido como um “presente” (por exemplo, cartão virtual, álbum de fotos, protetor de tela, jogo, etc), que além de executar funções para as quais foi aparentemente projetado, também executam outras funções normalmente maliciosas e sem o conhecimento do usuário. O cavalo de tróia distingue-se de um vı́rus por não infectar outros arquivos, nem propagar cópias de si mesmo automaticamente. Algumas das funções maliciosas que podem ser executadas por um cavalo de tróia são: Instalação de outros programas maliciosos. Furto de senhas e outras informações sensı́veis, como números de cartões de crédito; Alteração ou destruição de arquivos Macêdo Firmino (IFRN) Redes de Computadores Junho de 2011 8 / 44 Adware e Spyware Adware (Advertising software) é um tipo de software especificamente projetado para apresentar propagandas, seja através de um browser, seja através de algum outro programa instalado em um computador. Spyware, por sua vez, é o termo utilizado para se referir a uma grande categoria de software que tem o objetivo de monitorar atividades de um sistema e enviar as informações coletadas para terceiros. Existem adwares que também são considerados um tipo de spyware, pois são projetados para monitorar os hábitos do usuário durante a navegação na Internet, direcionando as propagandas que serão apresentadas. Macêdo Firmino (IFRN) Redes de Computadores Junho de 2011 9 / 44 Backdoors Backdoor (porta dos fundos) são programas que permitem o retorno de um invasor a um computador comprometido, sem precisar recorrer aos métodos utilizados na realizacao da invasão. A forma usual de inclusão de um backdoor consiste na disponibilização de um novo serviço ou substituição de um determinado serviço por uma versão alterada, normalmente possuindo recursos que permitam acesso remoto (através da Internet). Os programadores têm usado backdoors legitimamente para depurar e testar programas (softwares, sistemas operacionais) nas máquinas clientes. Macêdo Firmino (IFRN) Redes de Computadores Junho de 2011 10 / 44 Existe Alguma Maneira de Proteger os Meus Dados? Controles fı́sicos: são barreiras que limitam o acesso direto a informação. Por exemplo, portas e trancas; Criptografia: permitem a transformação reversı́vel da informação de forma a torná-la ininteligı́vel a terceiros; Assinatura digital: um conjunto de dados, associados a um documento, que tem a função de garantir a integridade e autenticidade do documento; Mecanismos de controle de acesso: por exemplo, sistemas biométricos, firewalls e cartões inteligentes; Utilizar boas senhas; Antivı́rus: são programas de computador concebidos para prevenir, detectar e eliminar vı́rus de computador. Macêdo Firmino (IFRN) Redes de Computadores Junho de 2011 11 / 44 Criptografia A confidencialidade dos dados é obtida através de técnicas de criptografia. Criptografia é o estudo dos princı́pios e técnicas pelas quais a informação pode ser transformada (atráves de algoritmos criptográficos) da sua forma original (texto limpo) para outra ilegı́vel (texto criptografado), de forma que possa ser conhecida apenas por pessoas autorizadas (detentor da “chave secreta”) através de um processo inverso (algoritmo de decifragem). Atualmente, os algoritmos criptográficos são divulgados à comunidade e o sigilo das informações é garantido apenas pela chave. Macêdo Firmino (IFRN) Redes de Computadores Junho de 2011 12 / 44 Criptografia Os métodos criptográficos são baseados essencialmente em técnicas de substituição, transposição simples e fórmulas matemáticas. Por exemplo (cifra de César): uma criptografia que utiliza substituição de letras pelas letras deslocadas de N = 3. A B C D E F G H I J K L M N O P Q R S T U V WX Y Z D E F G H I J K L M N O P Q R S T U V WX Y Z A B C Macêdo Firmino (IFRN) Iremos Atacar Amanhã às 10 Horas. Luhprv Dwdfdu Dpdqkd dv 10 Krudv. Texto Limpo Texto Criptografado Redes de Computadores Junho de 2011 13 / 44 Quebra de Criptografia A quebra da criptografia utilizando força bruta (todas as chaves possı́veis) é inviável para chaves acima de 128 bits. Exemplo: Chaves de 64 bits: utilizando o computador gerando 90 bilhões de chaves por segundo (Deep Crack) temos o tempo de 4 dias e meio para encontrar uma chave. Chave de 128 bits: utilizando um computador bem melhor (gerando 1 trilhão de chaves por segundo) temos o o tempo de 10 milhões de trilhões de anos para testarmos todas as chaves. Existem dois principais tipos de algoritmos de cifragem: Criptografia com chave simétrica; Criptografia com chave pública. Macêdo Firmino (IFRN) Redes de Computadores Junho de 2011 14 / 44 Criptografia Criptografia com chave simétrica: o remetente usa uma determinada chave e um algoritmo de cifragem para criptografar a mensagem, enquanto que o destinatário usa a mesma chave e um algoritmo de decifragem recı́proco para decifrar a mensagem; Macêdo Firmino (IFRN) Redes de Computadores Junho de 2011 15 / 44 Criptografia Com Chave Simétrica Os algoritmos de chave simétrica são eficientes, porém a cada par de usuários deve-se associar uma única chave. Isto significa que se n pessoas quiserem se comunicar usando este método, serão necessários n(n − 1)/2 chaves simétricas. O que gera o problema de armazenamento e distribuição das chaves. Os algoritmos criptográficos com chaves simétricas mais utilizadas são: DES (Data Encryption Standard), AES (Advanced Encryption Standard), 3-DES e RC4 (Rivest Cipher 4). Macêdo Firmino (IFRN) Redes de Computadores Junho de 2011 16 / 44 Introdução ao AES Em 1997, o NIST (National Institute of Standards and Technology ) decidiu que o governo Americano precisava de um novo padrão criptográfico. Para isso, eles patrocinaram um concurso de criptografia. Este novo algoritmo criptográfico iria substituir o DES (Data Encryption Standard), que havia sido quebrado. Pesquisadores do mundo inteiro foram convidados a submeter propostas para um novo padrão, a ser chamado AES (Advanced Encryption Standard). Em outubro de 2000, o NIST anunciou o algoritmo vitorioso (o Rijndael). O Rijndael, agora AES, se tornou um padrão do Governo dos Estados Unidos. Macêdo Firmino (IFRN) Redes de Computadores Junho de 2011 17 / 44 Introdução ao AES Atualmente, o AES é um dos algoritmos mais populares usados para criptografia de chave simétrica. O AES admite tamanhos de chaves e tamanhos de blocos de 128 bits, 192 e 256 bits. O AES utiliza substituição e permutações emprega várias rodadas (10,11 ou 13 para 128, 192 e 256 bits, respectivamente). Macêdo Firmino (IFRN) Redes de Computadores Junho de 2011 18 / 44 Introdução ao AES Macêdo Firmino (IFRN) Redes de Computadores Junho de 2011 19 / 44 Introdução ao AES Para criptografar, cada turno do AES (exceto o último) consiste em quatro estágios: Adição de chave da rodada: cada byte do estado é combinado com uma subchave (RoundKey ); Substituição de bytes: é uma etapa de substituição, onde cada byte é substituı́do por outro de acordo com uma tabela de referência. Deslocamento de linhas: é uma etapa de transposição, onde cada fileira do estado é deslocada de um determinado número de posições. Embaralhamento de colunas: é uma operação de mescla que opera nas colunas do estado e combina os quatro bytes de cada coluna. Macêdo Firmino (IFRN) Redes de Computadores Junho de 2011 20 / 44 Criptografia Com Chave Pública Criptografia com chave pública: há duas chaves uma chave privada e uma chave pública. Se Alice desejar enviar uma mensagem secreta para Bob, ela deverá usar a chave pública de Bob para cifrar a mensagem. Quando a mensagem for recebida por Bob, a chave privada dele será usada para decifrar a mensagem. Macêdo Firmino (IFRN) Redes de Computadores Junho de 2011 21 / 44 Criptografia Com Chave Pública A chave privada é mantida em segredo pelo receptor. Enquanto que a chave pública é distribuı́da publicamente. Uma restrição, com relação a estas chaves, é que a chave privada não pode ser obtida a partir da chave pública. A maior desvantagem da criptografia com chaves públicas e a complexidade dos algoritmos. Se desejarmos que o método seja relativamente efetivo, precisamos de chaves muito extensas. Porém, o cálculo do texto cifrado a partir do texto limpo usando chaves muito extensas leva a uma quantidade de tempo relativamente grande. O método mais utilizado na criptografia com chave pública é denominado RSA devido aos seus inventores (Rivest, Shamir e Adleman). Macêdo Firmino (IFRN) Redes de Computadores Junho de 2011 22 / 44 Introdução ao RSA Iremos apresentar de forma resumida como usar o método: 1. Escolha dois números primos extensos, p e q (geralmente, de 1024 bits). 2. Calcule n = pq e z = (p − 1)(q − 1). 3. Escolha um número d tal que (1 < d < z) e (z e d sejam primos entre si). 4. Encontre e de forma que ed = 1mod z. Em outras palavras, o resto da divisão de ed por z seja o número 1. A chave pública consiste no par (e, n) e a chave privada consiste em (d). Para criptografar a mensagem P, calcule C = P e (mod n). Para descriptografar C , calcule P = C d (mod n). Macêdo Firmino (IFRN) Redes de Computadores Junho de 2011 23 / 44 Introdução ao RSA Exemplo: 1. Supondo p = 3 e q = 11, 2. Calculando n n = = pq 3 ∗ 11 z z = = (p − 1)(q − 1) (3 − 1) ∗ (11 − 1) n = 33 z = 2 ∗ 10 = 20 3. Um valor adequado para d é d = 7, visto que 7 e 20 não têm fatores comuns. 4. Escolhe e = 3, pois: = 1 3 ∗ 7mod 20 = 1 = 1 1 e ∗ d mod z A chave pública: (3, 33) e a chave privada: (7). Macêdo Firmino (IFRN) Redes de Computadores Junho de 2011 24 / 44 Introdução ao RSA Agora imagine que uma outra pessoa deseje enviar um texto (por exemplo, 5) para mim. Criptografando: Decriptografando: C = P e (mod n) P = C d (mod n) C = 53 mod 33 P = 267 (mod 33) C = 26 P = 5 Alice Chave pública (3, 33) Chave privada (7) 5 Bob 5 Cifragem 3 26 Rede 26 5 mod 33 Macêdo Firmino (IFRN) Decifragem 7 26 mod 33 Redes de Computadores Junho de 2011 25 / 44 Autenticação Autenticação é o processo de provar a própria identidade a alguém. Uma entidade pode ser uma pessoa, um processo, um cliente ou um servidor. Os métodos de autenticação mais utilizados faz uso de desafio-resposta. Nesta abordagem, o requerente provar que ele sabe o segredo sem revelá-lo. Existem mecanismos de autenticação de usuário utilizando: Criptografia com chave simétrica; Criptografia com chave pública. Macêdo Firmino (IFRN) Redes de Computadores Junho de 2011 26 / 44 Autenticação com Criptografia com Chave Simétrica Exemplo: 1. Alice envia a sua identificação para Bob solicitando a sua autenticação. 2. Bob desafia Alice a confirmar a identidade dela, enviando o desafio (R). O desafio é um número aleatório, que deverá ser utilizado uma única vez. Macêdo Firmino (IFRN) Alice Bob Alice D Cifragem K Redes de Computadores fK (D) Junho de 2011 27 / 44 Autenticação com Criptografia com Chave Simétrica 3. Alice recebe o desafio e envia de volta uma resposta (f(R)) cifrado através de sua chave simétrica (K) de autenticação. 4. Bob decifra a mensagem recebida. Se a resposta decifrada for igual ao desafio que ele enviou a Alice, então ela estará autenticada. Macêdo Firmino (IFRN) Alice Bob Alice D Cifragem K Redes de Computadores fK (D) Junho de 2011 28 / 44 Autenticação com Criptografia com Chave Pública Exemplo: 1. Alice envia a sua identificação para Bob solicitando a sua autenticação. 2. Bob desafia Alice a confirmar a identidade dela, enviando o desafio (R) criptografado com a chave pública de Alice (KA+ ). Macêdo Firmino (IFRN) Alice Bob Alice Cifragem D Decifragem KA+ fK- (D) A - KA Redes de Computadores Junho de 2011 29 / 44 Autenticação com Criptografia com Chave Pública 3. Alice recebe o desafio e envia de volta uma resposta. Para Alice isso, ela decriptografa o desafio com a sua chave privada (KA− ). Visto que somente Alice conhece sua chave privada, ninguém, exceto ela, poderá Decifragem gerar a resposta correta. 4. Bob verifica se a resposta decifrada for igual ao desafio que ele enviou a Alice. Macêdo Firmino (IFRN) Redes de Computadores Bob Alice Cifragem D fK- (D) KA+ A - KA Junho de 2011 30 / 44 Assinatura Digital Enquanto a criptografia garante a confidencialidade dos dados, a assinatura digital garante a integridade dos dados e indica o dono ou criador de um documento. A criptografia de chave pública fornecem uma maneira simples e elegante de assinar documentos digitalmente, uma maneira que é verificável, não falsificável, não repudiável e que protege contra modificações posteriores do documento. Na assinatura digital, para assinar um documento é utilizado a chave privada do dono do documento (KA− ). Quem desejar provar a assinatura, deverá utilizar a chave pública do dono (KA+ ) para produzir a memsangem. Macêdo Firmino (IFRN) Redes de Computadores Junho de 2011 31 / 44 Assinatura Digital Alice Chave privada de Alice (K ) Chave pública + de Alice (K ) Meu querido amor ... Assinatura Texto Bob A A Rede 2130A973B57 ECA146C9B0 Verificação Meu querido amor ... Escrito por Alice Texto assinado Macêdo Firmino (IFRN) Redes de Computadores Junho de 2011 32 / 44 Assinatura Digital Se o documento é muito grande a cifragem com chave pública se torna ineficiente. A solução envolve um novo conceito criptográficos: a funçãohash (resumo). A finalidade desta função é criar uma sı́ntese da mensagem de tamanho fixo a partir da mensagem original de tamanho variável. Exemplo de função hash: MD5 (Message Digest 5); SHA-1 (Secure hash Algorithm 1). Macêdo Firmino (IFRN) Redes de Computadores Junho de 2011 33 / 44 Assinatura Digital Desta forma, Alice assinar um resumo do documento em vez de assinar o documento inteiro. A mensagem cifrada é anexada a mensagem original e é transmitida para Bob; Bob recebe a mensagem original e a assinatura. Ele aplica a função hash na mensagem original para criar a assinatura. Alice Bob Mensagem + Rede Mensagem Hash Mensagem Decifragem Chave pública de Alice Cifragem Assinatura Chave privada de Alice Macêdo Firmino (IFRN) Assinatura cifrada =? Assinatura Redes de Computadores Hash Assinatura Junho de 2011 34 / 44 Assinatura Digital Em seguida Bob irá decifrar a assinatura recebida de Alice, usando a chave pública de Alice. Se as duas assinaturas forem iguais Bob terá certeza que a mensagem foi originada de Alice e que a mensagem não foi modificada durante a transmissão. Alice Bob Mensagem + Rede Mensagem Hash Mensagem Decifragem Chave pública de Alice Cifragem Assinatura Chave privada de Alice Macêdo Firmino (IFRN) Assinatura cifrada =? Assinatura Redes de Computadores Hash Assinatura Junho de 2011 35 / 44 Certificado Digital O certificado digital é um documento eletrônico assinado digitalmente. Ele tem a função de associar uma pessoa (ou entidade) a uma chave pública. Um Certificado Digital normalmente apresenta as seguintes informações: Nome da pessoa ou entidade a ser associada à chave pública; Perı́odo de validade do certificado; Chave pública; Nome e assinatura da entidade que assinou o certificado (Autoridade Certificadora); Número de série. A Autoridade Certificadora (AC) é responsável pela emissão dos certificados digitais. Exemplos de AC no Brasil: Serpro, Caixa, Serasa, Receita Federal, Presidência da República, Casa da Moeda, etc. Macêdo Firmino (IFRN) Redes de Computadores Junho de 2011 36 / 44 VPN - Virtual Private Networks As redes privadas são redes isoladas que utilizam enlaces privados. Estas redes são utilizadas, em geral, por grandes empresas, como os bancos, para garantirem a qualidade e a velocidade de transmissão, bem como manterem a confidencialidade das informações que trafegam na rede. No entanto, as redes privadas são caras. Desta forma, pequenas e médias empresas tem procurado formas de enviar dados sigilosos pela Internet pública com privacidade e baixo custo. Uma destas soluções é a VPN (ou Rede Privada Virtual). Esta usa protocolos de tunelamento (IPSec, PPTP ou L2TP) para fornecer confidencialidade, autenticação e integridade necessárias para garantir a privacidade das comunicações requeridas. Macêdo Firmino (IFRN) Redes de Computadores Junho de 2011 37 / 44 VPN - Virtual Private Networks As VPNs são túneis de criptografia, criados por exemplo através da Internet, que garante a privacidade entre redes corporativas ou usuários remotos. A segurança é a função mais importante da VPN. Uma vez que dados privados serão transmitidos pela Internet (que é um meio de transmissão inseguro) eles devem ser protegidos de forma a não permitir que sejam modificados ou interceptados. Uma das grandes vantagens decorrentes do uso das VPNs é a redução de custos com comunicações corporativas, pois elimina a necessidade de links dedicados de longa distância que podem ser substituı́dos pela Internet. Macêdo Firmino (IFRN) Redes de Computadores Junho de 2011 38 / 44 VPN - Virtual Private Networks Por exemplo, a Internet pode ser usada para transmitir o pacote de F (em Natal) para A (em Recife). R1 realiza a cifragem dos dados. Os dados (informações e endereços origem/destino são inelegı́veis aos usuários externos). A decifragem é realizada por R2 , que determina o endereço de destino e o entrega em segurança. G R1|R2| @3$%XA!D& B LAN Natal Recife LAN Internet R 1 R 2 A F|A|mensagem F F|A|mensagem Macêdo Firmino (IFRN) Redes de Computadores Junho de 2011 39 / 44 Firewall Um firewall é uma combinação de hardware (usualmente um roteador ou computador) e software que analisa o tráfego que entra/sai de uma rede, permitindo que alguns pacotes passem e bloqueando outros. O firewall isola a rede interna da Internet em geral. Rede Privada Internet Pública Macêdo Firmino (IFRN) Redes de Computadores Junho de 2011 40 / 44 Firewall Há dois tipos de firewall : Filtragem de pacotes: analisam os cabeçalhos de rede e transporte (por exemplo, endereço IP, porta TCP ou UDP, tipo de mensagem ICMP) e então aplicam regras de filtragem especificadas pelo administrador, as quais determinam se o datagrama será descartado ou passará. Gateways de Camada de Aplicação: também chamado de proxy firewall, filtra uma mensagem baseada no conteúdo da mensagem (camada de aplicação). O servidor analisa o cabeçalho da camada de aplicação, verifica o conteúdo dele e encaminha, ou não, baseado na legitimidade da informação. Por exemplo, pode filtrar certos sites com conteúdos impróprios e restringir o acesso ao FTP. Macêdo Firmino (IFRN) Redes de Computadores Junho de 2011 41 / 44 Firewall Exemplo de regras de filtragem de pacotes: Interface IP Origem Porta Origem IP Destino Porta Destino Ação 1 1 2 * 131.34.0.3 200.167.24.5 * * 80 22 * * 192.168.0.32 * 192.168.0.0 * > 1023 * 76 * Aceitar Aceitar Aceitar Rejeitar * : indica que qualquer valor é aceitável para regra. Macêdo Firmino (IFRN) Redes de Computadores Junho de 2011 42 / 44 Exercı́cio 1. Segurança da informação está relacionada com proteção de um conjunto de dados, no sentido de preservar o valor que possuem para um indivı́duo ou uma organização. Desta forma quais são os princı́pios básicos da segurança (propriedades)? Explique o que é cada princı́pio. 2. Pesquise na Internet (http://cartilha.cert.br/malware/) a definição dos Malware: Keyloggers, Worms, Bots e Botnets e Rootkits. 3. O que é criptografia? e qual a diferença entre criptografia com chave simétrica e com chave pública (assimétrica)? Macêdo Firmino (IFRN) Redes de Computadores Junho de 2011 43 / 44 Exercı́cio 4. Explique o que é autenticação. Apresente um exemplo de mecanismos de autenticação utilizando chave pública. 5. O que é assinatura digital e como ela é feita se tornar mais eficiente? 6. O que é certificado digital e autoridade certificadora? 7. Quais os dois principais objetivos de uma VPN e de uma Firewall ? 8. Valendo 1 ponto extra. Elabore um Referencial Teórico (descrição e definição dos principais conceitos, tecnologias e problemas) da Segurança em IEEE 802.11, Protocolo WEP, Protocolo WPA e IEEE 802.11i. Este texto individual deverá ser entregue até o dia 05/07. Macêdo Firmino (IFRN) Redes de Computadores Junho de 2011 44 / 44