Conheça os tipos de vulnerabilidade de software conforme a OWASP
O OWASP (Open Web Application Security Project) é uma das mais importantes iniciativas contra os crimes cibernéticos. Criada em 2001 pelo especialista em segurança da informação Mark Curphey, é uma entidade sem fins lucrativos que reúne especialistas em TI em um esforço colaborativo global para detectar as principais vulnerabilidades de software.
A comunidade é composta por associados voluntários que criam uma base de conhecimento de acordo com suas experiências diárias, pesquisas e soluções encontradas. Tudo é transformado em conteúdo educativo gratuito visando reforçar a cibersegurança dos sistemas ao redor do mundo.
Um deles é o OWASP TOP 10, um ranking com as maiores vulnerabilidades de software. O documento, de livre acesso a corporações e profissionais interessados, inicialmente não tinha grandes pretensões.
No entanto, devido à sua qualidade e à grande utilidade para as empresas, acabou se tornando um parâmetro mundial no combate às falhas mais comuns, perigosas ou críticas ligadas ao desenvolvimento de projetos web.
A versão mais recente da OWASP TOP 10 é de 2021, já que a lista é atualizada, em média, a cada quatro anos.
Quais os tipos de vulnerabilidades de software segundo a OWASP
A lista com as 10 maiores vulnerabilidades de software é produzida pela OWASP de forma hierarquizada, de acordo com o grau de risco e extensão dos danos. Veja quais são:
1. Quebra de Controle de Acesso
A Quebra de Controle de Acesso ocorre quando uma pessoa não autorizada consegue acessar determinadas aplicações por conta de recursos criminosos para burlar a segurança.
É o que acontece, por exemplo, quando um cliente de e-commerce consegue acessar a parte administrativa da loja, por exemplo. Assim, além de comprometer toda a aplicação (painéis de administração, servidores, bases de dados) o cibercriminoso pode até mesmo redirecionar navegadores para outras URLs.
Na lista anterior, de 2017, essa vulnerabilidade de software estava em quinto lugar, mas em 2021 subiu para o primeiro lugar do ranking.
Porém, na pesquisa para a elaboração da lista atual, foram encontradas uma ou mais enumerações de fraquezas comuns (Common Weakness Enumeration ou CWEs) em cerca de 3,81% dos aplicativos testados.
Além disso, foram identificados 34 tipos de enumerações de fraquezas comuns e mais de 318 mil ocorrências, a maioria em aplicativos. Dessa forma, essa vulnerabilidade de software passou a representar o risco de segurança mais grave e recorrente para as aplicações web atualmente.
A OWASP sugere cinco formas de correção:
- Abordagem do “privilégio mínimo” para cada usuário, com permissões restritas ao mínimo necessário para o cumprimento de suas funções;
- Ativar apenas os pontos de acesso necessários em caso de multiplicidade;
- Aumentar a visibilidade das atividades auditando servidores e sites;
- Desativação dos serviços em desuso, enxugando o servidor;
- Deletar contas desnecessárias ou inativas.
2. Falhas de criptografia
Na lista anterior estava na terceira posição, mas se chamava Sensitive Data Exposure ou Exposição de Dados Confidenciais, um nome que espelhava um sintoma mais amplo.
A nomenclatura atual é mais explícita: exposição de dados confidenciais (números de cartões de crédito, senhas, dados pessoais, etc) que podem ser comprometidos por chaves de criptografia fracas ou reutilizadas; algoritmos datados; descuido no gerenciamento e rotatividade de chaves.
A OWASP também sugere cinco soluções:
- Desabilitação dos recursos de autocompletar e o caching em formulários de coleta de dados;
- Melhores recursos fortes de adaptação e salted hashing ao salvar senhas;
- Criptografia dos dados quando estiverem em trânsito ou em repouso;
- Redução máxima possível da superfície de ataque;
- Atualização das técnicas de criptografia.
3. Injeção
A injeção de códigos maliciosos nas aplicações web visam coletar dados ou atacar a estrutura, o que pode culminar na negação do serviço.
Nos aplicativos testados para a elaboração da lista, a taxa máxima de incidência desse problema foi de 19% e a taxa média de 3,37%.
Para correção dessa vulnerabilidade de software a OWASP sugere:
- Codificar SQL queries com parâmetros, ao invés de estruturar o comando apenas com input de conteúdos por parte do usuário;
- Separar comandos e dados, para evitar ataques que substituem dados com execuções de comando indesejados;
- Manter um sistema de segurança capaz de detectar comportamentos suspeitos de clientes;
- Usar APIs seguras para eliminar os intérpretes;
- Implementar validações positivas de servidor.
4. Design Inseguro
Dentre as vulnerabilidades de software, o design inseguro ocupa o quarto lugar – e é uma nova categoria inserida pela OWASP na lista em 2021.
As pesquisas mostraram que é preciso aumentar a segurança em todas as etapas da aplicação e não apenas nas etapas finais. Isso significa que é preciso “mover-se para a esquerda”, já que as etapas iniciais ficam mais à esquerda no desenho da esteira de desenvolvimento do software e a introdução da segurança deve ser feita desde o início do projeto de design.
A OWASP recomenda mais padrões e princípios de design seguros, arquiteturas de referência e modelagem de ameaças.
5. Má Configuração de Segurança
De acordo com a OWASP, essa vulnerabilidade de software subiu da sexta para a quinta posição devido ao aumento das mudanças em softwares altamente configuráveis que vem ocorrendo nos últimos anos.
Além disso, a antiga categoria de Entidades Externas agora é englobada pela Má Configuração de Segurança.
De acordo com um estudo do Gartner, essa é uma vulnerabilidade de software bastante comum e cerca de 95% das brechas de segurança em nuvem são causadas por erro humano. São falhas na configuração de cabeçalhos de HTTP, configurações incompletas, armazenamento em nuvem acessível demais e mensagens de erro que mostram informações sensíveis.
Veja algumas das soluções propostas pela OWASP:
- Monitoramento constante de recursos, aplicações e servidores da nuvem para evitar/ identificar/ remediar problemas de configuração de segurança;
- Uso de templates pré-configurados que cumpram as políticas de segurança da organização;
- Remoção de serviços e funcionalidades não usadas, mantendo plataformas enxutas e com o mínimo de recursos necessários;
- Biblioteca de imagens de contêiner devidamente configuradas.
6. Componentes Vulneráveis ou Datados
Essa vulnerabilidade de software representa um risco complicado para testar e avaliar e chama a atenção para a falta de cuidado em relação à necessidade de atualizações e análises contínuas e eficientes para melhorar a segurança das aplicações
- As soluções apresentadas são o gerenciamento correto das configurações dos componentes integrados no framework, que devem ser identificados com scanner;
- Automação do fluxo de gerenciamento de patches (identificação, teste e aplicação).
7. Falhas de Identificação e Autenticação
Na lista anterior essa vulnerabilidade de software era conhecida como “Autenticação quebrada” e caiu da segunda para a sétima posição do ranking.
É uma combinação das vulnerabilidades 1 e 5: o risco de invasão usando as credenciais dos usuários se torna elevado sem um gerenciamento apropriado de acessos.
Autenticação em múltiplos fatores, monitoramento das tentativas de login, uso de senhas fortes e gerenciador de sessões seguro são algumas das soluções apresentadas.
8. Falhas de Integração de Software e Dados
É uma nova categoria surgida na lista de vulnerabilidades de software de 2021. Está relacionada às atualizações de software, dados críticos e pipelines de CI/CD (método de entrega das aplicações com frequência aos clientes) sem a verificação da integridade.
Confira algumas das soluções apresentadas:
- Repositórios confiáveis para bibliotecas e dependências (como npm ou Maven). Hospedagem em repositório interno se o perfil for de alto risco;
- Verificações de integridade ou assinaturas digitais para identificar alterações e replays ao lidar com dados não assinados ou não encriptados;
- Garantir segregação, configuração e controle de acesso apropriados para o pipeline de CI/CD;
- Usar assinaturas digitais ou recursos similares para garantir autenticidade sem adulteração;
- Procedimentos de revisão para modificações de código e de configurações.
9. Insuficiência de Logging e Monitoramento
Falhas nesta categoria podem afetar diretamente a visibilidade, a perícia e os alertas quanto aos incidentes de cibersegurança, porque aumentam o intervalo entre o ataque e a sua identificação.
É preciso escolher e utilizar soluções de software de monitoramento mais eficientes e manter uma análise periódica das tentativas de ataque, mesmo que não sejam bem sucedidas. Aqui, o que vale é a prontidão e o olhar constante.
10. Forja de Sever-Side Request
É uma vulnerabilidade de software de taxa relativamente baixa, mas que permite que cracker force uma aplicação server-side a enviar requisições de HTTP para qualquer domínio. A ocorrência pode existir mesmo sob a proteção de firewall, VPN, etc.
As soluções propostas são a implementação de validações de input, uso de expressões regulares (RegEx), exclusividade de aceitação para endereços com formatação de IP apropriados (IPv4 ou IPv6), validação de nomes de domínios recebidos e valor da biblioteca de método/output como endereço de IP para comparar com a lista de permissões.
Como minimizar os impactos negativos dos ciberataques?
Contar com iniciativas como a OWASP é muito importante para prevenir ou minimizar os impactos negativos dos ciberataques.
E todo o material produzido pela entidade deve ser utilizado como apoio para uma equipe própria de defesa cibernética, capacitada e atualizada através dos melhores cursos.
Por isso, nos cursos da CECyber são oferecidas compilações das técnicas mais avançadas de Desenvolvimento Seguro, DevSecOps e Formação de Security Champions, com apoio da melhor plataforma de exercícios práticos de codificação segura do mundo, o Security Labs, da Veracode.
Aprenda mais sobre segurança cibernética com a CECyber
Conhecer os principais tipos de vulnerabilidade de software do mundo é fundamental, mas o preparo real para uma boa defesa cibernética precisa ter o embasamento de cursos de alto padrão.
A CECyber reúne as melhores ferramentas de aprendizagem em cibersegurança. Venha visitar o site e escolher o melhor curso para se destacar na área da defesa cibernética!
Comments are closed.