Os 10 principais riscos de segurança da OWASP | Visão geral

Conteúdo

Visão geral dos 10 principais OWASP

O que é o OWASP?

A OWASP é uma organização sem fins lucrativos dedicada à educação em segurança de aplicativos da web. 

Os materiais de aprendizagem OWASP estão acessíveis em seu site. Suas ferramentas são úteis para melhorar a segurança dos aplicativos da web. Isso inclui documentos, ferramentas, vídeos e fóruns.

O OWASP Top 10 é uma lista que destaca as principais preocupações de segurança para aplicativos da web hoje. Eles recomendam que todas as empresas incluam este relatório em seus processos para reduzir os riscos de segurança. Abaixo está uma lista de riscos de segurança incluídos no relatório OWASP Top 10 2017.

Injeção de SQL

A injeção de SQL ocorre quando um invasor envia dados inadequados a um aplicativo da Web para interromper o programa no aplicativo.

Um exemplo de SQL Injection:

O invasor pode inserir uma consulta SQL em um formulário de entrada que requer um nome de usuário em texto simples. Se o formulário de entrada não estiver protegido, resultará na execução de uma consulta SQL. este é referido como injeção de SQL.

Para proteger aplicativos da Web contra injeção de código, certifique-se de que seus desenvolvedores usem a validação de entrada nos dados enviados pelo usuário. A validação aqui se refere à rejeição de entradas inválidas. Um gerenciador de banco de dados também pode definir controles para reduzir a quantidade de INFORMAÇÕES que pode ser divulgado em um ataque de injeção.

Para evitar a injeção de SQL, o OWASP recomenda manter os dados separados dos comandos e consultas. A opção preferível é usar um seguro API para evitar o uso de um interpretador, ou para migrar para Object Relational Mapping Tools (ORMs).

Autenticação quebrada

Vulnerabilidades de autenticação podem permitir que um invasor acesse contas de usuário e comprometa um sistema usando uma conta de administrador. Um cibercriminoso pode usar um script para tentar milhares de combinações de senha em um sistema para ver qual funciona. Assim que o cibercriminoso entra, ele pode falsificar a identidade do usuário, dando-lhe acesso a informações confidenciais.

Existe uma vulnerabilidade de autenticação quebrada em aplicativos da Web que permitem logins automatizados. Uma maneira popular de corrigir a vulnerabilidade de autenticação é o uso de autenticação multifator. Além disso, um limite de taxa de login pode ser incluido no aplicativo da web para evitar ataques de força bruta.

Exposição de dados confidenciais

Se os aplicativos da Web não protegerem, os invasores confidenciais podem acessá-los e usá-los para obter ganhos. Um ataque no caminho é um método popular para roubar informações confidenciais. O risco de exposição pode ser mínimo quando todos os dados confidenciais são criptografados. Os desenvolvedores da Web devem garantir que nenhum dado confidencial seja exposto no navegador ou armazenado desnecessariamente.

Entidades Externas XML (XEE)

Um cibercriminoso pode carregar ou incluir conteúdo, comandos ou códigos XML maliciosos em um documento XML. Isso permite que eles visualizem arquivos no sistema de arquivos do servidor de aplicativos. Depois de terem acesso, eles podem interagir com o servidor para realizar ataques de falsificação de solicitação do lado do servidor (SSRF)..

Ataques de entidades externas XML podem ser impedido por permitindo que aplicativos da web aceitem tipos de dados menos complexos, como JSON. Desativar o processamento de entidade externa XML também reduz as chances de um ataque XEE.

Controle de acesso quebrado

O controle de acesso é um protocolo de sistema que restringe usuários não autorizados a informações confidenciais. Se um sistema de controle de acesso for quebrado, os invasores podem ignorar a autenticação. Isso lhes dá acesso a informações confidenciais como se tivessem autorização. O controle de acesso pode ser protegido implementando tokens de autorização no login do usuário. A cada solicitação que um usuário faz enquanto autenticado, o token de autorização com o usuário é verificado, sinalizando que o usuário está autorizado a fazer aquela solicitação.

Configuração incorreta de segurança

A configuração incorreta de segurança é um problema comum que cíber segurança especialistas observam em aplicações web. Isso ocorre como resultado de cabeçalhos HTTP mal configurados, controles de acesso corrompidos e exibição de erros que expõem informações em um aplicativo da web. Você pode corrigir uma configuração incorreta de segurança removendo recursos não utilizados. Você também deve corrigir ou atualizar seus pacotes de software.

Script entre sites (XSS)

A vulnerabilidade XSS ocorre quando um invasor manipula a API DOM de um site confiável para executar um código malicioso no navegador de um usuário. A execução desse código malicioso geralmente ocorre quando um usuário clica em um link que parece ser de um site confiável. Se o site não estiver protegido contra a vulnerabilidade XSS, pode ser comprometido. O código malicioso que É executado dá a um invasor acesso à sessão de login dos usuários, detalhes do cartão de crédito e outros dados confidenciais.

Para evitar Cross-site Scripting (XSS), certifique-se de que seu HTML esteja bem higienizado. Isso pode ser alcançado por escolhendo estruturas confiáveis ​​dependendo do idioma escolhido. Você pode usar linguagens como .Net, Ruby on Rails e React JS, pois elas ajudam a analisar e limpar seu código HTML. Tratar todos os dados de usuários autenticados ou não autenticados como não confiáveis ​​pode reduzir o risco de ataques XSS.

Desserialização insegura

Desserialização é a transformação de dados serializados de um servidor para um objeto. A desserialização de dados é uma ocorrência comum no desenvolvimento de software. Não é seguro quando os dados é desserializado de uma fonte não confiável. Isso pode potencialmente exponha seu aplicativo a ataques. A desserialização insegura ocorre quando dados desserializados de uma fonte não confiável levam a ataques DDOS, ataques de execução remota de código ou desvios de autenticação.

Para evitar a desserialização insegura, a regra geral é nunca confiar nos dados do usuário. Todos os dados de entrada do usuário devem ser tratado as potencialmente malicioso. Evite a desserialização de dados de fontes não confiáveis. Certifique-se de que a função de desserialização ser usado em seu aplicativo da web é seguro.

Usando componentes com vulnerabilidades conhecidas

Bibliotecas e Frameworks tornaram muito mais rápido o desenvolvimento de aplicações web sem a necessidade de reinventar a roda. Isso reduz a redundância na avaliação do código. Eles abrem caminho para que os desenvolvedores se concentrem em aspectos mais importantes dos aplicativos. Se os invasores descobrirem explorações nessas estruturas, toda base de código que usa a estrutura ser comprometido.

Os desenvolvedores de componentes geralmente oferecem patches de segurança e atualizações para bibliotecas de componentes. Para evitar vulnerabilidades de componentes, você deve aprender a manter seus aplicativos atualizados com os patches e atualizações de segurança mais recentes. Os componentes não utilizados devem ser removido do aplicativo para cortar vetores de ataque.

Registro e monitoramento insuficientes

O log e o monitoramento são importantes para mostrar as atividades em seu aplicativo da web. O registro facilita o rastreamento de erros, monitor logins de usuários e atividades.

Registro e monitoramento insuficientes ocorrem quando eventos críticos de segurança não são registrados devidamente. Os invasores aproveitam isso para realizar ataques em seu aplicativo antes que haja qualquer resposta perceptível.

O registro pode ajudar sua empresa a economizar tempo e dinheiro porque seus desenvolvedores podem facilmente encontrar bugs. Isso permite que eles se concentrem mais em resolver os bugs do que em procurá-los. Com efeito, o registro pode ajudar a manter seus sites e servidores funcionando sempre, sem que eles sofram qualquer tempo de inatividade.

Conclusão

Código bom não é apenas por sobre funcionalidade, trata-se de manter seus usuários e aplicativos seguros. O OWASP Top 10 é uma lista dos riscos de segurança de aplicativos mais críticos é um ótimo recurso gratuito para desenvolvedores escreverem aplicativos móveis e da Web seguros. O treinamento de desenvolvedores em sua equipe para avaliar e registrar riscos pode economizar tempo e dinheiro de sua equipe a longo prazo. Se você gostaria de saiba mais sobre como treinar sua equipe no Top 10 da OWASP clique aqui.