X
    Categories: Postagens

Vulnerabilidades em Sites com Autenticação

 

Saiba quais são as vulnerabilidades mais comuns em sistemas de login na hora de escolher um aplicativo de internet mais seguro

A maneira mais simples de proteger determinadas áreas de seu site é criar um formulário simples, onde o usuário digita o login e uma senha. Essas informações, a seguir, são enviadas para o servidor, onde são comparadas com as que estão em uma tabela de usuários. Se tudo bater, o internauta ganha o direito de acessar as páginas. A informação de que ele está logado fica guardada em um arquivo tipo cookie ou uma variável de sessão, até que ele decida sair.

Se esse sistema parece seguro para você, abra os olhos. Ele não tem apenas uma, mas várias vulnerabilidades que permitem o roubo de senhas ou acesso indevido ao conteúdo do site. Para começar, o hacker pode usar um programa de log de teclas, instalado no PC do usuário, para obter as informações de acesso no momento em que são digitados os dados de login. É por isso que os bancos costumam utilizar teclados virtuais operados pelo mouse, que dificultam essa ação.

Mas os problemas não acabam aí. Quando os dados são enviados, podem ser capturados dentro da rede pela qual estão passando. Isso pode ser feito com um tipo de aplicativo chamado sniffer (literalmente, farejador em inglês). Esse problema é grave porque, geralmente, essas informações são enviadas em forma de texto plano, tornando até mesmo desnecessário que o hacker precise perder tempo descriptorafando senhas.

No momento em que a conexão com o aplicativo web é estabilizada, é necessário manter uma variável com a informação de que a sessão está em andamento. Esse dado pode ser armazenado em um cookie ou, pior, na própria URL. O invasor malicioso, de posse dessas informações, pode se conectar ao sistema sem nem mesmo precisar dos dados de login.

Mesmo que a senha consiga passar impune por todo esse processo, ainda existe a possibilidade de que ela seja roubada. O hacker pode tentar ler a tabela de usuários atacando o banco de dados.

Para isso, ele pode usar uma estratégia como a injeção SQL ou tentar explorar vulnerabilidades na configuração do servidor SQL. Finalmente, há ainda a possibilidade de uso de ferramentas para a quebra de senha (veja abaixo) para conseguir acesso ao sistema após seguidas tentivas.

Métodos de Autenticação Básicos

Para tentar resolver ess diversas vulnerabilidades, foram desenvolvidos diferentes sistemas de autenticacão. Alguns oferecem dificuldades de implantação e podem ter um alto custo. Por isso, avalie o nível de segurança necessária em seu site antes de optar por algum deles.

O método mais comum é a autenticação por formulário, já citado anteriormente. Ele é o mais amigável ao usuário, já que aparece dentro das próprias páginas. Por outro lado, toda a preocupação com o sistema e com as precauções com segurança ficam por conta do desenvolvedor. Se o site não tiver informações financeiras, como dados bancários e de cartão de crédito, ele pode ser uma boa opção.

Configuraçõess pelos arquivos “.htaccess” no Apache ou pelas configurações de permissões do IIS são métodos que fazem com que o servidor envie um cabeçalho para o navegador solicitando uma senha no momento em que o internauta acessa determinada área. O browser exibe uma janela do sistema onde o usuário faz o login. Se for usado o modo de resumo (digest authentication), essas informações trafegarão pela web criptorafadas com os algorítmos MD5. O Windows conta ainda com mais um método, o Integrated Authentication, que usa o protocolo Kerberos 5, sobre o qual há mais informações no site da Microsoft.

Quebrando Senhas

Existem basicamente três modos de ataque usados por programas como o John lhe Ripper (www.openwall.com/john) para descobrir uma senha. Com eles é possivel quebrar qualquer senha, levando apenas mais tempo se elas forem fortes. Por isso, adote a prática de mudar suas senhas constantemente. Assim, você pode fazer com que, quando o hacker conseguir descobrir a sua senha, já exista uma nova. Conheça os modos de ataque (tentativas consecutivas) usados para recuperar uma determinada senha:

Ataque de dicionário – Faz tentativas com todas as palavras de um dicionário (por exemplo, todas as palavras da língua inglesa). Os arquivos com as palavras podem ser facilmente baixados pela internet. alguns deles têm mais de 200 MB. Apesar de serem pesados. ainda são muito utilizados por indivíduas maliciosos.

Ataque híbrido – Esse método é usando quando o ataque dicionário não funciona corretamente. Ele também usa as palavras cio dicionário, mas fazendo algumas modificações como troca de letras e inversão de palavras. Ele também faz tentativas verificando se foi colocado algum número ou símbolo para disfarçar uma palavra normal. Pode ser considerado um ataque dicionário um pouco mais refinado.

Ataque de força bruta – Quando nenhum dos métodos anteriores funciona, é usado o método de ataque força bruta. Ele tenta todas as combinações possiveis e. por isso, pode levar horas ou até dias para que a senha seja descoberta. Quanto maior for o tamanho da senha em questão, mais tempo ela irá demorar para que ela seja quebrada pelo ataque de força bruta.

Google Hacking

O Google, além de ser uma excelente ferramenta para procura na internet, também pode ser usado por usuários mal-intencionados para obter informações que facilitem a invasão de seu site. Usando o cite de buscas, é possivel encontrar vulnerabilidades, arquivos contendo informações privadas, nomes de usuário e senhas, listagens de diretórios e informações sobre servidores, como é mostrado no site johnny.ihackstuff.com (em inglês). Você pode se proteger mantendo informações importantes fora de pastas que estejam listadas na web e configurando o arquivo robots.txt para manter o indexador do Google longe de seus dados privados. Essa tarefa é indicada para sites que se preocupam com a segurança.

 

Na hora de desenvolver seu novo site ou reestruturar com qualidade e segurança, venha para a Website GF10!

Vulnerabilidades em Sites com Autenticação
Vote Se Gostou!
gf10web :