segurança de redesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/seg2018/autenti... · p e obter...
TRANSCRIPT
Segurança de Redes
Autenticação e Controle de Acesso
Prof. João Henrique Kleinschmidt
Controle de Acesso
• O acesso a serviços e programas tem que ser controlados.
• Acesso – habilidade de realizar algo com recursos computacionais
• Autorização – permissão dada pelo sistema ou pelo dono do recurso para utilização do mesmo
• O controle de acesso lógico cuida do acesso aos diversos níveis existentes.
• Ex: Permissão para enviar e-mails, controle de licença de software, tempo de transação, direitos de leitura, gravação, criação, remoção e execução de arquivos.
Autenticação de Usuários
• Autenticação com base no que o usuário sabe – Senhas
• Autenticação com base no que o usuário tem – Dispositivos de memória (memory tokens). Ex: cartão bancário
– Dispositivos inteligentes (smart tokens). Ex: smart card
• Autenticação com base nas características do usuário – Biometria
4
Senhas
• Ponto de vista do Invasor – Precisa de um login para escalar privilégios – tentam
adivinhar senhas “fracas”
– Roubam arquivos de senhas em sistemas fracos e tentam as senhas dos mesmos usuários em outros sistemas
• Usuários usam senhas iguais em sistemas diferentes
• Algumas senhas usadas durante anos, alternadamente
• Sua senha do login = senha de banco ?
• Ponto de vista do Administrador – Precisam saber se as senhas dos usuários são “fracas”
– Como? Tentando quebrar!
– Avisando usuários de senha fraca para trocá-las
– Administrador não precisa ver a senha
5
Algoritmo do Password Cracker Obter um
arquivo de senhas
do sistema
Criar password
“chute” P
Criptografar
P e obter PC
PS quebrada!
senha do
usuário U é P
PC=PS
?
Não
Sim
Pegar a password
criptografada PS
do usuário U
6
Tipos de “chute”
• Baseado em dicionários
– Todas as palavras do dicionário + Gírias + palavrões …
• Dicionário combinado
– Chutes com prefixo e sufixo
– Exemplo: login ana, chutes: 1ana, 123ana, ana1, ana123,
…
• “Força bruta”
– Tenta todas as possíveis combinações de caracteres
– a-z, A-Z, 0-9, !@#$%^&*()_+=-~?<>”’:;][{}\|
– Tempo de quebra depende o tamanho da senha
– Conclusão: senhas maiores são mais difíceis de advinhar
• Salvo se for: aaaaaaaaaaaa, 111111111111, …
8
Tokens
Radio Frequency tokens USB tokens
No cinto Pendurado No Bolso Como chaveiro
9
Smart Card, RF, Proximidade
USB SmartCard Reader Proximity Reader +
Fingerprint Verification
6 Kb memory, 106Kbps
Chip de contato
(128KB)
Antena
Chip Transmissor/
Receptor
Biometria
Típico sistema biométrico
Biometria • Impressão digital
• Retina/Íris do olho
• Características faciais
• Reconhecimento de voz
• Geometria e veias das mãos
• Padrão de escrita
• Poros da pele
• Análise de DNA
• Formato da orelha
• Composição química do odor corporal
• Emissões térmicas
• Geometria dos dedos
• Identificação da unha
• Maneira de andar
12
Reconhecimento de Digital
13
Reconhecimento da Geometria da Mão
14
Reconhecimento da Escrita
15
Reconhecimento Facial
16
Reconhecimento de Voz
Padrão armazenado
Padrão obtido
17
Reconhecimento da Íris & Retina
18
Reconhecimento da Retina
Authentication Server
Biometria
• Nível de intrusão: usuários podem não se sentir à vontade com o processo de autenticação e considerá-lo uma invasão de privacidade.
• Nível de esforço: esse fator considera o tempo e o esforço requerido para efetuar a autenticação.
• Nível de precisão: o nível de rejeições e de “falsos positivos” deve ser considerado.
• Custo: fator que deve ser considerado para cada situação.
Single Sign-On
• Os usuários passam a acessar diversas aplicações e recursos, resultando em um grande número de senhas. Isto influencia diretamente na segurança e produtividade.
• O Single Sign-On (SSO) surgiu como um método de identificação e autorização que permite uma administração consistente, de maneira que os usuários podem acessar vários sistemas diferentes, de um modo transparente e unificado, por meio de uma única autenticação.
• Por sua vez, o SSO traz suas próprias implicações de segurança, pois com uma única senha (ou outro método de autenticação) o usuário pode acessar vários sistemas. Se a senha for comprometida, todos os sistemas podem sofrer com isso.
• Ex: Kerberos, Infraestrutura de chaves públicas (ICP)
Kerberos
Visão geral do Kerberos
Kerberos
• O sistema de autenticação Kerberos foi proposto pelo MIT nos anos 80. Hoje, esse sistema é utilizado para centralizar a autenticação de rede em vários sistemas operacionais, como Windows, Solaris, MacOS X e Linux.
• Os principais componentes de um sistema Kerberos são o Serviço de Autenticação (AS - Authentication Service), o Serviço de Concessão de Tickets (TGS - Ticket Granting Service), a base de chaves, os clientes e os serviços de rede que os clientes podem acessar. Juntos, o AS e o TGS constituem o Centro de Distribuição de Chaves (KDC – Key Distribution Center).
O funcionamento básico do sistema Kerberos é relativamente simples: o cliente se autentica junto ao AS (passo 1) e obtém um ticket de acesso ao serviço de tickets TGS (passo 2). A seguir, solicita ao TGS um ticket de acesso ao servidor desejado (passos 3 e 4). Com esse novo ticket, ele pode se autenticar junto ao servidor desejado e solicitar serviços (passos 5 e 6).
Controle de Acesso
• Em um sistema computacional, o controle de acesso consiste em mediar cada solicitação de acesso de um usuário autenticado a um recurso ou dado mantido pelo sistema, para determinar se aquela solicitação deve ser autorizada ou negada.
• Praticamente todos os recursos de um sistema operacional típico estão submetidos a um controle de acesso, como arquivos, áreas de memória, semáforos, portas de rede, dispositivos de entrada/saída, etc.
• Em controle de acesso, é habitual classificar as entidades de um sistema em dois grupos: os sujeitos e os objetos:
– Sujeitos são todas aquelas entidades que exercem um papel ativo no sistema, como processos, threads ou transações. Normalmente um sujeito opera em nome de um usuário, que pode ser um ser humano ou outro sistema computacional externo.
– Objetos são as entidades passivas utilizadas pelos sujeitos, como arquivos, áreas de memória ou registros em um banco de dados.
Políticas, mecanismos e modelos de controle de acesso
• Uma política de controle de acesso é uma visão abstrata das possibilidades de acesso a recursos (objetos) pelos usuários (sujeitos) de um sistema. Essa política consiste basicamente de um conjunto de regras definindo os acessos possíveis aos recursos do sistema e eventuais condições necessárias para permitir cada acesso.
• As regras ou definições individuais de uma política são denominadas autorizações. Uma política de controle de acesso pode ter autorizações baseadas em identidades (como sujeitos e objetos) ou em outros atributos (como idade, sexo, tipo, preço, etc); as autorizações podem ser individuais (a sujeitos) ou coletivas (a grupos); também podem existir autorizações positivas (permitindo o acesso) ou negativas (negando o acesso); por fim, uma política pode ter autorizações dependentes de condições externas (como o tempo ou a carga do sistema).
Políticas discricionárias
• As políticas discricionárias (DAC - Discretionary Access Control) se baseiam na atribuição de permissões de forma individualizada, ou seja, pode-se claramente conceder (ou negar) a um sujeito específico a permissão de executar a ação sobre um objeto específico.
• Matriz de controle de acesso
• Tabela de autorizações
• Listas de controle de acesso (ACL – Access Control List)
• Lista de capacidades
Matriz de Controle de Acesso
Tabela de Autorizações
Muito usada em sistemas
gerenciadores de banco
de dados
Listas de Controle de Acesso
Muito usada em sistemas operacionais
Lista de Capacidades
Políticas obrigatórias
• Nas políticas obrigatórias o controle de acesso é definido por regras globais incontornáveis, que não dependem das identidades dos sujeitos e objetos nem da vontade de seus proprietários ou mesmo do administrador do sistema.
• Exemplos: – Cheques com valor acima de R$ 5.000,00 devem ser necessariamente depositados
e não podem ser descontados;
– Clientes com renda mensal acima de R$3.000,00 não têm acesso ao crédito consignado.
• Uma das formas mais usuais de política obrigatória são as políticas multi-nível (MLS -Multi-Level Security), que se baseiam na classificação de sujeitos e objetos do sistema em níveis de segurança e na definição de regras usando esses níveis.
Modelo de Bell-LaPadula
• Um modelo de controle de acesso que permite formalizar políticas multi-nível é o de Bell-LaPadula, usado para garantir a confidencialidade das informações. Consiste basicamente de duas regras:
• No-Read-Up (“não ler acima”): impede que um sujeito leia objetos que se encontrem em níveis de segurança acima do seu.
• No-Write-Down (“não escrever abaixo”): impede que um sujeito escreva em objetos abaixo de seu nível de segurança, para evitar o “vazamento” de informações dos níveis superiores para os inferiores.
Modelo de Biba
• Para garantir a integridade das informações, um modelo dual ao de Bell-LaPadula foi proposto por Biba.
• No-Write-Up (“não escrever acima”): impede que um sujeito escreva em objetos acima de seu nível de integridade, preservando-os íntegros.
• No-Read-Down (“não ler abaixo”): impede que um sujeito leia objetos em níveis de integridade abaixo do seu, para não correr o risco de ler informação duvidosa.
Políticas baseadas em papéis • Uma política RBAC (Role-Based Access Control) define um conjunto
de papéis no sistema, como diretor, gerente, suporte, etc. e atribui a cada papel um conjunto de autorizações.
Infraestrutura de controle de acesso
• Deve ser ao mesmo tempo inviolável (impossível de adulterar ou enganar) e incontornável (todos os acessos aos recursos do sistema devem passar por ela).
Exercício
1 – Como funciona o controle de acesso aos recursos físicos e computacionais da
UFABC? Você considera estes mecanismos adequados? Dê sugestões de melhorias.
2 – Dê um exemplo de como funciona o controle de acesso de um serviço on-line utilizado por você (ex: internet banking). Seria possível melhorar a segurança? Explique.
3 – A Estônia tem implementado diversas soluções digitais para seus cidadãos, que possuem um ID-card (um cartão com chip). Este ID-card substitui documentos como identidade, carteira de motorista e permite acesso a diversos serviços públicos e privados, como votar em eleições, fazer declaração de imposto de renda, fazer transações bancárias, acessar receitas médicas, etc. Discuta sobre vantagens e desvantagens desta abordagem de controle de acesso.