Home Blogs Edgio WAAP Rules – Criando a Ordem Fora do Caos
Applications

Edgio WAAP Rules – Criando a Ordem Fora do Caos

About The Author

Outline

O meu dia está cheio de perguntas de clientes atuais e potenciais. Uma que eu adoro responder é o que torna a nossa aplicação web e proteção de API (WAAP) e os nossos conjuntos de regras de segurança tão precisos. A precisão é fundamental quando se considera a investida de novos vetores de ataque e vulnerabilidades que ocorrem nos últimos anos. Na verdade, a Agência de Segurança da Cibersegurança e Infraestrutura (CISA) recentemente adicionou 66 novas vulnerabilidades ao seu conhecido Catálogo de Vulnerabilidades Exploradas, e os novos CVEs cresceram mais de 25% em 2022. A CISA não é a única preocupada com segurança e desempenho. De acordo com uma pesquisa recente, as empresas querem uma redução em falsos positivos, falsos negativos, fadiga de alerta e melhor gestão de segurança. Então, o que torna as regras do Edgio WAAP mais eficazes? A um nível elevado, tem a ver com a ordem especial em que executamos as nossas regras WAAP e a nossa assinatura híbrida e modo de pontuação de anomalia com as regras geridas . Executamos esses processos em milissegundos através do nosso motor de waflz caseiro para fornecer segurança sem sacrificar o desempenho. Vamos mergulhar nisso com mais detalhes.

Descascando a cebola

Antes de analisarmos o funcionamento interno das nossas regras geridas, vejamos as diferentes camadas (pun pretendido) das proteções no nosso WAAP. Cada camada do WAAP desempenha um papel importante. As informações abaixo fornecem uma visão geral das suas funções.

Regras de controlo de acesso

As regras de controlo de acesso permitem criar listas de permissão modulares, listas de identificação e listas de acesso de segurança positiva para controlar o acesso a sites protegidos por endereço IP, proxy anónimo, país, ASN, código de geo-região, agente do utilizador, cookie, referenciador, URL, método de pedido de HTTP, tipo de conteúdo, extensão de ficheiro, tamanho de ficheiro e cabeçalhos de pedidos.

Regras de Limitação de Taxa

As regras de limitação de taxa restringem o fluxo de solicitações de HTTP para um aplicativo protegido pelo WAAP para impedir o tráfego DDoS de aplicativos maliciosos ou não intencionais e impedir que os servidores de aplicativos de um cliente sejam sobrecarregados com solicitações de ataques ou picos de tráfego não planejados.

Regras do gestor de bots

O gestor de bots deteta bots bons e maus. Ele fornece várias opções para mitigar a automação indesejada ou bots mal-intencionados e impede que eles alcancem seus aplicativos. Isso protege o seu site contra bots maliciosos que executam enchimento de credenciais, raspar o seu conteúdo, cardar, enviar spam nos seus formulários, lançar ataques DDoS e cometer fraude de anúncios.

Regras personalizadas

As regras personalizadas colocam o nosso poderoso motor WAAP nas suas mãos para criar as suas próprias regras de segurança. O tráfego malicioso é identificado usando uma combinação de variáveis (ou seja, cabeçalhos de pedidos, corpo, consulta, método, URL, cookie, etc.). Este método oferece flexibilidade adicional para a deteção de ameaças e permite filtrar pedidos maliciosos específicos e tomar medidas para mitigá-los. A identificação personalizada de ameaças, combinada com testes e implementação rápidos, permite que você lide rapidamente com vulnerabilidades de longo prazo e de dia zero criando patches virtuais.

Regras geridas

As Regras Geradas do Edgio identificam tráfego malicioso através de um conjunto de regras proprietário gerido pelo Edgio. As regras geridas consistem em mais de 500 regras distribuídas por três categorias:
  1. Regras de Propriedade da Edgio.
  2. Regras avançadas específicas para aplicações.
  3. Regras gerais do OWASP.
Isto recolhe de forma abrangente várias políticas e regras de segurança para diferentes categorias de ataque e aplicações. Ao realizar uma avaliação de ameaças, cada regra gerenciada pode ser personalizada para evitar falsos positivos, excluindo certas variáveis (ou seja, cookies, cabeçalhos e parâmetro de solicitação/cadeia de consulta). Como podem ver, as nossas regras WAAP têm muitas camadas, e dentro de cada camada, pode haver entre dezenas e centenas de regras e condições que o nosso WAAP tem de correr. Cada regra apresenta uma probabilidade de introdução de falsos positivos e de impactos no desempenho. Complicando o assunto é que o Edgio WAAP oferece habilidades únicas para ser executado no modo Dual WAAP, onde você pode executar duas versões das configurações de segurança para o seu tráfego de produção simultaneamente para regras de controle de acesso, regras personalizadas e regras gerenciadas. Adicionaremos camadas de proteção adicionais à medida que continuarmos a melhorar as nossas soluções de segurança. O que levanta a questão, como é que garantimos que o nosso WAAP processa milhões de pedidos com precisão e eficiência no meio do caos de todas estas capacidades e regras?

Criando ordem a partir do caos

Além de ter um poderoso motor de waflz criado em casa, especificamente projetado para ser dimensionado em um ambiente multi-tenant de alto desempenho, a chave é criar uma ordem adequada de operações para executar o WAAP de forma mais eficiente e eficaz. Para conseguir isso, o nosso WAAP executa as diferentes camadas de módulos de regras na seguinte sequência:
  1. Regras de Controle de Acesso: Todas as solicitações são filtradas por um conjunto estático de listas de permissão/negação/acesso configuradas pelo cliente que consistem nas variáveis mencionadas anteriormente. O WAAP deixa cair qualquer solicitação que corresponda à lista de negação, impedindo que qualquer tráfego indesejado seja processado ainda mais.
  2. Regras de Limitação de Taxa: As solicitações que passam pelas regras de controle de acesso são rastreadas pelas regras de limitação de taxa, que rastreiam a solicitação para cada cliente dentro de uma janela de tempo especificada pela configuração. O WAAP diminui as solicitações que excedem um limite de taxa de solicitação específico, reduzindo ainda mais os volumes de solicitação de prosseguir para o próximo passo.
  3. Regras do Bot Manager: Cada solicitação que chega a este passo é inspecionada pela nossa PLATAFORMA DE ML para determinar se eles são baseados em uma combinação de assinaturas e comportamentos de solicitação. Qualquer pedido de bot malicioso pode ser mitigado aqui através de vários meios, incluindo desafio de navegador, resposta personalizada ou captcha. A maioria dos ataques são feitos através de clientes automatizados, tornando o bot manager uma solução eficaz para mitigar esses ataques e reduzir ainda mais o volume de pedidos que precisam ser processados por módulos de regras subsequentes.
  4. Regras personalizadas: Nesta etapa, o WAAP inspeciona a solicitação usando vários filtros personalizados criados pelos clientes para detetar e mitigar solicitações indesejadas. Isso pode incluir quaisquer regras específicas do aplicativo que os clientes possam implantar em tempo real para mitigar vulnerabilidades de dia zero sem esperar que o conjunto de regras do WAAP seja atualizado. Esta é uma ferramenta valiosa para ganhar visibilidade e controle sobre ataques específicos. Devido à especificidade das regras personalizadas, elas têm precedência sobre as regras geridas pelo Edgio e processarão as solicitações antes de as passar para a camada final.
  5. Regras geridas: Qualquer pedido que chegue a esta fase é processado pelas mais de 500 regras geridas em todas as categorias OWASP proprietárias, específicas de aplicações avançadas e genéricas do Edgio.

O processamento de cada solicitação em sequência (conforme mostrado na Figura 1) garante que múltiplas camadas de filtragem sejam executadas. Isso nos ajuda a capturar os ataques que nossos clientes estão procurando (ou seja, IP/países denylisted, inundação de aplicativos DDoS/HTTP, clientes automatizados e assinaturas de pedidos personalizados específicos) antes que as solicitações atinjam as regras gerenciadas.

No entanto, isso é apenas parte da história de segurança.

A eficácia de um WAAP não é determinada apenas pela sua capacidade de mitigar ataques (verdadeiros positivos), mas também pela sua capacidade de impedir que o tráfego legítimo seja bloqueado (falsos positivos). Vamos rever como capturamos a maioria dos ataques de aplicações, reduzindo os falsos positivos.

Um mergulho mais profundo nas regras geridas pelo Edgio

Quando uma solicitação atinge as regras gerenciadas, ela é avaliada pelo nosso Edgio Ruleset proprietário de mais de 500 regras criadas para mitigar um amplo espetro de ataques de aplicativos. Isto apresenta uma camada adicional de complexidade porque há tantas categorias de regras [isto é, as injecções SQL genéricas (SQLi), scripts entre sites (XSS) e regras de execução remota de código (RCE)] e as regras específicas do WordPress, do Joomla e do Apache Struts. É necessária uma priorização cuidadosa para garantir que se complementam para maximizar a precisão.

Tal como com os módulos de regras anteriormente mencionados, a chave é a ordem das operações entre cada categoria da régua gerida.

Dentro das Regras Geradas, a solicitação é processada por diferentes categorias de regras nesta ordem: Regras de Propriedade Edgio >Regras avançadas de Aplicação específicas Regras >genéricas de OWASP.

  1. As regras proprietárias do Edgio e as regras específicas do aplicativo procuram assinaturas associadas a uma vulnerabilidade específica de um tipo específico de aplicativo. Estas regras fornecem cobertura para aplicações (ou seja, Apache Struts, WordPress, Joomla, Drupal, Sharepoint, cPanel, e muito mais) e são altamente precisas na deteção de ataques a estas aplicações. Concebemos estas regras para serem executadas no modo Signature (também conhecido como binário), o que significa que qualquer pedido que desencadeasse estas regras provoca uma ação. Estas regras fornecem uma abordagem mais cirúrgica para combinar e filtrar vetores de ataque específicos a uma aplicação; portanto, são a primeira camada do filtro Edgio Ruleset. Uma vez que as solicitações que não correspondem a regras proprietárias e específicas da aplicação ainda podem representar um risco para a aplicação do cliente, precisamos de outra abordagem para detetar potenciais ataques na próxima fase.

  2. As regras gerais do OWASP dentro do Edgio Ruleset procuram uma combinação de assinaturas associadas a diferentes categorias comuns de ataques (ou seja, SQLi, XSS, RCE, violação de protocolo, inclusão de arquivos locais (LFI), inclusão de arquivos remotos (RFI) e muito mais). Essas regras trabalham juntas para determinar se uma solicitação exibe uma combinação de assinaturas que se encaixam em uma categoria de ataque. Essas regras genéricas são executadas no modo de pontuação de anomalias que permite que os clientes definam a sensibilidade das regras ajustando o limite da pontuação de anomalia para controlar quantas regras precisam ser disparadas para que a solicitação seja considerada maliciosa. Quanto menor o limiar da pontuação da anomalia, mais sensível ou mais rigorosa se torna o conjunto de regras genéricas e mais fácil para uma solicitação potencialmente maliciosa ultrapassar o limite. Os clientes têm a flexibilidade de ajustar a sensibilidade do seu WAAP com base no tipo de aplicação e na sua tolerância ao risco. As regras genéricas do OWASP servem como a última resposta para pedidos que se encaixam numa determinada caraterística de ataque, mas não se encaixam necessariamente em vulnerabilidades específicas de aplicações.

WAAP/Dual WAF Diagram

Figura 1: Fluxo de trabalho de Edgio WAAP

Figura 2: As nossas regras geridas são executadas numa sequência especialmente concebida para maximizar a deteção e minimizar os falsos positivos.

Outra caraterística importante que aumenta a precisão das regras geridas é a personalização das regras. Cada uma das mais de 500 regras geridas pode ser personalizada para ignorar parâmetros específicos de pedidos (ou seja, cabeçalho de pedidos, cookie, consulta e parâmetros de corpo). Isso permite que os clientes removam rapidamente falsos positivos usando uma interface de usuário ou API simples.

Juntando todas as peças

Agora você fez a jornada de uma solicitação de HTTP através do nosso WAAP. Algo que ocorre milhares de milhões de vezes por dia dentro de cada servidor Edgio em todos os 300 Pontos de Presença (Pop) em todo o mundo, já que o nosso WAAP de alto desempenho funciona nativamente na mesma pilha que executa os nossos serviços de entrega de conteúdo. No início deste blog, mencionei que recebo muitas perguntas sobre o nosso WAAP. Espero que agora entendam o que o diferencia de outras soluções. Combinamos uma ordem inteligente de operações com os vários módulos de regras WAAP (da ACL à limitação de taxa a regras de bot e personalizadas), regras geridas (de regras específicas a genéricas), e a assinatura híbrida e o modo de pontuação de anomalia para segurança que não impede o desempenho.

Considerem esta analogia: Desenhar e montar componentes WAAP é como fazer um hambúrguer. Não se trata apenas de ter os ingredientes certos; trata-se de combiná-los da maneira certa para fazer uma boa refeição. Os mesmos ingredientes reunidos de forma diferente podem afetar drasticamente o sabor e a experiência do cliente.