Cross-Site Request Forgery (CSRF)

63 views
2 mins read

Cross-Site Request Forgery (CSRF) é um tipo de ataque que ocorre quando um site malicioso, e-mail, blog, mensagem instantânea ou programa faz com que o navegador da web de um usuário execute uma ação indesejada em um site confiável para o qual o usuário está atualmente autenticado. O invasor engana o usuário para que ele execute uma ação que ele não pretende realizar, como transferir fundos ou alterar sua senha, em um aplicativo da web no qual ele está conectado. Esse tipo de ataque tira proveito da confiança do usuário no aplicativo e o fato de que o navegador envia automaticamente credenciais de autenticação (como cookies) a cada solicitação ao site.

O CSRF geralmente é executado usando engenharia social maliciosa; o hacker envia à vítima um e-mail ou link logo no início. Seria impossível para o usuário comum adivinhar que o e-mail continha um link malicioso que poderia enviar uma solicitação falsa ao site do banco. Ao mesmo tempo, usuários desavisados ​​são autenticados pelo site do banco, que não consegue distinguir pedidos legítimos de falsificados.


Mitigação

Aqui estão alguns exemplos de técnicas de mitigação para proteção contra ataques CSRF:

  1. Implementando um atributo de cookie de mesmo site: Este atributo informa ao navegador para enviar o cookie apenas com solicitações originadas no mesmo domínio do cookie.
  2. Usando tokens anti-CSRF: Esses são tokens únicos e imprevisíveis que são gerados para cada solicitação e verificados pelo servidor antes que a solicitação seja processada.
  3. Implementando uma verificação de referenciador: Isso verifica o cabeçalho HTTP Referrer da solicitação para garantir que ele corresponda à origem esperada da solicitação.
  4. Implementando verificações de cabeçalho de origem: Isso verifica o cabeçalho Origin da solicitação para garantir que ele corresponda à origem esperada da solicitação.
  5. Implementar cabeçalhos de segurança HTTP rígidos, como o cabeçalho X-Frame-Options, que pode ser usado para evitar ataques de clickjacking.
  6. Usar captchas ou outros tipos de autenticação de usuário para verificar se o usuário que está fazendo a solicitação é um ser humano, não um programa de computador.
  7. Limitando as ações que podem ser executadas com uma única solicitação e exigindo que o usuário autentique para ações confidenciais. Isso pode ajudar a impedir que invasores usem uma única solicitação forjada para executar várias ações no site.
  8. Manter o software e as medidas de segurança atualizados para garantir que as medidas de segurança mais recentes estejam em vigor para proteção contra vulnerabilidades conhecidas.
  9. Implementação de uma SOP (Same-Origin Policy) estrita no servidor, que permite apenas que as solicitações sejam enviadas da mesma origem (domínio, protocolo e porta) do próprio site.
  10. Usando conexões criptografadas (HTTPS) para toda a comunicação entre o navegador do usuário e o servidor. Isso ajuda a impedir que invasores interceptem e modifiquem solicitações.
  11. Implementar uma política de segurança de conteúdo (CSP) que lista explicitamente os domínios que têm permissão para enviar solicitações ao servidor. Isso pode ajudar a impedir que solicitações sejam enviadas de domínios não autorizados.
  12. Registrar e monitorar a atividade do usuário no site e alertar os administradores quando um comportamento suspeito ou incomum for detectado. Isso pode ajudar a identificar e responder rapidamente a possíveis ataques CSRF.

É importante observar que nenhuma técnica de mitigação isolada garante proteção contra todos os tipos de ataques CSRF, e a melhor abordagem geralmente é usar uma combinação de técnicas para fornecer a proteção mais forte possível.

Sou um profissional apaixonado pela área de Segurança da Informação. Sou certificado em ISO 27001, ISO 27005, LGPD e GDPR, o que me torna um Data Protection Officer (DPO) certificado. Também sou certificado CC e SSCP pelo (ISC)², bem como um AWS Practitioner. Além do meu trabalho, sou um orgulhoso pai de três filhos, um nerd, um cinéfilo, um leitor voraz e um eterno aprendiz.

Deixe um comentário

Your email address will not be published.

Previous Story

Subdomain Takeover: A importância de monitorar e proteger seu subdomínio

Next Story

Subdomain Enum

Latest from Tipos de ataque