Web Application Firewalls, ou WAFs, são um componente-chave da segurança moderna da web. De acordo com o Relatório de Investigações de Violação de Dados 2020 da Verizon, mais de 80% dos ataques do ano passado visaram aplicações web - uma estatística nada surpreendente, dado o tamanho cada vez maior da superfície de ataque das aplicações atuais. Contudo, nem todos os WAFs são criados de forma igual. À medida que os ataques cibernéticos e as aplicações web se tornam cada vez mais complexos, os WAFs devem utilizar técnicas cada vez mais sofisticadas para proteger as aplicações, bem como assegurar que a proteção não prejudique o desempenho.
Este post, portanto, informará os leitores sobre o que procurar em um WAF, além de discutir o que é um WAF, a diferença entre WAFs baseados em assinatura e WAFs baseados em scoring, bem como a necessidade de inteligência de ameaças em tempo real e proteção contra ataques zero-day. Além disso, abordará como WAFs baseados em assinatura e WAFs baseados em scoring podem ser comparados quanto ao tratamento dessas ameaças.
O que é WAF?
WAFs fornecem proteção para aplicações web filtrando o tráfego HTTP para bloquear requisições maliciosas e proteger contra OWASP e outras ameaças. Conforme apresentado pelo Gartner em seu Quadrante Mágico de 2020 para Firewalls de Aplicações Web - 2020 Magic Quadrant for Web Application Firewalls-, “WAFs são implementados para proteger aplicações web contra ataques externos e internos, monitorar e verificar o acesso a aplicações web, e coletar registros de acesso para compliance/auditoria e análises”. [1] Além disso, os setores que lidam com informações de pagamentos e outros dados sensíveis contam com WAFs para cumprir diferentes requisitos de compliance, tais como PCI Security Standards.
Contra quais tipo de ameaças os WAFs protegem?
Provavelmente, o mais importante caso de uso para um WAF seja proteger as aplicações que o OWASP, ou Open Web Application Security Project, chama de OWASP Top 10 vulnerabilidades. Em seu site, o OWASP refere-se à lista das Top 10 ameaças como “um documento de conscientização padrão para desenvolvedores e para segurança de aplicações web que representa um amplo consenso sobre os riscos de segurança mais críticos para aplicações web”.
Essas ameaças incluem vulnerabilidades que podem levar a tipos específicos de ataques, como Injections ou Cross-Site Scripting, bem como a outras práticas, tais como Broken Access Control, quebra de controle de acessos, e Insufficient Logging and Monitoring, registro e monitoramento insuficientes, que podem ser exploradas para acessar e manipular dados.
Outros riscos do OWASP Top 10 incluem:
- quebra de autenticação;
- exposição de dados sensíveis;
- entidade externa XML;
- configuração de segurança incorreta;
- desserialização insegura;
- utilização de componentes com vulnerabilidades conhecidas.
Além disso, os WAFs mais avançados podem ampliar a proteção OWASP contra diferentes vetores de ataque, como ataques baseados em API e proteger de ameaças emergentes e zero-day.
Ataques Zero-day
Uma das principais dificuldades da segurança cibernética é lidar com ameaças que ainda não são conhecidas pelos especialistas em segurança cibernética, frequentemente chamadas de ataques zero-day. Sem as proteções para evitar essas ameaças, o tempo está a favor dos invasores enquanto as equipes de segurança correm para corrigir as vulnerabilidades e proteger as aplicações. Diante disso, conforme observado pela revista de segurança digital CSO, “quanto mais tempo um invasor possui em um ambiente, mais acesso ele pode obter a diferentes dispositivos, diferentes dados, diferentes contas e a tudo aquilo de que precisamos remover seu acesso e limitar seu impacto no futuro”.
Como resultado, a inteligência de ameaças em tempo real e a capacidade de proteção contra ataques emergentes e zero-day são cruciais para a segurança de uma aplicação. Em vista disso, a Forrester salientou a necessidade de proteção contra ataques zero-day ao mencionar que “uma proteção robusta contra ataques zero-day e ameaças emergentes requer uma função de inteligência de ameaças extensiva combinada com a capacidade de enviar automaticamente novas regras pré-testadas aos usuários”. [2]
Como funcionam os WAFs baseados em assinatura e os baseados em scoring?
Embora todos os WAFs sejam concebidos para filtrar o tráfego malicioso, seus métodos para proteger aplicações são diferentes. Enquanto os WAFs baseados em assinatura dependem de listas de padrões de ataques conhecidos, ou assinaturas, para evitar ameaças conhecidas, os WAFs baseados em scoring usam simples conjuntos de regras para identificar tanto as ameaças conhecidas quanto as desconhecidas e bloqueá-las de acordo com os níveis de sensibilidade desejados.
WAFs baseados em assinaturas
WAFs baseados em assinatura aproveitam os dados relativos a ataques anteriores para filtrar o tráfego que corresponde a padrões de ataque conhecidos. Cada vez que um novo ataque é detectado, provedores de cibersegurança criam uma assinatura contendo componentes do padrão de ataque. A assinatura é, então, adicionada ao WAF, que irá compará-la com cada nova requisição, podendo tanto bloquear quanto gerar um alerta para quaisquer requisições que correspondam à assinatura.
Como consequência, WAFs baseados em assinatura devem ser constantemente atualizados para que sua relevância seja mantida. Essas atualizações geram milhares de assinaturas, que devem ser comparadas a cada nova requisição, resultando em uso intensivo de recursos e redução de desempenho, na medida em que as requisições são processadas.
WAFs baseados em assinatura:
- usam modelos de segurança negativos que admitem acesso por padrão;
- bloqueiam apenas padrões de ataque conhecidos;
- devem ser constantemente atualizados conforme o surgimento de novos padrões;
- podem contribuir significativamente para a latência e o uso de recursos.
Além disso, WAFs baseados em assinatura podem retornar uma elevada incidência de falsos negativos devido ao uso de modelos de segurança negativos, que permitem o acesso por padrão, a menos que uma tentativa se associe a definições predefinidas de comportamento malicioso do WAF. Como resultado, as aplicações ficam vulneráveis a ameaças emergentes, como ataques zero-day, bem como a hackers que podem facilmente manipular strings conhecidas ou padrões de expressão para obter uma posição segura nas aplicações.
Uma pesquisa sobre inteligência de ameaças conduzida pelo periódico de informática e segurança Elsevier ecoou essa preocupação, observando que WAFs tradicionais e outras medidas de segurança que dependem “fortemente de tecnologia estática de identificação de padrões baseada em listas ou assinaturas de malware” tornam o conteúdo digital “extremamente vulnerável a ameaças em constante evolução, que exploram vulnerabilidades desconhecidas e de zero-day”.
WAFs baseados em scoring
Embora as políticas de segurança baseadas em assinatura tenham sido a prática tradicional usada por firewalls e por programas antivírus durante muito tempo, WAFs modernos foram desenvolvidos para evitar os problemas de desempenho e utilização inerentes às listas de assinaturas, substituindo-as por conjuntos de regras inteligentes. Essas regras se baseiam em algoritmos para analisar a sintaxe de numerosos padrões de ataque, que são condensados em um simples conjunto de regras e de alto desempenho, como os operadores do dicionário para ataques de injeção por SQL, e para atribuir um scoring ou um número de pontos quando essas regras são atendidas - nesse caso, palavras como UNION, INSERT ou TABLE aumentariam o scoring de uma requisição. Se o scoring da requisição ultrapassar determinado limite - que pode ser ajustado de acordo com a sensibilidade desejada - ela será bloqueada.
Como resultado, o scoring de WAFs minimiza o uso de recursos e evita os problemas de latência dos métodos baseados em assinatura. Além disso, o scoring de WAFs pode ser usado para bloquear variações nos padrões de ataques antes de serem explorados por hackers. Com o modelo de segurança negativo usado por WAFs baseados em assinatura, as requisições são consideradas seguras até que se prove o contrário; por sua vez, WAFs baseados em scoring incorporam métodos de segurança positiva, que bloqueiam por padrão quaisquer requisições acima de determinado limite. Isso permite o bloqueio de ameaças emergentes e de zero-day antes mesmo de uma assinatura de ataque ser conhecida e registrada.
WAFs baseados em scoring:
- condensam padrões de ataque em regras simples e de desempenho;
- definem ambos os comportamentos negativos e positivos para aumentar a segurança;
- requerem menos recursos e tempo de processamento do que WAFs baseados em assinatura;
- protegem contra ataques emergentes e zero-day;
- exigem menos atualização manual de políticas, resultando em economia de custos no SecOps.
Escolhendo um parceiro WAF
O Gartner [1] fornece diretrizes sobre quais features tornam os WAFs mais eficazes no bloqueio das complexas ameaças de segurança cibernética que existem atualmente. Assim, o instituto recomenda WAFs que:
- maximizem a detecção e o bloqueio de ameaças conhecidas e emergentes;
- minimizem os falsos-positivos e se adapte às aplicações web à medida que evoluem;
- possam distinguir bots de usuários humanos e aplicar políticas adequadas para ambos;
- sejam fáceis de usar e minimizar o impacto no desempenho da aplicação;
- protejam APIs e aplicações web voltadas para o público, voltados para parceiros e internos.
O Web Application Firewall da Azion é uma solução fácil de usar, projetada para fornecer segurança no edge, ao mesmo tempo que garante o alto desempenho necessário para aplicações edge-native. Em vez de depender de estratégias de segurança negativas que deixam as empresas vulneráveis a ameaças emergentes e zero-day, o Web Application Firewall da Azion usa um sistema baseado em scoring e integra-se às soluções analíticas da Azion, bem como às soluções de terceiros SIEM e Big Data para fornecer informações em tempo real sobre as ameaças.
O Web Application Firewall da Azion permite:
- proteção contra as ameaças OWASP Top 10;
- customização para atender a vários requisitos de compliance;
- monitoramento em tempo real das ameaças de segurança através do Edge Analytics;
- segurança zero-trust por meio de listas brancas e um modelo de segurança positivo;
- patching virtual para minimizar a necessidade de alterações de código customizado.
Para evitar falsos-positivos e falsos-negativos, o Azion WAF permite regras e políticas customizáveis com controle granular sobre a sensibilidade de cada categoria de proteção contra ameaças. Além disso, o WAF programático da Azion possibilita a criação e a atualização de regras automatizadas usando sofisticadas APIs pré-construídas e o Edge Firewall Rules Engine. Assim, atualizações de regras e patches virtuais podem ser implementados sem esforço no edge utilizando o Azion Edge Functions, diminuindo o atrito entre desenvolvedores e equipes de segurança e habilitando CI/CD.
Expanda a segurança das aplicações através de produtos da Azion
Para obter maior segurança, o Web Application Firewall da Azion pode ser estendido por meio de outras soluções da Azion, tais como:
- Proteção DDoS: mitiga os complexos ataques DDoS na camada de rede e de aplicações;
- Network Layer Protection: cria um perímetro de segurança programável em torno do conteúdo, das aplicações e das infraestruturas de origem;
- Edge Functions: constrói e executa funções orientadas a eventos no edge da rede;
- Azion Marketplace: integra perfeitamente soluções de segurança de terceiros.
O pacote de segurança da Azion cobre a camada de rede das aplicações, bem como o código serverless implementado no edge. Com nossa solução serverless Edge Functions, desenvolvedores podem criar funções customizadas para aproveitar as vantagens de funções predefinidas como Azion JWT, que protegem o acesso a APIs. Além disso, os clientes podem desenvolver seus recursos de segurança de edge por meio do Azion Marketplace, que permite a integração perfeita de soluções de terceiros, como o Bot Manager da Radware.
Referências
[1] D’Hoinne, J., Hils, A., Kaur, R., & Watts, J. (2020). Magic Quadrant for Web Application Firewalls (pp. 1-3, Rep.). N.p., N.p.: Gartner.