CSRF - Cross-Site Request Forgery
O que é CSRF?
É um tipo de ataque que explora a sessão autenticada entre um usuário e uma aplicação web. Ele permite que um invasor execute solicitações não autorizadas em nome do usuário sem seu conhecimento. Essas solicitações são elaboradas para parecerem vindas do usuário autenticado, permitindo que o invasor execute ações confidenciais dentro da aplicação.
Como o CSRF funciona?
O ataque CSRF explora a confiança entre a aplicação e o usuário. Essa "confiança" é estabelecida pela sessão autenticada do usuário.
Um atacante induz o usuário a acessar uma página maliciosa que contém uma ação escondida, como um formulário de envio automático, por exemplo. Esse formulário realiza ações usando a sessão autenticada do usuário de forma transparente, uma vez que a sessão é gerenciada por cookies armazenados no navegador, a aplicação processa a solicitação como legítima.
Riscos do CSRF
Bypass de autenticação: o CSRF explora a confiança que um aplicativo web tem na sessão autenticada de um usuário, permitindo que invasores ignorem os mecanismos de autenticação.
Transações não autorizadas: invasores podem manipular a sessão de um usuário para executar ações não autorizadas.
Account Takeover: ao aproveitar vulnerabilidades de CSRF, invasores podem obter controle sobre contas de usuários.
Questões legais e de reputação: as organizações podem enfrentar repercussões legais e danos à sua reputação se ações confidenciais forem realizadas sem a devida autorização.
CSRF Tokens
Os tokens CSRF são um mecanismo de defesa contra ataques CSRF. São valores únicos e imprevisíveis, gerados pelo servidor e incluídos em cada formulário ou solicitação que modifica dados no servidor.
Quando a solicitação é enviada, o servidor verifica se o token corresponde ao gerado. Essa etapa de validação garante que apenas solicitações com um token válido são aceitas e processadas.
Token exclusivo
O token CSRF randomico envolve a geração de um token exclusivo para cada sessão do usuário e sua inclusão em cada solicitação de alteração. Esse padrão é eficaz porque vincula o token à sessão do usuário, dificultando a exploração por invasores. Mesmo que um atacante capture o token, não poderá usá-lo em outra sessão.
A cada solicitação para modificar uma informação ou realizar uma ação sensível na aplicação, o token CSRF deve ser validado pelo servidor antes de processar a solicitação.
O token deve expirar e rotacionar a cada intervalo de tempo para evitar o uso indevido ou o reuso por um atacante.
SameSite Cookies
O atributo SameSite adicionado ao cookie é outro mecanismo eficaz de segurança. Ao definir o atributo SameSite nos cookies, você pode controlar se esses cookies devem ser enviados com solicitações originadas de sites de terceiros.
Configure o atributo SameSite como Strict para garantir que os cookies sejam enviados apenas com solicitações originadas do mesmo site, reduzindo o risco de CSRF.
Caso seja necessário compartilhar o cookie com uma origem conhecida, a url pode ser adicionada no parâmetro Domain, como no exemplo abaixo. A recomendação é usar o endereço completo e evitar usar wildcard (*), que pode resultar em bypass caso o atacante crie um subdomínio.
Prevenção de Ataques CSRF
Tokens Anti-CSRF: Use tokens anti-CSRF (tokens CSRF ou tokens de sincronização) em formulários e solicitações. Esses tokens são exclusivos para cada sessão e são validados pelo servidor para garantir a autenticidade das solicitações.
Cookies SameSite: Defina o atributo SameSite nos cookies para evitar ataques de falsificação de solicitações entre sites envolvendo cookies.
Exigir Autenticação para Ações Sensíveis: Exija reautenticação para ações sensíveis, especialmente aquelas que podem levar a transações financeiras ou alterações de conta.
Verificações do Referer: Valide o cabeçalho Referer em solicitações para garantir que as solicitações sejam originadas do mesmo domínio.
Política de Segurança de Conteúdo (CSP): Implemente cabeçalhos CSP para mitigar os riscos associados a scripts maliciosos e injeções de conteúdo.
#HACKINGBR
Comentários
Postar um comentário