Home Artigos técnicos Melhorando o desempenho dos aplicativos com regras de segurança mais rápidas
Applications

Melhorando o desempenho dos aplicativos com regras de segurança mais rápidas

About The Author

Outline

À medida que mais equipes de desenvolvimento de aplicativos integram a segurança em seus fluxos de trabalho, elas estão analisando o impactos da segurança em seus aplicativos, desde um pipeline de aplicativos, fluxo de trabalho e perspetiva de desempenho.

Devido aos requisitos de conformidade, o WAAP (Web Application and API protection) é comumente implantado em uma pilha de aplicativos. Mas à medida que as organizações movem suas cargas de trabalho para a nuvem e começam a incorporar a segurança na estrutura de seus aplicativos, o papel do WAAP está evoluindo. As organizações precisam de plataformas WAAP que possam escalar e se adaptar às arquiteturas em constante mudança na nuvem e às crescentes ameaças de segurança.

neste artigo, vamos analisar como o mecanismo WAAP – e, mais especificamente, um conjunto de regras criado especificamente para uso com esse mecanismo – pode ser adaptado para escalar fluxos de trabalho em nuvem e melhorar o desempenho de seu aplicativo web, mantendo uma forte proteção contra ameaças online.‍

Considere tanto o motor WAAP quanto o seu ruleset‍

O WAAP deve ser uma parte importante da pilha de aplicativos e do programa de segurança de rede. Tradicionalmente, os WAAPs eram desconetados do desenvolvimento de aplicativos e eram vistos como uma camada de segurança que ficava fora do aplicativo. Mas as arquiteturas e ferramentas modernas do WAAP ajudaram o SecOPs a colaborar com o DevOps ao longo do processo de CI/CD, incluindo a criação de regras e testes à medida que um aplicativo é desenvolvido. Quando usado corretamente para analisar o tráfego que atravessa sua infraestrutura de aplicativos, o mecanismo WAAP e seu conjunto de regras desempenham um papel importante na rapidez com que a análise é concluída e quão bem as decisões de auditoria e bloqueio resultantes funcionam como parte da arquitetura geral do aplicativo.

Como o motor de um carro, computador e transmissão, um motor WAAP, seus conjuntos de regras, e a aplicação que protege deve ser projetada e otimizada para trabalhar em conjunto. Um fabricante de carros não projeta um motor em uma bolha. Ele deve ser otimizado para o resto do quadro e componentes do carro para alcançar o máximo desempenho e eficiência em toda a placa. O mesmo deve ser válido para o motor WAAP e seu conjunto de regras. Um WAAP que não contabiliza essas variáveis pode ficar sobrecarregado e sobrecarregado e, em última análise, degradar o desempenho e a experiência do usuário do aplicativo da Web.‍

Reduza a carga de trabalho WAAP para melhorar a velocidade e a effectiveness‍

O Edgio WAAP usa uma combinação de assinaturas de código aberto, indústria e propriedade para informar seu conjunto de regras. Avaliamos cuidadosamente o impactos de cada assinatura no desempenho do conjunto de regras gerais.

Conforme projetamos e otimizamos nosso motor WAAP ,vimos que coletando e consumindo os conjuntos de regras de código aberto e do setor sem nenhuma modificação, (quase) todas as regras precisariam ser analisadas à medida que o tráfego cruza o fio. Este modelo é bastante comum entre WAAPs e torna “fácil” ver o que acontece com o tráfego. Mas também força o WAAP a executar todas as regras para avaliar o risco associado ao tráfego. Isso coloca uma carga de trabalho desnecessariamente pesada no WAAP que é ainda mais exacerbada à medida que o conjunto de regras cresce.

Claro, nem sempre é sobre velocidade. Um elemento-chave em um WAAP é sua capacidade de determinar o risco (compromisso) versus recompensa (transações bem-sucedidas) associado ao tráfego e decidir se o tráfego é malicioso, suspeito ou benigno. O WAAP enviaria um alerta para a equipe (modo de auditoria/alerta) e bloquearia ou redirecionaria o tráfego se for considerado muito arriscado (modo de produção/bloco).

Essa análise se torna um desafio maior ao examinar as regras ingeridas de código aberto e do setor. É improvável que eles tenham sido criados com velocidade e eficiência em mente para todos os motores WAAP possíveis no mercado. Isso não significa que eles são ruins, isso significa que eles se concentram no risco primeiro, deixando o desempenho como um pós-pensamento. Em outras palavras, há espaço para melhorias.

Com conjuntos de regras criados para completude e precisão primeiro, muitos WAAPs acham que não conseguem lidar com o tráfego que está sendo analisado em ambos os modos (auditoria e bloqueio), forçando as equipes da INFOSEC a escolher um modo: comece com o modo de auditoria e mova-o para o modo de produção ou indo direto para o modo de produção com pouco ou nenhum teste do mundo real, o que os deixa abertos a ameaças perdidas e falsos positivos.‍

Como a Edgio melhora o seu WAAP rulesets‍

O modelo OWASP ModSecurity de código aberto para conjuntos de regras fornece uma maneira padrão e consistente através da qual os conjuntos de regras WAAP podem ser desenvolvidos e implementados. Para complementar isso, o OWASP oferece um conjunto de regras genéricas do setor que pode ser ingerido por um WAAP que segue este modelo.

No entanto, como nossa equipe estava implementando o conjunto de regras, eles perceberam que os conjuntos de regras que estão sendo ingeridos – embora completos e precisos – estavam realmente segurando o motor WAAP. Então, a equipe decidiu examinar como os conjuntos de regras são estruturados e processados. O que encontramos, que não deve surpreender nenhum administrador WAAP, é que muitas regras passam pelos mesmos dados repetidamente para percorrer as verificações necessárias para determinar o risco do tráfego que passa pelo WAAP.

Algumas regras de aplicação de protocolos são bastante simples e não precisam “viver” dentro do ecossistema de conjuntos de regras. Para resolver isso, primeiro desenvolvemos o conjunto de regras que efetivamente reduziu o conjunto de regras do OWASP implementando-os diretamente no mecanismo WAAP em um formato não ModSecurity. Isso resulta em execução precoce e deteção mais rápida.

Em seguida, focamos regras que analisam os órgãos de solicitação. Construímos uma camada de cache que atenua a sobrecarga de desempenho de recalcular as mesmas expressões nas regras. Tomando um exemplo de corpos de formato XML, pesquisamos quantas vezes a expressão “XML:/*” aparece no conjunto de regras do OWASP CRS para ver quantas vezes um XPath poderia ser recalculado no processamento de uma única solicitação sem uma camada de cache, o número é significativo.

Finalmente, onde muitas expansões de macro/substituições de string e buscas explícitas ocorrem, identificamos e removemos essas regras do conjunto de regras e as implementamos no mecanismo com melhores algoritmos de pesquisa e pesquisa, como pesquisas HashMap e operador de correspondência de frases (pm) em vez de um operador regex (Rx) sempre que possível.

Ao fazer as coisas de forma diferente com a estrutura dos conjuntos de regras, nosso mecanismo WAAP usa estruturas de dados mais rápidas e formatos padrão abertos, como JSON, que são mais fáceis de configurar e executar mais rapidamente. Isso resulta em melhor desempenho, não só em termos de velocidade, mas também em termos de precisão:

  • Baixos falsos positivos: Edgio organiza e controla o conjunto de regras de uma forma que garante que a precisão seja mantida
  • Desempenho aprimorado do motor: O motor Edgio WAAP executa os conjuntos de regras de uma maneira que evita sobrecarregar o motor

Por exemplo, para a regra de política de bloqueio de IP do OWASP, o mecanismo ModSecurity usa seu próprio algoritmo “msc_tree” que analisa uma lista de IP ruim. Como alternativa, o mecanismo EDGIO WAAP usa um algoritmo diferente que é um pouco mais rápido. Os resultados de teste a seguir mostram como o Edgio WAAP funciona em relação ao ModSecurity. O ModSecurity adiciona cerca de 200ms a 500ms de latência ao executar um milhão de consultas em grandes listas IP. O Edgio WAAP processa cerca de 10B pedidos por dia em toda a sua rede. Esses pequenos números importam muito em uma escala tão grande.

Evite alertas vs. Bloqueio de trade-offs

Uma melhor combinação de motor WAAP e conjunto de regras também significa que as organizações obtêm um desempenho mais rápido e podem executar WAAPs em modo duplo (em modo de bloco e modo de auditoria). Isso permite que as equipes de operações de segurança experimentem novas regras contra o tráfego de produção no modo de auditoria/alerta e ajustem as regras antes de promover o conjunto de regras para bloquear o modo no WAAP.

Os conjuntos de regras altamente personalizados do Edgio permitem que os administradores cortem e sejam dados em todos os lugares e executem os conjuntos de regras no modo duplo. Com as mesmas regras aplicadas a diferentes configurações, os administradores podem executá-las duas vezes sem afetar o desempenho – graças, em parte, à implementação inteligente do mecanismo e do conjunto de regras.

O valor aqui se estende além da equipe de gerenciamento da WAAP. Muitos clientes da Edgio integram essa opção em seu ciclo de vida de DevOps, dando ao negócio, à equipe de engenharia e à equipe de segurança DE TI a capacidade de colaborar e testar as regras no modo de auditoria antes de aplicá-las ao modo de bloqueio de produção.

Este processo de duas etapas permite que a equipe de segurança DE TI verifique as alterações de configuração do firewall antes de serem ativadas, equipando a equipe com dados para testar alterações no tráfego real de produção, reduzindo assim falsos positivos quando o conjunto de regras é colocado em produção. Uma vez que o conjunto de regras foi validado, as configurações atualizadas são implementadas em segundos. E rollbacks, se necessário, são possíveis dentro de alguns minutos. Isso torna os testes significativos de conjuntos de regras muito mais realistas, dinâmicos, impactantes, eficazes e de apoio aos objetivos de negócios.

A abordagem Edgio Dual WAF Mode também melhora ainda mais o desempenho. O conjunto de regras inteligente garante que o tráfego malicioso conhecido seja bloqueado rapidamente para dar algum espaço de respiração ao WAF para que ele possa lidar com o resto do tráfego que está sendo constantemente apresentado. Isso, por sua vez, dá aos administradores mais tempo para se concentrar em obter visibilidade preditiva; em outras palavras, eles podem ver as coisas nos aplicativos via modo de auditoria antes de serem implantados em sites de produção.

Considere o mecanismo WAAP e o design do conjunto de regras se sua empresa precisar de uma pilha de aplicativos que possa se adaptar a cargas de trabalho imprevisíveis e ainda oferecer uma arquitetura altamente segura. Quando otimizados, esses fatores podem melhorar o desempenho de seus aplicativos da Web.

Para obter mais informações sobre como o mecanismo inteligente Edgio WAAP e conjuntos de regras podem proteger seus aplicativos da Web com velocidade e precisão, vamos nos conetar hoje mesmo.