A Microsoft corrigiu um bug que poderia levar a ataques de negação de serviço (DDoS) distribuídos em seu software de servidor web.

A falha estava na maneira como o Internet Information Server (IIS) processava as solicitações enviadas usando HTTP / 2.

Ratificado em 2015, o HTTP / 2 é uma versão aprimorada do padrão HTTP original que inclui melhor controle de fluxo e lida com uma ampla variedade de conexões entre clientes e servidores.

O controle de fluxo no HTTP / 2 permite que um computador cliente descreva como deseja receber informações do remetente para que ele possa funcionar com mais eficiência.

Por exemplo, você pode pedir ao seu navegador para transmitir um vídeo de alta largura de banda, mas depois pausar o vídeo na metade do caminho.

Com o HTTP / 2, o navegador pode usar o controle de fluxo para pausar a entrega e o armazenamento em buffer do vídeo e se concentrar em fazer o download de algo que é repentinamente mais importante, como uma atualização em tempo real.

Para gerenciar o controle de fluxo, o HTTP / 2 usa um recurso conhecido como quadro SETTING frame.

Os clientes podem especificar qualquer número de quadros SETTINGS, e esta é a raiz do problema que a Microsoft encontrou no IIS – muitos quadros podem sobrecarregar o servidor, maximizando o uso da CPU em 100%.

A Microsoft relatou:

“Em algumas situações, configurações excessivas podem fazer com que os serviços se tornem instáveis ​​e podem resultar em um pico de uso temporário da CPU até que o tempo limite da conexão seja atingido e a conexão seja fechada”.

A falha significou que atacantes com um botnet de computadores zumbis, ou hacktivistas com seguidores de ajudantes dispostos, poderiam ter trazido servidores IIS – que em janeiro de 2019 hospedavam 25% de todos os domínios da web, de acordo com a Netcraft – de joelhos.

A Microsoft corrigiu o problema adicionando uma opção para limitar o número de quadros de CONFIGURAÇÕES em uma solicitação HTTP / 2.

O que fazer?

Para acessar esse recurso, os clientes podem baixar as atualizações cumulativas KB4487006, KB4487011, KB4487021 e KB4487029.

A correção permite que os administradores definam dois parâmetros no registro: Http2MaxSettingsPerFrame e Http2MaxSettingsPerMinute.

Se o número de quadros de SETTINGS ultrapassar um desses dois limites, o IIS eliminará a conexão:

“Quando definidos adequadamente, os dois limites juntos ajudam a encerrar a conexão maliciosa que viola esses limites e formam um limite para conexões legítimas”.

Não se esqueça, no entanto, de que essas configurações não são ativadas por padrão, mesmo depois de instalar a atualização. É necessário um ajuste de registro adequado para ativar essa atenuação de DDoS.