Roteiro TOCI-08: Seguranc¸a de Redes Prof. Rafael Obelheiro
[email protected]
1
˜ Introduc¸ao
2
Senhas
3
Outras credenciais
˜ Aula 4: Autenticac¸ao
c 2008 Rafael Obelheiro (DCC/UDESC)
˜ Aula 4: Autenticac¸ao
SEG
1 / 28
˜ vs autenticac¸ao ˜ Identificac¸ao
c 2008 Rafael Obelheiro (DCC/UDESC)
˜ Aula 4: Autenticac¸ao
SEG
2 / 28
SEG
4 / 28
Tipos de credenciais
˜ primordiais em seguranc¸a e´ a identidade Uma das informac¸oes ´ de um usuario ou entidade I
quem esta´ fazendo alguma coisa
Conhecimento: algo que voceˆ conhece
A identidade pode ser usada I I
I
ˆ ˜ de controle de acesso como parametro em decisoes para gerar logs de auditoria
I
Posse: algo que voceˆ possui
˜ de uma identidade ˜ e´ o processo de verificac¸ao A autenticac¸ao alegada I
I
˜ (magneticos, ´ chaves, cartoes smartcards, RFID), . . .
´ Biometricas: algo que voceˆ e´
´ o usuario e´ quem ele diz ser?
˜ e´ feita com base nas credenciais apresentadas Essa verificac¸ao I
´ senhas, codigos pessoais, . . . ´ podem ter varios graus de segredo
I
˜ digitais, voz, assinatura, . . . impressoes
ˆ ˜ e´ verdadeira as evidencias de que a alegac¸ao
˜ determina se as credenciais fornecidas Ou seja, a autenticac¸ao constituem prova suficiente da identidade
c 2008 Rafael Obelheiro (DCC/UDESC)
˜ Aula 4: Autenticac¸ao
SEG
3 / 28
c 2008 Rafael Obelheiro (DCC/UDESC)
˜ Aula 4: Autenticac¸ao
Princ´ıpios
Fornecendo senhas
´ Para acessar um sistema, um usuario entra com um login (nome ´ de usuario) e uma senha I I I
˜ login = identificac¸ao ˜ senha = credencial de autenticac¸ao o processo de verificar se a senha e´ correta para o login fornecido ˜ e´ a autenticac¸ao
´ A senha e´ um segredo compartilhado entre o usuario ou entidade ˜ e o subsistema de autenticac¸ao ´ Como fornecer a senha ao usuario de forma segura, sem que ela seja capturada por terceiros (i.e., mantendo o segredo)? I I
˜ o mecanismo de autenticac¸ao ˜ mais popular Senhas sao I
simples de implementar
I
uso disseminado
F
F
I
F
˜ necessariamente de forma segura. . . nao
I I
´ aceitac¸ao ˜ facil
c 2008 Rafael Obelheiro (DCC/UDESC)
˜ Aula 4: Autenticac¸ao
pessoalmente ´ por telefone ⇒ ligando para o ramal do usuario por correio
SEG
6 / 28
e se a carta for interceptada?
usando uma senha que precisa ser trocada no primeiro acesso a senha precisa ser fornecida por um canal separado do canal de ˜ autenticac¸ao
c 2008 Rafael Obelheiro (DCC/UDESC)
˜ Aula 4: Autenticac¸ao
SEG
7 / 28
˜ Lic¸ao
Cancelando a senha
´ Os mesmos problemas aparecem quando o usuario esquece a sua senha I
˜ se ele estiver no meio de uma tarefa complicada, atrasos sao ´ indesejaveis
´ Mecanismos de seguranc¸a podem negar o acesso a usuarios leg´ıtimos
Necessidade de suporte para mudanc¸a de senhas I I
O sistema deve prever essas possibilidades e ser capaz de lidar com elas de forma eficiente
24×7, em alguns casos qual o custo disso?
ˆ A conveniencia e´ fundamental, mas como se proteger contra ataques de engenharia social? I
´ obtenha senhas de forma fraudulenta evitar que alguem
c 2008 Rafael Obelheiro (DCC/UDESC)
˜ Aula 4: Autenticac¸ao
SEG
8 / 28
c 2008 Rafael Obelheiro (DCC/UDESC)
˜ Aula 4: Autenticac¸ao
SEG
9 / 28
Descoberta de senhas
Defesas poss´ıveis (1/2) Definir uma senha
Senhas podem ser descobertas acidental ou intencionalmente ´ ´ Existem duas estrategias basicas de descoberta I
I
I
F F F
I
E´ imposs´ıvel evitar que uma senha seja descoberta, mas uma boa senha reduz a probabilidade de sucesso desses ataques
˜ Aula 4: Autenticac¸ao
SEG
I
10 / 28
´ ˜ pelo usuario ´ senhas pronunciaveis, escolhidas pelo sistema e nao
` senhas Impor um prazo de validade as forc¸a mudanc¸as frequentes de senha ¨
˜ diferentes. . . abobora1, abobora2 e abobora3 sao
´ varias ´ Trancar a conta apos tentativas malsucedidas I
´ de forma temporaria ou definitiva
´ o login, informar o usuario ´ Apos a data e hora do login anterior e quantas tentativas de login falharam I
´ possibilita que o usuario detecte acessos ou tentativas indevidas
c 2008 Rafael Obelheiro (DCC/UDESC)
˜ Aula 4: Autenticac¸ao
´ palavras do dicionario ´ ´ verificar se a senha e´ fraca antes de aceita-la como valida
c 2008 Rafael Obelheiro (DCC/UDESC)
˜ Aula 4: Autenticac¸ao
SEG
11 / 28
O espac¸o de uma busca e´ dado por |A|n I I
´ Impedir os usuarios de reutilizar senhas, mantendo uma lista das senhas usadas I
dificulta busca exaustiva
Mensurando ataques de forc¸a bruta
Usar senhas geradas automaticamente
I
I
˜ de Usar numeros, caracteres especiais e combinac¸oes ´ maiusculas e minusculas ´ ´ ´ Evitar senhas obvias I
Defesas poss´ıveis (2/2)
I
especialmente de contas do sistema
Definir um tamanho m´ınimo para a senha
˜ pessoais: datas de aniversario, ´ informac¸oes nomes de pessoas da ˆ fam´ılia, preferencias, ... senhas populares ´ palavras do dicionario
c 2008 Rafael Obelheiro (DCC/UDESC)
˜ facilmente descobertas senhas vazias sao
˜ Mudar senhas padrao
busca exaustiva ou forc¸a bruta: o atacante tenta todas as ˜ de caracteres poss´ıveis (ate´ um determinado combinac¸oes comprimento) ˜ de busca inteligente: tenta diversas combinac¸oes
SEG
12 / 28
|A| e´ o tamanho do alfabeto (numero de caracteres usados) ´ n e´ o comprimento da senha
Exemplos alfabeto minusculas ´ letras letras e numeros ´ ASCII imprim´ıvel
|A| 26 52 62 95
n=3 17.576 140.608 238.328 857.375
n=5 1,2 · 107 3,8 · 108 9,2 · 108 7,7 · 109
n=8 2,1 · 1011 5,4 · 1013 2.2 · 1014 6,6 · 1015
n = 12 9,5 · 1016 3,9 · 1020 3,2 · 1021 5,4 · 1023
Uma ferramenta como John the Ripper testa milhares (ou ate´ ˜ ˜ por segundo milhoes) de combinac¸oes
c 2008 Rafael Obelheiro (DCC/UDESC)
˜ Aula 4: Autenticac¸ao
SEG
13 / 28
Seguranc¸a oferecida pelas senhas (1/2)
Seguranc¸a oferecida pelas senhas (2/2)
´ ´ A seguranc¸a maxima e´ obtida se os usuarios adotam senhas ´ ˜ longas, contendo caracteres alfanumericos e de pontuac¸ao, possivelmente geradas pelo sistema e trocadas periodicamente? ´ ˜ conseguir memorizar senhas longas e Os usuarios tendem a nao complicadas ˜ escreve-las ˆ Provavalmente vao em um post-it colado ao monitor ou embaixo do teclado, para caso de esquecimento I I I
igualmente util ´ para atacantes, especialmente com ajuda interna a seguranc¸a f´ısica importa profissionais de seguranc¸a costumam procurar senhas junto aos postos de trabalho
´ Os usuarios podem ter dificuldade de lidar com mudanc¸as frequentes de senha, e bolar meios de reutilizar uma mesma ¨ ˜ senha com pequenas variac¸oes As pessoas memorizam mais facilmente as senhas usadas com maior regularidade ˜ Logo, senhas funcionam razoavelmente bem quando elas sao ˆ ˜ usadas so´ de usadas com frequ¨ encia, mas nem tanto quando sao vez em quando Existem programas que auxiliam no gerenciamento de senhas I I
I I
c 2008 Rafael Obelheiro (DCC/UDESC)
˜ Aula 4: Autenticac¸ao
SEG
14 / 28
Ataques de spoofing
I
I
I
um atacante executa um programa que exibe uma falsa tela de login ´ quando um usuario tenta se autenticar no sistema, o programa grava o par login/senha digitado normalmente, o programa gera uma mensagem de erro e encerra ˜ a execuc¸ao o controle passa para o SO, que executa o login genu´ıno
c 2008 Rafael Obelheiro (DCC/UDESC)
´ quando trocar uma senha, digita-la repetidas vezes evitar mudanc¸as de senha antes de finais de semana ou feriados
c 2008 Rafael Obelheiro (DCC/UDESC)
˜ Aula 4: Autenticac¸ao
SEG
15 / 28
SEG
17 / 28
Um exemplo
´ Com o par login/senha, o usuario se identifica e autentica perante o sistema ˜ e´ o Mas como saber se quem recebe a senha para verificac¸ao sistema pretendido? Isso pode ser explorado por um ataque de spoofing I
˜ protegidas por uma senha mestra as senhas sao e´ bom que a senha mestra seja bem segura. . .
Dicas uteis ´
˜ Aula 4: Autenticac¸ao
SEG
16 / 28
#! /usr/bin/env python import os print "\nUbuntu 7.10 albi tty1\n" login = raw_input("albi login: ") os.system("stty -echo") pwd = raw_input("Password:") os.system("stty echo") arq = open("/tmp/senhas", "a+") arq.write(login + ":" + pwd + "\n") arq.close() print("\n\nLogin incorrect")
c 2008 Rafael Obelheiro (DCC/UDESC)
˜ Aula 4: Autenticac¸ao
˜ do arquivo de senhas Protec¸ao
Contramedidas
Mostrar o numero de tentativas fracassadas de login pode indicar ´ que um ataque aconteceu ´ Caminho de confianc¸a (trusted path): um mecanismo inviolavel ´ que permite ao usuario certificar-se de estar interagindo com o login genu´ıno I
secure attention key (SAK): Ctrl-Alt-Del no Windows
As senhas devem ser armazenadas de forma segura I
I I I
´ ˜ mutua Autenticac¸ao ´ entre usuario e sistema
c 2008 Rafael Obelheiro (DCC/UDESC)
˜ Aula 4: Autenticac¸ao
SEG
18 / 28
˜ criptografica ´ Protec¸ao
confidencialidade e integridade do arquivo de senhas
˜ Medidas de protec¸ao ˜ criptografica ´ protec¸ao das senhas controle de acesso ao arquivo ambos, possivelmente com medidas para retardar ataques de ´ dicionario
c 2008 Rafael Obelheiro (DCC/UDESC)
˜ Aula 4: Autenticac¸ao
SEG
19 / 28
Controle de acesso
˜ nao ˜ invers´ıvel (one way) Pode ser utilizada uma func¸ao I
´ computar y = f (x), mas inviavel ´ e´ facil obter x a partir de y
˜ precisam estar As senhas, mesmo criptografadas, nao ´ dispon´ıveis a todos os usuarios
Em vez de armazenar a senha x, armazena-se f (x) ´ Quando o usuario entra uma senha x 0 , verifica-se f (x 0 ) I
se
f (x 0 )
I
= f (x), a senha esta´ correta
I
´ Salting pode ser usado para dificultar ataques de dicionario I
I I I
´ disso, e´ necessario ´ Alem restringir o acesso de escrita ao arquivo de senhas
bytes adicionais escolhidos aleatoriamente quando a senha e´ definida o salt e´ armazenado junto com a senha ˜ passa a ser f (s||x 0 ) = f (s||x) a verificac¸ao evita que um atacante monte uma base de f (x) a partir de um ´ ˆ dicionario e verifique se existem coincidencias no arquivo
c 2008 Rafael Obelheiro (DCC/UDESC)
˜ Aula 4: Autenticac¸ao
SEG
ataques off-line /etc/shadow no UNIX
I
20 / 28
´ muda-la? ´ para que adivinhar uma senha se e´ mais facil
c 2008 Rafael Obelheiro (DCC/UDESC)
˜ Aula 4: Autenticac¸ao
SEG
21 / 28
´ Senhas em armazenamento temporario
˜ unica Autenticac¸ao (single sign-on) ´ ´ Muitos usuarios precisam acessar diversos servic¸os no ˜ desempenho de suas func¸oes Autenticar-se em cada um deles e´ inconveniente
˜ deixadas em claro em areas ´ Muitas vezes, as senhas sao de ´ armazenamento temporario I I I I
I
cache de disco ´ memoria buffers cache do navegador
I
˜ todas bem diferentes, e´ necessario ´ ´ se as senhas sao memoriza-las e lembrar de usar a senha correta ˜ iguais ou parecidas, a seguranc¸a fica se as senhas sao comprometida
˜ e´ a autenticac¸ao ´ ˜ unica: Uma poss´ıvel soluc¸ao ´ o usuario se autentica apenas uma vez, e o sistema providencia as ˜ subsequentes autenticac¸oes ¨
´ ˜ tem controle sobre essas areas ´ O usuario muitas vezes nao
I I
SSO simples: o sistema armazena o login/senha SSO mais sofisticada: o sistema gera uma credencial que pode ser verificada em outros sistemas
Como garantir a seguranc¸a das credenciais?
c 2008 Rafael Obelheiro (DCC/UDESC)
˜ Aula 4: Autenticac¸ao
SEG
22 / 28
Outras credenciais de conhecimento
I I I
I
podem ser associadas a credenciais de posse
˜ Aula 4: Autenticac¸ao
23 / 28
Essas credenciais podem ser perdidas ou roubadas Frequentemente combinadas com credenciais de conhecimento ¨
Qualquer credencial de conhecimento pode ser roubada ou fornecida para outra pessoa, e e´ dif´ıcil afirmar com certeza se um ´ ˜ um acesso usuario realizou ou nao
c 2008 Rafael Obelheiro (DCC/UDESC)
SEG
´ O usuario precisa ter a posse de um determinado recurso para obter acesso ˜ magneticos, ´ ´ chaves, . . . Cartoes smartcards, tags RFID, crachas,
“qual era o nome da irma˜ do Paulinho?” “quem foi o professor de F´ısica no 2◦ ano?” “x = 16” ´ teoricamente, apenas o usuario correto sabe essas respostas
Senhas de uso unico (one-time passwords) ´ I
˜ Aula 4: Autenticac¸ao
Credenciais de posse
´ de senhas, existem outras credenciais de conhecimento Alem Uma variante popular e´ o desafio-resposta, que consiste na resposta a uma pergunta feita pelo sistema I
c 2008 Rafael Obelheiro (DCC/UDESC)
SEG
25 / 28
I
˜ de banco cartoes tokens que geram senhas de uso unico ´
c 2008 Rafael Obelheiro (DCC/UDESC)
˜ Aula 4: Autenticac¸ao
SEG
26 / 28
´ Credenciais biometricas
Bibliografia
´ Se baseiam em caracter´ısticas fisiologicas ou comportamentais de uma pessoa I
I
´ ˜ digitais, ´ıris, geometria das maos, ˜ fisiologicas: impressoes face, DNA, ldots ˜ ... comportamentais: assinatura, voz, jeito de andar, digitac¸ao,
˜ Podem ser usadas para duas formas de autenticac¸ao I
I
´ ˜ o usuario verificac¸ao: se identifica e o sistema apenas compara a ˜ armazenado credencial com o padrao ´ ˜ o usuario identificac¸ao: fornece apenas a credencial, e o sistema diz quem ele e´
Dieter Gollmann. Computer Security, 2nd Edition. Wiley, 2006. Cap´ıtulo 3.
˜ podem ser perdidas, mas podem ser roubadas ou forjadas Nao I
´ e´ poss´ıvel revogar uma credencial biometrica?
˜ incluem ainda universalidade, taxas de erro (falsos Questoes positivos e negativos), disponibilidade e custo de dispositivos
c 2008 Rafael Obelheiro (DCC/UDESC)
˜ Aula 4: Autenticac¸ao
SEG
27 / 28
c 2008 Rafael Obelheiro (DCC/UDESC)
˜ Aula 4: Autenticac¸ao
SEG
28 / 28