Autenticação em Aplicações Web Notas para a disciplina de Segurança Informática Pedro Félix Instituto.

Slides:



Advertisements
Apresentações semelhantes
Complexidade de Algoritmos
Advertisements

Recursos Humanos I O Conflito
Liderança Sumário: Conceito de “Liderança” 2. Estilos de Liderança
Notas para a disciplina de “Segurança Informática”
Bloqueios partilhados
Segurança em Redes - Código Seguro
CPU – based DoS Attacks Against SIP Servers
Petiano: André Fonseca Costa
Unreliable Failure Detectors for Reliable Distributed Systems
Criptografia e segurança de redes Chapter 14
Funções de hash unidirecionais
Cookies e Sessões Mauro César Lopes. Mecanismos para guardar estados entre requisições HTTP HTTP é um protocolo sem estado Uma requisição é independente.
Segurança de Sistemas e Redes
Mobilidade na Internet
Engenharia de Software
Sistemas Distribuídos
PERÍCIA EM INFORMÁTICA
REDUNDÂNCIA POR SOFTWARE
Segurança na Web SSL - Secure Socket Level TLS - Transport Layer Security SET – Secure Electronic Transaction.
Autenticação de Mensagens
KERBEROS Redes de Computadores I
KERBEROS Trabalho de Redes de Computadores I Autores:
Jéssica Vieira Jonathan Fried Públio Lima Graduandos Engenharia de Controle e Automação UFRJ – Escola Politécnica.
Public Key Infrastructure PKI
P ROGRAMAÇÃO D ISTRIBUÍDA Primeira Fase da Aplicação Distribuída: Gestão de Salas João Gomes Nº Marco AndradeNº
Introdução Notas para a disciplina de Segurança Informática Pedro Félix Instituto Superior de Engenharia.
Política de Clark e Wilson Notas para a disciplina de Segurança Informática Pedro Félix Instituto.
Arquitecturas de extensão do servidor HTTP CGI | ISAPI : ASP, ASP.NET Programação na Internet Secção de Programação ISEL-DEETC-LEIC Luis Falcão -
Arquitecturas de extensão do servidor HTTP Arquitecturas de extensão do servidor HTTP CGI e ISAPI: ASP, ASP.NET Programação na Internet Secção de Sistemas.
Gestão de Redes e Sistemas Distribuídos
Hash HTTPS SSL Certificados.
Segurança de Redes Wayne Palmeira.
P ROGRAMAÇÃO D ISTRIBUÍDA Primeira Fase da Aplicação Distribuída: Gestão de Salas João Gomes Nº Marco AndradeNº
Secure Sockets Layer (SSL) e Transport Layer Security (TLS)
DigiSign A solução mais segura para proteção de direitos autorais digitais na publicação e distribuição de e-books.
Capítulo 7: Design de Bases de Dados
F. Filipe Silva 2005/20061 Utilização Pedagógica do Computador, na sala de aula.
PADRÃO TISS aplicaTISS Oficinas TISS
Padrão de Conteúdo e Estrutura
Confidencialidade usando Criptografia Simétrica
CONCURSO FLEXFORM COMO É FEITA A VOTAÇÃO, SEGURANÇA E VALIDAÇÃO DOS VOTOS.
Universidade da Beira Interior Fiabilidade de Sistemas Informáticos Nuno Magarreiro n.º
Análise de Sistemas de Informação
Desafios Tecnológicos da NFe
IIS Web Server.
Controle de Acesso Kerberos
Sistema de Identificação OpenID
Tópicos Avançados em Redes de Computadores Prof. Fabiano Sabha.
1.2 – Tipos de Ataques Cavalo de Tróia; Backdoors; Spoofing; Sniffing;
Tema: Internet e Segurança
Apache Autenticação por usuário e senha. Introdução O princípio da autenticação é simples. O cliente envia o seu login e sua senha para o servidor Apache.
Autenticação de Mensagens
Segurança da Informação Prof. João Bosco M. Sobral 1 Armazenamento de Chaves Simétricas Criptografia baseada em Senha.
Projeto Supervisionado no Desenvolvimento de Aplicações Profissionais na Web Introdução a Aplicações Web.
Gestão de Redes e Sistemas Distribuídos Enquadramento e Estruturação da Gestão 2004/2005 Teresa Vazão IST/INESC Contactos:IST/Tagus-Park
INE5630 Segurança em Computação Distribuída 1 MIP x HIP Um Estudo Sobre Segurança Em Redes Móveis Gino Dornelles Calebe Augusto do Santos Florianópolis,
Computabilidade e Linguagens Formais
1 Linguagens de Programação Pedro Lopes 2010/2011.
Análise de estratégias para implantação de segurança em arquiteturas orientadas a serviços Dezembro/2010 Itabaiana/SE Universidade Federal de Sergipe –
Segurança na Internet – SSL/TLS
2007, Edgard Jamhour Professor Edgard Jamhour Exerício PPTP.
DIA DA INFORMÁTICA ESCOLA SECUNDÁRIA JOSÉ SARAMAGO 7 DE MAIO DE 2008 Oradores António Ferreira Helena Ferreira Isabel Caetano Segurança na Internet.
Prof. Sidney Galeote. 2 www. prasabermais. com  Visão Geral sobre a dimensão de qualidade “performance”  Custo da qualidade  Como a performance deve.
Aula 5 – Formulários GET – POST - REQUEST
1 Assinatura Digital Msc. Adilson Eduardo Guelfi Msc. Frank Meylan Laboratório de Sistemas Integráveis Escola Politécnica da.
Segurança de Redes de Computadores Prof. Paulo Fernando da Silva.
Exercícios de Revisão Redes de Computadores Edgard Jamhour
Segurança em Comércio Eletrônico Comércio tradicional realizado de maneira centralizada cercado de restrições legais Comércio eletrônico realização de.
Redes de Computadores e Aplicações – Camada de aplicação IGOR ALVES.
Questionário (Básico) Autor: Skyup Informática. Atividade - Questionário O módulo permite criar uma série de questões, que deverão ser respondida pelos.
Transcrição da apresentação:

Autenticação em Aplicações Web Notas para a disciplina de Segurança Informática Pedro Félix Instituto Superior de Engenharia de Lisboa

P. Félix, 20062SGI: Autenticação em aplicações web Sumário

P. Félix, 20063SGI: Autenticação em aplicações web Limitações práticas Deployability –Protocolo HTTP –User-agent Aceitação por parte do utilizador Desempenho

P. Félix, 20064SGI: Autenticação em aplicações web Objectivos do atacante Falsificação existencial –Obter um autenticador válido Falsificação selectiva –Dado um utilizador, obter um autenticador válido para esse utilizador Obtenção da chave usada na criação de autenticadores

P. Félix, 20065SGI: Autenticação em aplicações web Classificação do atacante Atacante interrogativo –É utilizador do sistema –Interroga o sistema sobre a validade de autenticadores e observa as respostas Atacante observador –Capacidade de observar todas as mensagens de e para o servidor Atacante activo –Capacidade de observar e alterar todas as mensagens de e para o servidor –Atacante do modelo de Dolev-Yao

P. Félix, 20066SGI: Autenticação em aplicações web Fases O protocolo HTTP não possui estado – a autenticação tem de ser realizada em todos os pedidos Duas fases na autenticação Fase 1 –Apresentação das credenciais pelo utilizador (ex.:username+password) –Obtenção dum autenticador Fase 2 –Apresentação do autenticador automaticamente pelo user-agent

P. Félix, 20067SGI: Autenticação em aplicações web Autenticadores: cookies vs. URLs Cookies –Dependente da aceitação por parte do user-agent –Persistência entre sessões –Acesso em código de cliente URL –Acesso em código de cliente –Presente no header Referer

P. Félix, 20068SGI: Autenticação em aplicações web Autenticadores: implementação Identificador de sessão –Informação sobre a sessão presente no servidor –Cookie contém o identificador (chave) para aceder a essa informação –Deve ser computacionalmente infazível criar um identificador válido Geração criptográfica de números aleatórios Message Authentication Code –Informação sobre a sessão presente no cookie –Cookie protegido por um MAC –Se a confidencialidade for requisito, cifrar o conteúdo do cookie –Maior escalabilidade – chaves partilhadas por todos os servidores do web farm

P. Félix, 20069SGI: Autenticação em aplicações web Autenticadores: implementação Associar autenticador a atributos do cliente –Endereço, user-agent Mecanismo de validade temporal próprio –Não utilizar o mecanismo dos cookies –Limite da validade temporal Presente na informação de sessão Presente no cookie (protegido pelo MAC) Logout/Revogação –Invalidar a sessão –Colocar o cookie numa lista de revogação (até à expiração da validade) Protecção dos cookies –Protecção do transporte através do uso de SSL –Protecção no cliente – flag HttpOnly (IExplorer)

P. Félix, SGI: Autenticação em aplicações web Ataques de dicionário online Atacante interrogativo Técnicas clássicas de protecção: –Atraso na resposta/backoff –Bloqueamento Problemas das técnicas clássicas –Dificuldade de implementação no cenário web –Disponibilidade do serviço –Ataques globais Ataques de dicionário globais –Ataque a qualquer utilizador do sistema

P. Félix, SGI: Autenticação em aplicações web Bloqueamento: problemas Implementação típica 1.Obter a informação de verificação do utilizador (v) ou se a conta está bloqueada 2.Verificar a informação de autenticação - g(v)(a) 3.Se o resultado é falso, actualizar o número de tentativas de autenticação do utilizador Problemas: –Número de tentativas realizadas em simultâneo entre os passos 1 e 3 maior do que o número de tentativas permitidas Seriar o processamento da autenticação coloca problemas de implementação Disponibilidade

P. Félix, SGI: Autenticação em aplicações web Atraso: problemas Implementação típica 1.Obter a informação de verificação do utilizador (v) ou se a conta está bloqueada 2.Verificar a informação de autenticação - g(v)(a) 3.Esperar tempo constante ou dependente do número de tentativas erradas 4.Apresentar o resultado ao utilizador Problemas: –Número de tentativas realizadas em simultâneo entre os passos 1 e 3 Seriar o processamento da autenticação coloca problemas de implementação e de disponibilidade –Alguns cálculos Seja N o número de pedidos aceites por unidade de tempo Seja T o atraso inserido pelo pedido Tempo para o teste de M candidatos = T + M/N

P. Félix, SGI: Autenticação em aplicações web Solução: aumentar o custo dos pedidos Diminuir o número de pedidos realizados através do aumento do seu custo para o cliente Desafio computacional que tem de ser calculado pelo user-agent cliente antes da realização do pedido –Necessita de computação do lado do cliente (ex. Javascript) CAPTCHA - Completely Automated Public Turing Test to Tell Computers and Humans Apart - –Fácil para humanos –Difícil para computadores

P. Félix, SGI: Autenticação em aplicações web Utilização de CAPTCHA (1) Técnica 1 –Requerer a resposta a um CAPTCHA como condição à realização da autenticação Problemas –Aceitação por parte do utilizador –Custo computacional para o servidor Geração Armazenamento

P. Félix, SGI: Autenticação em aplicações web Utilização de CAPTCHA (2) Técnica 2 –Com probabilidade P, requerer a resposta a um CAPTCHA como condição à realização da autenticação Se P for pequeno –Diminui o custo computacional para o servidor –Aumenta a aceitabilidade do utilizador Problema –Atacante ignora os casos em que é requerido CAPTCHA

P. Félix, SGI: Autenticação em aplicações web Utilização de CAPTCHA (3) Técnica 3 –Requerer CAPTCHA apenas depois duma autenticação errada Se P for pequeno –Aumenta a aceitabilidade do utilizador Problema –Não protege contra ataques globais

P. Félix, SGI: Autenticação em aplicações web Algoritmo de Pinkas e Sander (1) Requisito: Colocação de cookies persistentes nos user-agents onde foi realizada uma autenticação com sucesso (user,pw) cookie válido incorrecto True Requerer resposta a CAPTCHA Inválido ou inexistente True PRF(user,pw) False Requerer resposta a CAPTCHA False correcto 1 0

P. Félix, SGI: Autenticação em aplicações web Algoritmo de Pinkas e Sander (2) PRF(user,pw): –Se (user,pw) existem em M, retornar M[(user,pw)] –Gerar b {0,1} com probabilidade Pr{b=1} = p –M[(user,pw)] = b –retornar b Aceitabilidade –Utilizador com cookie (user,pw) correcto – nunca responde a CAPTCHAs (user,pw) incorrecto – responde a CAPTCHAs com probabilidade p –Utilizador sem cookie responde sempre a CAPTCHAs (tipicamente só uma vez, depois fica com cookie)

P. Félix, SGI: Autenticação em aplicações web Algoritmo de Pinkas e Sander (3) Custo computacional –Se os utilizadores tiverem cookies, a geração de CAPTCHAS é realizada apenas nas tentativas erradas e com probabilidade p –O CAPTCHA associado a cada par (user,pw) pode ser sempre o mesmo (armazenar os CAPTCHAs associados a pares válidos) Segurança –Considerando que conjunto de passwords prováveis tem dimensão N –A password correcta pertence a um conjunto de dimensão pN, em que o teste obriga à resposta do CAPTCHA –Número médio de tentativas com CAPTCHA = pN/2 –Custo médio = pN/2 x Custo de resolver o CAPTCHA É fundamental que o atacante não obtenha informação sobre a correcção da password através de outras formas (ex. tempo de resposta)

P. Félix, SGI: Autenticação em aplicações web Algoritmo de Pinkas e Sander (3)