Baixe o app para aproveitar ainda mais
Prévia do material em texto
SEGURANÇA DA INFORMAÇÃO Autenticação de usuários Prof. Dr. Marcos A. Simplicio Jr. Autenticação de usuários • Identificação: fornecer identidade • Nome de usuário, cartão magnético, cartão de proximidade, ... • Verificação: provar identidade (validar) • Senha alfanumérica, senha numérica (PIN), digitais, … • Função de segurança fundamental • Base para controle de acesso e responsabilização por ações indevidas Processo de verificar uma identidade alegada por ou para uma entidade do sistema. Consiste em dois passos: Autenticação de usuários Equivalente a autenticação de mensagens? • Não. A apresentação de mensagem autêntica não garante que usuário seja autêntico. • Atacante pode estar fazendo ataque de repetição Origem Destino Mensagem Tag de autenticação Intruso Autenticação de usuários Autenticação de mensagens resistente a ataques de repetição • Túnel seguro: impede captura por atacante • Desafio-resposta: MACs são calculados sobre nonces ou carimbos de tempo Usuário Sistema Intruso ➔ ➔ ➔ ➔ ➔ resposta (1) desafio (1)desafio ➔ ➔ ➔ ➔ ➔ resposta (1) desafio (2) Formas de autenticar usuários Existem quatro formas de autenticar a identidade de um usuário diante algo que ele: • Sabe: senha, PIN • Possui: chave, token, smartcard • É (biometria estática): digitais, retina, veias das mãos • Faz (biometria dinâmica): voz, assinatura, andar • Usadas individualmente ou de forma combinada (“autenticação multifator”: preferível) • Todas podem prover autenticação • Todas apresentam vantagens e desvantagens O que usuário sabe: senhas Senhas: vulnerabilidades (1) • Captura de senhas • Na rede, se enviada às claras (ex.: HTTP, telnet) ➔ Solução: usar túnel seguro (ex.: HTTPS, SSH) • Durante digitação (“keyloggers”) ➔ Solucão: antimalware • Explorando mau uso: senha escrita em arquivo ou anotada em papel; engenharia social ➔ Solução: educação de usuários Senhas: vulnerabilidades (2) • Reuso de senhas por usuário • Captura dá acesso a diversos sistemas • Soluções: • Ferramentas de gerenciamento de senhas: e.g., navegador com “senha mestre” (senhas salvas ficam cifradas no disco) • Uso de sistemas de “Single Sign-On” (SSO): e.g., provedores como Google e Facebook (“Login com …”) • Educação de usuários: não reusar senhas em serviços importantes; usar e-mail descartável ou “bugmenot” quando senha é irrelevante Senhas: vulnerabilidades (3) • Ataques de força bruta • Baixa entropia: média de 40 bits • http://research.microsoft.com/en-us/um/people/cormac/Papers/www2007.pdf • Menos ainda com políticas de senhas equivocadas: proibir caracteres especiais, limitar tamanho da senha, manter senhas padrão do sistema • Online: vários testes junto ao sistema • Solução: bloqueio temporário de usuário após certo número de tentativas erradas • Offline: após roubar base de dados/dispositivo • Password crackers (ex.: “Cain”): ferramentas automatizadas • Solução: password hashing Senhas: vulnerabilidades (3) • Ataques de força bruta se base/dispositivo armazena: 1. Senhas às claras ➔ custo do ataque = zero... 2. Hash (senha) ➔ custo do ataque = download de tabela pré-computada (e.g., rainbow table) ou uso de serviço web grátis... 3. Hash (sal, senha) ➔ custo do ataque = 1 hash/teste • Poucos us em PCs modernos; pode ser feito paralelo • Cluster de GPUs : >1012 hashes/h ➔ 5.5 h para quebrar senha de 8 caracteres alfanuméricos (https://securityledger.com/2012/12/new-25-gpu-monster-devours-passwords-in-seconds/) 123456 oijsdfm “MyHyperP#werS ecureP@ssw0rd pcvjvy Hash Hash user password admin admin root root ?!? hash oijsdfm pcvjvy salt 857…30 968…14 Saltedhash klfuvmhg wjkopfjm 1 2 3 ?!? Senhas: vulnerabilidades (3) • Password hashing (com sal) • Custo configurável: t segundos usando m megabytes de RAM; t aumenta exponencialmente em ataques com m reduzido. • Configuração: custo imperceptível por usuários legítimos, mas relevante para atacantes • Ex.: t = 1s, m = 1GB para autenticação local (ou remota, se a execução puder ser deixada a cargo dos clientes) • Ex. : t = 100 ms, m = 20 MB para autenticação no lado do servidor 1 núcleo de processamento 1000 núcleos de processamento Algoritmo testes/s uso de memória testes/s uso de memória 1 hash > 10000 < 1 KiB > 10.000.000 alguns KiB PBKDF/bcrypt 1 < 1 KiB 1000 (todos) alguns KiB Lyra2/Argon2 1 1 GiB 8 (992 parados) 8 GiB Limita paralelismo (e.g.: clusters de GPUs) *Configurável Criando boas senhas Senhas fortes: exemplos • Incluir letras, números e símbolos • Símbolos: mesmo os espaços, raramente usados • Evitar palavras do dicionário ou nome do usuário • Se incluir palavras, incluir várias (“passphrase”) e/ou erros crassos de ortografia • Construir senhas a partir de frases fáceis de lembrar, mas difíceis de adivinhar. • Ex.: “Esta era uma boa senha… até eu mostrá-la em sala de aula!”: “Ee1bs…Aemnsda!” • Ex.: “Quem ri por último é porque não entendeu a piada”: “Qrp’u, ’epneap.” • Ex.: combinação de duas ou mais frases para aumentar comprimento da senha O que usuário tem: tokens, cartões, smart cards O que usuário tem Cartões • Ex.: magnéticos, sem-contato (NFC) etc. • Uso: apenas armazena código de segurança fixo • Vulnerabilidades principais: • Clonagem, roubo ou repasse Trilhas magnéticas Cópia das trilhas O que usuário tem • Tokens • Ex.: em papel ou eletrônicos • Uso: senha temporária (one-time password - OTP) • Ex. (Protocolo TOTP) : MAC do valor de relógio interno; “janela” para lidar com perda de sincronismo com servidor • Vulnerabilidades principais: • Em papel: cópia/clonagem • Eletrônicos: roubo, repasse • Recomendado: proteção com senha ou PIN • Clonagem é rara: OTP não permite descobrir chave 23456 04759 32658 13952 59382 10093MAC: janela+1 min PIN O que usuário tem • Cartões inteligentes (smart cards) • Ex.: cartões de crédito, SIM card etc. • Uso: processamento de código de segurança • Usa criptografia na comunicação, com chaves protegidas: • Físicamente: não podem ser lidas diretamente • Logicamente: podem ser apagadas em caso de ataque (e.g., PIN incorreto entrado repetidas vezes) • Vulnerabilidades principais: • Fraude no leitor (ex.: mostrado ≠ enviado a cartão) • Algoritmos e protocolos criptográficos falhos • Ex.: Mifare Classic (Bilhete Único) http://www.doc.ic.ac.uk/~mgv98/MIFARE_files/report.pdf • Ex.: Cartões de crédito sem contato (NFC) https://www.usenix.org/system/files/conference/woot13/woot13-roland.pdf O que usuário é/faz: biometria Biometria • Autenticação de usuário com base em alguma de suas características físicas ou comportamentais C u st o Acurácia Digitais Retina Íris Voz Face Assinatura Veia das mãos Exemplo: impressão digital Leitura de minúcias • Minúcias: coleção de pontos identificáveis em uma impressão digital IlhaTerminação Bifurcação Lago Isolada Ponte Padrão de arco Padrão de laço Padrão espiral usados na prática Exemplo: impressão digital Processo • Dados armazenados em banco de dados para comparação posterior Captura de imagem Identificação de minúcias Mapeamento para template X Y 111010101 110001000 111010010 000111011 Armazenamento de registro Biometria: vulnerabilidades • Principais problemas: • Reprodução das informações biométricas • Ex: dedo de borracha, foto de alta resolução de olho, … • Roubo das informações biométricas no canal de comunicação • Ataque de repetição • Roubo da base de informações biométricas • Pode-se criar objeto que dê leitura biométrica correta • Ex.: lente para leitura de íris: http://www.planetbiometrics.com/article-details/i/1189/ • Revogação é um desafio: um dedo ou outra informação biométrica revogada não é facilmente substituível Créditos da imagem: Tsutomu Matsumoto Biometria: contramedidas • Falsificações • Bons sensores: boa acurácia dificulta falsificação • Combinação de sensores • Para verificarpresença: temperatura, profundidade do olho, ... • Vigilância dos sensores • Ex.: evita que o usuário apresente artefatos ao sensor, como fotos • Armazenamento/comunicação • Proteção física/lógica do canal de envio de dados • Proteção física/lógica do módulo onde de registros são armazenados SEGURANÇA DA INFORMAÇÃO Autenticação de usuários Prof. Dr. Marcos A. Simplicio Jr.
Compartilhar