EN-3611
Segurança de Redes
Autenticação e Controle de Acesso
Prof. João Henrique Kleinschmidt
Santo André, outubro de 2012
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
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
4
Algoritmo do Password Cracker
Obter um
arquivo de senhas
do sistema
Pegar a password
criptografada PS
do usuário U
Criar password
“chute” P
Criptografar
P e obter PC
Não
PC=PS
?
Sim
PS quebrada!
senha do
usuário U é P
5
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, …
6
Quebra de Passwords locais
 Sotfware Cain: Varre
disco do Windows e
pega senhas
armazenadas
 senhas de
compartilhamento,
screensaver, browser,
conexão provedor
 Sabe onde windows
guarda as coisas
 Leva alguns
segundos...
Tela do Cain v1.51 (www.confine.com)
8
Tokens
USB tokens
No cinto
Pendurado
Radio Frequency tokens
No Bolso
9
Como chaveiro
Smart Card, RF, Proximidade
6 Kb memory, 106Kbps
Chip de contato
(128KB)
Antena
Chip Transmissor/
Receptor
USB SmartCard Reader
10
Proximity Reader +
Fingerprint Verification
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
Reconhecimento de Digital
13
Reconhecimento da Geometria da Mão
14
Reconhecimento da Escrita
15
Reconhecimento Facial
16
Reconhecimento de Voz
Padrão obtido
Padrão armazenado
17
Reconhecimento da Íris & Retina
18
Reconhecimento da Retina
Authentication Server
19
Uso do Kinect para Biometria
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, preservandoos í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ícios
1 – Fazer uma lista de controle de acesso (ACL):
Sujeitos: Alice, Bob, Carol, Davi e Eva.
Objetos: Arquivo1 (de Alice), Arquivo2 (de Bob), Arquivo3 (de uso geral),
Arquivo4 (uso restrito), Programa1 (de Carol), Programa2 (de uso
geral).
2 – Repetir o exercício 1, fazendo uma matriz de controle de acesso.
3 – Repetir o exercício 1, usando políticas baseadas em papéis
(considere um cenário como uma escola, hospital, etc).
Download

EN-3611 Segurança de Redes Autenticação e Controle de Acesso