Ilustração 2D mostra escudo de pinguim protegendo um servidor e uma espada quebrada ao tocar o escudoo
Lynda/Reprodução

A próxima versão do kernel Linux, a 6.18, trará uma melhoria significativa para servidores que enfrentam ataques de Negação Distribuída de Serviço (DDoS). Um conjunto de patches, desenvolvido pelo engenheiro do Google Eric Dumazet e já integrado à ramificação principal, otimiza drasticamente o desempenho do protocolo UDP sob estresse extremo. O UDP é frequentemente explorado em ataques de amplificação e inundação devido à sua natureza sem conexão, sobrecarregando os recursos do servidor e causando indisponibilidade. As inovações focam em reduzir gargalos de concorrência e falsos compartilhamentos de cache entre os núcleos de processamento (CPUs), problemas que limitavam a capacidade do sistema de lidar com volumes massivos de pacotes.

Os resultados dos testes de desempenho são expressivos. Dumazet relatou um aumento de 47% na taxa de transferência (throughput) em cenários de ataque DDoS utilizando pacotes IPv6 com payload de 120 bytes. Em um servidor equipado com um processador Intel Xeon 6985P-C de 16 núcleos e 6 nós NUMA, a mudança permitiu processar adicionalmente 14,2 milhões de pacotes por segundo durante o ataque. Embora a contagem de erros de recepção (Udp6InErrors) tenha aumentado – indicando que o sistema está descartando ativamente pacotes maliciosos de forma mais eficiente –, o socket alvo do ataque conseguiu receber 11% mais pacotes legítimos, demonstrando uma resiliência muito superior.

As otimizações introduzidas são profundas e envolvem uma reestruturação de componentes críticos da pilha de rede. A série de patches implementa uma estratégia multifacetada. Uma das mudanças mais relevantes foi a substituição do busylock, um mecanismo de bloqueio global que protegia sockets UDP, por filas intermediárias sem bloqueio (lockless). Esse lock global forçava que múltiplas CPUs ficassem em estado de espera disputando o acesso, um processo que consumia ciclos de processamento preciosos e levava ao descarte de pacotes pela placa de rede (NIC) ou no backlog da CPU.

Com a nova abordagem, cada nó NUMA do servidor ganha sua própria fila lockless. Agora, a maioria dos núcleos de processamento pode descartar pacotes indesejados imediatamente ou enfileirá-los em sua fila NUMA local sem necessidade de travar o sistema. Posteriormente, uma CPU é eleita para processar cada uma dessas filas em lote, minimizando a contenção e melhorando a localidade dos dados. Outras melhorias incluem o redimensionamento de estruturas de dados como struct ipv6_pinfo para reduzir falhas de cache, e otimizações na forma como a memória de recepção do socket (sk_rmem_alloc) é acessada, reduzindo ainda mais a contenção.

Impacto de longo prazo no kernel LTS

O timing da inclusão dessas melhorias no Linux 6.18 é estrategicamente importante. Esta versão do kernel é a forte candidata a se tornar o Kernel de Suporte de Longo Prazo (LTS) para 2024. Os kernels LTS são adotados massivamente em distribuições empresariais e ambientes de servidor em produção, onde estabilidade e segurança são primordiais. Isso significa que as otimizações de desempenho e resiliência contra DDoS desenvolvidas pelo Google não ficarão restritas a versões de ponta, mas se tornarão a base para milhões de sistemas críticos ao redor do mundo pelos próximos anos.

A adoção em larga escala de um kernel com essas características representa um avanço coletivo na infraestrutura da internet. Servidores de cloud, plataformas de streaming, serviços online e infraestruturas de rede que dependem do protocolo UDP para operações legítimas terão uma defesa nativa mais robusta. A mudança não elimina a necessidade de soluções de mitigação de DDoS em camadas superiores, como firewalls e sistemas de proteção especializados, mas fortalece significativamente a primeira linha de defesa no próprio sistema operacional.