Server-side request forgery (SSRF, em português, Falsificação de Solicitação do Lado do Servidor) é um tipo de vulnerabilidade de cibersegurança em que um servidor vulnerável é manipulado por invasores para enviar solicitações para sistemas internos ou externos ou para interagir diretamente com os próprios invasores. Esta vulnerabilidade ocorre quando uma funcionalidade vulnerável é abusada para que extrair informações que de outra forma não seriam diretamente acessíveis por usuários. O SSRF é um dos riscos de segurança de API mais críticos e se encontra entre as fraquezas de software mais perigosas .
Visão geral Em um incidente envolvendo SSRF, o servidor vulnerável envia uma solicitação para uma URL fornecida ou modificada por invasores. Embora qualquer endpoint possa ser fornecido, os destinos mais comuns são redes internas, serviços de host local ou serviços de metadados da nuvem.
O SSRF não se limita ao protocolo HTTP. Nos casos em que a própria aplicação realiza a segunda solicitação, diferentes protocolos (ex., FTP, SMB, SMTP, etc.) e esquemas (ex., file://, phar://, gopher://, data://, dict://, etc.) podem ser usados. miniaturadaimagem|Diagrama de fluxo de SSRF comum A severidade de um ataque SSRF depende do tipo de ativos (assets) acessíveis e da possibilidade de que os invasores visualizem a resposta. Em casos críticos, o SSRF pode comprometer ambientes de nuvem, explorar hosts internos, capturar informações confidenciais e usar o servidor como proxy para ocultar outras atividades maliciosas.
De forma semelhante ao cross-site request forgery, que utiliza um cliente da Web (por exemplo, um navegador da Web) no domínio como um proxy para ataques, um ataque SSRF utiliza por sua vez um servidor vulnerável dentro do domínio como um proxy.
Tipos
Padrão Nesse tipo de ataque, a resposta é exibida a invasores. O servidor busca a URL solicitada e envia a resposta de volta.
Cego Nesse tipo de ataque, a resposta não é enviada de volta a invasores. Portanto, invasores precisam confirmar indiretamente o sucesso ou o fracasso do ataque SSRF
Causas e Prevenção O SSRF ocorre quando um endpoint da API acessa uma URL fornecida pelo cliente, sem confirmar que a solicitação será direcionada aos destinos esperados .
O SSRF pode ser prevenido por meio da validação de dados de entrada, sendo possível usar ferramentas de teste de segurança de análise estática para capturar falhas de implementação. Quando possível, é recomendável restringir as solicitações do servidor a uma lista de aplicações confiáveis usando uma lista de permissões. Entretanto, pode ainda ser necessário outras medidas para abordar resoluções de nome de host, redirecionamentos de URL e religações de DNS. Se o servidor precisar enviar solicitações para endereços de IP ou domínios externos imprevistos, é recomendável fazer a segregação de rede para bloquear tráfego não autorizado no nível da própria rede.
Referências
Categoria:Falhas em segurança de computadores Categoria:Cibersegurança Categoria:Engano