Como garantir a segurança e proteger seu site?

OWASP Top 10 — Conformidade com o RidgeBot

O que é o OWASP Top 10?

 

As brechas e ataques de segurança se tornaram tão frequentes que apenas os maiores atualmente viram notícia. Mas os ataques contra organizações de todos os tamanhos nunca foram tão generalizados ou tão sofisticados, tornando tudo tão crítico que você faz tudo o que puder para proteger os ativos digitais de sua organização.

O Open Web Application Security Project (OWASP) é uma organização sem fins lucrativos que trabalha para aumentar a conscientização, melhorar e gerenciar os riscos de segurança das aplicações web. Praticamente todas as empresas e outras organizações públicas/privadas na economia digital atual mantêm aplicativos e servidores web para anunciar, comprar, vender, informar e servir seus clientes ou membros de inúmeras maneiras. Por definição, uma aplicação web é voltada para o público: isto a torna especialmente vulnerável a explorações de qualquer lugar e a qualquer momento. Para proteger sua organização contra ataques e violações de segurança, é imperativo gerenciar de perto as vulnerabilidades nas interações de softwares de aplicações web.

O OWASP avalia as vulnerabilidades mais prevalentes e críticas das aplicações web para produzir uma lista de Top 10 que é atualizada a cada 3 ou 4 anos. O relatório mais recente foi publicado em 2017. O projeto OWASP Top 10 usa um amplo consenso da indústria para determinar as 10 categorias mais críticas de risco de segurança de aplicações web. Os CWEs (Common Weakness Enumerations, ou Considerações Comuns de Fragilidade), bem conhecidos da indústria, são mapeados para as categorias Top 10. Os CWEs, por sua vez, recorrem a um banco de dados maior de CVEs (Common Vulnerabilities and Exposures, ou Vulnerabilidades e Exposições Comuns) mantido no National Vulnerability Database (NVD) sob a direção do U.S. National Institute of Standards and Technology (NIST) Cybersecurity Framework.

Entendendo as Categorias Top 10 do OWASP

As 10 principais vulnerabilidades do OWASP de 2017 são:

A1:2017 Injeção: As falhas de injeção, tais como SQL, NoSQL, OS e injeção LDAP, ocorrem quando dados não confiáveis são enviados a um intérprete como parte de um comando ou consulta.

A2:2017 Autenticação Quebrada: Funções de autenticação e gerenciamento de sessão implementadas incorretamente permitem que invasores comprometam senhas, chaves ou tokens de sessão para explorar identidades de usuários.

A3:2017 Exposição de Dados Sensíveis: Muitas aplicações web e APIs não protegem adequadamente dados sensíveis, tais como informações financeiras, de saúde e pessoalmente identificáveis (PII), permitindo que os invasores roubem ou modifiquem tais dados para realizar fraudes, roubo de identidade ou outros crimes.

A4:2017 Entidades Externas XML (XXE): Muitos processadores XML mais antigos ou mal configurados avaliam as referências de entidades externas dentro de documentos XML. Entidades externas podem ser usadas para perpetrar outros dados, crimes e ataques.

A5:2017 Controle de Acesso Quebrado: Aplicação inadequada de restrições sobre o que os usuários autenticados têm permissão para fazer, permitindo que os invasores explorem o acesso a funcionalidades e/ou dados não autorizados.

A6:2017 Má Configuração de Segurança: Má configuração de segurança é o problema mais comumente visto, incluindo configurações padrão inseguras, configurações incompletas ou ad hoc, armazenamento em nuvem aberta, cabeçalhos HTTP mal configurados e mensagens de erro verbosas contendo informações sensíveis.

A7:2017 Cross-Site Scripting (XSS): As falhas do XSS ocorrem sempre que uma aplicação inclui dados não confiáveis em uma nova página da web sem a devida validação ou fuga, ou atualiza uma página da web existente com dados fornecidos pelo usuário usando uma API de navegador que pode criar HTML ou JavaScript.

A8:2017 Desserialização Insegura: A desserialização insegura frequentemente leva à execução remota de código, ou pode ser usada para executar ataques de replay, ataques de injeção e ataques de escalada de privilégios.

A9:2017 Usando Componentes com Vulnerabilidades Conhecidas: A exploração de um componente vulnerável – como bibliotecas, frameworks e outros módulos de software que rodam com os mesmos privilégios que a aplicação – pode levar a uma séria perda de dados ou aquisição de servidor.

A.10:2017 Registro e Monitoramento Insuficiente: O registro e monitoramento insuficientes, juntamente com a integração ausente ou ineficaz com a resposta a incidentes, permite que os invasores ataquem ainda mais os sistemas, mantenham a persistência, pivô para mais sistemas, e adulterem, extraiam ou destruam dados.

CWE da Ridge Security para o Mapeamento OWASP Top 10

As categorias Top 10 do OWASP fornecem um resumo fácil e claro dos dez riscos mais críticos de segurança das aplicações web. Para proteger as aplicações web e servidores de sua organização, você deve entender quais vulnerabilidades específicas (CWEs) estão incluídas em cada uma das 10 categorias do OWASP Top 10.

Embora haja um amplo acordo da indústria no mapeamento de CWEs para as categorias OWASP, há diferenças nas implementações específicas por diferentes produtos de fornecedores de mitigação de segurança. Estes detalhes são importantes para a abrangência da cobertura e proteção que você obtém ao usar um produto específico de um fornecedor para o teste de penetração de suas aplicações web. O RidgeBot cobre uma lista abrangente de CWEs em cada categoria do OWASP Top 10, proporcionando a você a mais alta confiança de que as capacidades de testes de penetração e exploração do RidgeBot resultam na proteção completa das aplicações web e servidores de sua organização.

 

A1:2017 Injeção

  • CWE 74—Neutralização Imprópria de Elementos Especiais na Saída Usada por um Componente
  • Neutralização Imprópria de Sequências CRLF (‘Injeção CRLF’) 
  • CWE 77—Neutralização Imprópria de Elementos Especiais usados em um Comando (‘Injeção de Comando’)
  • CWE 94—Controle Impróprio de Geração de Código (‘Injeção de Código’) 
  • CWE 78—Neutralização Imprópria de Elementos Especiais usados em um Comando OS (‘Injeção de Comando OS’)
  • CWE 98—Controle Impróprio de Nome de Arquivo para Incluir/Exigir Declaração no Programa PHP (‘Inclusão Remota de Arquivos PHP’)
  • CWE 88—Neutralização Imprópria de Delimitadores de Argumento em um Comando (‘Injeção de Argumentos’)
  • CWE 290—Autenticação de Desvio por Falsificação
  • CWE 89—Neutralização Imprópria de Elementos Especiais usados em um Comando SQL (‘Injeção SQL’)
  • CWE 434—Carregamento Irrestrito de Arquivo com Tipo Perigoso
  • CWE 564—Injeção SQL: Hibernar
  • CWE 90—Neutralização Imprópria de Elementos Especiais usados em uma Consulta LDAP (‘Injeção LDAP’)
  • CWE 917—Neutralização Imprópria de Elementos Especiais usados em uma Declaração de Expressão de Linguagem (‘Injeção de Expressão de Linguagem’)
  • CWE 91—Injeção XML (também conhecido como Injeção Cega de XPath)
  • CWE 943—Neutralização Imprópria de Elementos Especiais em Lógica de Consulta de Dados

 

A2:2017 Autenticação Quebrada

  • CWE 203—Discrepância Observável
  • CWE 428—Caminho ou Elemento de Busca Não Cotado
  • CWE 256—Armazenamento em Purotexto de uma Senha
  • CWE 444—Interpretação Inconsistente das Solicitações HTTP (‘Solicitação HTTP de Tráfico’)
  • CWE 287—Autenticação Imprópria
  • CWE 521—Requisitos Fracos de Senha
  • CWE 294—Desvio de Autenticação por Captura-Repetição
  • CWE 522—Credenciais Insuficientemente Protegidas
  • CWE 306—Falta de Autenticação para Função Crítica
  • CWE 523—Transporte Desprotegido de Credenciais
  • CWE 307—Restrição Imprópria de Tentativas de Autenticação Excessivas
  • CWE 552—Arquivos ou Diretórios Acessíveis a Partes Externas
  • CWE 308—Uso de Autenticação de Fator Único
  • CWE 613—Expiração da Sessão Insuficiente
  • CWE 384—Fixação de Sessão
  • CWE 620—Mudança de Senha Não Verificada
  • CWE 400—Consumo Não Controlado de Recursos
  • CWE 640—Mecanismo de Recuperação de Senha Fraco para Senha Esquecida
  • CWE 425—Solicitação Direta (‘Navegação Forçada’)
  • CWE 798—Utilização de Credenciais de Código Difícil
  • CWE 426—Caminho de Busca Não Confiável
  • CWE 862—Falta de Autorização
  • CWE 427—Elemento de Caminho de Busca sem Controle
  • CWE 863—Autorização Incorreta

 

 

A3:2017 Exposição de Dados Sensíveis

  • CWE 199—Erros na Gestão da Informação
  • CWE 325—Falta de Etapa Criptográfica
  • CWE 220—Armazenamento de Arquivo com Dados Sensíveis Sob Raiz FTP
  • CWE 326—Força de Criptografia Inadequada
  • CWE 295—Validação Imprópria de Certificado
  • CWE 327—Uso de um Algoritmo Criptográfico Quebrado ou Arriscado
  • CWE 310—Questões Criptográficas
  • CWE 328—Mistura Reversível Unidirecional
  • CWE 311—Falta de Criptografia de Dados Sensíveis
  • CWE 359—Exposição de Informações Pessoais Privadas a um Ator Não Autorizado
  • CWE 312—Armazenamento de Informações Sensíveis no Purotexto
  • CWE 538—Inserção de Informações Sensíveis em Arquivo ou Diretório Externamente Acessível
  • CWE 319—Transmissão de Informações Sensíveis no Purotexto
  • CWE 541—Inclusão de Informações Sensíveis em um Arquivo de Inclusão
  • CWE 320—Erros de Gerenciamento de Chaves
  • CWE 668—Exposição de Recurso à Esfera Errada

 

A4:2017 Entidades Externas XML (XXE)

  • CWE 611—Restrição Imprópria de Referência de Entidade Externa XML
  • CWE 776—Restrição Imprópria de Referências a Entidades Recursivas em DTDs
    (‘Expansão de Entidade XML’)

 

A5:2017 Controle de Acesso Quebrado

  • CWE 22—Limitação Imprópria de um Caminho a um Diretório Restrito (‘Travessia de Caminho’)
  • CWE 284—Controle de Acesso Impróprio
  • CWE 118—Acesso Incorreto de Recurso Indexável (“Erro de Alcance”)
  • CWE 285—Autorização Imprópria
  • CWE 200—Exposição de Informações Sensíveis a um Ator Não Autorizado
  • CWE 346—Erro de Origem de Validação
  • CWE 254—7PK—Características de Segurança
  • CWE 352—Falsificação de Solicitação entre Sites (CSRF)
  • CWE 264—Permissões, Privilégios e Controles de Acesso
  • CWE 425—Solicitação Direta (‘Navegação Forçada’)
  • CWE 269—Gestão de Privilégios Imprópria
  • CWE 497—Exposição de Informações de Sistemas Sensíveis a uma Esfera de Controle Não Autorizada
  • CWE 273—Checagem Imprópria de Privilégios Lançados
  • CWE 639—Desvio de Autorização Através de Chave Controlada pelo Usuário
  • CWE 275—Questões de Permissão
  • CWE 732—Atribuição de Permissão Incorreta para Recursos Críticos
  • CWE 276—Permissões Padrão Incorretas
  • CWE 915—Modificação Indevidamente Controlada de Atributos de Objetos Determinados Dinamicamente

 

A6:2017 Má Configuração de Segurança

  • CWE 16—Configuração
  • CWE 345—Verificação Insuficiente de Autenticidade de Dados
  • CWE 23—Travessia de Caminho Relativa
  • CWE 347—Verificação Imprópria de Assinatura Criptográfica
  • CWE 30—Travessia de Caminho: ‘\dir\..\filename’
  • CWE 358—Implementação Imprópria de Checagem de Segurança por Padrão
  • CWE 209—Geração de Mensagem de Erro Contendo Informações Sensíveis
  • CWE 399—Erros de Gerenciamento de Recursos
  • CWE 297—Validação Imprópria de Certificado com Descoordenação do Host
  • CWE 407—Complexidade Algorítmica Ineficiente
  • CWE 298—Validação Imprópria de Expiração de Certificado
  • CWE 601—Redirecionamento de URL Para Site Não Confiável (‘Redirecionamento Aberto’)
  • CWE 331—Entropia Insuficiente
  • CWE 693—Falha do Mecanismo de Proteção
  • CWE 332—Entropia Insuficiente em PRNG
  • CWE 829—Inclusão de Funcionalidade de Esfera de Controle Não Confiável
  • CWE 338—Uso de Gerador de Números Pseudoaleatórios Criptograficamente Fracos (PRNG)
  • CWE 918—Falsificação de Solicitação do Lado do Servidor (SSRF)

 

A7:2017 Cross-Site Scripting (XSS)

  • CWE 79—Neutralização Imprópria de Entradas Durante a Geração de Páginas da Web (‘Roteiro Cruzado de Sites’)

 

A8:2017 Desserialização Insegura

  • CWE 113—Neutralização Imprópria das Sequências CRLF em Cabeçalhos HTTP (‘Divisão da Resposta HTTP’)
  • CWE 134—Uso de String de Formato Controlado Externamente
  • CWE 116—Codificação Imprópria ou Fuga de Saída
  • CWE 502—Desserialização de Dados Não Confiáveis

 

A9:2017 Usando Componentes com Vulnerabilidades Conhecidas

  • CWE 17—Código
  • CWE 193—Erro de Um Por Um
  • CWE 18—Código-Fonte
  • CWE 252—Valor de Retorno Não Verificado
  • CWE 19—Erros de Processamento de Dados
  • CWE 330—Uso de Valores Insuficientemente Aleatórios
  • CWE 20—Validação de entrada de insumos
  • CWE 361—7PK – Tempo e Estado
  • CWE 59—Resolução de Link Impróprio Antes do Acesso ao Arquivo (‘Link Seguinte’)
  • CWE 362—Execução Simultânea usando Recursos Compartilhados com Sincronização Imprópria (‘Condição de Corrida’)
  • CWE 119—Restrição Imprópria de Operações dentro dos Limites de um Buffer de Memória
  • CWE 367—Condição de Corrida Time-of-check Time-of-use (TOCTOU)
  • CWE 120—Cópia Buffer sem Verificação do Tamanho da Entrada (‘Transbordamento de Dados Clássico’)
  • CWE 369—Dividir por Zero
  • CWE 121—Transbordamento de Dados Baseado em Pilha
  • CWE 415—Double Free
  • CWE 122—Transbordamento de Dados Baseado em Pilha
  • CWE 416—Use After Free
  • CWE 125—Leitura Sem Limites
  • CWE 476—Dereferência de Ponteiro NULL
  • CWE 129—Validação Imprópria do Índice da Matriz
  • CWE 617—Asserção Alcançável
  • CWE 185—Expressão Regular Incorreta
  • CWE 787—Escrita Sem Limites
  • CWE 189—Erros Numéricos
  • CWE 824—Acesso de Ponteiro Não Inicializado
  • CWE 190—Integer Overflow ou Wraparound
  • CWE 843—Acesso de Recursos Usando Tipo Incompatível (‘Confusão de Tipo’)
  • CWE 191—Integer Underflow (Wrap ou Wraparound)

 

A.10:2017 Registro e Monitoramento Insuficiente

  • CWE 223—Omissão de Informações Relevantes de Segurança
  • CWE 681—Conversão Incorreta entre Tipos Numéricos
  • CWE 255—Erros de Gerenciamento de Credenciais
  • CWE 682—Cálculo Incorreto
  • CWE 388—7PK – Erros
  • CWE 697—Comparação Incorreta
  • CWE 404—Encerramento ou Liberação de Recursos Impróprios
  • CWE 704—Conversão Incorreta do Tipo ou Molde
  • CWE 417—Erros de Canal de Comunicação
  • CWE 754—Checagem Imprópria de Condições Inusitadas ou Excepcionais
  • CWE 459—Limpeza Incompleta
  • CWE 755—Manuseio Impróprio de Condições Excepcionais
  • CWE 507—Cavalo de Troia
  • CWE 769—Descritor de Arquivo de Consumo Descontrolado
  • CWE 532—Inserção de Informações Sensíveis no Arquivo de Registro
  • CWE 770—Alocação de Recursos sem Limites ou Estrangulamento
  • CWE 534—Exposição de Informações Através de Arquivos de Registro de Depuração
  • CWE 772—Falta de Liberação de Recursos após a Vida Efetiva
  • CWE 665—Inicialização Imprópria
  • CWE 778—Registro Insuficiente
  • CWE 669—Transferência Incorreta de Recursos entre Esferas
  • CWE 834—Iteração Excessiva
  • CWE 674—Recursão Descontrolada
  • CWE 835—Loop com Condição de Saída Inalcançável (‘Loop Infinito’)

 

Como um relatório RidgeBot OWASP Top 10 Ajuda com Auditorias de Segurança

Como os mapeamentos CWE para OWASP TOP 10 variam entre as implementações de fornecedores, a declaração de que sua organização é compatível com o “OWASP Top 10” continua ambígua. Durante uma auditoria, você pode ter que fornecer provas detalhadas de proteção para cada um dos CWEs específicos que você ou o auditor acredita que o torna em conformidade com o OWASP.

 

 

O abrangente relatório OWASP incorporado da RidgeBot simplifica o fornecimento de provas à gerência ou aos auditores de que todas as suas aplicações web são compatíveis com o OWASP Top 10.

O cabeçalho do relatório RidgeBot OWASP Top 10 fornece um resumo executivo de todas as vulnerabilidades encontradas classificadas em níveis apropriados de severidade – assim como aquelas que foram exploradas com sucesso (seta vermelha). Mais abaixo (seta verde), o relatório fornece informações detalhadas de conformidade para cada uma das categorias do OWASP Top 10 e para os CWEs exatos testados em cada categoria.

Para cada um dos servidores que submetidos ao teste de penetração e exploração da web RidgeBot, o corpo do relatório indica o status de conformidade de cada uma das categorias OWASP Top 10. Esta informação lhe dá um roteiro instantâneo para corrigir, atualizar ou substituir suas aplicações para que se tornem compatíveis. Também dá a você provas prontas para mostrar a um auditor que suas aplicações e servidores estão em conformidade.

Os benefícios de usar o RidgeBot para manter a proteção contra o OWASP Top 10

A comunidade OWASP fornece informações e ferramentas úteis para lidar com os riscos de segurança das aplicações web. Embora a lista Top 10 seja uma referência extremamente útil e ampla do setor, ela não alivia a carga da implementação de uma estratégia para saber como suas aplicações web se medem ou como corrigir vulnerabilidades persistentes. A lista Top 10 também não fornece informações específicas contra as quais exatamente os CWEs de suas aplicações estão protegidos.

Um teste de penetração RidgeBot e uma execução de exploração visam um conjunto abrangente e superior do setor de vulnerabilidades CWE em cada categoria Top 10. O relatório incorporado fornece detalhes exatos de cada categoria Top 10 e CWE testado e/ou explorado. Com um teste de exploração periódico — com a frequência da sua escolha — Ridgebot contra seus servidores e aplicações web, você pode sempre ter certeza de que os ativos digitais de sua organização estão tão seguros quanto possível contra os ataques baseados na web. Você pode fornecer informações e provas sob demanda para a gerência ou auditores sobre o estado de conformidade das atividades de sua organização baseadas na web. O relatório também inclui passos detalhados para resolver quaisquer vulnerabilidades encontradas — e a prioridade relativa de cada uma— que pode orientar sua equipe sobre as ações específicas a serem tomadas para tornar-se ou manter-se em 100% de conformidade.