Segurança na Web SSL - Secure Socket Level TLS - Transport Layer Security SET – Secure Electronic Transaction Considerações sobre Segurança na Web • Programar para Web, nem sempre os programadores estão muito preocupados com questões de segurança. • Normalmente, quem é especialista em programação, não é especialista em segurança. Considerações sobre Segurança na Web • Diante da grande utilização da Web nas suas aplicações tradicionais, a Web é extremamente vulnerável a ameaças e riscos de vários tipos. • A Web é vulnerável a ataques aos servidores Web pela Internet. Considerações sobre Segurança na Web • Reputações podem ser prejudicadas e dinheiro perdido, se servidores Web forem subvertidos. • Navegadores são muito fáceis de usar. Servidores Web sejam relativamente fáceis de configurar e gerenciar o conteúdo da Web esteja cada vez mais fácil de desenvolver ... ... Considerações sobre Segurança na Web • O software que dá suporte a tudo isso é extraordinariamente complexo. • Assim, pode ocultar muitas falhas de segurança em potencial. • A história recente da Web está repleta de exemplos de ataques à segurança ... Considerações sobre Segurança na Web • Quando o servidor Web é contaminado, um atacante pode ser capaz de obter acesso a dados e sistemas que não fazem parte da Web, mas que estão em máquinas conectadas localmente ao servidor. Considerações sobre Segurança na Web • Os usuários ocasionais e não treinados em questões de segurança, são clientes comuns de serviços baseados na Web. • Esses usuários, em geral, não estão necessariamente cientes dos riscos contra a segurança e não possuem ferramentas ou conhecimento para tomar contramedidas. Classificando Ameaças • Ataques Passivos – Acesso não-autorizado ao tráfego de rede entre navegador e servidor. – Obtenção de acesso a informações em um site, que deveria ser restrito. • Ataques Ativos – Simulação de outro usuário. – Alteração de mensagens em trânsito entre cliente e servidor. – Alteração de informações em um site. Classificando Ameaças • Local da ameaça – Servidor Web – Navegador Web – Tráfego de rede entre navegador e servidor. • Segurança de Sistema de Computador – Questões de segurança de navegador e servidor. Técnicas de Segurança de Tráfego na Web • IP Security (IPSec) – Transparente para usuários finais e aplicações. – Oferece uma solução de uso geral. – Inclui capacidade de filtragem pela qual somente o tráfego selecionado precisa ser submetido à etapa adicional do processamento IPSec. – Atua na camada de rede. Técnicas de Segurança de Tráfego na Web • Secure Socket Layer (SSL) • TLS (Transport Layer Security) • Podem ser fornecidos como parte do conjunto básico de protocolos e, portanto, transparente às aplicações. • SSL pode ser embutido em pacotes específicos: navegadores e de servidores Web. Técnicas de Segurança de Tráfego na Web • Caso não seja, existe, por exemplo, o OpenSSL, que pode ser instalado, facilmente, junto ao servidor Web. • Por exemplo: Instale o Apache (servidor Web) e o integre com o OpenSSL. Serviços de Segurança na Aplicação • Os serviços de segurança específicos de aplicação (GnuPG, PGP, S/MIME, Kerberos, SET, ... ) são embutidos (integrados) na aplicação específica. • Vantagem: é que o serviço é ajustado às necessidades específicas de cada aplicação. Ameaças e Ataques impedidos pelo SSL • Ataque Cripto-Analítico por força bruta. – Um teste de todas as chaves possíveis para um algoritmo de criptografia convencional. Ameaças e Ataques impedidos pelo SSL • Ataque de Dicionário com texto claro conhecido. – Muitas mensagens terão texto claro previsível, como o comando GET do HTTP. Um atacante pode criar um dicionário contendo cada criptografia possível da mensagem de texto claro conhecido. Ameaças e Ataques impedidos pelo SSL – Quando uma mensagem criptografada é interceptada, o atacante apanha a parte contendo o texto claro conhecido criptografado e pesquisa o texto cifrado no dicionário. – O texto cifrado deverá ser igual a uma entrada criptografada com a mesma chave secreta. – Se for igual a mais de uma, cada uma delas pode ser experimentada em relação ao texto cifrado completo para determinar a entrada correta. – Esse ataque é eficaz quando o tamanho da chave é pequeno (40 bits). Ameaças e Ataques impedidos pelo SSL • Ataque por Repetição – Mensagens de estabelecimento de conexão SSL anteriores podem ser repetidas. Ameaças e Ataques impedidos pelo SSL • Ataque de Homem ao Meio (Man-in-theMiddle) – Um atacante se interpõe durante a troca de chave, atuando como cliente perante o servidor e como servidor perante o cliente. Ameaças e Ataques impedidos pelo SSL • Sniffing de Senha • Quando as senhas em HTTP ou outro tráfego de aplicação são interceptadas sem autorização. Ameaças e Ataques impedidos pelo SSL • IP Spoofing (Falsificação de IP) – Quando um atacante usa endereços de IP forjados para enganar a um host para aceitar dados falsos. Ameaças e Ataques impedidos pelo SSL • Sequestro de IP (IP Hijacking) – Uma conexão ativa, autenticada entre dois hosts é interrompida e o atacante toma o lugar de um dos hosts. Ameaças e Ataques impedidos pelo SSL • Inundação de SYN (SYN Flooding) – Um atacante pode enviar mensagens SYN do TCP para solicitar uma conexão, mas não responde à mensagem final para estabelecer a conexão totalmente. O módulo TCP atacado, normalmente deixa a conexão “meia aberta” por alguns minutos. As mensagens SYN repetidas podem congestionar o módulo TCP.