Os hackers são uma grande ameaça para empresas e indivíduos. A autenticação deve mantê-los fora de áreas seguras, mas nem sempre funciona.
Os cibercriminosos têm uma variedade de truques que podem ser usados para se passar por usuários legítimos. Isso permite que eles acessem informações privadas que não deveriam. Isso pode então ser usado ou vendido.
Os hackers geralmente conseguem acessar áreas seguras devido a vulnerabilidades de autenticação quebradas. Então, quais são essas vulnerabilidades e como você pode evitá-las?
O que são vulnerabilidades de autenticação quebrada?
Uma vulnerabilidade de autenticação quebrada é qualquer vulnerabilidade que permite que um invasor se faça passar por um usuário legítimo.
Um usuário legítimo geralmente faz login usando uma senha ou um ID de sessão. Um ID de sessão é algo no computador do usuário que indica que ele já se conectou anteriormente. Sempre que você estiver navegando na Internet e não for solicitado a fazer login em uma de suas contas, é porque o provedor da conta encontrou seu ID de sessão.
A maioria das vulnerabilidades de autenticação quebradas são problemas com a forma como IDs de sessão ou senhas são tratadas. Para evitar ataques, você precisa observar como um hacker pode utilizar um desses itens e, em seguida, modificar o sistema para tornar isso o mais difícil possível.
Como os IDs de sessão são obtidos?
Dependendo de como um sistema é projetado, os IDs de sessão podem ser obtidos de várias maneiras diferentes. Depois que o ID da sessão é aceito, o hacker pode acessar qualquer parte do sistema que um usuário legítimo possa.
Sequestro de Sessão
Sequestro de sessão é o ato de roubar um ID de sessão. Isso geralmente é causado por um erro do usuário e fazendo com que seu ID de sessão esteja prontamente disponível para outra pessoa.
Se o usuário estiver usando Wi-Fi não seguro, os dados que entram e saem do computador não serão criptografados. Um hacker pode então interceptar o ID da sessão conforme ele é enviado do sistema para o usuário.
Uma opção muito mais fácil é se o usuário usar um computador público e se esquecer de fazer logout. Nesse cenário, a ID da sessão permanece no computador e pode ser acessada por qualquer pessoa.
Reescrita de URL de ID de sessão
Alguns sistemas são projetados de forma que os IDs de sessão sejam armazenados em uma URL. Depois de fazer login em tal sistema, o usuário é direcionado para uma URL exclusiva. O usuário pode acessar o sistema novamente visitando a mesma página.
Isso é problemático porque qualquer pessoa que obtenha acesso ao URL específico de um usuário pode representar esse usuário. Isso pode ocorrer se um usuário estiver usando Wi-Fi não seguro ou se compartilhar seu URL exclusivo com outra pessoa. Os URLs geralmente são compartilhados online e não é incomum que os usuários compartilhem IDs de sessão sem saber.
Como as senhas são obtidas?
As senhas podem ser roubadas ou adivinhadas de várias maneiras diferentes, com e sem a ajuda do usuário. Muitas dessas técnicas podem ser automatizadas, permitindo que hackers tentem quebrar milhares de senhas em uma única ação.
Pulverização de senha
A pulverização de senhas envolve testar senhas fracas em massa. Muitos sistemas são projetados para bloquear usuários após várias tentativas incorretas.
A pulverização de senhas contorna esse problema tentando senhas fracas em centenas de contas, em vez de tentar atingir uma conta individual. Isso permite que o invasor tente senhas em massa sem alertar o sistema.
Preenchimento de credenciais
O preenchimento de credenciais é o ato de usar senhas roubadas para tentar acessar contas privadas em massa. Senhas roubadas estão amplamente disponíveis online. Sempre que um site é hackeado, os detalhes do usuário podem ser roubados e muitas vezes são revendidos pelo hacker.
O preenchimento de credenciais envolve a compra desses detalhes do usuário e, em seguida, testá-los em sites em massa. Como as senhas geralmente são reutilizadas, um único par de nome de usuário e senha pode ser usado para fazer login em várias contas.
Phishing
Um e-mail de phishing é um e-mail que parece ser legítimo, mas na verdade foi projetado para roubar as senhas das pessoas e outros detalhes privados. Em um e-mail de phishing, o usuário é solicitado a visitar uma página da Web e fazer login em uma conta de sua propriedade. A página da Web fornecida, no entanto, é maliciosa e qualquer informação inserida é imediatamente roubada.
Como melhorar o gerenciamento de sessões
A capacidade de um hacker se passar por um usuário usando IDs de sessão depende de como um sistema é projetado.
Não armazene IDs de sessão em URLs
IDs de sessão nunca devem ser armazenados em URLs. Os cookies são ideais para IDs de sessão e são muito mais difíceis de serem acessados por um invasor.
Implementar logouts automáticos
Os usuários devem ser desconectados de suas contas após uma certa quantidade de inatividade. Depois de implementado, um ID de sessão roubado não pode mais ser usado.
Girar IDs de sessão
Os IDs de sessão devem ser substituídos regularmente, mesmo sem exigir que o usuário efetue logout. Isso funciona como uma alternativa aos logouts automáticos e evita um cenário em que um invasor pode usar uma ID de sessão roubada pelo mesmo tempo que o usuário.
Como melhorar as políticas de senha
Todas as áreas privadas devem exigem senhas fortes e os usuários devem ser solicitados a fornecer autenticação adicional.
Implementar regras de senha
Qualquer sistema que aceite senhas deve incluir regras sobre quais senhas são aceitas. Os usuários devem ser obrigados a fornecer uma senha de comprimento mínimo e uma combinação de caracteres.
Tornar a autenticação de dois fatores obrigatória
As senhas são facilmente roubadas e a melhor maneira de impedir que hackers as usem é implementar a autenticação de dois fatores. Isso exige que o usuário não apenas insira sua senha, mas também forneça outra informação, geralmente armazenada apenas em seu dispositivo.
Uma vez implementado, um hacker não conseguirá acessar a conta, mesmo que saiba a senha.
Vulnerabilidades de autenticação quebrada são uma ameaça significativa
As vulnerabilidades de autenticação quebrada são um problema significativo em qualquer sistema que armazene informações privadas. Eles permitem que os hackers se façam passar por usuários legítimos e acessem qualquer área disponível para eles.
A autenticação quebrada geralmente se refere a problemas com a forma como as sessões são gerenciadas ou como as senhas são usadas. Ao entender como os hackers podem tentar acessar um sistema, é possível tornar isso o mais difícil possível.
Os sistemas devem ser projetados para que os IDs de sessão não sejam facilmente acessíveis e não funcionem mais do que o necessário. As senhas também não devem ser usadas como o único meio de autenticação do usuário.