OWASP, basicamente, significa a Open Web Application Security Project, é um sem fins lucrativos global de comunidade on-line que consiste de dezenas de milhares de membros e centenas de capítulos que produz artigos, documentação, ferramentas e tecnologias no campo da segurança de aplicações web.

cada três a quatro anos, a OWASP revê e publica a sua lista das 10 principais vulnerabilidades das aplicações web., Esta lista não só contém as mais comuns vulnerabilidades top 10, mas também contém o impacto potencial de cada vulnerabilidade e como evitá-las. O OWASP Top 10 Web Application Security Risks foi atualizado mais recentemente em 2017 e basicamente fornece orientação para desenvolvedores e profissionais de segurança sobre as vulnerabilidades mais críticas que são mais comumente encontradas em aplicações web, e também são fáceis de explorar. O Top 10 da OWASP é considerado como um guia essencial para as melhores práticas de segurança de aplicações web.,

O top 10 OWASP vulnerabilidades em 2020 são:

  1. Injeção
  2. Quebrado de Autenticação
  3. Dados Sensíveis de Exposição
  4. XML Entidades Externas (XXE)
  5. Quebrado, controle de Acesso
  6. configurações de Segurança incorretas
  7. Cross-Site Scripting (XSS)
  8. Inseguro Desserialização
  9. a Utilização de Componentes com vulnerabilidades conhecidas
  10. Insuficiência de registro e monitoramento.,

injeção

injeção vulnerabilidades ocorrem quando um atacante usa uma consulta ou comando para inserir dados não confiáveis no interpretador através de SQL, OS, NoSQL ou injeção LDAP. Os dados que são injetados através deste vetor de ataque faz com que a aplicação faça algo para o qual não é projetada. Nem todas as aplicações são vulneráveis a este ataque, apenas as aplicações que aceitam parâmetros como entrada são vulneráveis a ataques de injeção.,

ataques de Injeção pode ser impedido por

  • mais seguro Usando API, que evita o uso do interpretador
  • Usando consultas parametrizadas quando a codificação
  • Separar comandos dados para evitar a exposição a ataques

Quebrado de Autenticação

Quebrada a Autenticação é uma vulnerabilidade que permite a um invasor para uso manual ou automática de métodos para tentar obter controle sobre qualquer conta que eles querem em um sistema. Em condições piores, eles também poderiam ganhar controle completo sobre o sistema., Esta vulnerabilidade também é mais perigosa porque sites com vulnerabilidades de autenticação quebradas são muito comuns na web. A autenticação quebrada normalmente ocorre quando aplicações incorretamente executam funções relacionadas com a gestão da sessão, permitindo que intrusos comprometam senhas, chaves de segurança ou tokens de sessão.,Quebrado de autenticação ataques podem ser evitados por

  • Implementação de multi-factor authentication
  • Proteger as credenciais do usuário
  • o Envio de senhas por meio de conexões criptografadas

os Dados Sensíveis de Exposição

Esta vulnerabilidade é um dos mais difundidos vulnerabilidades no OWASP lista e ocorre quando os aplicativos e APIs de não proteger adequadamente os dados confidenciais, como dados financeiros, números de segurança social, os nomes de utilizador e palavras-passe ou informações de saúde, e isso permite que os invasores para ganhar acesso a tais informações e cometer fraudes ou roubar identidades.,

os dados Sensíveis de exposição a ataques podem ser evitados por

  • Usando o secure URL
  • Usando forte e única senhas
  • Criptografar todas as informações confidenciais que não precisam ser armazenados

XML Entidades Externas (XXE)

Esta vulnerabilidade ocorre para aplicações web que analisar o XML de entrada. Isso acontece quando processadores XML mal configurados avaliam referências de entidades externas dentro dos documentos XML e enviam dados sensíveis para uma entidade externa não autorizada, ou seja, uma unidade de armazenamento como um disco rígido., Por padrão, a maioria dos parsers XML são vulneráveis a XXE ataques.

XXE ataques podem ser evitados por

  • Usando menos complexo formatos de dados como JSON
  • Manutenção de processadores de XML e bibliotecas atualizadas
  • Usando SAST ferramentas

Quebrado Controles de Acesso

Esta vulnerabilidade ocorre quando há quebrado o acesso aos recursos, isso significa que há alguns configurado incorretamente falta restrições a usuários autenticados que lhes permite o acesso não autorizado a funcionalidade ou de dados, como o acesso a contas de outras pessoas, documentos confidenciais, etc., Para este ataque, os atacantes tomam a ajuda da Gestão de sessão e tentam acessar os dados dos tokens de sessão não expirados, o que lhes dá acesso a muitos IDs e senhas válidas.,

Quebrado, controle de acesso ataques podem ser evitados por

  • Excluir contas que não são mais necessários ou não estão ativas
  • Desligar serviços desnecessários para reduzir a carga nos servidores
  • Usando o teste de penetração

de Segurança configuração incorreta

Estima-se que até 95% de nuvem violações são o resultado de erros humanos e este fato nos leva para a próxima vulnerabilidade de segurança configuração incorreta. Esta vulnerabilidade refere-se à implementação indevida de segurança destinada a manter os dados de Aplicação seguros., Como sabemos que o trabalho do desenvolvedor é basicamente trabalhar na funcionalidade de sites e não na segurança e esta falha permite que os hackers mantenham o controle da configuração da segurança e encontrem novas formas possíveis de entrar em sites. A razão mais comum para esta vulnerabilidade não é patching ou upgrade sistemas, frameworks, e componentes.,

de Segurança configuração incorreta ataques podem ser evitados por

  • Utilizando Dinâmicas e aplicação de testes de segurança (DAST)
  • Desativar o uso de senhas padrão
  • de olho nos recursos em nuvem, aplicativos e servidores

Cross-Site Scripting (XSS)

Este é também um generalizada de vulnerabilidade que afeta quase 53% de todos os aplicativos web. A vulnerabilidade XSS permite que um hacker injete scripts maliciosos do lado do cliente em um site e, em seguida, usar a aplicação web como um vetor de ataque para sequestrar sessões de usuário, ou redirecionar a vítima para sites maliciosos.,

Cross-site scripting ataques podem ser evitados por

  • adequados a Utilizar cabeçalhos de resposta
  • Filtragem de entrada e de codificação de saída
  • Usando a política de segurança de conteúdo
  • a Aplicação de um zero-abordagem de confiança para a entrada do usuário

Inseguro Desserialização

Inseguro Desserialização vulnerabilidade permite que um invasor execute código remotamente no aplicativo, adulterar ou eliminar serializado (gravados em disco) objetos, conduta de injecção, de ataques de repetição, e a elevação de privilégios. Este ataque também é conhecido como Deseralização não confiável., É uma questão séria de segurança de aplicações que afeta a maioria dos sistemas modernos.,alization ataques podem ser evitados por

  • a Implementação de assinaturas digitais
  • Usando o teste de penetração
  • Isolar o código que desserializa e executá-lo em baixo privilégio de ambientes para prevenir o acesso não autorizado acções

a Utilização de Componentes com vulnerabilidades conhecidas

Hoje em dia há muitos de código-fonte aberto e disponível gratuitamente componentes de software (bibliotecas, frameworks) que estão disponíveis para os desenvolvedores e se ocorre qualquer componente que tem uma vulnerabilidade conhecida, em que, então, torna-se um elo fraco que pode afetar a segurança de toda a aplicação., Também ocorre porque os desenvolvedores freqüentemente não sabem quais componentes de código aberto e de terceiros estão presentes em suas aplicações e isso torna difícil para os desenvolvedores atualizar componentes quando novas vulnerabilidades são descobertas em suas versões atuais.,

Este ataque pode ser evitado por

  • Remover todas as dependências desnecessárias
  • a Utilização de virtual patching
  • Usando apenas componentes de oficiais e de fontes verificadas

Insuficiente o Registo e Monitorização

estima-se que o tempo de ataque para a detecção pode levar até 200 dias, e muitas vezes mais. Entretanto, os atacantes podem alterar servidores, corromper bases de dados e roubar informações confidenciais. O registro insuficiente e a integração ineficaz dos sistemas de segurança permitem que os atacantes se articulem para outros sistemas e mantenham ameaças persistentes.,os ataques de registo e monitorização insuficientes podem ser evitados através da implementação de software de registo e auditoria para estabelecer um sistema de monitorização eficaz para pensar como um atacante e usar uma abordagem de teste da caneta para usar etiquetas: