Olá, querido (a) aluno(a)!
Continuando o estudo sobre o OWASP Top 10 (Este é o quarto artigo sobre o tema!)
As vulnerabilidades de segurança em aplicações web são uma ameaça constante que pode comprometer a integridade, confidencialidade e disponibilidade dos dados. O OWASP Top 10 2021 é uma valiosa referência que identifica as principais vulnerabilidades em aplicações web e fornece orientações sobre como preveni-las. Neste artigo, focaremos em duas das principais vulnerabilidades destacadas no OWASP Top 10 2021: A07:2021 – Falhas de identificação e autenticação, A08:2021 – Falhas de Software e Integridade de Dados.
A07:2021 – Falhas de identificação e autenticação
A confirmação de identidade, a autenticação e sessão são essenciais para prevenir ataques que exploram vulnerabilidades de autenticação. Um aplicativo pode estar suscetível a esses ataques se permitir:
- Ataques automatizados, como ataques de preenchimento de lista, nos quais os invasores usam conjuntos pré-definidos de nomes de usuário e senhas válidas.
- Ataques de força bruta ou outros tipos de estratégias automatizadas de adivinhação de credenciais.
- Uso de senhas fracas, previsíveis ou comumente utilizadas, tais como “Senha1” ou combinações de “admin/admin”.
- Processos de recuperação de senha ou procedimentos de “esqueci minha senha” que são fracos ou mal implementados, como perguntas de segurança cujas respostas são facilmente descobertas ou deduzidas.
- Armazenamento de credenciais de forma insegura, seja em texto puro, criptografado de maneira fraca ou com uso de hash vulnerável (ver A02:2021-Falhas Criptográficas).
- Ausência ou implementação inadequada de autenticação multifator.
- Exposição do identificador de sessão na URL, o que pode ser explorado para rastrear ou sequestrar a sessão de um usuário.
- Não alteração do identificador de sessão após um login com sucesso, o que pode aumentar o risco de ataques de fixação de sessão.
- Falha ao invalidar corretamente identificadores de sessão quando o usuário desloga ou após um período de inatividade, deixando tokens de autenticação, particularmente em sistemas de logon único (SSO), vulneráveis a abusos.
Como Prevenir
- Priorize a implementação de autenticação multifator para fortalecer as defesas contra-ataques de preenchimento automatizado, força bruta e uso de credenciais comprometidas.
- Evite completamente o uso de credenciais padrão, em especial para contas com privilégios administrativos.
- Estabeleça verificações de força de senha que testem as senhas novas ou atualizadas contra listas de senhas mais vulneráveis, como as “10.000 piores senhas”.
- Adote políticas de senha que estejam em conformidade com as diretrizes do Instituto Nacional de Padrões e Tecnologia (NIST), especificamente as recomendadas no documento 800-63b, seção 5.1.1, sobre segredos memorizáveis, ou outras políticas contemporâneas e baseadas em dados concretos.
- Garanta que os processos de criação de conta, recuperação de credenciais e trajetos de API estejam seguros contra-ataques de enumeração de contas, utilizando mensagens padronizadas para todos os resultados.
- Imponha limites ou retarde progressivamente as tentativas de login sem sucesso, cuidando para não causar uma autoindução de negação de serviço. Monitore todas as tentativas de acesso falhas e notifique os administradores sobre potenciais ataques de preenchimento de credenciais ou força bruta.
- Utilize um sistema de gerenciamento de sessão seguro, do lado do servidor, que gere novos identificadores de sessão com alta entropia após cada login. O identificador de sessão não deve ser exibido na URL, deve ser armazenado de forma segura e invalidado corretamente após o logout.
A08:2021 – Falhas de Software e Integridade de Dados
Problemas com a segurança de software e a proteção de dados surgem quando o código e a infraestrutura falham em salvaguardar contra comprometimento da integridade. Isso pode acontecer, por exemplo, se um aplicativo se baseia em plugins, bibliotecas ou módulos que são obtidos de fontes, repositórios ou redes de entrega de conteúdo (CDNs) que não são seguros. Um processo de Integração Contínua e Entrega Contínua (CI/CD) vulnerável também pode abrir brechas para invasões, inserção de códigos mal-intencionados ou ataques ao sistema. Adicionalmente, muitos softwares possuem mecanismos de atualização automática que, sem checagem de integridade adequada, podem instalar atualizações comprometidas em um sistema antes confiável. Isso deixa uma brecha para invasores que podem disseminar atualizações maliciosas para diversas instalações. Outra questão de segurança aparece quando dados ou objetos são codificados ou serializados de forma que um atacante pode interceptar e alterar, resultando em uma deserialização que compromete a segurança.
Como Prevenir
- Empregue assinaturas digitais ou técnicas equivalentes para autenticar a origem do software ou dados e assegurar que não houve modificação indevida.
- Garanta que as bibliotecas e dependências de gerenciadores de pacotes, como npm ou Maven, estejam sendo obtidas de fontes de repositórios confiáveis. Para um perfil de risco elevado, pode ser prudente manter um repositório interno verificado e confiável.
- Utilize ferramentas especializadas em segurança de cadeia de suprimentos de software, como o OWASP Dependency Check ou OWASP CycloneDX, para escanear e verificar se os componentes estão livres de vulnerabilidades conhecidas.
- Estabeleça um processo de revisão criterioso para alterações no código e nas configurações, com o objetivo de reduzir a probabilidade de inserção de elementos maliciosos no seu fluxo de desenvolvimento de software.
- Assegure que o seu pipeline de Integração Contínua e Entrega Contínua (CI/CD) possua segregação adequada, com configurações e controles de acesso estritos para manter a integridade do código ao longo das etapas de construção e implantação.
- Confirme que dados serializados que não sejam assinados ou criptografados não sejam transmitidos a entidades não confiáveis sem mecanismos de verificação de integridade, como uma assinatura digital, para prevenir e identificar qualquer adulteração ou retransmissão indevida desses dados.
Vamos ver como essa teoria poderá vir ou já vieram em questões de concurso?
1) Ano: 2022 Banca: FGV Órgão: TCE-TO Prova: FGV – 2022 – TCE-TO – Auditor de Controle Externo – Tecnologia da Informação
A aplicação Web SiCONTA viabiliza a recuperação de credenciais de acesso por meio da conferência de respostas previamente cadastradas pelo usuário a questionamentos realizados a ele no processo de criação da credencial.
Considerando a metodologia Open Web Application Security Project (OWASP), a aplicação Web SiCONTA possui uma vulnerabilidade classificada na categoria:
A) Broken Access Control;
B) Insecure Identification;
C) Security Misconfiguration;
D) Insecure Design and Implementation;
E) Identification and Authentication Failures.
Gabarito: E.
Comentário:
Dentro da metodologia OWASP, esta categoria de risco se concentra em problemas relacionados com funções de gerenciamento de sessão, autenticação e identificação de usuários. A vulnerabilidade em questão diz respeito à recuperação de credenciais de acesso baseada em respostas a perguntas previamente definidas, um método que pode ser considerado inseguro.
As chamadas “perguntas de segurança” são muitas vezes baseadas em informações que podem ser facilmente obtidas ou adivinhadas por terceiros mal-intencionados, especialmente com o aumento do compartilhamento de informações pessoais em redes sociais e outras plataformas online. Se as respostas a essas perguntas são tudo o que é necessário para recuperar ou redefinir uma senha, isso pode ser explorado para ganhar acesso não autorizado à conta de um usuário.
Por isso, considerando a metodologia OWASP, essa prática é vista como uma falha na autenticação e identificação, pois compromete a segurança da aplicação ao não fornecer um método robusto e seguro de recuperação de credenciais, tornando as contas vulneráveis a acessos não autorizados. Isso justifica o gabarito fornecido, pois reflete uma vulnerabilidade no mecanismo de identificação e autenticação da aplicação web SiCONTA.
2) Ano: 2023 Banca: FEPESE Órgão: Prefeitura de Balneário Camboriú – SC Prova: FEPESE – 2023 – Prefeitura de Balneário Camboriú – SC – Especialista em Inteligência de Dados
Estão dentre as top 10 riscos de segurança de aplicações web do OWasp: 1. Worms 2. Ransomware 3. Falhas criptográficas 4. Componentes vulneráveis e obsoletos 5. Falsificação de requisições do lado do servidor Assinale a alternativa que indica todas as afirmativas corretas.
A) São corretas apenas as afirmativas 1, 2 e 5.
B) São corretas apenas as afirmativas 2, 3 e 4.
C) São corretas apenas as afirmativas 3, 4 e 5.
D) São corretas apenas as afirmativas 1, 2, 3 e 5.
E) São corretas as afirmativas 1, 2, 3, 4 e 5.
Gabarito: C.
Comentário:
Falhas criptográficas, Componentes vulneráveis e obsoletos e Falsificação de requisições do lado do servidor são os itens que estão alinhados com as categorias típicas de riscos de segurança em aplicações web identificadas pelo OWASP (Open Web Application Security Project), o OWASP Top 10, que lista as dez maiores ameaças à segurança de aplicações web.
Então é isso!
Bons estudos e até o nosso próximo artigo.
Prof. Jósis Alves
Analista de TI no Supremo Tribunal Federal
Clique nos links abaixo:
Receba gratuitamente no seu celular as principais notícias do mundo dos concursos!
Clique no link abaixo e inscreva-se gratuitamente:
Participe da conversa