Visibilidade — ou falta dela — é uma reclamação comum em todos os domínios operacionais e de desenvolvimento hoje em dia. Os desenvolvedores lamentam a falta de visibilidade do desempenho dos aplicativos uma vez implantados no nether que é a "produção" - seja no local ou em uma nuvem pública. Operações de todos os tipos — de infraestrutura a rede e segurança — lamentam a incapacidade de espiar as brechas do tráfego de aplicativos e extrair de seu fluxo sinais de um ataque.
A visibilidade, como é usada em segurança, é necessariamente alcançada pela implantação de serviços de rede e aplicativos que estão logicamente na frente do aplicativo. Essa prática surgiu por muitos motivos, mas a verdade é que um aplicativo não tem o contexto necessário para reconhecer muitas formas de ataque. Isso ocorre porque as pilhas de aplicativos restringem os desenvolvedores às informações disponíveis por conexão. Esta é uma medida de segurança por si só, pois o isolamento impede que um agente mal-intencionado em uma conexão tenha acesso a um agente bom em outra conexão.
Mas essa restrição limita a capacidade do aplicativo — e sua plataforma — de entender conexões e tráfego de aplicativos em contexto. Ao mover essa responsabilidade para o upstream — na frente — do aplicativo, a rede e os serviços do aplicativo têm a oportunidade de avaliar cada conexão e sua carga útil no contexto de todas as conexões e cargas úteis trocadas com esse aplicativo.
É importante reconhecer isso quando analisamos como lidar com a crescente ameaça de ataques DoS na camada de aplicação.
É desconcertante notar que esses ataques à camada de aplicação estão aumentando em volume e frequência. É ainda mais preocupante saber que 43% dos ataques DoS na camada de aplicação conseguem escapar da detecção baseada em assinatura e reputação. Assinaturas estáticas se tornam rapidamente obsoletas pela rápida evolução da capacidade dos criminosos de personalizar e atingir aplicativos específicos.
Assinaturas estáticas são como vacinas contra gripe. As vacinas contra a gripe são desenvolvidas para proteger contra uma cepa específica da gripe, com base na experiência anterior com o vírus. É essencialmente uma assinatura biológica que identifica um vírus específico. Ele não é capaz de identificar uma nova cepa do mesmo vírus, o que nos deixa vulneráveis a sofrer com mais um surto de gripe.
Os maus atores são tão hábeis quanto um vírus da gripe em se adaptar e evoluir para evitar detecção e eliminação. Para enfrentar esse desafio, precisamos ser capazes de identificar os maus atores com base em seu comportamento, e não em uma assinatura específica. Para fazer isso , precisamos de visibilidade e do contexto que ela pode nos dar.
Essencialmente, a proteção comportamental L7 DoS é uma vacina contra gripe capaz de detectar o vírus responsável com base em seu comportamento, e não em sua composição real. Essa capacidade é especialmente importante na camada 7 (aplicação) porque esses ataques não são meramente volumétricos. Alguns são projetados apenas para bloquear conexões e drenar a capacidade do aplicativo de atender usuários legítimos, negando-lhes o serviço. Outros são mais sutis, tentando elaborar solicitações de modo que o aplicativo trave e cause uma interrupção.
Para detectar as diversas cepas de ataques DoS L7, é necessária a capacidade de avaliar solicitações individuais em relação ao que é considerado normal. Mas simplesmente definir um comportamento "normal" é como criar uma assinatura. O que é normal para um aplicativo de hiperescala baseado em API não é normal para um aplicativo baseado na web usado por uma única unidade de negócios ou departamento.
Portanto, determinar o que é "normal" é o primeiro passo. O DoS comportamental faz isso coletando informações específicas de cada pacote que passa pelo sistema. Esses bits são retirados dos dados de rede, transporte e aplicação. Uma linha de base é estabelecida a partir de coisas como atributos ou tamanhos normais de cabeçalho, qual é o estresse normal no servidor ou tempos de resposta e latência 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 o aplicativo mostra sinais de estresse com desempenho degradado ou carga pesada, ele aciona o sistema para entrar em "modo de ataque". Neste modo, várias coisas acontecem:
Esse processo inclui garantir que haja menos de 5% de sobreposição de características com "bons fluxos" para evitar falsos negativos. Quando a integridade do aplicativo retornar ao normal, o sistema poderá relaxar.
A vantagem do L7 Behavioral DoS é que ele se concentra em aprender constantemente o que é normal e identificar o que não é. Isso permite detectar ataques L7 que são novos ou evoluíram de ataques anteriores que os sistemas baseados em assinaturas estáticas não notarão até que sejam atualizados.
A análise comportamental é possível graças a modelos de aprendizado de máquina muito focados. Esses modelos estão permitindo que a proteção de aplicativos evolua em tempo real, oferecendo a agilidade que o domínio da segurança tanto precisa para se manter atualizado hoje. Os criminosos estão constantemente ajustando e modificando os ataques para evitar a detecção. Para proteger melhor os aplicativos, os serviços de segurança precisam mudar suas premissas e operar no contexto do ambiente em que estão. Simplesmente não é razoável pedir que profissionais de segurança criem limites para cada aplicação no portfólio da empresa.
À medida que a carga sobre segurança e operações aumenta com a adição de novos aplicativos e ambientes, é importante transferir esse fardo 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 para você , em vez de contra você.