600 likes | 669 Views
Segurança de Redes – Motivação.
E N D
Segurança de Redes – Motivação • Recentemente a área de Segurança foi agitada por Edward Snowden, ex-analistade inteligência americano que tornou públicos detalhes de programas altamente confidenciais de vigilância eletrônica dos governos de Estados Unidos eReino Unido.Snowdenera um colaborador terceirizado daNational Security Agency (NSA) e foi também funcionário da Central IntelligenceAgency (CIA). • Snowden deu detalhes da vigilância de comunicações e tráfego de informações executada pelo programa de vigilância PRISM dos Estados Unidos. O Governo dos EUA acusou-o de roubo de propriedade do governo, comunicação não autorizada de informações de defesa nacional e comunicação intencional de informações de inteligência para pessoa não autorizada. Segurança
Segurança de Redes – Motivação Na área de segurança é fundamental desenvolver soluções proprietárias, segundo o Coordenador Geral do CEPESC (Centro de Pesquisas e Desenvolvimento para a Segurança das Comunicações) da Abin (Agência Brasileira de Inteligência), evitando assim a inserção de backdoors - maneira de ganhar acesso a serviços e sistemas. As redes do governo federal são alvos de uma média de 2.100 incidentes por hora, cerca de 60 são considerados mais sérios. A maioria dos ataques às redes do governo federal está relacionada à desconfiguração, vulnerabilidade de códigos e de servidores, "phishing"(fraude eletrônica para "pescar" dados como senhas) e "malwares“. Segurança
Segurança de Redes Os problemas dividem-se nas seguintes areas interligadas: • Sigilo; • Autenticação; • Não-repúdio; • Integridade Segurança
Que nível deve cuidar da segurança? Todos os níveis podem contribuir • Físico: evitar grampos, ex. manter cabo em tubos com gás com pressão controlada; • Enlace: criptografar cada quadro (abrir em cada roteador? ineficiente); • Rede: firewalls controlando IPs; • Transporte: criptografar conexões fim-a-fim; • Aplicação: autenticação de usuário e não-repúdio. Segurança
Criptografia (1) Criptografia: escrita secreta. Arte historicamente usada por militares, diplomatas, amantes... Governos adotam seus algoritmos, muitos utilizam o Princípio de Kerckhoff: Todos os algoritmos devem ser públicos, apenas as chaves são secretas. Ao tornar o algoritmo público, inúmeros criptólogos tentam decodificar o algoritmo; se durante cinco anos após sua publicação ninguém conseguiu ele é considerado sólido. Manter o algoritmo secreto (segurança por obscuridade) não funciona. Segurança
Criptografia (2) A alta administração do governo brasileiro foi apresentada em 14/8/2013, a um novo sistema de proteção de comunicações intragovernamentais – na prática um token com algoritmo de criptografia para garantir a inviolabilidade das trocas de informações. A ferramenta funciona, por exemplo, para o envio de e-mails entre os ministros de Estado. Segundo o diretor do Departamento de Segurança da Informação e Comunicações da Presidência da República: “...para proteger informações precisamos de criptografia, e com algoritmo de Estado. No caso, dois algoritmos feitos em parceria com o Cepesc da Abin que já têm 12 ou 13 anos de uso, plenamente seguros, nunca quebrados.” Segurança
Conceito de Criptografia The encryption model (for a symmetric-key cipher). Algoritmos de chavesimétricausam a mesmachaveparacodificar e decodificar. Hojeemdia se queralgoritmoscomplexos, difíceis de decifrar. Segurança
Blocos de Cifras • Os métodos usam substituição ou transposição. • Substituição: cada letra ou grupo de letras é substituído por outra letra ou grupo de letras. Problema: ataques de dicionário. • Transposição: reordenam as letras. • Blocos de Cifras: Obtém n bits de texto simples como entrada e o transformam, usando a chave, em um bloco de n bits de texto cifrado. Segurança
Cifras de substituição Substituição monoalfabética.
Cifra de Transposição • Uma cifra de transposição Segurança
Chave única Um texto simples que se aplica um XOR com chave não pode ser violado, pois qualquer texto simples com o tamanho dado seria igualmente provável. Ex: a mensagem “I love you” convertida em ASCII de 7 bits com a chave 1 produz o C1, com a chave 2 produz “Elvis lives”. Segurança
Product Ciphers Os algoritmos podem ser implementados em hardware ou software. Circuitos elétricos simples poderiam implementar subistituições e transposições. Elementosbásicos das chaves-produto (a)Caixa P (Permutation) (b)Caixa S (Substitution) (c)Produto => A saídapode ser umafunçãomuitocomplicadadaentrada Segurança
DES- Data Encryption Standard • Padrãoadotadopelogovernoamericanoem 1977 (até ~1997) (a) General outline.(b) Detail of one iteration. The circled + means exclusive OR. Segurança
Triple DES • Em 1979, verificou-se que a chave do DES era pequena. Para resolver este problema criou o 3DES com 3 estágios e duas chaves: (a) Triple encryption using DES. (b) Decryption. Se k1=k2, o DES de única chave é compatível com o 3-DES Segurança
AES - Advanced Encryption Standard O NIST (National Institute of Standards and Technology) decidiu que o governo precisava de novo algoritmo. Em janeiro de 1997 patrocinou uma competição mundial. Rules for AES proposals • The algorithm must be a symmetric block cipher. • The full design must be public. • Key lengths of 128, 192, and 256 bits supported. • Both software and hardware implementations required. • The algorithm must be public or licensed on nondiscriminatory terms. Segurança
AES (2) Em 2001 o NIST anunciou o algoritmo selecionado denominado Rijndael (Rijmen e Daemen – belgas) que foi adotado pelo governo americano; dominante no mundo. Sem entrar nos detalhes matemáticos, o algoritmo utiliza substituição, permutação e várias rodadas: Segurança
AES (3) Algoritmo: Segurança
AES (4) Como cada etapa é reversível, a decodificação pode ser feita executando o algoritmo no sentido inverso. Uma boa implementação por software em máquina de 2Ghz deve ser capaz de alcançar uma taxa de criptografia de 700Mbps, o suficiente para codificar mais de cem vídeos de MPEG-2 em tempo real. Em hardware a implementação é mais rápida ainda. Segurança
Modos de cifra • Algumas propriedades das cifras de substituição monoalfabética podem ser usadas para anular parcialmente a cifra. • No exemplo, o conteúdo do arquivo está todo criptografado, porém é possível inverter campos sem necessáriamente conhecer o conteúdo. Segurança
Cipher Block Chaining Mode • Cipher block chaining. (a) Encryption. (b) Decryption. Segurança
Outras cifras • Some common symmetric-key cryptographic algorithms. Segurança
Algoritmos de Chave Pública - 1 O elofraco do sistema de chavesimétrica é a distribuiçãodachave: ambos osladosdevempossuir a chavesecretacompartilhada. Em outro tipo de sistema, não é necessário ter a mesma chave para cifrar e decifrar e a chave de decifragem não pode ser derivada de chave de cifragem. A chave de criptografia é pública, e a outra é privada. (O termochavesecreta é maisutilizadoparacriptografiasimétrica). Alice publicaEAemsua home page. MantémDAsecreto. Bob publicaEBemsua home page. MantémDBsecreto. Quando Alice quermandarmensagempara Bob, cifra a mensagemusandoEB. Como somente Bob tem DBsóelepodedecifrar a mensagem. Segurança
Algoritmos de Chave Pública - 1 Criado por Diffie e Hellman em 1976, novo sistema de criptografia tem 3 requisitos: • D(E(P))=P • É muito difícil deduzir D a partir de E • E não pode ser decifrado por ataque de texto simples escolhido. (Se intrusos experimentam E até cansar, quebram e decifram D a partir de E...) Segurança
RSA - 1 Descobertoporpesquisadores do MIT :Rivest, Shamir, Adleman (receberam o Turing Award 2002). A principal desvantagem é exigirchaves de pelomenos 1024 bits paramanter um bomnível de segurança, o que o torna lento. • Baseia-se emprincípiosdateoria de números. • Cálculo de parâmetros: • Escolha 2 númerosprimosextensos, p e q • Calculen = p*q e z = (p-1) * (q-1) • Escolha um númerod talque z e dsejamprimos entre si(ouseja, único divisor comum entre eles é o 1). • Encontree de forma quee*d = 1 mod z (ou, e*d-1 divisívelpor z) Segurança
RSA - 2 Agrupe o texto em blocos de k bits, onde k é o maior inteiro para o qual a desigualdade 2K < n é verdadeira. Para criptografar a mensagem P, calcule C= Pe (mod n). Para descriptografar C, calcule P = Cd (mod n). A chave pública consiste no par (e,n) A chave privada consiste no par (d,n). A segurança do método está na dificuldade de fatorar números extensos. Fatorando n, poderia encontrar-se p, q e z. Conhecendo z e e, encontra-se d. Segurança
Exemplo do RSA • Neste exemplo, escolhe-se p=3, q=11, portanto n=33, z=20. Escolheu-se d=7, 7e = 1 mod 20 => e=3 • RSA é lento para codificar grandes volumes de dados, portanto é utilizado para distribuição de chaves que são empregadas em algoritmos mais rápidos como AES Segurança
Digital Signatures Assinaturas visam que: • o receptor verifique a identidade do transmissor, • o transmissor não possa repudiar a mensagem, • o receptor não tenha possibilidade de forjar ele mesmo a mensagem. Há várias estratégias: • Assinaturas de chave simétrica • Assinaturas de chave pública • Sumário de Mensagens Segurança
Assinaturas de Chave Simétrica • Digital signatures with Big Brother. E se Alice negar que enviou uma mensagem? E se Trudy interceptar e repetir a mensagem? Qual o problema estrutural deste esquema? Segurança
Assinaturas de ChavePública Assume-se que D(E(P)) = P and E(D(P)) = P Digital signatures using public-key cryptography. E se Alice negar que enviou uma mensagem? Ela poderia espertamente fazer uma declaração que foi invadida e sua chave roubada... Segurança
Função Hash Utilizadaemesquema de autenticaçãoquenãoexigecriptografiadamensageminteira (nãosigilo). Utilizafunção de hash unidirecional, representadapor MD (Message Digest), sumário de mensagem. Propriedadesimportantes: • Se P for fornecido, o cálculo de MD(P) serámuitofácil; • Se MD(P) for fornecido, seráefetivamenteimpossívelencontrar P. • Dado P, ninguémpodeencontrar P’ talque MD(P’) = MD(P). • Umamudançanaentrada de atémesmo 1 bit produzumasaídamuitodiferente. Segurança
Message Digests • Digital signatures using message digests. O algoritmo SHA-1 e SHA-2 são os mais utilizados. O algoritmo MD5 muito popular não é mais considerado seguro, pois demonstrou-se que pode se obter P´ tal que MD(P)=MD(P´) Segurança
SHA-1 • Use of SHA-1 and RSA for signing nonsecret messages. Para verificar a assinatura Bob deve: • Aplicar SHA-1 sobre M recebido => Hcalculado; • Aplicar EA em DA(H) recebido => Hrecebido • Comparar Hcalculado com Hrecebido. Segurança
Gerenciamento de Chaves Públicas (1) Um modo de Trudy subverter a criptografia de chave pública. Segurança
Gerenciamento de Chaves Públicas (2) Que tal um centro de distribuição de chave pública, 24 horas disponível fornecendo chaves por demanda? Problema de escalabilidade. A solução pensou em entidades certificadores, ou CA (Certification Authority) que não precisam estar online, mas certifica as chaves pertencentes a pessoas ou organizações. A CA emite certificados => vincula chave pública a nome de protagonista. Se no exemplo anterior Trudy inserir seu certificado, Alice pode conferir e verificar que não está falando com Bob. Segurança
Certificado • A possible certificate and its signed hash. • O que acontece se Trudy pegar o seu certificado e alterar os campos do protagonista? Segurança
X.509 • O certificado pode vincular a chave a um atributo, ex: proprietário maior de 18 anos. • Definiu-se um padrão para certificados, o X.509. • Campos básicos do X.509. Segurança
Infraestrutura de Chave Pública (1) • Quetalumaúnica CA emitircertificadosparatodo o mundo? Escalabilidade… • Que tal uma CA central delegar autoridade a várias CAs no mundo que usam sua chave? Pontos de falha... • Que tal uma hierarquia, cada CA regional com sua chave, mas certificadas por uma entidade central mundial? Problema do BigBrother de novo... Soluçao: Infraestrutura de Chave Pública => hierarquia a partir de um ponto, âncora de confiança. Existem várias raízes o que evita uma única autoridade confiável no mundo. Navegadores modernos são previamente carregados com chaves públicas de mais de 100 raízes. Segurança
Infraestrutura de Chave Pública (2) • (a) A hierarchical PKI. (b) A chain of certificates. Segurança
Revogação de Certificados Certificados podem ser revogados, por algum abuso, ou se a chave foi exposta, ou até a chave da CA foi exposta, ou o prazo de validade expirou. A CA deve emitir periodicamente uma lista dos certificados revogados, a CRL (Certificate Revocation List), com os números dos revogados. Problema: Como saber se o certificado que você está conferindo não foi revogado? Consultar a CRL, que fica na CA ? Ou guardar as CRLs nos diretórios onde ficam os certificados, pois a CRL é assinada e não pode ser adulterada... Segurança
IPSec (1) Havia uma batalha sobre onde deveria acontecer a criptografia, resultou no projeto IPSec com vários serviços à escolha dos usuários. Usa chave simétrica pelo desempenho. Usa um tipo de conexão onde a chave é válida, chamada de SA Security Association onde trafega um identificador de segurança desta conexão. Segurança
IPSec (2) Há 2 modos: • Modo de transporte: insere cabeçalho • Modo tunelamento: encapsula em novo pacote IP – só o ponto final do túnel, em geral o firewall, precisa conhecer o IPSec. Authentication Header – AH não oferece sigilo, só integridade. Verifica integridade de campos do cabeçalho IP que não se alteram, basicamente dos IPs, não usando TTL. Segurança
IPSec: Modo transporte Próximo cabeçalho: aponta para o protocolo de transporte. Indice de parâmetros de segurança: identificador da conexão: permite ao receptor identificar a chave em um BD HMAC (HashedMessage Authentication Code): assinatura digital da carga útil; método mais rápido que do PKI, usa a chave compartilhada. Contra ataques de reprodução Segurança
Política de Segurança • Uma política de segurança é um conjunto de regras e práticas que regulam como uma organização gerencia, protege e distribui suas informações e recursos. A implementação de uma política de segurança baseia-se na aplicação de regras que limitam o acesso às informações e recursos de uma determinada organização. • Essa política define o que é, e o que não é permitido em termos de segurança, durante a operação e acesso de um sistema. Segurança
Firewall Em edifícios, os firewalls servem para impedir que o fogo se propague de uma parte do edifício para outra. Uma Internet firewall serve um fim semelhante, isto é, impede que os perigos da Internet se propaguem para a rede local da instituição Firewall é o nome dado ao dispositivo de rede que tem por função regular o tráfego de rede entre redes distintas, impedir a transmissão de dados nocivos ou não autorizado de uma rede a outra. Devem inspecionar o tráfego de acordo com a política de segurança estabelecida. Segurança
Firewall - 2 Na prática um firewall é mais parecida com o fosso e a ponte levadiça de um castelo medieval, servindo vários fins: • obriga a que todas as entradas se efetuem via um ponto cuidadosamente controlado e monitorado; • impede os atacantes de se aproximarem das defesas internas; • obriga a que todas as saídas se efetuem via um ponto cuidadosamente controlado e monitorado. Segurança
Firewall (3) Configuração onde o Firewall protege a rede interna Segurança
Iptables O firewall do Linux. Quando um pacote chega o firewall verifica se há alguma regra que se aplica a ele. Caso não haja, é aplicada a política defaut. • Constituído por 3 “chains”: • INPUT – Pacote entrando na máquina de firewall. • OUTPUT – Pacote saindo da máquina de firewall. • FORWARD – Pacote que entram em uma interface do firewall e saem por outra. ufw – Uncomplicated firewall do Ubuntu – cria suas chains e ao habilitá-lo (ufw enable) já cria regras default. Segurança
Iptables - chains É altamente recomendado que a política default seja DROP, ou seja, tudo o que não for expressamente permitido será silenciosamente descartado. -L [chain] lista as regras de uma chain -F [chain] apaga todas as regras de um chain -Z [chain] limpa todos os contadores de bytes e pacotes de uma chain Para manipular regras de chains A chainrulespec acrescenta uma regra a uma chain I chain [rulenum] insere regra numa posição da chain R chain rulenum troca posição de regra na chain D chain apaga regra de uma chain Segurança
Iptables - Variáveis É possível definir variáveis mnemônicas: MY_IP=“ xxx.xxx.xxx.xxx“ #IP externo do firewall LOOPBACK="127.0.0.1/8“ #End. da interface de loopback EXTERNAL_INT=“ eth0“ #interf. do frw ligada à Internet CLASS_A="10.0.0.0/8" #class A private network CLASS_B="172.16.0.0/12" #class B private network CLASS_C="192.168.0.0/16" #class C private network INTERNAL_NET=“ xxx.xxx.xxx.xxx/xx” Segurança
Iptables – Políticas default • #Set up the default policy iptables -P OUTPUT ACCEPT iptables -P INPUT DROP iptables -P FORWARD DROP • #Allowing unlimited traffic on the loopback interface iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT Segurança