OWASP Top 10: Conheça as principais vulnerabilidades web de 2021
O que é a OWASP Top 10?
Saudações, pessoal!
É importante perceber que com a ascensão das tecnologias web surgiram também novas necessidades de segurança destas. Atualmente, é natural que as principais aplicações que utilizamos estejam disponíveis para acesso via internet, vide este post que você está lendo utilizando a web! Isso traz necessidades específicas de segurança, afinal, também não é novidade a existência de vetores que podem levar ao comprometimento das informações, por vezes confidenciais, das organizações.
Tendo este cenário em vista, uma comunidade de desenvolvedores e pesquisadores ao redor do planeta se uniram visando mitigar vulnerabilidades em aplicações web. Assim surge a Open Web Application Security Project (OWASP), que periodicamente elege os principais riscos relacionados a estas aplicações.
Acaba de ser lançada a lista com as 10 principais vulnerabilidades de 2021. A última edição, anterior à atual, foi lançada em 2017 e contava com vulnerabilidades importantes que precisam ser analisadas com frieza ainda hoje.
É muito provável que você já tenha ouvido falar da famosa OWASP Top 10. Este ranking é muito importante para a comunidade, visto que trazer as principais vulnerabilidades de maneira clara e concisa com explicações detalhadas de exploração e mitigação destas é um trabalho que eleva gradativamente o nível de segurança das aplicações web em geral.
Deste modo podemos dizer que a OWASP Top 10 é um documento de conscientização para a segurança das aplicações web, que representa um amplo consenso sobre o que são as falhas de segurança de aplicativos web mais importantes. Os membros do projeto incluem uma variedade de especialistas em segurança de todo o mundo que compartilharam seus conhecimentos para produzir essa lista. Este documento possui licença gratuita e conta com diversas traduções graças ao voluntariado.
Quais as principais vulnerabilidades web?
Como falamos, em 2017 foi criada a última versão da lista de vulnerabilidades da OWASP. Esta lista contava com as seguintes vulnerabilidades:
- Injeção de Código
- Quebra de Autenticação
- Exposição de Dados Sensíveis
- Entidades Externas de XML
- Quebra de Controle de Acesso
- Configuração Incorreta de Segurança
- Cross-Site Scripting (XSS)
- Deserialização Insegura
- Utilização de Componentes com Vulnerabilidades Conhecidas
- Log e Monitoramento Ineficientes
Podemos perceber que se tratam de vulnerabilidades antigas, já descobertas há bastante tempo, mas que ainda assim estavam presentes em grande parte das aplicações web no ano de 2017.
Desde então a tecnologia evoluiu muito e temos uma nova lista com as principais vulnerabilidades. A lista foi lançada no mês de setembro de 2021 e conta com as seguintes vulnerabilidades:
- A01:2021 Quebra de Controle de acesso: Esta vulnerabilidade torna-se a primeira da lista, era a quinta na lista anterior, pois pôde-se perceber que 94% dos aplicativos foram testados para alguma forma de quebra no controle de acesso. Os 34 Common Weakness Enumerations (CWEs) mapeados para Broken Access Control tiveram mais ocorrências em aplicativos do que qualquer outra categoria.
- A02:2021 Falhas criptográficas: Esta vulnerabilidade era conhecida como “Exposição de Dados Sensíveis” e sobe uma posição para a 2ª posição, tratava-se de um assunto muito amplo, e não uma causa raiz. O foco renovado aqui está nas falhas relacionadas à criptografia, que geralmente levam à exposição de dados confidenciais ou comprometimento do sistema.
- A03:2021 Injeção de Código Esta vulnerabilidade era a primeira da lista anterior, e na lista atual caiu para a terceira posição. 94% dos aplicativos foram testados para alguma forma de injeção, e os 33 CWEs mapeados nesta categoria têm o segundo maior número de ocorrências em aplicativos. Um ponto importanta a se observar é que a vulnerabilidade de Cross-site Scripting agora faz parte desta categoria nesta edição.
- A04: 2021-Design inseguro Esta vulnerabilidade trata-se de uma nova categoria para 2021, com foco nos riscos relacionados a falhas de design. Se quisermos genuinamente “ir para a esquerda” como setor, isso exige mais uso de modelagem de ameaças, padrões e princípios de design seguro e arquiteturas de referência.
- A05:2021 Configuração incorreta de segurança Esta vulnerabilidade passou da sexta colocação na edição anterior para a quinta posição nesta edição, pois 90% dos aplicativos foram testados para algum tipo de configuração incorreta. Com mais mudanças em software altamente configurável, não é surpreendente ver essa categoria subir. As automações acabam mascarando configurações muito importantes que acabam sendo deixadas de lado, gerando esta importante vulnerabilidaed. Também é importante ressaltar que a antiga categoria de XML External Entities (XXE) agora faz parte desta categoria.
- A06:2021 Componentes Vulneráveis e Desatualizados Esta categoria era anteriormente intitulada como “Usando Componentes com Vulnerabilidades Conhecidas” e é o número 2 no Top 10 da pesquisa da comunidade, mas também tinha dados suficientes para chegar ao Top 10 por meio de análise de dados. Esta categoria passou da 9ª posição em 2017 para a 6° posição nesta revisão e é um problema conhecido que temos dificuldade em testar e avaliar o risco. É a única categoria a não ter nenhuma Vulnerabilidade e Exposições Comuns (CVEs) mapeada para os CWEs incluídos, portanto, uma exploração padrão e pesos de impacto de 5,0 são considerados em suas pontuações.
- A07:2021 Falhas de identificação e autenticação Esta vulnerabilidade conhecida anteriormente como “quebra de autenticação” saiu da segunda posição na lista anterior e veio para a sétima posição, e agora inclui CWEs que estão mais relacionados a falhas de identificação. Essa categoria ainda é parte integrante do Top 10, mas a maior disponibilidade de estruturas padronizadas parece estar ajudando na mitigação dos problemas.
- A08:2021 Falhas de software e integridade de dados Esta é uma nova categoria para 2021, com foco em fazer suposições relacionadas a atualizações de software, dados críticos e pipelines de CI/CD sem verificar a integridade. Um dos impactos de maior peso dos dados do Common Vulnerability and Exposures/Common Vulnerability Scoring System (CVE/CVSS) mapeados para os 10 CWEs nesta categoria. A desserialização insegura de 2017 agora faz parte dessa categoria mais abrangente.
- A09: 2021-Falhas de registro e monitoramento de segurança Os problemas citados nesta vulnerabilidade eram anteriormente conhecidos como “Registro e monitoramento insuficientes” e foi adicionado a partir da pesquisa do setor (nº 3), subindo para a nona colocação, visto que anteriormente estava na décima posição. Esta categoria foi expandida para incluir mais tipos de falhas, é um desafio para testar e não está bem representada nos dados CVE/CVSS. No entanto, as falhas nesta categoria podem impactar diretamente a visibilidade, o alerta de incidentes e a perícia. É como sempre digo nos cursos “Sem monitoramento não dá pra saber o que acontece em sua aplicação”, por isso, monitore!
- A10: 2021-Server-Side Request Forgery Esta vulnerabilidade foi adicionada a partir da pesquisa da comunidade. Os dados mostram uma taxa de incidência relativamente baixa com cobertura de teste acima da média, junto com classificações acima da média para potencial de exploração e impacto. Esta categoria representa o cenário em que os membros da comunidade de segurança estão nos dizendo que isso é importante, embora não esteja ilustrado nos dados neste momento.
Como me defender destas vulnerabilidades?
Como vocês podem perceber, cada vulnerabilidade possui o link de referência para o site oficial da OWASP sobre elas. Isso ajuda na mitigação das vulnerabilidades, visto que os links possuem referências importantes para prevenção das explorações.
Também é importante compreender os conceitos de segurança da informação a fundo, para implementar em todo o processo de desenvolvimento passos que tornem a segurança ainda mais robusta!
Não podemos deixar de falar sobre nosso curso de DevSecOps, onde são apresentados os fundamentos do DevOps, seus princípios, práticas, ferramentas e como isso pode ser um meio para melhorar a integridade, disponibilidade e confidencialidade dos sistemas. Conheceremos como as equipes que adotam DevSecOps podem construir e entregar softwares seguros de forma ágil utilizando ferramentas open source. Vamos ver laboratórios práticos do DevSecOps e como podemos disseminá-lo nas empresas para o aumento da segurança em processo de deploy.
Após fazer este curso você estará preparado para:
- Entender como as esteiras de Integração Contínua, Entrega Contínua e Implantação Contínua funcionam.
- Conhecer as formas que permitem estabelecer uma arquitetura de Segurança para o software desde o seu nascimento.
- Mapear onde as verificações e controles de segurança podem ser adicionados na Entrega Contínua e Integração Contínua.
- Implantar serviços de segurança para aumentar a integração das equipes de desenvolvedores, operações e segurança.
- Fazer uso da tecnologia de container (como Docker) para segurança.
- Realizar Criptografia de playbooks para proteger dados sensíveis.
- Como espalhar as práticas de segurança dentro do ambiente DevOps.
Por isso não perca tempo e entre em contato conosco para aprender a deixar sua aplicação mais segura!
Também é importante citar algumas dicas valiosas para você, não deixe de aplicá-las hoje mesmo em sua infraestrutura!
- Verificar a segurança da aplicação e infraestrutura frequentemente: Trata-se exatamente de buscar realizar testes de vulnerabilidades periódicamente em seu código e infraestrutura. É importante realizar testes automatizados, testes manuais, com os dados levantados sempre mitigar as possíveis vulnerabilidades.
- Parametrizar consultas: As vulnerabilidades nem sempre se encontram no código, uma estrutura de dados mal elaborada pode gerar uma série de problemas de segurança, por isso ao falar de banco de dados é de extrema importância cuidar para que não aconteça nele a exploração de vulnerabilidades importantes.
- Criptografar dados: É de extrema importância trabalhar com a criptografia de dados, não somente a nível dos dados, mas também do transporte dos mesmos. O transporte inseguro de informações sigilosas pode causar sérios problemas para a empresa.
- Validar todas as entradas: Todos os dados que são inseridos no seu sistema precisam ser validados visando evitar injeções de códigos maliciosos como SQL Injection ou XSS.
- Implementar controles de identidade e autenticação: Não é atoa que a primeira vulnerabilidade da lista de 2021 da OWASP é a quebra do controle de acesso. Este é um ponto central de esforços das equipes de segurança, afinal, de o sistema de controle de acesso e identidade for comprometido a empresa estará sofrendo sérias consequências.
- Implementar controles de acesso: Não basta ter usuário e senha, é necessário ter papéis bem definidos dentro da aplicação, para que todas as permissões sirvam o propósito de reduzir a superfície de ataque nos casos de explorações de segurança.
- Proteger os dados: Nosso objetivo principal é este. Garantir a segurança dos dados que se fazem presentes em nosso ambiente, por isso dedique-se a isso! Dê bastante esforço para esta etapa, e utilize o maior número de ferramentas que puder para buscar este objetivo.
- Implementar LOG e detecção de intrusão: Este ponto culmina no monitoramento. É necessário monitorar todas as métricas caras ao seu negócio, traga para a visão da gestão todos os dados capturados por meio de logs e monitoramentos em geral, estes dados podem trazer informações cruciais em momentos chave.
- Aproveitar as estruturas de segurança e bibliotecas: As bibliotecas e dependências que utilizamos podem conter vulnerabilidades, mas também podem conter estruturas de segurança muito bem definidas, que trazem robustês para nossas soluções. Por isso sempre ao analisar os códigos de dependências valide também a estrutura de segurança que as mesmas trazem
Conclusão
Ao fim deste post importante gostaria de frisar a importância desta lista que trouxemos, pois a OWASP Top 10 pode ser considerada indispensável para qualquer desenvolvedor que esteja trabalhando em projetos de aplicações web.
Deste modo, para evitar problemas com exposições indevidas de dados pessoais ou ataques cibernéticos contra seus usuários, é essencial que os desenvolvedores utilizem os recursos da OWASP durante todo o ciclo de desenvolvimento e manutenção de seus projetos, além de realizar auditorias constantes para garantir que seu código esteja em conformidade com novos riscos que surgem diariamente.
Não deixe de comentar abaixo com suas dúvidas e sugestões! E não se esqueça de compartilhar este post em suas redes sociais!
Abraço!
Líder em Treinamento e serviços de Consultoria, Suporte e Implantação para o mundo open source. Conheça nossas soluções:
About author
Você pode gostar também
Testando e validando suas Roles do Ansible com o Molecule
Hoje, no blog da 4Linux, vamos falar sobre como podemos testar as nossas Roles antes de serem aplicadas no ambiente de produção. O Molecule é um projeto que permite que
Como versionar sua infraestrutura com Terraform e GitLab
Deixando um pouco o assunto sobre Corona Vírus de lado, chegamos ao penúltimo post da nossa série de postagens sobre Terraform. Aqui iremos falar sobre como versionar sua infraestrutura utilizando
Guia sobre como criar um cluster com o centralizador de logs Graylog 3.3
O Graylog [1] é uma ferramenta open source e serve para monitorar, centralizar e organizar mensagens de log em sua infraestrutura. É uma alternativa ao famoso ELK. O Graylog oferece