Ataques de negação de serviço distribuída (DDoS) têm se tornado cada vez mais comuns como uma forma de sabotagem por ativistas, criminosos, jogadores e até mesmo governos. À medida que os provedores de serviços implementam a infraestrutura 5G e as empresas passam pela transformação digital, espera-se que o tamanho e a área de superfície alvo de possíveis ataques aumentem. Esse risco aumentado, combinado com a tendência de mudança organizacional para arquiteturas definidas por software eficientes e econômicas, torna a mitigação de DDoS para ambientes de nuvem/NFV mais importante agora do que nunca.
Este artigo apresenta informações sobre mecanismos de ataque DDoS e descreve como a solução de mitigação de DDoS de software da F5 pode ser aumentada com o FPGA PAC N3000 SmartNIC da Intel, permitindo que ataques DDoS de magnitude até 300 vezes maior sejam mitigados por meio do descarregamento para o FPGA incorporado do SmartNIC.
Neste mundo interconectado e dependente digitalmente, os ataques cibernéticos podem ter impactos negativos significativos em empresas, provedores de serviços e entidades governamentais. Enquanto as organizações de notícias se concentram em hackers que roubam informações confidenciais para usar em chantagem e extorsão, muitos agentes mal-intencionados simplesmente pretendem causar danos financeiros.[1] Em um ataque de negação de serviço (DoS), os invasores têm como alvo um serviço conectado à Internet (por exemplo, um site ou servidor de e-mail) e fazem com que ele trave ou pare de responder. Um ataque DoS pode ser o resultado de uma solicitação especialmente criada que causa mau funcionamento do software do servidor.
Nos últimos anos, melhores práticas de codificação e técnicas de regressão tornaram ataques DoS simples menos eficazes. Como resultado, ataques de negação de serviço distribuída (DDoS) se tornaram mais comuns; espera-se que essa tendência continue à medida que os provedores de serviços implementam infraestrutura 5G e computação de ponta. Os ataques DDoS são frequentemente orquestrados por indivíduos mal-intencionados e distribuídos por uma botnet coordenada de dispositivos de computador comprometidos em rede. Esses dispositivos podem ser comandados para enviar tráfego de ataque para um dispositivo ou serviço da vítima.[1] Embora o impacto de um único dispositivo comprometido seja mínimo para a maioria dos padrões de processamento, um ataque coordenado por milhares ou até dezenas de milhares de dispositivos de uma grande botnet pode atingir níveis de processamento que muitos provedores de serviços não conseguem absorver.
Para empresas que dependem de sua presença online, a degradação da qualidade do serviço e o tempo de inatividade são ruins para os resultados financeiros. O comércio eletrônico é particularmente vulnerável a interrupções; interrupções de serviço podem custar de milhares a milhões de dólares por minuto. Ataques que não causam uma interrupção ainda podem degradar o desempenho, levando a uma perda real de receita se clientes frustrados mudarem para um provedor de comércio eletrônico diferente.[2]
O aumento da velocidade de conexão da Internet do consumidor e a maior presença de dispositivos na nuvem aumentam o potencial de ataques DDoS. Dispositivos conectados representam uma preocupação especial, e manter sua segurança é fundamental para preservar a segurança e a confiabilidade dos serviços online. Junto com o aumento do potencial desses ataques, muitas organizações correm maior risco de ataques DDoS, pois adotam arquiteturas centradas em software. A maioria das proteções baseadas em software contra DDoS não tem a capacidade e o desempenho necessários para se defender contra ataques em larga escala. Felizmente, os SmartNICs — a última geração de placas de interface de rede — podem mudar isso, aliviando as funções de rede e segurança das soluções de software e aliviando a pressão sobre as CPUs disponíveis.
Este relatório definirá uma série de mecanismos de ataque, usando evidências de cenários de ataque reais, antes de mostrar como a solução de mitigação de DDoS de software da F5, F5® BIG IP® Advanced Firewall Manager™, Virtual Edition (BIG-IP AFM VE) pode ser aumentada com o PAC 3000 SmartNIC da Intel. Mostraremos como esta solução combinada (BIG-IP Virtual Edition para solução SmartNICs) é capaz de mitigar ataques DDoS até 300 vezes maiores em magnitude do que uma solução equivalente somente de software.
Ataques sem estado podem ser usados contra protocolos com estado, mas não exigem que o invasor rastreie o estado de conexões maliciosas. Eles são populares porque exigem recursos mínimos e funcionam com falsificação de endereço IP de origem. A forma clássica e mais amplamente utilizada de ataque começa com uma solicitação falsa a um servidor para abrir uma conexão com estado, que o cliente infrator (geralmente um nó de botnet) nunca reconhecerá.[1] O ataque de inundação TCP SYN é um exemplo específico. Durante a configuração de uma conexão TCP, o handshake de três vias começa com o cliente transmitindo um pacote SYN. Quando o servidor recebe um pacote SYN do cliente, ele imediatamente aloca memória para uma estrutura de dados de soquete TCP que contém a tupla, o número de sequência e o estado da sessão. O servidor então responde ao cliente com um pacote SYN-ACK.
Figura 1 – Handshake TCP triplo completo
Em circunstâncias normais, a perda de pacotes ou a comunicação lenta podem causar atrasos ou perda total do pacote SYN-ACK. O servidor deve decidir por quanto tempo manter o soquete em um estado semiaberto antes de transmitir uma reinicialização e liberar a memória para outras tarefas.[3] Uma técnica popular de DDoS é gerar uma enxurrada de pacotes SYN para enganar o servidor vítima e fazê-lo alocar soquetes TCP e memória para milhares de sessões falsas. Uma taxa de ataque de milhares de pacotes SYN por segundo faz com que um servidor web consuma rapidamente toda a sua memória. Neste exemplo, o invasor malicioso tem vantagem; o invasor sabe que nenhuma das sessões será usada, então não há necessidade de reservar memória para rastrear as sessões. Isso permite que o invasor dedique todos os recursos do sistema para transmitir pacotes SYN falsos adicionais.
Figura 2 – Inundação SYN usando um endereço IP de origem falsificado
Protocolos sem estado são fáceis de explorar porque funcionam bem usando endereços de origem falsificados.[4] Como os protocolos sem estado não exigem um handshake, a transmissão de um único pacote criado para um servidor inicia uma resposta imediata, usando recursos mínimos no dispositivo adversário e ocultando a identidade do adversário.[5] Os pacotes de resposta de dados da vítima são encaminhados para o IP falsificado, que pode ser um endereço separado da vítima; em volume, eles podem tornar lenta ou desabilitar uma conexão de internet ou servidor, aumentando a eficácia do ataque.
Uma categoria separada de ataques sem estado, conhecidos como ataques de amplificação, inclui inundação de DNS e inundação de NTP. Ambos usam falsificação de endereço como parte do vetor de ataque. Ataques de ampliação são particularmente prejudiciais porque a resposta do servidor pode ser uma ordem de magnitude maior que a solicitação original.
Figura 3 – Diagrama de ataque DDoS DNS reflexivo
Em 2018, o GitHub, um serviço popular de gerenciamento de código preferido entre desenvolvedores, sofreu o maior ataque DDoS já registrado. Durante o pico do ataque, o serviço viu tráfego de entrada a uma taxa de 1,3 terabytes por segundo (Tbps). Este foi um ataque DDoS memcached que aproveitou o efeito de amplificação usando o popular sistema de cache de banco de dados, Memcached. Durante o ataque, o invasor inundou os servidores Memcached com solicitações falsificadas e conseguiu amplificar o ataque por um fator de 50.000.[6]
Figura 4 – Um ataque de amplificação de DNS orquestrado por botnet
Embora os ataques sem estado representem um tipo comum de ameaça DDoS, sua simplicidade os torna fáceis de detectar, prevenir ou mitigar.
Ataques DDoS com estado são mais bem-sucedidos e difíceis de prevenir. Ataques com estado completam um aperto de mão com a vítima e, de outra forma, se comportam como um usuário legítimo. Essa categoria de vetor de ataque pode enganar mecanismos mais antigos de prevenção de DDoS e requer mais poder de computação e memória na máquina atacante. A chave para lançar um ataque bem-sucedido está em se comportar como uma solicitação legítima. O desafio em mitigar esses ataques está na classificação adequada para separar as solicitações reais dos usuários das maliciosas.
Um exemplo simples de um ataque com estado envolve emular o comportamento de usuários legítimos para criar um volume de tráfego suficientemente grande usando um grande número de invasores (por exemplo, uma botnet). Esses ataques volumétricos têm sucesso quando a vítima não consegue consumir ou processar todas as solicitações, ou quando a conexão de internet do serviço está saturada até a capacidade. Como o tráfego é criado para emular o comportamento de usuários legítimos, é muito mais difícil detectar e diferenciar o tráfego malicioso do legítimo. Para serviços que envolvem algum tipo de mecanismo de handshake (exemplos podem incluir desafio-resposta, codificação secreta ou troca de cookies), um ataque volumétrico pode ser a única maneira de explorar a vítima, a menos que seja encontrada uma fraqueza no esquema de resposta que permita uma geração trivial de resposta válida.[7]
Uma categoria de ataques avançados com estado tem como alvo serviços específicos no nível do aplicativo. Um exemplo, que ataca o protocolo HTTP, é conhecido como “Slowloris”. Este ataque começa com um invasor malicioso enviando várias solicitações HTTP “GET” parciais ao servidor web para saturar o máximo de conexões simultâneas disponíveis. O ataque funciona porque o protocolo HTTP manterá uma conexão aberta enquanto um cliente estiver enviando um comando de solicitação, que pode ser dividido em vários pacotes. O cliente malicioso enviará periodicamente solicitações HTTP parciais ao servidor, com até vários minutos de tempo ocioso entre elas, sem nunca encerrar a solicitação.
Figura 5 – Ataque RUDY utilizando HTTP POST lento
Um método semelhante ao Slowloris é o ataque “Are You Dead Yet” ou “RUDY”, que utiliza comandos HTTP “POST” para enviar lentamente respostas de dados para um servidor web desavisado.[8] Ambos os métodos exigem recursos mínimos para serem executados e, como o tempo limite padrão para manter uma conexão HTTP aberta é de 5 minutos em muitos servidores web, eles também exigem largura de banda mínima.[1]
Um ataque de inundação de fragmentos também pode ser um ataque com estado eficaz. Essa técnica pode ser coordenada com muitas portas e endereços de origem visando um único destino. O ponto de extremidade sob ataque salvará o estado em cada pacote de fragmento enquanto tenta remontar cada um deles. Cada combinação exclusiva de porta de origem e endereço exigirá a alocação de outro buffer de fragmentação pelo sistema sob ataque. A capacidade dos vários sistemas maliciosos de originar pacotes fragmentados pode ultrapassar os recursos do sistema sob ataque, pois ele tenta manter o estado em todas as transações fragmentadas.
Como os ataques com estado dependem da geração de respostas válidas para a vítima, normalmente não é possível falsificar o endereço de origem do invasor. Uma exceção a essa regra é se o invasor puder comprometer um roteador ou meio de rede pelo qual o tráfego legítimo esteja passando. Nesse caso, o invasor pode falsificar o endereço de origem e gerar respostas válidas com estado ao farejar a resposta da vítima, basicamente acompanhando para rastrear o estado da conexão.[7]
Para caracterizar a eficácia das soluções F5 para mitigar diferentes tipos de ataques DDoS, um ambiente de teste foi configurado usando sistemas de teste IXIA. Um IXIA XT80 obteve tráfego de cliente e respostas de servidor "legítimos" bons, e um IXIA XGS12 gerou tráfego de ataque de cliente ruim. O teste foi configurado para estabelecer uma linha de base estável de tráfego cliente-servidor legítimo enquanto aumenta o tráfego de ataque para identificar o nível em que o tráfego de ataque começa a interferir na entrega bem-sucedida do tráfego legítimo. Isso permitiu a caracterização reprodutível e a comparação da eficácia da mitigação. Para cada teste, os ataques DDoS foram considerados como tendo afetado o sistema com sucesso após a observação de uma queda de 10% no tráfego legítimo em relação à linha de base estabelecida.
A linha de base de tráfego legítimo é configurada em 20% da capacidade do sistema BIG-IP VE, que era um VE de alto desempenho de 8 vCPU com o módulo BIG-IP AFM provisionado. Como esse sistema é capaz de transacionar 40 Gbps, a linha de base de tráfego legítimo foi mantida em 8 Gbps.
O BIG-IP AFM VE atenua ataques DDoS estabelecendo limites permitidos para várias classificações de tráfego (por exemplo, UDP, fragmentos, TCP SYN, etc.). Quando o limite para um tipo de tráfego específico for excedido, o sistema pode ser configurado para descartar todo o tráfego que corresponda a essa classificação. Isso alivia o sistema de custos adicionais associados ao processamento desse tipo de tráfego. Embora as soluções DDoS baseadas em software possam fornecer algum benefício em comparação a um sistema desprotegido, as limitações na capacidade do software de processar pacotes na taxa de linha significam que a mitigação de software não pode impedir completamente os efeitos de um ataque DDoS.
O próximo passo no teste foi estabelecer a taxa de tráfego DDoS necessária para começar a interromper o tráfego legítimo apenas com a solução de software em vigor. Isso foi feito para permitir uma comparação de desempenho entre uma solução somente de software e a solução BIG-IP VE para SmartNICs. A configuração do sistema arquitetônico para o teste BIG-IP AFM pode ser vista na Figura 6.
Figura 6 – Configuração do sistema arquitetônico para teste BIG-IP AFM VE (somente software)
Dados de desempenho de mitigação de DDoS para BIG-IP AFM VE foram capturados para três tipos diferentes de ataques DDoS para permitir uma análise mais abrangente. Os tipos de ataque para esta simulação incluíram:
A Figura 7 mostra o volume de tráfego, em Gbps, necessário para que cada um desses tipos de ataque impacte o tráfego bom ao usar o BIG-IP AFM VE (somente software).
Figura 7 – Taxas de DDoS necessárias para impactar o tráfego bom usando BIG-IP AFM VE (somente software)
Nem todos os ataques DDoS são criados iguais. Alguns são mais amplamente distribuídos pelo sistema do que outros, e alguns ataques exigem mais inspeção e análise de pacotes antes de poderem ser identificados. Isso faz com que a eficácia dos ataques DDoS varie, como pode ser visto no gráfico acima. Esses três métodos de ataque simulados demonstram que o tráfego legítimo pode ser afetado por ataques DDoS em taxas de transferência relativamente baixas ao usar soluções somente de software.
A solução BIG-IP VE para SmartNICs é composta por um VE AFM de alto desempenho de 8vCPU (o mesmo usado no teste somente de software) integrado com um Intel FPGA PAC N3000 SmartNIC. Isso permite que a proteção DDoS seja descarregada para o SmartNIC. O FPGA incorporado neste SmartNIC foi programado para detectar e bloquear automaticamente mais de 100 tipos diferentes de ataques DDoS conhecidos, ao mesmo tempo em que usa análise comportamental para mitigar ameaças desconhecidas e em evolução.
Ao monitorar as taxas de recepção de pacotes para todos os perfis de tráfego programados dentro do tráfego de entrada e compará-los com limites aceitáveis e configurados, o FPGA pode determinar quando um limite foi excedido. Quando isso ocorre, o FPGA aplica as políticas apropriadas para descartar o tráfego que excede os máximos configurados. Isso protege o subsistema da CPU do processamento de tráfego de pacotes que, em última análise, será descartado devido à política de mitigação de DDoS. Como o FPGA é capaz de classificar o tráfego de pacotes na taxa de linha (diferentemente do subsistema da CPU), a solução habilitada para SmartNIC oferece benefícios significativos em relação à solução somente de software.
Na próxima etapa desta demonstração, a solução habilitada para SmartNIC foi submetida aos mesmos três ataques DDoS no ambiente de teste. Como antes, o objetivo era identificar a taxa de tráfego DDoS necessária para impactar o fluxo de tráfego legítimo. A Figura 8 mostra a configuração do sistema arquitetônico para o teste BIG-IP VE para SmartNICs.
Figura 8 - Configuração do sistema arquitetônico para teste BIG-IP VE para SmartNICs
Os resultados deste teste são mostrados na Figura 9.
Figura 9 – Taxas de DDoS necessárias para impactar o tráfego bom usando a solução BIG-IP VE para SmartNICs
Foi observado que a solução DDoS somente de software da F5 (BIG-IP AFM VE) pode fornecer algum nível de proteção contra ataques de pequena escala antes que o tráfego legítimo seja afetado negativamente, mas essa solução não conseguiu evitar impactos negativos de ataques maiores. A integração do BIG-IP AFM VE com o FPGA PAC N3000 SmartNIC da Intel para formar a solução BIG-IP VE para SmartNICs produziu melhorias significativas de desempenho. Ao transferir a responsabilidade de mitigar ameaças de DDoS do BIG-IP AFM VE para um FPGA dentro do SmartNIC, a solução combinada foi capaz de suportar ataques de 41 a 381 vezes maiores em magnitude, incluindo ataques com uma taxa de 30 Gbps ou mais. Para organizações e provedores de serviços com imperativos de priorizar a nuvem, esta solução oferece proteção de alto desempenho de hardware desenvolvido especificamente, ao mesmo tempo em que oferece a flexibilidade e a agilidade de ambientes de nuvem. Além disso, como os FPGAs podem ser reprogramados, é possível que eles aumentem outras funções de rede e segurança conforme as ameaças evoluem.
1 G. D. Hakem Beitollahi, Analisando contramedidas bem conhecidas contra ataques distribuídos de negação de serviço, Computer Communications, 2012.
2 HW Chuan Yue, "Proteção contra sobrecarga com foco no lucro em sites de comércio eletrônico", Journal of Network and Computer Applications, vol. 32, p. 347–356, 2009.
3 AM Christos Douligeris, "Ataques DDoS e mecanismos de defesa: classificação e estado da arte", Computer Networks, vol. 44, no. 5, pp. 643-666, 2004.
4 GD Hakem Beitollahi, "Analisando contramedidas bem conhecidas contra ataques distribuídos de negação de serviço", Computer Communications, vol. 35, no. 11, pp. 1312-1332, 2012.
5 M. Prince, "Deep Inside a DNS Amplification DDoS Attack", CloudFlare, 30 10 2012. [Online]. Disponível em: https://blog.cloudflare.com/deep-inside-a-dns-amplification-ddos-attack/ . [Acessado em 1 11 2015].
6 US-CERT, "Ataques de amplificação baseados em UDP", 19 de agosto de 2015. [Online]. Disponível em: https://www.us-cert.gov/ncas/alerts/TA14-017A .
7 YTWD Shigang Chen, "Ataques DDoS com estado e filtragem direcionada", Journal of Network and Computer Applications, vol. 30, no. 3, pp. 823-840, 2007.
8 https://www.incapsula.com/ddos/attack-glossary/rudy-ru-dead-yet.html, "RUDY (RU-Morto-Ainda?)," [Online]. Disponível em: https://www.incapsula.com/ddos/attack-glossary/rudy-ru-dead-yet.html . [Acessado em 9 12 2015].