OWASP TOP 10 Flashcards

1
Q

Conceito OWASP TOP 10

A

O OWASP Top 10 é um documento de conscientização padrão para desenvolvedores e segurança de aplicativos da web. Ele representa um amplo consenso sobre os riscos de segurança mais críticos para aplicativos da web.

Reconhecido globalmente pelos desenvolvedores como o primeiro passo para uma codificação mais segura.

As empresas devem adotar este documento e iniciar o processo de garantir que suas aplicações web minimizem esses riscos. Usar o OWASP Top 10 talvez seja o primeiro passo mais eficaz para mudar a cultura de desenvolvimento de software em sua organização para uma que produza um código mais seguro.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Lista OWASP TOP 10

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

A01:2021 - Quebra de Controle de Acesso
Descrição

A

Restrição de ações com base em suas permissões

Falhas nesse processo levam a divulgação, modificação ou destruição não autorizadas da informação

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

A01:2021 - Quebra de Controle de Acesso
Vulnerabilidades

A

1 - Violação do princípio de privilégio mínimo ou negação por padrão

2 - Ignorando as verificações de controle de acesso modificando a URL (alteração de parâmetro ou navegação forçada), o estado interno do aplicativo ou a página HTML, ou usando uma ferramenta de ataque modificando solicitações de API.

3 - Permitir a visualização ou edição da conta de outra pessoa

4 - Acessando API com controles de acesso ausentes para POST, PUT e DELETE.

5 - Elevação de privilégio. Atuar como usuário sem estar conectado ou atuar como administrador quando estiver conectado como usuário.

6 - reproduzir ou adulterar um token de controle de acesso JSON Web Token (JWT)

7 - A configuração incorreta do Cross-Origin Resource Sharing - CORS - permite o acesso à API de origens não autorizadas/não confiáveis.

8 - Força a navegação em páginas autenticadas como usuário não autenticado ou em páginas privilegiadas como usuário padrão.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

A02:2021 - Falhas criptográficas
Descrição

A

Falhas relacionadas à criptografia ou falta dela

Exposição de dados sensíveis ou confidenciais

Necessidade de determinação de segurança de dados em trânsito ou repouso

Destaques a dados privados suscetíveis a regulações próprias

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

A01:2021 - Quebra de Controle de Acesso
Prevenção

A

1 - Exceto para recursos públicos, negar por padrão.

2 - Implemente mecanismos de controle de acesso uma vez e reutilize-os em todo o aplicativo,
inclusive minimizando o uso do Cross-Origin Resource Sharing (CORS).

  1. Os controles de acesso do modelo devem impor a propriedade do registro em vez de
    aceitar que o usuário possa criar, ler, atualizar ou excluir qualquer registro. DAC

4 - Os requisitos exclusivos de limite de negócios do aplicativo devem ser impostos por modelos de domínio.

5 - Desative a listagem de diretórios do servidor web e certifique-se de que os metadados do
arquivo (por exemplo, .git) e os arquivos de backup não estejam presentes nas raízes da web.

6 - Registre falhas de controle de acesso, alerte os administradores quando apropriado (por exemplo, falhas repetidas).

7 - Taxa de limite de acesso à API e ao controlador para minimizar os danos das ferramentas de ataque automatizadas.

8- Os identificadores de sessão com estado devem ser invalidados no servidor após o logout. Os tokens JWT sem estado devem ser de curta duração para que a janela de oportunidade para um invasor seja minimizada. Para JWTs de vida mais longa, é altamente recomendável seguir os padrões OAuth para revogar o acesso.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

A02:2021 - Falhas criptográficas
Vulnerabilidades

A

1 - Algum dado é transmitido em texto simples? Isso diz respeito a protocolos como HTTP, SMTP, FTP também usando atualizações TLS como STARTTLS

2 - criptográfico antigo ou fraco é usado por padrão ou em código mais antigo

3 - as chaves criptográficas fracas são geradas ou reutilizadas ou o gerenciamento ou rotação de chaves está ausente? As chaves criptográficas são verificadas nos repositórios de código-fonte? PAM?

4 - A criptografia não é aplicada. Por exemplo, há alguma diretiva de segurança de cabeçalhos HTTP (navegador) ou cabeçalhos ausentes

5 - O certificado do servidor recebido e a cadeia de confiança estão devidamente validados?

6 - Os vetores de inicialização são ignorados, reutilizados ou não gerados suficientemente seguros para o modo de operação criptográfico? Está em uso um modo de operação inseguro, como o BCE? A criptografia é usada quando a criptografia autenticada é mais apropriada?

7 - As senhas estão sendo usadas como chaves criptográficas na ausência de uma função de derivação de chave de base de senha?

8 - A aleatoriedade é usada para fins criptográficos que não foram projetados para atender aos requisitos criptográficos? Mesmo que a função correta seja escolhida, ela precisa ser propagada pelo desenvolvedor e, caso contrário, o desenvolvedor sobrescreveu a funcionalidade de propagação forte incorporada a ela com uma semente que não possui entropia/imprevisibilidade suficiente?

9 - As funções de hash obsoletas, como MD5 ou SHA1, estão em uso ou as funções de hash não criptográficas são usadas quando as funções de hash criptográficas são necessárias?

10 - Estão em uso métodos de preenchimento criptográfico obsoletos, como PKCS número 1 v1.5?

11 - As mensagens de erro criptográficas ou informações de canal lateral podem ser exploradas, por exemplo, na forma de ataques oracle de preenchimento?

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

A02:2021 - Falhas criptográficas
prevenção

A

1 - Classifique os dados processados, armazenados ou transmitidos por um aplicativo. Identifique quais dados são confidenciais de acordo com as leis de privacidade, requisitos regulatórios ou necessidades de negócios.

2 - Não armazene dados confidenciais desnecessariamente. Descarte-o o mais rápido possível ou use tokenização compatível com PCI DSS ou até mesmo truncamento. Os dados que não são retidos não podem ser roubados.

3 - Certifique-se de criptografar todos os dados confidenciais em repouso.

4 - Garantir que algoritmos, protocolos e chaves padrão atualizados e fortes estejam em vigor; use o gerenciamento de chaves adequado.

5 - Criptografe todos os dados em trânsito com protocolos seguros, como TLS com cifras de sigilo de encaminhamento (FS), priorização de cifras pelo servidor e parâmetros seguros. Imponha a criptografia usando diretivas como HTTP Strict Transport Security (HSTS).

6 - Desabilite o armazenamento em cache para respostas que contenham dados confidenciais.

7 - Aplique os controles de segurança necessários de acordo com a classificação dos dados.

8 - Não use protocolos legados, como FTP e SMTP, para transportar dados confidenciais.

9 - Armazene senhas usando funções de hashing adaptáveis e Salt com um fator de trabalho (fator de atraso), como Argon2, scrypt, bcrypt ou PBKDF2.

10 - Os vetores de inicialização devem ser escolhidos de acordo com o modo de operação. Para muitos modos, isso significa usar um CSPRNG (gerador de números pseudo- aleatórios criptograficamente seguro). Para modos que exigem um nonce, o vetor de inicialização (IV) não precisa de um CSPRNG. Em todos os casos, o IV nunca deve ser usado duas vezes para uma chave fixa.

11 - Sempre use criptografia autenticada em vez de apenas criptografia.

12 - As chaves devem ser geradas criptograficamente (TLS - chave assimétrica antes) aleatoriamente e armazenadas na memória como arrays de bytes. Se uma senha for usada, ela deverá ser convertida em
uma chave por meio de uma função de derivação de chave de base de senha apropriada.

13 - Certifique-se de que a aleatoriedade criptográfica seja usada quando apropriado e que não tenha sido propagada de maneira previsível ou com baixa entropia. A maioria das APIs
modernas não exige que o desenvolvedor semeie o CSPRNG para obter segurança.

14 - Evite funções criptográficas obsoletas e esquemas de preenchimento, como MD5, SHA1,
PKCS número 1 v1.5

15 - Verifique de forma independente a eficácia da configuração e configurações.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

A03:2021 - Injeção
Descrição

A

Congrega diversas técnicas de ataque, incluindo XSS e CSRF, por exemplo, além dos clássicos SQL Injection

A revisão constante dos códigos e scripts é fundamental para tentar identificar as vulnerabilidades

Pode-se utilizar ferramentas como SAST, DAST e IAST

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

A03:2021 - Injeção
Vulnerabilidades

A

I Os dados fornecidos pelo usuário não são validados, filtrados ou higienizados pelo aplicativo.

II. Consultas dinâmicas ou chamadas não parametrizadas sem escape sensível ao contexto são usadas diretamente no interpretador.

III. Dados hostis são usados em parâmetros de pesquisa de mapeamento relacional de objeto (ORM) para extrair registros confidenciais adicionais.

IV. Dados hostis são usados diretamente ou concatenados. O SQL ou comando contém a estrutura e os dados maliciosos em consultas dinâmicas, comandos ou procedimentos armazenados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

A03:2021 - Injeção
Vulnerabilidades

A

I. Manter os dados separados de comandos e consultas

II. A opção preferencial é usar uma API segura, que evite totalmente o uso do interpretador,
forneça uma interface parametrizada ou migre para Object Relational Mapping Tools (ORMs).

i. Nota: Mesmo quando parametrizados, os procedimentos armazenados ainda podem introduzir injeção de SQL se PL/SQL ou T-SQL concatenar consultas e dados ou executar dados hostis com EXECUTE IMMEDIATE ou exec().

III. Use validação de entrada positiva do lado do servidor. Essa não é uma defesa completa, pois muitos aplicativos exigem caracteres especiais, como áreas de texto ou APIs para aplicativos móveis.

IV. Para quaisquer consultas dinâmicas residuais, escape caracteres especiais usando a sintaxe de escape específica para esse interpretador.
i. Nota: Estruturas SQL, como nomes de tabelas, nomes de colunas e assim por diante, não podem ser escapadas e, portanto, os nomes de estrutura fornecidos pelo usuário são perigosos. Este é um problema comum em software de redação de relatórios.

V. Use LIMIT e outros controles SQL nas consultas para evitar a divulgação em massa de registros em caso de injeção de SQL.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

A04:2021 - Design inseguro
Descrição

A

Trata-se de uma nova categoria.

  • Foca nos aspectos voltados a problemas de arquitetura e design (desenho) do produto
  • Possui foco na pré codificação, isto é, antes do código ser desenvolvido
  • Pode-se ter problemas de ausência de controles ou este ser ineficaz durante o período de design
  • Deve-se fortalecer as ações associadas ao proecsso de coleta de requisitos e ao Ciclo de Desenvolvimento Seguro
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

A04:2021 - Design inseguro
Prevenção

A

I. Estabeleça e use um ciclo de vida de desenvolvimento seguro com profissionais da AppSec para ajudar a avaliar e projetar controles relacionados à segurança e privacidade

II. Estabeleça e use uma biblioteca de padrões de projeto seguros ou componentes prontos para uso de estradas pavimentadas

III. Use a modelagem de ameaças para autenticação crítica, controle de acesso, lógica de negócios e fluxos de chaves

IV. Integre linguagem e controles de segurança em histórias de usuários

V. Integre verificações de plausibilidade em cada camada do seu aplicativo (do front-end ao
back-end)

VI. Escreva testes de unidade e integração para validar se todos os fluxos críticos são
resistentes ao modelo de ameaça. Compile casos de uso e casos de uso indevido para
cada camada de seu aplicativo.

VII. Segregar camadas de camadas no sistema e nas camadas de rede, dependendo das necessidades de exposição e proteção

VIII. Separe os locatários de forma robusta por design em todas as camadas

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

A05:2021 - Configuração incorreta de segurança
Descrição

A

Envolve a configuração de ambientes e servidores, bem como ausências de baselines seguras e ferramentas de compliance.

Importante reforçar o conceito de baseline, que trata justamente daquela configuração de referência que poderá ser incorporada e espelhada, com todas as diretrizes e padrões de segurança já conhecidos e mapeados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

A05:2021 - Configuração incorreta de segurança
Vulnerabilidades

A

I. Falta de proteção de segurança apropriada em qualquer parte da pilha de aplicativos ou permissões configuradas incorretamente em serviços de nuvem.

II. Recursos desnecessários são ativados ou instalados (por exemplo, portas, serviços, páginas, contas ou privilégios desnecessários).

III. As contas padrão e suas senhas ainda estão habilitadas e inalteradas.

IV. O tratamento de erros revela rastreamentos de pilha ou outras mensagens de erro excessivamente informativas aos usuários.

V. Para sistemas atualizados, os recursos de segurança mais recentes são desabilitados ou não configurados com segurança.

VI. As configurações de segurança nos servidores de aplicativos, estruturas de aplicativos (por exemplo, Struts, Spring, ASP.NET), bibliotecas, bancos de dados etc., não são definidas para valores seguros.

VII. O servidor não envia cabeçalhos ou diretivas de segurança ou eles não estão configurados para valores seguros.

VIII. O software está desatualizado ou vulnerável (consulte A06:2021-Componentes vulneráveis e desatualizados ).Importante termos em mente, como principal característica, as vulnerabilidades associadas a entrada de dados diretamente nas páginas, por parte de áreas dinâmica e chamadas diversas ao código por parte do usuário.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

A05:2021 - Configuração incorreta de segurança
prevenção

A

I. Um processo de proteção repetível torna rápido e fácil a implantação de outro ambiente devidamente bloqueado. Os ambientes de desenvolvimento, controle dequalidade e produção devem ser configurados de forma idêntica, com credenciais diferentes usadas em cada ambiente. Esse processo deve ser automatizado para minimizar o esforço necessário para configurar um novo ambiente seguro.

II. Uma plataforma mínima sem recursos, componentes, documentação e amostras desnecessários. Remova ou não instale recursos e estruturas não utilizados.

III. Uma tarefa para revisar e atualizar as configurações apropriadas para todas as notas de segurança, atualizações e patches como parte do processo de gerenciamento de patches (consulte A06:2021-Componentes vulneráveis e desatualizados). Revise as permissões de armazenamento em nuvem (por exemplo, permissões de bucket do S3).

IV. Uma arquitetura de aplicativo segmentada fornece separação eficaz e segura entre componentes ou locatários, com segmentação, conteinerização ou grupos de segurança de nuvem (ACLs).

V. Envio de diretivas de segurança para clientes, por exemplo, Cabeçalhos de Segurança.

VI. Um processo automatizado para verificar a eficácia das configurações e ajustes em todos
os ambientes.

16
Q

A06:2021 - Componentes Vulneráveis e Desatualizados
Descrição

A

Basicamente essa família está associada ao processo de inventário de software. A partir de então, conhecendo-se o parque, é possível entender possíveis vulnerabilidades, bem como ações de mitigação.

Uma das referências é a utilização das atualizações automáticas. Entretanto, nem sempre atualizar é simples, e pode gerar quebras na aplicação utilizada, exigindo retrabalho por parte dos atores.

17
Q

A06:2021 - Componentes Vulneráveis e Desatualizados
Vulnerabilidades

A

I-Se você não conhece as versões de todos os componentes que usa (tanto do lado do bem como dependências aninhadas.

II. Se o software for vulnerável, sem suporte ou desatualizado. Isso inclui o sistema operacional, servidor de aplicativos/web, sistema de gerenciamento de banco de dados (DBMS), aplicativos, APIs e todos os componentes, ambientes de tempo de execução e bibliotecas.

III. Se você não verificar vulnerabilidades regularmente e assinar boletins de segurança relacionados aos componentes que usa.

IV. Se você não corrigir ou atualizar a plataforma, estruturas e dependências subjacentes de maneira oportuna e baseada em risco. Isso geralmente acontece em ambientes em que a correção é uma tarefa mensal ou trimestral sob controle de alterações, deixando as organizações abertas a dias ou meses de exposição desnecessária a vulnerabilidades corrigidas.

V. Se os desenvolvedores de software não testarem a compatibilidade de bibliotecas atualizadas, atualizadas ou corrigidas.

VI. Se você não proteger as configurações dos componentes (consulte A05:2021- Configuração incorreta de segurança).

18
Q

A06:2021 - Componentes Vulneráveis e Desatualizados
Prevenção

A

I. Remova dependências não utilizadas, recursos, componentes, arquivos e documentação desnecessários.

II. Faça um inventário contínuo das versões de componentes do lado do cliente e do lado do servidor (por exemplo, estruturas, bibliotecas) e suas dependências usando ferramentas como versões, verificação de dependência OWASP, retire.js etc. Monitore continuamente fontes como Vulnerabilidade e exposições comuns (CVE) e National Vulnerability Database (NVD) para vulnerabilidades nos componentes. Use ferramentas de análise de composição de software para automatizar o processo. Assine alertas por e-mail para vulnerabilidades de segurança relacionadas aos componentes que você usa.

III. Obtenha apenas componentes de fontes oficiais em links seguros. Prefira pacotes assinados para reduzir a chance de incluir um componente mal-intencionado modificado (consulte A08:2021-Falhas de integridade de software e dados).

IV. Monitore bibliotecas e componentes que não são mantidos ou não criam patches de segurança para versões mais antigas. Se a aplicação de patches não for possível, considere a implantação de um patch virtual para monitorar, detectar ou proteger contra o problema descoberto.

19
Q

A07:2021 - Falhas de Identificação e Autenticação
Descrição

A

Na versão de 2017, aparecia como Quebra de Autenticação. Importante, desde já, diferenciar do grupo A01, pois lá naquela categoria, estávamos falando de autorização. Já nesse item, estamos focados no processo de identificação e autenticação.

Não há dúvidas quanto à importância e necessidade de se identificar, autenticar e gerenciar as sessões desses usuários com vistas a proteger contra ataques de personificação ou falsificação de identidade.

20
Q

A07:2021 - Falhas de Identificação e Autenticação
Vulnerabilidade

A

I. Permite ataques automatizados, como preenchimento de credenciais, em que o invasor possui uma lista de nomes de usuários e senhas válidos.

II. Permite força bruta ou outros ataques automatizados.

III. Permitir senhas padrão, fracas ou conhecidas, como “Password1” ou
“admin/admin”.

IV. Usa recuperação de credenciais fraca ou ineficaz e processos de esquecimento de senha,
como “respostas baseadas em conhecimento”, que não podem ser seguras.

V. Usa armazenamentos de dados de senhas de texto simples, criptografados ou com hash
fraco (consulte A02:2021-Falhas de criptografia ).

VI. Não tem autenticação multifator ou é ineficaz.

VII. Expõe o identificador de sessão na URL.

VIII. Reutilize o identificador de sessão após o login bem-sucedido.

IX. Não invalida corretamente os IDs de sessão. Sessões de usuário ou tokens de autenticação (principalmente tokens de logon único (SSO)) não são invalidados corretamente durante o logout ou um período de inatividade.

21
Q

A07:2021 - Falhas de Identificação e Autenticação
Prevenção

A

I. Sempre que possível, implemente a autenticação multifator para evitar ataques automatizados de preenchimento de credenciais, força bruta e reutilização de credenciais roubadas.

II. Não envie ou implante com credenciais padrão, principalmente para usuários administradores.

III. Implemente verificações de senhas fracas, como testar senhas novas ou alteradas na lista das 10.000 piores senhas.

IV. Alinhe as políticas de comprimento, complexidade e rotação de senha com as diretrizes do Instituto Nacional de Padrões e Tecnologia (NIST) 800-63b na seção 5.1.1 para Segredos Memorizados ou outras políticas de senha modernas baseadas em evidências.

V. Garanta que os caminhos de registro, recuperação de credenciais e API sejam protegidos contra ataques de enumeração de conta usando as mesmas mensagens para todos os resultados.

VI. Limite ou retarde cada vez mais as tentativas de login com falha, mas tome cuidado para não criar um cenário de negação de serviço. Registre todas as falhas e alerte os administradores quando forem detectados preenchimento de credenciais, força bruta ou outros ataques.

VII. Use um gerenciador de sessão integrado, seguro e do lado do servidor que gera um novo ID de sessão aleatório com alta entropia após o login. O identificador de sessão não deve estar no URL, ser armazenado com segurança e invalidado após o logout, inatividade e tempos limites absolutos.

22
Q

A08:2021 - Falhas de integridade de software e dados
Descrição

A

Mais uma nova categoria no OWASP. Basicamente, este item está associado ao processo de deploy ou disponibilização em produção, alcançando as esteiras de Integração Contínua e Entrega contínua, quando não há verificações de integridades no processo.
Deve-se estar atento aos códigos e à infraestrutura quando ambos não protegem contra violações de integridade do código.
Um exemplo disso é quando um aplicativo depende de plugins, bibliotecas ou módulos de fontes não confiáveis, repositórios e redes de entrega de conteúdo (CDNs). Um pipeline de CI/CD inseguro pode introduzir o potencial de acesso não autorizado, código malicioso ou comprometimento do sistema.

23
Q
A

I. Use assinaturas digitais ou mecanismos semelhantes para verificar se o software ou os dados são da fonte esperada e não foram alterados.

II. Garanta que bibliotecas e dependências, como npm ou Maven, estejam consumindo repositórios confiáveis. Se você tiver um perfil de risco mais alto, considere hospedar um repositório interno em boas condições que seja verificado.

III. Certifique-se de que uma ferramenta de segurança da cadeia de suprimentos de software, como OWASP Dependency Check ou OWASP CycloneDX, seja usada para verificar se os componentes não contêm vulnerabilidades conhecidas

IV. Certifique-se de que haja um processo de revisão para alterações de código e configuração para minimizar a chance de que código ou configuração mal-intencionados possam ser introduzidos em seu pipeline de software.

V. Certifique-se de que seu pipeline de CI/CD tenha segregação, configuração e controle de acesso adequados para garantir a integridade do código que flui pelos processos de compilação e implantação.

VI. Certifique-se de que os dados serializados não assinados ou não criptografados não sejam enviados para clientes não confiáveis sem alguma forma de verificação de integridade ou assinatura digital para detectar adulteração ou repetição dos dados serializados

24
Q

A09:2021 - Falhas de registro e monitoramento de segurança
Descrição

A

Aqui temos o foco na detecção, escalação e resposta às violações ativas. Quando não há registro e monitoramento, as violações não podem ser detectadas, tratadas e conhecidas de forma eficiente.

25
Q

A09:2021 - Falhas de registro e monitoramento de segurança
Vulnerabilidades

A

Eventos auditáveis, como logins, logins com falha e transações de alto valor, não são registrados.
II. Avisos e erros geram mensagens de log inexistentes, inadequadas ou pouco claras.
III. Os logs de aplicativos e APIs não são monitorados quanto a atividades suspeitas.
IV. Os logs são armazenados apenas localmente.
V. Limites de alerta apropriados e processos de escalação de resposta não estão em vigor ou não são eficazes.
VI. Testes de penetração e varreduras por ferramentas de teste de segurança de aplicativos dinâmicos (DAST) (como OWASP ZAP) não acionam alertas.
Neste item, temos um apelo muito forte às práticas de registros e logs da ISO 27002.

26
Q

A09:2021 - Falhas de registro e monitoramento de segurança
Vulnerabilidades

A

I. Garanta que todas as falhas de login, controle de acesso e validação de entrada do lado do servidor possam ser registradas com contexto de usuário suficiente para identificar contas suspeitas ou maliciosas e mantidas por tempo suficiente para permitir análises forenses atrasadas.

II. Certifique-se de que os logs sejam gerados em um formato que as soluções de gerenciamento de log possam consumir facilmente.

III. Certifique-se de que os dados de log sejam codificados corretamente para evitar injeções ou ataques nos sistemas de log ou monitoramento.

IV. Garanta que as transações de alto valor tenham uma trilha de auditoria com controles de integridade para evitar adulteração ou exclusão, como tabelas de banco de dados somente anexadas ou similares.

V. As equipes de DevSecOps devem estabelecer monitoramento e alertas eficazes para que atividades suspeitas sejam detectadas e respondidas rapidamente.

VI. Estabeleça ou adote um plano de resposta e recuperação de incidentes, como o Instituto Nacional de Padrões e Tecnologia (NIST) 800-61r2 ou posterior.

27
Q

A10:2021 - Falsificação de solicitação do lado do servidor (SSRF)
Descrição

A

Aqui, temos uma categoria nova também na lista, que traz um ataque diferenciado no sentido de que o servidor WEB envolvido na condição de vítima, nada mais é do que um vetor para um outro ataque. Já comentamos sobre isso.

Assim, de forma resumida, temos que são criadas requisições no lado do servidor para URL’s ou serviços de terceiros indevidamente
Um dos destaques dessa categoria é a possibilidade de conseguir burlar firewalls internos na rede.

28
Q

A10:2021 - Falsificação de solicitação do lado do servidor (SSRF)
prevenção Camada de rede

A

Da camada de rede
I. Segmente a funcionalidade de acesso remoto a recursos em redes separadas para reduzir o impacto do SSRF
II. Aplique políticas de firewall “negar por padrão” ou regras de controle de acesso à rede para bloquear todo o tráfego de intranet, exceto o essencial.
III. Dicas:
~ Estabeleça uma propriedade e um ciclo de vida para regras de firewall
baseadas em aplicativos.
~ Registre todos os fluxos de rede aceitos e bloqueados em firewalls (consulte
A09:2021-Registro de segurança e falhas de monitoramento ).

29
Q

A10:2021 - Falsificação de solicitação do lado do servidor (SSRF)
prevenção camada de aplicação

A

I. Higienize e valide todos os dados de entrada fornecidos pelo cliente
II. Aplique o esquema de URL, a porta e o destino com uma lista de permissões positiva

  1. Descrição
  2. Prevenção

III. Não envie respostas brutas aos clientes

IV. Desabilitar redirecionamentos HTTP

V. Esteja ciente da consistência do URL para evitar ataques como religação de DNS e condições de corrida “tempo de verificação, tempo de uso” (TOCTOU)

VI. Não reduza o SSRF por meio do uso de uma lista de negação ou expressão regular. Os invasores têm listas de carga útil, ferramentas e habilidades para contornar as listas de negação.

VII. Não implante outros serviços relevantes de segurança em sistemas frontais (por exemplo, OpenID). Controle o tráfego local nesses sistemas (por exemplo, localhost)

VIII. Para frontends com grupos de usuários dedicados e gerenciáveis, use criptografia de rede (por exemplo, VPNs) em sistemas independentes para considerar necessidades de proteção muito altas