Como combater os riscos da OWASP Top 10 com o WAF da Azion

Como o Web Application Firewall da Azion ajuda a combater as ameaças OWASP Top 10? Descubra aqui!

Paulo Moura - Technical Researcher
Como combater os riscos da OWASP Top 10 com o WAF da Azion

Neste post sobre web application firewall (WAF), elencamos como um dos principais benefícios (e requisitos) desse tipo de solução é a sua capacidade de combater os riscos de segurança do OWASP Top 10.

OWASP Top 10 é um projeto conduzido pela OWASP® Foundation com a colaboração de experts em segurança e desenvolvedores de aplicações web usado como referência por profissionais da área e empresas no mundo todo.

Atualmente, o documento OWASP Top 10 Risks é composto pelas seguintes ameaças:

  1. A1:2021 - Quebra de controle de acesso;
  2. A2:2021 - Falhas criptográficas;
  3. A3:2021 - Injection;
  4. A4:2021 - Design inseguro;
  5. A5:2021 - Configuração incorreta de segurança;
  6. A6:2021 - Componentes vulneráveis e desatualizados;
  7. A7:2021 - Falhas de autorização e autenticação;
  8. A8:2021 - Falhas de integridade de software e dados;
  9. A9:2021 - Falhas de segurança de registro e monitoramento;
  10. A10:2021 - Server-Side Request Forgery (SSRF).

A seguir, veremos mais detalhes sobre cada um desses riscos e como o WAF da Azion pode ser um grande aliado para preveni-los.

A1:2021 | Quebra de controle de acesso

Controle de acesso é um mecanismo de segurança usado para restringir as acessibilidades dos recursos e determinar as permissões do usuário. A quebra de controle de acesso significa que usuários não autorizados acessaram uma informação confidencial, por exemplo.

Essa falha normalmente acontece quando a aplicação não restringe acesso a dados ou funcionalidades do sistema, o que resulta na divulgação não autorizada de informações, modificação ou destruição de dados, ou execução de tarefas que caberiam somente ao administrador de sistemas.

Otimização do controle de acesso com o WAF da Azion

Usando o WAF como camada de segurança adicional, é possível se antecipar a ameaças ao sistema de controle de acesso e definir um conjunto de análise instantânea de tráfego para cada componente potencialmente visado da aplicação, como APIs e páginas de autenticação de usuário.

Outro meio importante de prevenção é a implementação de um modelo zero trust security, de modo que cada usuário tenha apenas as permissões necessárias dentro de um sistema.

A2:2021 | Falhas criptográficas

Falhas criptográficas acontecem devido à ausência (ou ineficiência) de criptografia, e podem resultar na exposição de dados, como números de cartão de crédito e informações pessoais do usuário.

De acordo com a OWASP, há diversas situações classificadas no Notable Common Weakness Enumerations (CWEs)[1] que sujeitam os dados à exposição, como:

  • CWE-259 - Uso de senha hard-coded: é quando informações associadas à autenticação são expostas no corpo do script, podendo ser facilmente extraídas por qualquer usuário da aplicação;
  • CWE-327 - Uso de algoritmo ou protocolo de criptografia quebrado/perigoso: esta falha é desafiadora, pois produzir um algoritmo seguro é difícil e, quando não atualizado em função do rápido avanço tecnológico e do aumento no poder computacional, o nível de proteção fornecido deixa de ser o desejado;
  • CWE-331 - Entropia insuficiente: na segurança da informação, a entropia é uma informação aleatória recolhida pelo sistema operacional a fim de gerar chaves criptográficas randomicamente. No caso, entropia insuficiente nada mais é que o esgotamento de novas informações para geração de chaves criptográficas únicas, sendo a duplicação de chaves uma das consequências disso.

A quantidade e variedade de fatores que resultam em falhas de criptografia explicam o motivo pelo qual esse risco ocupa a segunda posição na lista.

Proteção de dados com WAF

Há muitas formas de se evitar que falhas criptográficas coloquem a segurança de dados em xeque, e a principal delas é proteger os dados com criptografia de ponta-a-ponta (end-to-end encryption ou E2EE).

Outro passo importante é estender a criptografia para o tráfego da web usando o protocolo TLS (Transport Layer Security). No Edge Application, é possível fazer isso em apenas cinco etapas.

Por sua vez, o WAF tem a função de analisar as requisições em busca de determinados caracteres, strings e padrões que caracterizam um tráfego potencialmente malicioso.

Com o método de bloqueio baseado em scoring em vez de assinaturas, o WAF da Azion garante que nem mesmo ameaças de zero-day consigam explorar a sua aplicação e obter acesso a dados.

A3:2021 | Injection

Injection é um ataque que consiste na injeção de código malicioso em uma aplicação a fim de obter controle sobre ela ou roubar os dados nela armazenados.

Existem dois tipos comuns de injection, sendo o primeiro baseado em linguagens de consulta (query languages), como SQL injection (SQLi), e o segundo em scripting, como Cross-site Scripting (XSS), cujos impactos variam entre:

  • desvio de autenticação (authentication bypass);
  • envenenamento de cache (cache poisoning);
  • perda, roubo ou violação de dados;
  • negação de serviço;
  • vazamento de informação.

Esse tipo de ataque é capaz de comprometer todo um sistema ao fazer com que a aplicação se comporte de forma inesperada. Inclusive, as consequências podem acontecer tanto pelo lado do servidor quanto do cliente.

Configuração do WAF para bloquear automaticamente ataques de injection

Ao criar um conjunto de regras de WAF (WAF Rules Set) na plataforma da Azion, o usuário conta com várias configurações específicas aplicáveis a alguns tipos de ameaças.

Azion-WAF-Rules-Set-Screen

Na imagem acima, veja que é possível configurar o WAF para detectar e bloquear SQL injections e Cross-Site Scripting automaticamente e ajustar níveis de sensibilidade que definirão o rigor do WAF ao analisar se a requisição é uma ameaça.

A4:2021 | Design inseguro

Design inseguro se refere a aplicações que não foram construídas dentro de padrões rígidos de segurança. Isso faz com que falhas estejam presentes durante todo o ciclo de desenvolvimento da aplicação.

Uma das melhores analogias para ilustrar um design inseguro é a construção de uma casa. Quando a construção não segue as melhores práticas em todos os aspectos, é certo que, cedo ou tarde, os problemas aparecerão.

Já as consequências do design inseguro em aplicações web podem vir à tona rapidamente, visto que todos os componentes podem ter algum tipo de vulnerabilidade, inclusive nas camadas de transporte e rede.

Integração do WAF da Azion com pipelines de CI/CD

O Web Application Firewall da Azion foi projetado para atender às demandas de segurança mais complexas e, também, para simplificar os processos de teste e validação de software seguro.

Por meio de regras predefinidas, o WAF pode ser integrado com as pipelines de CI/CD existentes e, a partir daí, automatizar validações e testes de códigos, o que favorece o desenvolvimento ágil e a otimização de compliance.

Vale destacar que a automação é apenas uma das possibilidades para prevenir design inseguro. Na nossa plataforma de edge full-stack, os clientes constroem ambientes para testar vários cenários de segurança e, assim, garantir a eficácia das regras de firewall sem a necessidade de colocar a aplicação em produção.

A5:2021 | Configuração incorreta de segurança

De acordo com a OWASP, 90% das aplicações foram testadas para alguma configuração incorreta de segurança, com uma taxa de incidência de 4% e mais de 208 mil ocorrências de CWEs que esse risco engloba. O que explica isso?

Aplicações modernas são complexas e altamente customizáveis. Logo, conforme são implementadas mudanças em grande escala sem o devido cuidado com a segurança, a tendência é que vulnerabilidades venham à tona constantemente.

Outro detalhe são os erros que ocorrem em qualquer nível ou componente da aplicação, como contêineres, bancos de dados e APIs — não por acaso, 41% das organizações sofreram algum tipo de incidente de segurança com APIs em 2021[2].

Construção de regras restritivas para configuração de segurança reforçada

Além da integração com pipelines de CI/CD existentes, o WAF da Azion trabalha com conjuntos de regras restritivas ideais para uma configuração de segurança robusta.

A partir dos parâmetros de Match Pattern (condição de comparação, string ou regex a ser buscada na requisição), que podem ser aplicados de forma ampla ou atribuída a um path, o WAF permite validar:

  • cabeçalhos HTTP;
  • body de um POST (ou “POST arguments”);
  • query string (ou “GET arguments”);
  • nome de arquivo.

Simplesmente, o usuário é capaz de estabelecer regras de firewall avançadas para proteger partes críticas das aplicações, inclusive em resposta a eventos e descobertas.

Por exemplo, se foi identificada uma suspeita de ataque XSS em um serviço da aplicação, o time de experts pode incrementar o algoritmo do WAF com regras mais precisas para protegê-lo.

A história de sucesso da FourBank ilustra bem essa capacidade do WAF da Azion. Nela, um ataque DDoS que explorava as APIs passou a ser mitigado a partir de uma regra de WAF.

A6:2021 | Componentes vulneráveis e desatualizados

Este risco se refere a aplicações compostas por bibliotecas, frameworks e outros componentes de terceiros desatualizados ou que tenham vulnerabilidades conhecidas.

O impacto disso é a exposição a vetores de ataque diversos, como injections e execução remota de código malicioso. Isso costuma acontecer porque os desenvolvedores não estão cientes da atualização do software ou das vulnerabilidades nele existentes.

Há também um problema ligado a aplicações monolíticas, pois, uma vez que qualquer parte da aplicação pode ser afetada pela implementação de um componente, a atualização passa a ser considerada um risco e, portanto, negligenciada.

Atualizações e patches de segurança com o WAF da Azion

Como o WAF da Azion entrega segurança a partir do edge, a solução simplifica a atualização de regras e patches virtuais, que podem ser implementados usando o Edge Functions.

Uma das vantagens dos patches é o fato de que eles minimizam a necessidade de alterações em códigos personalizados e, também, o atrito entre os times de desenvolvimento e segurança.

Mais do que vulnerabilidades conhecidas, o WAF da Azion bloqueia ataques zero-day com um grau de eficiência que várias soluções de fornecedores globais não alcançaram. Quer saber mais? Entenda como o WAF da Azion não foi afetado pelo WAF Bypass.

A7:2021 | Falhas de autorização e autenticação

Falhas de identificação e autenticação ocorrem mediante ausência de mecanismos de proteção para validar a identidade do usuário, como Multi-Factor Authentication (MFA), e bloqueio de ataques como credential stuffing e força bruta.

Outras causas comuns são aplicações que permitem o uso de senhas fracas ou que se encontram armazenadas de maneira insegura, como em arquivos de texto sem formatação ou criptografia adequada.

Aprimoramento do mecanismo de autenticação com regras de WAF e edge functions

Fora os recursos do WAF para melhorar o controle de acesso, os quais se aplicam perfeitamente a este contexto, a Azion oferece acesso a um marketplace com soluções específicas para:

  • reconhecimento facial;
  • validação de URL;
  • reputação de IP;
  • security token.

Elas são ótimos complementos para mecanismos de autenticação e podem ser implementadas em poucas etapas via edge functions.

Para assegurar que senhas e credenciais de acesso estejam armazenadas de forma segura, o WAF pode ser utilizado para a criação de conjuntos de regras extremamente restritivos, como explicamos há pouco, e com alta granularidade.

Além disso, as regras de WAF podem ser incrementadas com rate limiting e, com isso, evitar ataques como account takeover (ATO) e fraudes, como uso de cartões de crédito e credenciais de login adquiridas na dark web.

A8:2021 | Falhas de integridade de software e dados

Falhas de software e integridade de dados se caracterizam pelo uso de dados ou aplicações sem um processo adequado de checagem ou verificação. Exemplos comuns são aplicações compostas por bibliotecas, repositórios e plugins de fontes não confiáveis.

De acordo com a OWASP, outro problema que contribui para o surgimento dessas falhas é a funcionalidade de atualização automática ativada em grande parte das aplicações, pois o download das atualizações é feito sem que a integridade seja verificada por completo.

Filtragem e validação de requisições com o WAF

As configurações por tipo de ameaça encontradas no WAF da Azion ajudam a prevenir ataques como remote file inclusions (RFI) e directory traversal, garantindo que sejam entregues apenas requisições verificadas.

Implementar melhores práticas de desenvolvimento de software seguro é também um passo importante para evitar falhas de integridade. Logo, a própria integração com os processos de CI/CD contribui significativamente para a construção de códigos íntegros.

A otimização de compliance também é um ponto relevante nesse sentido. Afinal, ao cumprir com requisitos como PCI DSS e SOC 3, é natural que a aplicação esteja mais bem resguardada quanto a design e configurações.

A9:2021 | Falhas de registro e monitoramento de segurança

O registro e monitoramento de segurança são requisitos básicos para detecção e resposta a vulnerabilidades existentes em uma aplicação. Além disso, tais atividades são essenciais para:

  • auditoria de eventos críticos, como logins e transações financeiras;
  • detecção e mapeamento de atividades suspeitas;
  • testes de penetração e verificações de segurança;
  • elaboração de plano de resposta a eventos.

Quando o registro e monitoramento de segurança são falhos, a organização não só deixa de evoluir a sua linha de defesa, mas acaba expondo os dados do usuário e colocando em risco a disponibilidade do serviço.

Monitoramento e observabilidade

O WAF da Azion contribui para o monitoramento de segurança ao atuar tanto como um sistema de detecção e invasão (IDS), analisando e monitorando o tráfego em busca de ameaças, quanto um sistema de prevenção de intrusões (IPS), bloqueando proativamente o tráfego utilizando um método de detecção baseado em scoring.

Em termos de observabilidade, o WAF disponibiliza registros de eventos que podem ser acessados no Real-Time Metrics.

“Quando tudo passou a trafegar pela Azion, começamos a ter mais noção de tudo que acontece nas aplicações, então estabelecemos novas frentes de utilização na construção de planos de ação para lidar com determinadas situações caso elas apareçam.”

Jefferson Bornhausen, diretor de TI da FourBank

Para uma experiência com dados mais completa, o seu time de segurança pode usar o Data Stream da Azion ou nossa API de Events GraphQL para alimentar suas plataformas de SIEM com dados brutos de eventos de WAF.

A10:2021 | Server-Side Request Forgery (SSRF)

Server-Side Request Forgery (SSRF) é uma vulnerabilidade que ocorre quando a aplicação web envia requisições HTTP para um local inesperado, de modo que o atacante explora esse ponto de contato para obter acesso a dados e serviços.

Normalmente, a requisição maliciosa induz o servidor a conectar-se a serviços internos da aplicação, como APIs, e fornecer acesso direto à interface administrativa pela qual são concedidos privilégios ao usuário.

Um ataque de SSRF bem sucedido resulta na exposição de dados internos da organização e abre espaço para que diversos outros ataques sejam praticados, como DDoS e execução remota de código.

WAF como camada adicional de segurança

Como um ataque de SSRF tem como característica a conexão com o servidor de origem, a própria arquitetura de edge computing pela qual o WAF da Azion funciona, por si só, pode ser considerada um perímetro de segurança.

Porém, como vimos ao longo deste conteúdo, o WAF habilita a criação de regras customizadas que podem ser implementadas em partes específicas da sua aplicação, de acordo com as necessidades do negócio, e prevenir que requisições maliciosas obtenham acesso a elas.

Agora que você já sabe como o WAF da Azion ajuda a combater os riscos de segurança do OWASP Top 10, o que acha de testá-lo na sua aplicação? Ao criar uma conta grátis, você recebe US$300 em créditos de serviço para experimentar a nossa plataforma de edge computing.

Inscreva-se na nossa Newsletter