SEGURANA COMPUTACIONAL Prof Marcelo de Oliveira Rosa Segurana
- Slides: 165
SEGURANÇA COMPUTACIONAL Prof. Marcelo de Oliveira Rosa
Segurança Computacional Situações envolvidas � Eu não quero que VOCÊ saiba o que EU fiz no verão passado � Trust no one, Mr. Mulder! � Não confio em ninguém com 32 dentes. . .
Segurança Computacional O que abordaremos aqui: � Problemas básicos � Tipos de cifragem e codificação � Autenticação Segura � Comunicação Segura � Computação e Dados Seguros � Moeda e Eleição Seguros
Problemas básicos Controle de acesso a recursos
Problemas básicos Proteger dados sensíveis de acesso indevido
Problemas básicos Necessidade de transmitir informação sem que TERCEIROS a descubram � Transmissão de mensagens militares SEM que inimigos as interceptem � Se as mensagens forem interceptadas, inimigo NÃO deve ser capaz de lê-las. Man-in-the-middle
Problemas básicos Necessidade de transmitir informação sem que TERCEIROS a descubram Man-in-the-middle
Problemas básicos Necessidade de transmitir informação sem que TERCEIROS a descubram Man-in-the-middle
Problemas básicos Formas de ataque � Exploração de falhas no sistema Phreaking Morris worm (1988) Falhas no sendmail, estouro de buffer no fingerd + falhas sistema de login remoto rsh/rexec Jerusalem (1987) Infectava o MS-DOS, para deletar todos os programas do computador em sextas-feiras 13 Disquetes (lembram? !? !)
Problemas básicos Formas de ataque � Eternal. Blue NSA ☞ MS-Windows (falha no protocolo SMB) SMB – server message block Usado em Wannacry (ataque de resgate)
Problemas básicos Formas de ataque � Eternal. Blue NSA ☞ MS-Windows (falha no protocolo SMB) SMB – server message block Usado em Wannacry � Wannacry Ataque (por que esse nome? ) global explorando falhas do MS-Windows Criptografava todos os seus arquivos Exigia resgate
Problemas básicos Formas de ataque � Wannacry
Problemas básicos Formas de ataque � Stuxnet NSA? Israel? ☞ CLPs das centrífugas do programa nuclear iraniano Sistemas PCS 7, Win. CC e STEP 7 SCADA da Siemens Altamente especializado Armazenada em pendrives ☞ infectar computadores isoladas da internet Exigiu alguém conectá-lo a algum computador iraniano Descoberto por erro de projeto do próprio “vírus” Se propagou além da infraestrutura e chegou ao mundo virtual
Problemas básicos Formas de ataque � Ataque de exaustão Distributed Denial of Service (DDo. S) Milhares de computadores escravos (por vírus) são comandados remotamente a acessar serviços específicos, exaurindo recursos computacionais. Mydoom ☞ www. sco. com (sítio da Santa Cruz Operation, antiga proprietária da marca UNIX) Mafiaboy ☞ amazon. com, CNN, Dell, e. Bay, Yahoo! Estonia
Problemas básicos Formas de ataque � Ataque de exaustão Distributed Denial of Service (DDo. S) 24. 000 computadores ☞ bancos russos 620 Gbps de tráfego ☞ Brian Krebs (jornalista que relatou Stuxnet) GCHQ (NSA britânica) tem ferramentas para ataques DDo. S Dia da morte de Michael Jackson
Problemas básicos Formas de ataque � Engenharia Social Usar influência pessoal, carisma, etc, para conseguir acessos e dados sensíveis Kevin Mitnick Susan Headley “Aqui é do seu banco. Poderia nos passar sua senha para atualização de cadastro? ”
Cifragem e Codificação Letras e símbolos ☞ Alfabeto Ideogramas chineses, japoneses (katakana, hiragana e kanji), egípcios, cuneiformes, etc. Símbolos latinos, gregos, cirílico, etc. Braille, código Morse Arranjo de elementos de alfabeto ☞ Idioma/Língua Mandarim, japonês, coreano, etc. Pedra de Roseta Português, inglês, alemão, etc.
Cifragem e Codificação Cifragem e decifragem de uma mensagem somente é possível se: Mesmo simbologia Mesmo linguagem (código/cifragem) código/cifragem Mandarim não é entendido por um falante brasileiro nativo Algumas cifragens e decifragens são possíveis Mesma simbologia (Português e Espanhol) Similaridade entre linguagem (ola ☞ hola)
Cifragem e Codificação Primeiras tentativas: ESTENOGRAFIA Escrever mensagem no couro cabeludo (raspado) do mensageiro e enviá-lo após seu cabelo crescer Escrever mensagem em seda fina, amassá-la, cobri-la com cera, e dá-la ao mensageiro para engoli-la Escrever mensagem com “tinta” de limão Escrever mensagem, fotografá-la e reduzi-la até um “micro-ponto” � Qual o problema com essa técnica?
Cifragem e Codificação O queremos: � Ocultar o conteúdo da mensagem (M) do espião
Cifragem e Codificação Princípio de Kerchkoff “A segurança de um criptossistema NÃO DEVE depender da manutenção de um criptoalgoritmo mantido em segredo” Qualquer um deve conhecer a cifra: mesmo assim, dado uma mensagem cifrada, o INIMIGO não deve ser capaz de decifrar seu conteúdo. Apenas algum parâmetro deve ser bem guardado Chave
Cifragem e Codificação Próximo passo: cifrar/criptografar M � CIFRA Forma de manipular (algoritmo) sequência de símbolos (dados) de forma a ESCONDER a informação contida nessa sequência. Exemplo: somar uma constante ao código ASCII de M � Qual MARCELO (77 65 82 67 69 76 79) + 2 = OCTEGNQ (79 67 84 69 71 78 81) o problema dessa técnica?
Cifragem e Codificação � Transposição Geração e transmissão de anagramas da mensagem Pode ser muito trabalhoso sem oferecer suficientes garantias de segurança Exemplo (tipo de citale) EU NAO QUERO QUE NINGUEM LEIA ISTO ☞ EUNAOQUEROQUENINGUEMLEIAISTO ☞ E N O U R Q E I G E L I I T ☞ U A Q E O U N N U M E A S O ☞ ENOURQEIGELIITUAQEOUNNUMEASO
Cifragem e Codificação � Transposição Sua vez. . . EQEOEUCETSAEAOUURSRMINITDDDS
Cifragem e Codificação � Substituição Uso de dicionário simples de “tradução” simbólica Cifra de César a b c d e f g h i j k l m n o p q r s t u v w x y z V I P H X O A R D L T B Q K E J Z S C U F G M Y M W A segunda linha do dicionário é a chave de cifragem � Qual TENTANDO NAO DORMIR NA AULA ☞ TENTANDONAODORMIRNAAULA ☞ UXKUVKHEKVEHESODSKVVFBV o problema dessa técnica?
Cifragem e Codificação � Substituição Sua vez. . . a b c d e f g h i j k l m n o p q r s t u v w x y z V I P H X O A R D L T B Q K E J Z S C U F G M Y M W Escolha uma frase, codifique-a para que todos tentem decodificá-la!
Quebrando cifras Criptoanálise � Técnicas para encontrar as chaves e decifrar mensagens � Usada pelo INIMIGO (gato atrás do rato)
Quebrando cifras Criptoanálise � Análise Alta de frequência simbólica probabilidade do símbolo CIFRADO mais frequente da mensagem corresponder à LETRA mais frequente do IDIOMA da mensagem. Em UXKUVKHEKVEHESODSKVVFBV, o símbolo V ocorre 4 vezes: pode ser A ou E. Alta probabilidade de sequência de poucos símbolos corresponder a palavras simples (QUE, ELA, etc) Praticamente uma análise linguística!
Cifragem e Codificação � Substituição polialfabética Uso de múltiplos dicionário simples de “tradução” simbólica a b c d e f g h i j k l m n o p q r s t u v w x y z B C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D F G H I J K L M N O P Q R S T U V W X Y Z A B C D E F
Cifragem e Codificação � Substituição polialfabética Exemplo Usando chave igual a CADE, cifre FACA = ? a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D E F
Cifragem e Codificação � Substituição polialfabética Exemplo Usando chave igual a CADE, cifre FACA = IBGF a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D E F
Quebrando Cifras � Substituição Não polialfabética é imune a análise de frequência!! Note que o A foi cifrado de modos diferentes Chaves maiores tornam mais difícil a quebra dessa cifra
Cifragem e Codificação � Chaves simétricas Personagens no mundo da criptografia Alice e Bob desejam se comunicar Eve deseja ouvir o que eles conversam Aqui Alice e Bob possuem a mesma chave de cifragem Carol DEVE desconhecer essa chave Princípios básicos Substituição Permutação
Cifragem e Codificação � Chaves simétricas Substituição Trocar símbolos originais por outros Uso de alfabetos Permutação/Transposição Reposicionamento de símbolos segundo uma regra TODOS VAMOS APRENDER = 2 4 1 DAANX TSORE OMPDY DAANX 3 T O D O S V A M O S A P R E N D E R X Y
Cifragem e Codificação � Chaves simétricas Máquina Enigma
Cifragem e Codificação � Chaves simétricas Máquina Enigma Repetição é a inimiga da segurança Repetições cíclicas Mensagens alemãs apresentavam textos repetitivos Marian Rejewski Allan Turing
Cifragem e Codificação � Chaves simétricas Substituição binária S-Box: entrada de m bits ☞ n bits : operação não-linear + efeito avalanche 10110 ☞ 1 011 0 = 000 001 010 011 100 101 110 111 00 0101 1011 1000 0101 0010 0110 1000 1111 01 1010 1111 0001 1001 0111 0010 0111 10 1011 0110 1001 0011 1111 0101 1011 0001 1001 0111 0001 1010 0010 1011
Cifragem e Codificação � Chaves simétricas Substituição binária S-Box: entrada de m bits ☞ n bits : operação não-linear + efeito avalanche 10110 ☞ 1 011 0 = 0011 000 001 010 011 100 101 110 111 00 0101 1011 1000 0101 0010 0110 1000 1111 01 1010 1111 0001 1001 0111 0010 0111 10 1011 0110 1001 0011 1111 0101 1011 0001 1001 0111 0001 1010 0010 1011
Cifragem e Codificação � Chaves DES simétricas (Data Encryption Standard) Desenvolvido pela IBM Padronizado pelo NBS (National Bureau of Standards) Atual NIST (National Institute of Standards and Technology) “Ajustado” pela NSA (National Security Agency) Chaves de 56 -bits Melhorado no 3 DES (Triple DES)
Cifragem e Codificação � Chaves DES simétricas (Data Encryption Standard) 16 rounds sobre cada bloco de 64 bits de M Estrutura Feistel Expansão (32 ☞ 48 bits) + Mixagem (xor bit-a-bit) + substituição + permutação Ajuste de chave Seleção de subchaves por rodada a partir de chave de 56 bits! Cifragem e decifragem são operações “simétricas”
Cifragem e Codificação � Chaves simétricas DES (Data Encryption Standard) 16 rounds Estrutura Feistel Ajuste de chave Esquerda (32 bits) X Direita (32 bits) F(a, b) Subkey 1 (48 bits) Direita (32 bits) F(a, b) Subkey 2 (48 bits)
Cifragem e Codificação � Chaves DES simétricas (Data Encryption Standard) Frágil Interesses de segurança nacional americana Principais problemas Tamanho da chave (56 bits) S-Box
Cifragem e Codificação � Chaves Novas simétricas propostas “Concurso” do NIST para novo padrão de cifragem Alguns concorrentes AES (Advanced Encryption Standard) Serpent Twofish RC 6 MARS
Cifragem e Codificação � Chaves simétricas AES Rede de substituição/permutação Opera sobre blocos de 128 bits (16 bytes) de M Chaves de 128, 192 e 256 bits 10, 12, ou 14 rounds De acordo com tamanho de chaves Operações em álgebra de corpo finitos (finite fields) + Matrizes 4 x 4 (1 byte por elemento)
Cifragem e Codificação � Chaves AES simétricas
Cifragem e Codificação � Chaves simétricas Outras disponíveis Blowfish CAMELLIA CAST-128 IDEA (International Data Encryption Algorithm) RC 2 RC 4 SEED Parte da biblioteca Open. SSL (e suas variantes)
Cifragem e Codificação Exercícios � Cifrando e decrifrando usando LINUX Comando openssl Canivete suíço para criptografia! Faz cifragem/decrifragem Atua sobre arquivos Gera números aleatórios openssl rand –hex 100 openssl rand –base 64 100 Gera certificados
Cifragem e Codificação Exercícios � Cifrando e decrifrando usando LINUX openssl aes-256 -cbc -a Cifra um texto oriundo da entrada padrão usando cifra AES 256 por blocos (cipher block chaining) Invente uma senha Redigite-a (para termos certeza do que fazermos) Digite o texto a ser cifrado Termine o texto com ENTER e CTRL+D
Cifragem e Codificação Exercícios � Cifrando e decrifrando usando LINUX openssl aes-256 -cbc –d -a Decifra um texto oriundo da entrada padrão usando cifra AES-256 por blocos (cipher block chaining) Digite a senha que você usou anteriormente Copie o texto cifrado anteriormente Termine com ENTER e CTRL+D
Cifragem e Codificação Exercícios � Cifrando e decrifrando usando LINUX openssl des –a openssl des –d –a Usando DES agora
Cifragem e Codificação � Chaves assimétricas Criptografia com chaves simétricas é suficiente para vencer man-in-the-middle Problema de distribuição de chaves Como Alice e Bob recebem trocam chaves sem que Eve saiba? O que vocês acham?
Cifragem e Codificação � Chaves Chave assimétricas pública e privada Uso de aritmética modular (resto de divisão) + números primos Conceito de função de mão única ou função “não-inversível” Parece fácil, mas o problema é que X é um valor inteiro!
Cifragem e Codificação � Distribuição Aritmética de chaves modular X 1 2 3 4 5 6 3 X 3 9 27 81 243 729 3 X % 7 Note: 7 é número primo! primo
Cifragem e Codificação � Distribuição Aritmética de chaves modular X 1 2 3 4 5 6 3 X 3 9 27 81 243 729 3 X % 7 3 2 6 4 5 1 Note: 7 é número primo! primo
Cifragem e Codificação � Distribuição Escolham % 11 = R Troque R’s com seu colega Calcule um número A entre 0 (zero) e 10 Não conte A para ninguém Calcule 7 A de chaves RA % 11 = S S é uma chave que você trocou com seu colega
Cifragem e Codificação � Distribuição de chaves Parabéns, ninguém sabe A, mas ambos têm o mesmo S trocando R Eve demorará para encontrar A de ambos!
Cifragem e Codificação � Distribuição Troca Há de chaves Diffie-Hellman-Merkle Equação modular Yx % P = R P primo, Y<P É possível trocar chaves por meio de comunicação inseguro Problema do logaritmo discreto Com números P grandes, considerável tempo para descobrir X, conhecendo-se Y, P e R. (>1024 bits) variantes mais seguras Diffie-Hellman com curvas elípticas
Cifragem e Codificação � Chaves Chave assimétricas pública e privada Alice e Bob possuem, cada um, um par de chaves 1 pública e 1 privada Alice e Bob divulgam amplamente suas chaves públicas Eve pode ler as chaves públicas Alice manda uma mensagem para Bob cifrada com a chave pública de Bob decifra a mensagem com sua chave privada
Cifragem e Codificação � Chaves Alice escolhe dois números primos (p e q) p = 17, q = 11 Alice assimétricas calcula N = p. q e escolhe um número e N = 187, e = 7 Alice divulga N e e
Cifragem e Codificação � Chaves assimétricas Alice conhece p, q (privada) e todos conhecem N e e (pública) Bob quer mandar mensagem M para Alice M = ‘X’, que em ASCII é 88 Calcula C = Me % N C = 887 % 187 =
Cifragem e Codificação � Chaves assimétricas Alice conhece p, q (privada) e todos conhecem N e e (pública) Bob quer mandar mensagem M para Alice M = ‘X’, que em ASCII é 88 Calcula C = Me % N C = 887 % 187 = (884 % 187 + 882 % 187 + 881 % 187) % 187 = 11 Aritmética modular (matemágica) Bob transmite C para Alice
Cifragem e Codificação � Chaves assimétricas Alice recebe C Alice calcula [e. d] % [(p-1). (q-1)] = 1 [7. d] % [ 160 ] = 1 ☞ d = 23 Algoritmo de Euclides para MDC Alice decodifica mensagem por M = Cd % N M = 1123 % 187 M = 88
Cifragem e Codificação � Chaves RSA assimétricas (Rivest, Shamir, Adleman) Chaves de Alice pública Síntese mensagem secreta privada do processo. . . c 8 s 7 am. Sj#amx sjf!ajg. AMslkd mensagem secreta
Cifragem e Codificação Cifrando e decifrando assimetricamente com o LINUX � Gerar um arquivo com uma chave privada RSA openssl genpkey -algorithm RSA -out chave_privada. pem -pkeyopt rsa_keygen_bits: 2048 cat chave_privada. pem
Cifragem e Codificação Cifrando e decifrando assimetricamente com o LINUX � Extrair A a chave pública da chave privada gerada chave que vou distribuir para todo mundo openssl rsa -pubout -in chave_privada. pem -out chave_publica. pem cat chave_publica. pem
Cifragem e Codificação Cifrando e decifrando assimetricamente com o LINUX � Cifrar um texto com a chave pública echo ‘texto’ > texto_sem_cifra. txt openssl rsautl -encrypt -inkey chave_publica. pem -pubin -in texto_sem_cifra. txt -out texto_cifrado. enc openssl base 64 –in text_cifrado. enc
Cifragem e Codificação Cifrando e decifrando assimetricamente com o LINUX � Decifrar o texto cifrado com chave privada openssl rsautl -decrypt -inkey chave_privada. pem -in texto_cifrado. enc -out texto_decifrado. txt cat texto_decifrado. txt
Cifragem e Codificação � Assinatura Digital Como Bob verifica se um documento foi realmente enviado por Alice? Alice usa chaves assimétricas para “assinar o documento” Gera resumo criptográfico (hash) do documento “Decifra” Decifra resumo criptográfico com sua chave privada Envia documento + resumo criptográfico “decifrado” decifrado = Documento Assinado
Cifragem e Codificação � Assinatura Digital Como Bob verifica se um documento foi realmente enviado por Alice? Bob checa se Alice realmente enviou documento Também gera resumo criptográfico do documento Cifra esse novo resumo “decifrado” decifrado com chave pública de Alice Teste: resumo cifrado = cifra [ resumo decifrado (chave privada) ] com chave pública
Cifragem e Codificação � Assinatura RSA Digital (Rivest, Shamir, Adleman) Chaves de Alice pública mensagem secreta 8 Mslgja privada mensagem secreta &ma. Ls 28#@ 8 Mslgja
Cifragem e Codificação � Como gerar os resumos? Funções Hash HASH e MAC ☞ Função de mapeamento y = f(x) Geralmente Tamanho(x) > Tamanho(y) Sobrejetora Hash para criptografia Tamanho(y) é constante (fixo) Inversa de f deve ser muito difícil de encontrar Ideal que seja bijetora
Cifragem e Codificação � Funções HASH e MAC Binacional ☞ c 5885 f 9 d 5316 b 22804 cb 96 d 5 bc 593982 Itaipu Binacional ☞ ab 35 a 291 ddaa 2 f 32 a 3537 bf 02609 bd 7 a Itaipú Usando função MD 5 Pequenas mudanças no texto ☞ Grandes mudanças no resultado Checagem de integridade de documentos Identidade de arquivos Armazenagem de senhas
Cifragem e Codificação � Funções MAC HASH e MAC (Message Authentication Code) Equivalente criptográfico do CRC Dígito verificador do RG, CPF, etc. Usado em troca de mensagens para autenticar a própria mensagem Difícil alterar a mensagem para preservar mesmo MAC Integridade + Autenticidade
Cifragem e Codificação � Funções HASH e MAC MD 5 SHA-0 SHA-1 SHA-224, SHA-256, SHA-384, SHA-512, e outras NSA SHA-3 NIST
Cifragem e Codificação Gerando resumos e assinando no LINUX � Resumos echo 'meu texto' | openssl dgst –md 5 echo 'meu texto' | openssl dgst –sha 256
Cifragem e Codificação Gerando resumos e assinando no LINUX � Assinando echo documentos 'meu texto' > documento. txt openssl dgst -sha 256 -sign chave_privada. pem -out resumo. enc documento. txt openssl base 64 -in resumo. enc -out resumo. txt cat resumo. txt
Cifragem e Codificação Gerando resumos e assinando no LINUX � Conferindo openssl assinaturas dgst -sha 256 -verify chave_publica. pem -signature resumo. enc documento. txt
Cifragem e Codificação Gerando resumos e assinando no LINUX � Fazendo o mesmo com chave privada criptografada openssl genrsa -aes 128 -out chave_privada_cripto. txt 4096 openssl rsa -in chave_privada_cripto. txt -pubout -out chave_publica_cripto. txt openssl dgst -sha 256 -sign chave_privada_cripto. txt -out resumo. enc documento. txt
Cifragem e Codificação Gerando resumos e assinando no LINUX � Fazendo o mesmo com chave privada criptografada openssl dgst -sha 256 -sign chave_privada_cripto. txt -out resumo. enc documento. txt openssl dgst -sha 256 -verify chave_publica_cripto. txt -signature resumo. enc documento. txt
Autenticação Segura Como nos “logamos” em um computador e adquirimos recursos � Diversos métodos /etc/passwd (/etc/shadow) Linux PAM NTLM LDAP Windows Active Directory Kerberos
Autenticação Segura � /etc/passwd Arquivos onde cada linha contém: Nome dos usuário Senha criptografada* (para que o administrador não saiba sua senha) Diretório do usuário (onde você coloca seus dados) Informações adicionais Arquivo (/etc/shadow)* “protegido” Somente o usuário “root” e suas aplicações pode lê-lo e manipulá-lo Autenticação, por exemplo Qual o problema?
Autenticação Segura � /etc/passwd (/etc/shadow)*
Autenticação Segura Linux PAM Ideia básica: aplicações do usuário podem requisitar senha Como evitar que o programa tenha acesso a senha do usuário? TI/Administradores querem controlar o acesso! Pluggable authentication module Configurado de acordo com o gosto da TI (administradores) auth : Definir quem é o usuário através de alguma credencial account : Definir se o usuário pode fazer o que deseja fazer password: Permite que o usuário troque suas credenciais session: o que o sistema faz antes ou depois da autenticação Qual o problema?
Autenticação Segura NTLM NT LAN Manager Desenvolvido pela Microsoft para seus produtos Baseado em protocolos de de autenticação desafioresposta Challenge-response authentication Cliente calcula hash() da senha digitada pelo usuário e a envia para o servidor Servidor calcula o hash() da senha que ele conhece e efetua comparação § Geralmente armazena apenas hash(senha) ao invés de senha. Servidor pode enviar desafio também!
Autenticação Segura NTLM Infelizmente é vulnerável Microsoft implementou melhorias ao longo do tempo
Autenticação Segura LDAP Lightweight Directory Access Protocol Microsoft usou-o para implementar seu Windows Active Directory Arquitetura Cliente – Servidor
Autenticação Segura LDAP É um diretório de serviços Lista de telefones / Lista de Ramais / Lista de Emails “Banco de Dados” de informações sobre objetos Chave ☞ Valor § Chave ☞ Distinguished Name (DN) § Valor ☞ Common Name (CN) ou email ou object. Class ou user. Password § O céu é o limite para informações contidas
Autenticação Segura LDAP Adaptado para funcionar com autenticação No Linux ☞ PAM requisita credenciais (login / senha) do usuário Módulo pam_ldap consulta servidor LDAP (search) pelo DN § Comunicação segura – aguarde próxima seção!!! Módulo pam_ldap checa se senhas são iguais Checagem de senhas não é feita usando a senha mas sua versão criptografada. Módulo pam_ldap deve rodar em ambiente seguro
Autenticação Segura Kerberos Protocolo de autenticação Arquitetura Cliente – Servidor Assume que o meio de comunicação é inseguro! Usa criptografia simétrica para troca de informações Usa a senha do usuário como chave de criptografia
Autenticação Segura Kerberos Estrutura KDC – Key distribution center Gera chaves usadas na autenticação TGS – Ticket granting services Gera tickets com duração finita para transporte de informações Servidor do serviço Duas Lógica Básica (2) etapas básicas Obtenção de ticket para usar algum serviço Acesso ao serviço usando ticket
Autenticação Segura Kerberos Obtenção de ticket para usar algum serviço Cliente Recebe credenciais do usuário (login / senha) Gera uma chave secreta a partir dessa senha § Pode ser hash, por exemplo § Chave secreta e senha NUNCA trafegam na rede! Cliente ☞ Servidor TGS Requisição de ticket de autenticação para servidor Kerberos § Contém apenas login (sem criptografia)
Autenticação Segura Kerberos Obtenção de ticket para usar algum serviço Servidor TGS Checa se login existe Servidor TGS ☞ Cliente (se login existir) Chave de sessão cifrada com a chave gerada a partir da senha armazenada no servidor Ticket de autenticação cifrado com a chave do TGS § Só ele –TGS – conhece! § ID do usuário [1] + prazo de validade + chave de sessão
Autenticação Segura Kerberos Obtenção de ticket para usar algum serviço Cliente Decifra chave de sessão usando chave gerada localmente a partir da senha do usuário Não decifra ticket de autenticação – só o TGS consegue Cliente possui ☞ Ticket de autenticação + chave de sessão Cliente ☞ Servidor TGS: ID do serviço desejado + ticket de autenticação (continua cifrado com chave do TGS) TGS ID do usuário [1] + timestamp cifrados com chave de sessão
Autenticação Segura Kerberos Acesso ao serviço usando ticket Cliente possui Ticket de autenticação + chave de sessão + Ticket cliente-servidor Cliente ☞ Servidor de Serviço (SS – finalmente!): Ticket de cliente-servidor (continua cifrado com chave de serviço) ID de usuário [2] + timestamp cifrados com sua chave de sessão
Autenticação Segura Kerberos Acesso ao serviço usando ticket Servidor de Serviço (SS) Decifra ticket de cliente-servidor com chave de serviço (só TGS e SS conhecem!) Recupera e decifra requisição do serviço Checa ID de usuário [1] = ID de usuário [2] Servidor de Serviço ☞ Cliente Responde com timetamp cifrado com chave de serviço Cliente e Servidor desejado se conhecem e começam a trabalhar juntos
Autenticação Segura Kerberos Mensagens Cliente e Servidor conheciam Apenas 1 servidor (TGS) conhecia Dois servidores conhecem (TGS + SS) Separação foram cifradas usando chaves que entre servidores De Autenticação e Autorização (TGS) Do próprio serviço (SS)
Autenticação Segura Problema das senhas: De nada adianta tudo isso se o usuário usa senhas fáceis de descobrir password 12345678 querty abc 123 dragon iloveyou
Autenticação Segura Problema das senhas: De nada adianta tudo isso se o usuário usa senhas fáceis de descobrir <data de aniversário> <nome do cônjuge> <data de aniversário do filho> <sobrenome> <nome da namorado/namorada> <nome do animal de estimação>
Comunicação Segura � “Antigamente” computadores não conversavam entre si � Ataques exigiam contato direto com os computadores Solução era proteger/controlar seu acesso
Comunicação Segura INTERNET Proposta de protocolos de comunicação entre computadores com premissas: Orientada a pacotes (blocos de dados) Descentralizada (“ninguém” é dono da rede) Tolerante a falha (queda de nós exige apenas redirecionamento da informação) Alguns problemas atuais originam-se da “antiguidade” da proposta
Comunicação Segura � Computadores conversam entre si usando PROTOCOLOS Modelo conceitual em camadas (OSI – Open Systems Interconnection – model) 7 camadas (1 – física, 2 – enlace de dados, 3 – rede, 4 – transporte, 5 – sessão, 6 – apresentação, 7 – aplicação)
Comunicação Segura � Computadores conversam entre si usando PROTOCOLOS Mais usado atualmente: TCP/IP Implementação das 4 primeiras camadas (1 a 4), deixando a camada de aplicação (7) sem definição Interface de programação (API) usa conectores lógicos SOCKETS Orientada a datagramas (UDP) ou a conexão (TCP) Protocolos sem segurança implícita!
Comunicação Segura � Barreiras tecnológicas para impedir acessos não autorizados Iptables e Firewall BIND (Berkeley Internet Name Domain) para DNS (Domain Name System) � No mundo MS Windows temos: firewall e netsh advfirewall (diretamente na linha de comando) NBNS (Net. BIOS Name Service) WINS (Windows Internet Name Service) netsh
Comunicação Segura Iptables e Firewall Controla a propagação de pacotes TCP/IP em uma máquina ou roteador Roteador Máquina “especializada” que gerencia o envio de pacotes Opera na camada 3 do modelo OSI
Comunicação Segura Iptables e Firewall Configurado a partir de regras Todos os pacotes destinados a porta XX devem ser encaminhados para o endereço YY pela porta ZZ Bloqueie todos os pacotes para a porta HTTP (80) Mascare endereços externos para endereços da rede interna 172. 16. 0. 0/12 Gerenciado pelo administrador de redes/TI
Comunicação Segura Iptables e Firewall Roteamento de pacotes é função do núcleo de um sistema operacional (kernel) “Antigamente” exigia re-compilação do S. O. “Atualmente” apenas exige manutenção de arquivos de regras Permite roteamento baseado no conteúdo dos pacotes Mudança errada de regras pode paralisar toda a rede de uma organização
Comunicação Segura BIND para DNS Servidor responsável pela tradução de nomes em endereços IPs Evita que tenhamos que decorar números para serviços desejados Exemplos www. utfpr. edu. br ☞ 200. 19. 73. 182 www. nsa. org ☞ 96. 7. 195. 243 www. itaipu. gov. py ☞ 131. 161. 254. 21 www. itaipu. gov. br ☞ 189. 42. 28. 193
Comunicação Segura BIND para DNS Funcionamento Cliente faz pergunta aos servidores DNS que conhece Cadastrado na própria máquina ou obtido via DHCP Servidor pode saber a resposta ou ter que perguntar a outro servidor Hierarquia em árvore (descentralizado, tolerante a falhas, eficiente) Resposta é o endereço IP (pode receber mais de um) Ferramentas para testar nslookup (Windows e Linux) dig (Linux mas pode ser instalado em Linux)
Comunicação Segura BIND para DNS Funcionamento Cliente faz pergunta aos servidores DNS que conhece Cadastrado na própria máquina ou obtido via DHCP Servidor repassar pergunta quando não souber resposta Hierarquia em árvore (descentralizado, tolerante a falhas, eficiente) Resposta é o endereço IP (pode receber mais de um) Ferramentas para testar nslookup (Windows e Linux) dig (Linux mas pode ser instalado em Linux)
Comunicação Segura BIND para DNS
Comunicação Segura BIND para DNS Tanto a pergunta quanto a resposta são descriptografadas (abertas) Ataques man-in-the-middle não são percebidos Intruso pode responder mais rápido que o servidor correto, enganando o cliente Pergunto www. itaipu. gov. br e recebo 200. 19. 73. 182 (endereço da UTFPR) Servidor local DNS pode ser inundado por requisições, que impedem a minha de ser respondida a tempo (Do. S ou Denial of Service)
Comunicação Segura � Como incorporar segurança na comunicação de dados? Incluir criptografia para: Impedir ataques do tipo man-in-the-middle Verificar identidade das partes envolvidas (autenticação)
Comunicação Segura � Conceitos CA adicionais importantes (Certificate authority) Entidade que emite certificados digitais Como um cartório em quem você confia! confia Certificado digital Documento digital cuja assinatura digital pode ser verificada (com prazo de validade) Contém informações como seu dono (emissor)
Comunicação Segura � Conceitos adicionais importantes Números aleatórios (true random numbers e pseudo random numbers) Protocolo X. 509 para infraestrutura de chave pública (PKI) Cadeia de confiança
Comunicação Segura Certificado Digital Subject: www. utfpr. edu. br Organization: ITAIPÚ BINACIONAL Address: xxx Country: Brazil Chave pública de ITAIPÚ 59 A 9 00 58 AF 03 51 95 CA checa identidade, criptografa-o com a chave PRIVADA do CA e gera seu HASH = assinatura digital Subject: www. utfpr. edu. br Organization: ITAIPÚ BINACIONAL Address: xxx Country: Brazil Chave pública de ITAIPÚ 59 A 9 00 58 AF 03 51 95 Assinatura digital do Certificador CD 06 71 23 AA CE E 8 49
Comunicação Segura Certificado Digital � Vamos criar um certificado auto-assinado Idealmente No você: Cria um certificado Submete-o para uma autoridade certificadora que o assina e o reconhece como autêntico exemplo, nós assinaremos nosso próprio certificado Certamente não é seguro, Mas a ideia é entender o processo
Comunicação Segura Certificado Digital � Vamos criar um certificado auto-assinado openssl req -new -x 509 -sha 256 -newkey rsa: 2048 -nodes -keyout chave-cert. pem -out cert-autoassinado. pem -days 365 Importante -x 509 Para criar um certificado padrão (X. 509) -nodes Chave gerada não é encriptada (tenha cuidado) Sem essa opção, você tem que fornecer uma “senha” § passphrase
Comunicação Segura Certificado Digital � Vamos criar um certificado para CA assinar Ou CSR (certificate signing request) openssl req -new -sha 256 -newkey rsa: 2048 -nodes -keyout chave-certca. pem -out cert-requisicao. pem -days 365 Também responde perguntas Agora basta enviar a autoridade certificadora (CA) Dá para usar um arquivo contendo essas infos. Note a falta de -x 509
Comunicação Segura Certificado Digital � Para ler o conteúdo do certificado Refletindo o que os navegadores (por exempl 0) fazem openssl x 509 -in cert-autoassinado. pem -text –noout openssl req -in cert-requisicao. pem -text -noout
Comunicação Segura De agora em diante, para nos comunicarmos, usaremos chaves assimétricas, com certificação � Gnu. PGP Pretty Good Privacy Objetivo segurança para massas Philip Zimmermann Para mais informações. . . https: //files. gpg 4 win. org/doc/ gpg 4 win-compendium-en. pdf
Comunicação Segura De agora em diante, para nos comunicarmos, usaremos chaves assimétricas, com certificação � Gnu. PGP Windows: https: //www. gpg 4 win. org/ Mac: https: //gpgtools. org/index. html � Tarefa Criar para semana que vem. . . seu par de chaves, Divulgar para comunidade, Repassá-la para professor a chave pública!
Comunicação Segura TLS/SSL “Túneis” criptográficos de dados SSL ☞ Secure Sockets Layer TLS ☞ Transport Layer Security Usa certificados digitais para garantir que cada lado é quem diz ser! Usa criptografia para proteger a comunicação Implementados na forma de bibliotecas Open. SSL, Libre. SSL, Gnu. TLS, wolf. SSL Usados no desenvolvimento da aplicação
Comunicação Segura TLS/SSL Após o estabelecimento de conexão insegura (TCP/IP) Algoritmos de cifragem e de troca de chaves são negociados Que idioma usaremos? Certificados são trocados e autenticados Você é quem diz ser? Trocam chaves públicas assimétricas Use minha “caneta especial” para escrever mensagens para mim Trocam chaves simétricas A caneta anterior era lenta: Vamos usar esta que é mais rápida
Comunicação Segura TLS/SSL Comunicação é segura pelo uso de criptografia com chaves simétricas
Comunicação Segura TLS/SSL
Comunicação Segura Iptable e Firewall Exige proteção das configurações de roteamento contra ataques de acesso Autenticação Segura + Computação e Dados Seguros Veremos mais tarde! Tais serviços atuam na camada 3 do modelo OSI, implicitamente inseguro Níveis superiores devem se responsabilizar pela segurança BIND para DNS Uma tentativa de combater alguns ataques é DNSSEC Incluir criptografia na pergunta e na resposta
Comunicação Segura Ferramentas para INIMIGO � Wireshark Inspeção de todos os pacotes de dados Usado como ferramenta de “debug” de protocolos de comunicação Muito usado para inspecionar – sem autorização – redes Wi-Fi Descobrir senhas e outras informações
Comunicação Segura Ferramentas para INIMIGO � KALI Instalação LINUX com ferramentas para avaliação de segurança de sistemas Projetado para o BEM, mas pode ser usado para o MAL
Comunicação Segura Wi-Fi Rede de comunicação sem fio (IEEE 802. 11) Equivalente a rede física, só que via onda eletromagnética Formas de proteção Esconder o SSID Só quem conhece o nome da rede consegue localizá-la Endereços MAC específicos MAC ☞ Media access control address Endereço físico “único” do dispositivo Controle de acesso à rede + cifragem de dados
Comunicação Segura Wi-Fi Controle de acesso à rede + cifragem de dados Protocolo para aceitar um dispositivo à uma rede privada específica AP (access point) media a entrada do dispositivo a essa rede privada AP Rede privada
Comunicação Segura Wi-Fi Controle de acesso à rede + cifragem de dados WEP (Wired Equivalent Privacy) Autenticação por “aperto de mão” (handshake) baseado em desafio ou sem autenticação Ambos os lados conhecem a senha WEP (10 dígitos ☞ 40 bits) Dados cifrados por RC 4 + CRC 32 Dado cifrado = RC 4(senha WEP | “salt”) xor [dado transmitido] § Salt ☞ “número aleatório” para “apimentar” a senha W do usuário
Comunicação Segura Wi-Fi Controle de acesso à rede + cifragem de dados WEP (Wired Equivalent Privacy) Insegura Aircrack-ng presente em Kali consegue abrir pacotes e descobrir senha
Comunicação Segura Wi-Fi Controle de acesso à rede + cifragem de dados WAP/WAP-2 (Wi-Fi Protected Access) Resposta aos problemas do WEP Cifragem de dados com chaves diferentes por pacotes (TKIP) ☞ WPA § RC 4 ☞ M inimiza problema do WEP por usar múltiplas chaves Cifragem de dados baseada em AES § Variante usada em Zigbee Permite autenticação contra servidor RADIUS § Para empresas
Comunicação Segura Wi-Fi Controle de acesso à rede + cifragem de dados WAP/WAP-2 (Wi-Fi Protected Access) Permite autenticação contra servidor RADIUS § Diversos EAP (Extensible Authentication Protocol) § EAP-MD 5 (Microsoft) ☞ Inseguro mas extremamente comum § EAP-TLS § EAP-SIM §. . . E muito outros
Comunicação Segura Wi-Fi Pausa para vídeo “demonstrativo”
Computação e Dados Seguros Mundo em nuvem � Cloud computing Google, Amazon, Microsoft � Infra-estrutura local Atualização constante (CAPEX elevado) Pessoal + material sobresalente (OPEX elevado) Eu controlo tudo � Infra-estrutura Paga na núvem o que usa Alguém controla tudo por mim
Computação e Dados Seguros Mundo conectado � Máquinas de cartão de crédito/débito Chupa-cabra � Processamento Controle � Equipe (Ex-) de distribuído remoto de carro da Chrysler/FIAT TI funcionário resolve se vingar Ataque interno
Computação e Dados Seguros Hardware pode sofrer ataques Side-channel attacks Objetivo ☞ obter senhas e dados sensíveis Extrato de conta bancária Acordos de confidencialidade Informações comerciais relevantes TPM Trusted Platform Module Não confiamos nem no sistema operacional (root)
Computação e Dados Seguros Side-channel attacks Ataques onde se inspeciona características físicas de desempenho do hardware para inferir o que ele está fazendo e extrair senhas
Computação e Dados Seguros Side-channel attacks Ataques onde se inspeciona características físicas de desempenho do hardware para inferir o que ele está fazendo e extrair senhas
Computação e Dados Seguros TPM Padrão para hardware seguro Pode ser: Conjunto de instruções dedicado (SGX) Co-processador dedicado Soluções de software que rodam em ambientes seguros de hardware Máquinas virtuais rodando em hardware seguro
Computação e Dados Seguros TPM Atestação remota Permitir que um elemento externo saiba se está ou não conversando com um software sendo executado em ambiente seguro Handshake seguro com troca de credenciais Geração de números “quase”-aleatórios Selagem Garantir que dados sejam somentendidos pelo processador seguro que o gerou Cifragem em hardware Memória RAM cifrada
Computação e Dados Seguros TPM Intel Conceito de ENCLAVEs Áreas seguras de memória, onde códigos são executados de modo “seguro” Intel Core sexta-geração e superior Exige que a placa-mãe saiba trabalhar com SGX Operacional desde 2015/2016 ARM SGX Trust. Zone Processador seguro “dentro” do processador inseguro Anunciado em 2015
Computação e Dados Seguros Dados armazenados em nuvem � Nossos dados estão na nuvem Facebook, Google, Amazon, Microsoft Como confiar neles? � Dados sensíveis são cifrados � Problemas com chaves primárias Se dados sensíveis forem chaves, como fazer operações lógicas com dados cifrados? � Ainda um problema em pesquisa!
Computação e Dados Seguros Dados armazenados em nuvem � “Máquina Docker virtual” segura seguro = SCONE (TU Dresden) � Processamento seguro SCBR (University of Neuchatel) + Ta. Lo. S (Imperial College) � Armazenamento Chocolate. Cloud � Smartgrid Institutos + Uni. FEI de dados seguro + CASCA (UTFPR) seguro Lactec + COPEL + Inmetro + UTFPR + UFCG
Moeda e Eleição Seguros Moeda digital ou criptomoeda � Bitcoin Satoshi Nakamoto � Ethereum, Cardano, Litecoin, Stellar, NEM, Monero, Ripple, . . .
Moeda e Eleição Seguros Moeda digital ou criptomoeda � Sem autoridade central para gerenciá-las Consenso distribuído � Propriedade Chaves pública e privadas � Transações moeda Evitar definida por cifragem definem troca de propriedade de duplo pagamento! � Evolução transacional é mantida por cifragem � Novas quantidades de uma moeda são criadas em circunstâncias específicas
Moeda e Eleição Seguros Moeda digital ou criptomoeda � Carteira digital Conjunto dos endereços de bitcoin de um usuário Ideal é que se tenha um endereço de bitcoin por transação Evitar que alguém sabia quão rico você é! Fornecedores diversos “cuidam” para observar essa regra/sugestão
Moeda e Eleição Seguros Moeda digital ou criptomoeda � Mineração Realizado por um conjunto de entidades (mineradores) Rede peer-to-peer Validam uma transação, recebendo uma taxa da operação Taxa é definida por quem requisita uma transação!
Moeda e Eleição Seguros Moeda digital ou criptomoeda � Mineração Operam por consenso N mineradores devem chegar no mesmo resultado ☞ confirmação da transação N elevado ☞ elevada confiança na transação Operação difícil mas recompensável “Não se acha ouro em qualquer lugar”
Moeda e Eleição Seguros Moeda digital ou criptomoeda � Blockchain
Moeda e Eleição Seguros Moeda digital ou criptomoeda � Alice envia 1 BTC para Bob Alice submete requisição de transação (bem simples) <“endereços de bitcoin” de Alice> + <“endereços de bitcoin” de Bob> + <valor transferido = 1 BTC> <assinatura digital da requisição> Assinatura digital com chave privada do “endereço de bitcoin” de Alice <hash de trans. prévias que formam 1 BTC> Dinheiro flui por transações Múltiplas entradas ☞ múltiplos destinos
Moeda e Eleição Seguros Moeda digital ou criptomoeda � Alice envia 1 BTC para Bob Conjunto de mineradores recebe requisição Procuram por transações com melhores taxas Validam a req. de Alice (checagem da assinatura digital) Hash(requisição + nonce) nonce = <número de bits INICIAIS nulos> Nonce incremental até equação for verificada Quando equação é resolvida Novo bloco é adicionado à blockchain do minerador Resultado é propagado para outros mineradores Outros mineradores confirmam a operação
Moeda e Eleição Seguros Moeda digital ou criptomoeda � Alice envia 1 BTC para Bob Alice e Bob aguardam N confirmações N elevado ☞ Maior garantia de transferência Podem aguardar por muito tempo! Depende da taxa de transação paga Confirmações permitem novas transações na blockchain
Moeda e Eleição Seguros Votação Eletrônica (e-voting) � Processo eletrônico para coleta e/ou tabulação de resultados de votação Apenas contabilização dos votos Totalmente eletrônica (fim-a-fim) Direct recording eletronic machines (DRE) Brasil Semi-eletrônica Cartões perfurados lidos eletrônicamente (alguns estados EUA) Online
Moeda e Eleição Seguros Votação Eletrônica (e-voting) � Identificação única do eleitor � Dissociação voto – eleitor � Inviolabilidade do voto � Auditabilidade do voto
Moeda e Eleição Seguros Votação Eletrônica (e-voting) � Identificação Ninguém votará no meu lugar, ou votará mais de 1 vez � Dissociação Apenas única do eleitor voto – eleitor eu sei em quem eu votei � Inviolabilidade Ninguém eleitoral pode alterar meu voto durante o processo � Auditabilidade O do voto processo eleitoral pode ser checado, sem invalidar demais características
Moeda e Eleição Seguros Votação Eletrônica (e-voting) � Segurança fim-a-fim Verificação individual Eu consigo saber se meu voto foi corretamente considerado na eleição Verificação universal Um auditor consegue saber que o resultado final é oriundo de todos os votos
Moeda e Eleição Seguros Votação Eletrônica (e-voting) � Método de Farnel Proposto por brasileiros Cada eleitor verifica o voto do outro Ninguém sabe em quem votou, . . . mas sabe se seu voto está na urna Duas urnas: Urna primária, com votos sem assinatura Urna com votos assinados (Farnel) Recibo de votação é checar assinatura em votos
Moeda e Eleição Seguros Votação Eletrônica (e-voting) � Prêt à Voter Cada cédula contém 2 seções Lista dos candidatos em ordem aleatória Id aleatório onde se registra o voto Na votação, descarta-se a seção com a lista de candidatos Um aparato eletrônico lê o voto e o id aleatório O eleitor leva consigo a prova de voto, assinada. Somente a máquina de apuração sabe a relação entre id aleatória e ordem da lista de candidatos
Moeda e Eleição Seguros Votação Eletrônica (e-voting) � Three. Ballot Cédula com três seções idênticas destacáveis Mesmos candidatos na mesma ordem em todas as seções Um ID único para cada seção Vota correto na seção do meio e faz qualquer marcação nas demais seções Seção do meio é que conta para resultado
Moeda e Eleição Seguros Votação Eletrônica (e-voting) � Three. Ballot Uma das seções – aleatoriamente escolhida – é copiada e devolvida ao eleitor Recibo só é compreendido pelo eleitor Após eleição, todos os votos são publicados Checagem do recibo
Moeda e Eleição Seguros Votação Eletrônica (e-voting) � Bingo Voting Usa números aleatórios para representar/codificar votos Gera N x M votos “nulos” (dummies – números aleatórios) Na N candidatos e M eleitores votação Cada eleitor escolhe um candidato O sistema gera um número aleatório para aquele candidato Copia votos “nulos” para demais candidatos Imprime o recibo com lista de candidatos e respectivos números aleatórios
Moeda e Eleição Seguros Votação Eletrônica (e-voting) � Bingo Voting
Moeda e Eleição Seguros Votação Eletrônica (e-voting) � Bingo Na Voting apuração Publica-se cópia de todos os recibos emitidos Número de votos dummies é checado Usados + descartados Voto por candidato = Número de votos não-“dummies” Auditoria Eu checo meu voto ☞ conheço a minha sequência aleatória Auditor checa totais de votos dummies e não-dummies
- Tssfa
- Autopolarização jfet
- Rosangela rosa da rosa
- Aritmética computacional
- Complexidade computacional
- Complexidade computacional
- Sistema computacional
- Psiquiatria computacional
- Ufrj
- Auditoria computacional
- Complexidade computacional
- Prof rosa agustina
- Marcelo pandolfo
- Marcelo tatit sapienza
- Marcelo kaihara
- Marcelo rivano fischer
- Marcelo pontes vianna
- Lei 8036/90
- Marcelo canellas
- Marcelo botelho martins
- Kilusang humingi ng reporma
- Marcelo feruglio
- Superficie corporal quemada en niños
- Marcelo manta
- Marcelo osvaldo lucentini
- Marcelo
- Marcelo canellas
- Spartaco lombardo
- Marcelo tatit sapienza
- Marcelo manta
- Bønder telemacos pef htc wildfire test
- Marcelo canellas
- Ecosave holdings limited
- Marcelo astorga
- Marcelo cagnoli
- Marcelo a
- Quimica geral
- Marcelo tatit sapienza
- Colegio marcelo spinola jaen
- Marcelo gervilla gregório
- Centro pop blumenau
- Marcelo verdini maia
- Marcelo marcos morales
- Como achar
- The bearer irma
- Anjolina
- Karina oliveira nua
- Igor carboni oliveira
- Anjolina
- Contrapositiva
- Murilo de oliveira junqueira
- Oliveira de frades
- Fernando oliveira martins
- Roberto imbuzeiro
- Gênero
- Raica oliveira bellazon
- Anjolina grisi de oliveira
- Sued cristina campos oliveira
- Subconjunto
- Ponte octavio frias de oliveira projeto
- Henrique oliveira art
- Vini oliveira
- Algoritmo de hierholzer
- Rodrigo azevedo de oliveira
- Anjolina
- Grafo conexo
- Portal aprendere
- Manoel de oliveira paiva
- Pedro henrique casagrande oliveira
- Oliveira
- Sued cristina campos oliveira
- Jenni oliveira
- Alberto de oliveira parnasianismo
- Anjolina grisi de oliveira
- Ana carolina oliveira
- Jitka de oliveira manuelová
- Roberto imbuzeiro oliveira
- Anjolina
- Bruno brito escs
- Grafo
- Isossista
- Anjolina grisi de oliveira
- Raquel oliveira prates
- Sued cristina campos oliveira
- Anjolina
- Parnasianismo slide
- Posiçao relativa
- Ceip rosa chacel
- Santa apolonia santa rosa
- O que são pronomes possessivos
- Bessemer process ap euro
- Misioneras de santa rosa de lima
- Pitufina
- Planche 1 rorschach
- Desvantagens da orientação pelo sol
- Oswaldo guayasamin los trabajadores
- Heranca quantitativa
- Rosa cigaretter
- Locución prepositiva
- Mismo plano vertical
- Maria rosa guerrini
- Unicard sige pinheiro e rosa
- Sposa domani ti regalerò una rosa
- Rosa chacel fragmento
- António rosa damásio
- La edad de rosa es 3 veces mayor que la edad de jesus
- Alexandre rosa sustentabilidade
- Gramema de perro
- Tap plastics santa rosa
- Aurelio palacios moreyra
- Prensa rosa hollywood
- La rosa roja de nissan
- Alina rosa taboada
- Echelle colorielle
- Rosa fresca aulentissima figure retoriche
- Quiero regalarte
- El renacimento
- Allan park limo driver
- Phytoplankton examples
- Integrative medicine santa rosa
- Parede celular primaria e secundaria
- Rosa moscarella
- Rosa collects data on what students
- Declinazione mare
- Domingo 30 de agosto santa rosa de lima
- Det skjeve smil i rosa
- Como la vida misma por rosa montero
- Rosa has decided to sell pet rocks
- Lus rosa
- Rosa gershvin
- Rosa busser oslo
- Historicit
- O'cravo ea rosa
- Rosa capolupo
- María cristina barón biza
- Hypanthodium
- Code gray kaiser
- Rosa uses a microscope to look at a group of cells
- Ana rosa quintero
- Rosa greaves
- Rosa chace
- Non c'è spina senza rosa
- Rosa parks mother
- Es el día del examen final. pablo y rosa están
- Academia santa rosa de lima blog de maestros
- Rosa luxemburg stiftung praktikum
- Cultivo una rosa blanca
- Mis amigos preferir
- Cfp saugo thiene
- It is a modernist movement initially in poetry and painting
- Anna rosa marra
- L
- San agustin tarde te ame
- Frases de santa rosa de viterbo
- Rosa spencer
- Ura era iri
- Rosa dos ventos pontos intermédios
- Perdite di sangue in menopausa
- Rosa and blanca reading street
- Halfeti rose
- Familia declinazione
- Santa rosa plums
- O que têm em comum noel rosa castro alves franz
- Growth mindset values
- Vyjmenovaná slova po p seznam
- Rosa maria gaudio