A visibilidade — ou a falta dela — é uma reclamação comum atualmente em todas as áreas de operações e desenvolvimento. Os desenvolvedores lamentam a falta de visibilidade sobre o desempenho dos aplicativos depois que são implantados nesse limbo chamado "produção", seja no ambiente local ou em uma nuvem pública. Equipes de operações de todos os tipos — da infraestrutura à rede e à segurança — queixam-se da impossibilidade de examinar as brechas no tráfego dos aplicativos e extrair de seu fluxo indícios de um ataque.
A visibilidade, conforme o termo é empregado no contexto da segurança, é necessariamente obtida por meio da implantação de serviços de rede e de aplicações posicionados logicamente à frente da aplicação. Essa prática surgiu por diversos motivos, mas a verdade é que uma aplicação não dispõe do contexto necessário para reconhecer muitas formas de ataque. Isso ocorre porque as pilhas de aplicações restringem os desenvolvedores às informações disponíveis para cada conexão. Essa restrição é, por si só, uma medida de segurança, pois o isolamento impede que um agente mal-intencionado em uma conexão tenha acesso a um usuário legítimo em outra conexão.
Mas essa restrição limita a capacidade da aplicação — e de sua plataforma — de compreender as conexões e o tráfego da aplicação em seu contexto. Ao transferir essa responsabilidade para um ponto anterior à aplicação, os serviços de rede e de aplicação passam a ter a oportunidade de avaliar cada conexão e sua carga útil no contexto de todas as conexões e cargas úteis trocadas com essa aplicação.
É importante reconhecer isso ao analisarmos como enfrentar a crescente ameaça de ataques de negação de serviço (DoS) na camada de aplicação.

É preocupante observar que esses ataques à camada de aplicação estão aumentando em volume e frequência. É ainda mais alarmante saber que 43% dos ataques de DoS à camada de aplicação conseguem escapar da detecção baseada em assinaturas e reputação. As assinaturas estáticas tornam-se rapidamente obsoletas devido à rápida evolução da capacidade dos agentes mal-intencionados de personalizar ataques e direcioná-los a aplicações específicas.
As assinaturas estáticas são como as vacinas contra a gripe. As vacinas contra a gripe são desenvolvidas para proteger contra uma determinada cepa do vírus, com base em experiências anteriores com ele. Trata-se, essencialmente, de uma assinatura biológica que identifica um vírus específico. Ela não é capaz de identificar uma nova cepa do mesmo vírus, deixando-nos vulneráveis a enfrentar mais um episódio de gripe.
Os agentes mal-intencionados são tão hábeis quanto o vírus da gripe em se adaptar e evoluir para evitar a detecção e a eliminação. Para enfrentar esse desafio, precisamos ser capazes de identificar agentes mal-intencionados com base em seu comportamento em vez de uma assinatura específica. Para fazer isso, precisamos de visibilidade e do contexto que ela pode nos proporcionar.
Proteção comportamental contra DoS na camada 7
Em essência, a proteção comportamental contra DoS na camada 7 é como uma vacina contra a gripe capaz de detectar o vírus responsável com base em seu comportamento em vez de sua composição real. Esse recurso é especialmente importante na camada 7 (aplicação), pois esses ataques não são meramente volumétricos. Alguns são projetados apenas para ocupar as conexões e esgotar a capacidade da aplicação de atender usuários legítimos, impedindo que eles acessem o serviço. Outros são mais sutis e tentam criar solicitações que façam a aplicação falhar e causem uma indisponibilidade.
Para detectar as diversas variantes de ataques DoS de L7, é necessário ter a capacidade de avaliar solicitações individuais em relação ao que é considerado normal. No entanto, simplesmente definir um comportamento "normal" é semelhante a criar uma assinatura. O que é normal para uma aplicação de hiperescala baseada em API não é normal para uma aplicação web usada por uma única unidade de negócios ou departamento.
Portanto, determinar o que é "normal" é o primeiro passo. A proteção comportamental contra DoS faz isso coletando informações específicas de cada pacote que passa pelo sistema. Essas informações são extraídas dos dados de rede, transporte e aplicação. Uma linha de base é estabelecida com base em fatores como atributos ou tamanhos normais de cabeçalhos, o nível normal de carga no servidor e os tempos de resposta e a latência considerados normais. Usando um modelo estatístico, o sistema calcula um limite de normalidade para esses valores a partir de milhares de observações por segundo.
Quando a aplicação apresenta sinais de sobrecarga, com desempenho degradado ou carga elevada, o sistema entra no "modo de ataque". Nesse modo, várias ações são executadas:
- A limitação de taxa é iniciada enquanto uma assinatura dinâmica é criada com base na detecção de anomalias.
- Dependendo das suas configurações, a nova assinatura personalizada pode aguardar sua aprovação ou ativar automaticamente a mitigação.
- Você pode personalizar ainda mais o funcionamento da mitigação de ataques quando o tráfego corresponder à nova assinatura.
- Conservador – bloquear apenas ameaças conhecidas
- Padrão – bloqueie apenas o tráfego malicioso conhecido, a menos que a sobrecarga do servidor esteja muito alta; nesse caso, limite a taxa de todo o tráfego durante o ataque
- Agressivo – limita automaticamente a taxa de todo o tráfego conforme necessário para garantir a integridade do servidor
- Depois que a assinatura dinâmica é executada por tempo suficiente para identificar a origem do ataque, a mitigação deixa de limitar a taxa e passa a realizar o bloqueio na camada 3.
Esse processo inclui garantir que haja menos de 5% de sobreposição de características com os “fluxos legítimos” para evitar falsos negativos. Assim que a integridade da aplicação voltar ao normal, o sistema poderá flexibilizar as medidas.
A vantagem da proteção comportamental contra DoS na camada 7 (L7) é que ela se concentra em aprender continuamente o que é normal e identificar o que não é. Isso permite detectar ataques de L7 novos ou que evoluíram de ataques anteriores, os quais os sistemas estáticos baseados em assinaturas só perceberão após serem atualizados.
A análise comportamental é possível graças a modelos de aprendizado de máquina altamente especializados. Esses modelos permitem que a proteção de aplicações evolua em tempo real, oferecendo a agilidade de que a área de segurança tanto precisa para acompanhar o cenário atual. Agentes mal-intencionados ajustam e modificam constantemente os ataques para evitar a detecção. Para proteger melhor as aplicações, os serviços de segurança precisam rever suas premissas e operar de acordo com o contexto do ambiente em que estão inseridos. Simplesmente não é razoável pedir aos profissionais de segurança que definam limites para cada uma das aplicações do portfólio da empresa.
À medida que a carga sobre as equipes de segurança e operações aumenta com a adição de novos aplicativos e ambientes, é importante transferir essa responsabilidade das pessoas para a tecnologia sempre que possível. O DoS Comportamental como parte de um WAF Avançado é uma das maneiras de colocar as máquinas para trabalhar a seu favor, em vez de contra você.
Sobre o autor

Lori MacVittie é engenheira distinta e evangelista-chefe no Escritório do CTO da F5, com ampla experiência em entrega de aplicações, estratégia de automação e infraestrutura. Ela é conhecida por transformar complexidade em clareza, seja definindo diretrizes para agentes de IA, analisando arquiteturas multinuvem frágeis ou investigando os limites de sistemas escaláveis. Ela acumula mais de trinta anos de experiência no setor, abrangendo desenvolvimento de aplicações, arquitetura de TI e operações de redes e sistemas. Antes de ingressar na F5, atuou como editora de tecnologia e recebeu diversos prêmios. MacVittie tem mestrado em Ciência da Computação e é uma autora prolífica, com publicações que abrangem segurança, nuvem e arquitetura empresarial. Ela também é uma entusiasta de jogos de tabuleiro e videogames, além de ter opiniões assumidamente fortes sobre queijos.
Mais publicações de Lori Mac VittiePublicações relacionadas no blog

Entrega e proteção de agentes de IA em fábricas de IA: F5 para a arquitetura de referência NVIDIA OpenShell para agentes de IA seguros
As soluções da F5 ampliam a Arquitetura de Referência NVIDIA OpenShell para agentes de IA seguros.
Como medir – e minimizar – o custo total de propriedade do seu Kubernetes
O Kubernetes pode ser baixado e executado gratuitamente, mas sua manutenção está longe de não ter custos. Assim como outras grandes plataformas de código aberto que são “gratuitas” apenas em um sentido simplista, o Kubernetes quase certamente exigirá investimentos para ser implantado e operado.
As-Code: a pilha de TI contínua
Infraestrutura, configuração, pipeline, operações. De repente, tudo é “como código”. Lori MacVittie busca esclarecer a terminologia e identificar os diferentes componentes de uma stack contínua de TI.
O estado da entrega de aplicações em 2017: automação, APIs e DevOps
Explore o relatório State of Application Delivery de 2017. Leia o blog retrospectivo da F5 sobre o início da ascensão das redes declarativas e dos pipelines de DevOps.
DevOps Summit: onde a rede foi convidada para a festa
No DevOps Summit NY, falou-se muito não apenas sobre DevOps, mas também sobre contêineres, IoT e microsserviços. As sessões se concentraram não só na mudança cultural necessária para crescer em escala com uma abordagem DevOps, mas também fizeram questão de incluir...
F5 e Nutanix convergem em infraestrutura no .NEXT
Aplicações empresariais como Microsoft SharePoint e Exchange, juntamente com a VDI, continuam sendo a espinha dorsal da sua empresa. A produtividade, embora não seja tão atraente quanto o lucro, é um fator essencial para o sucesso das operações empresariais atuais. Deixar de...