Openssl corrige falha hollowbyte que permite derrubar servidores Tls

5 минут чтения

OpenSSL corrige brecha que permite derrubar servidores por meio de conexões TLS mínimas

Uma falha recentemente corrigida no OpenSSL está chamando atenção de especialistas em segurança por permitir ataques de negação de serviço (DoS) usando requisições TLS extremamente pequenas. Batizada de HollowByte, a vulnerabilidade torna possível sobrecarregar servidores com apenas 11 bytes de dados maliciosos, explorando uma fragilidade no gerenciamento de memória durante o início da conexão segura.

Apesar do potencial de impacto, o problema não recebeu identificação CVE nem foi divulgado em um alerta oficial dedicado pelo projeto OpenSSL. A correção foi tratada como uma melhoria de endurecimento (hardening) do código. Ainda assim, pesquisadores da Okta destacam que o risco operacional é real, sobretudo em servidores voltados à internet, que atendem grande volume de requisições desconhecidas.

O comportamento vulnerável aparece na fase de negociação inicial das conexões TLS, justamente o momento em que cliente e servidor definem como a comunicação segura será estabelecida. Em versões afetadas, o OpenSSL reserva blocos de memória com base no tamanho de mensagem informado pelo cliente antes de verificar se esses dados de fato serão transmitidos e recebidos.

Esse detalhe de implementação abre espaço para abusos. Um atacante pode iniciar diversas conexões e declarar que pretende enviar uma mensagem muito maior do que realmente envia. Na prática, ele manda apenas uma fração do conteúdo ou interrompe o envio logo no início. O servidor, por sua vez, permanece aguardando o restante dos dados que nunca chegam, enquanto mantém a memória previamente alocada bloqueada e indisponível para outros usos.

Em cenários de teste com NGINX, os pesquisadores perceberam que a técnica pode ser particularmente devastadora em servidores com pouca memória. Nessas máquinas, alguns ciclos de ataque já são suficientes para esgotar os recursos disponíveis e derrubar completamente o serviço. Em infraestruturas mais robustas, o efeito pode ser mais silencioso: o sistema continua de pé, porém com parte relevante da capacidade comprometida, degradando desempenho sem que haja um aumento claro ou suspeito no volume de tráfego.

Um dos fatores que tornam o HollowByte preocupante é justamente o baixo “custo” do ataque. Como a requisição maliciosa pode ter apenas 11 bytes, o consumo de banda do invasor é mínimo, o que facilita a multiplicação de conexões malformadas em pouco tempo. Ao mesmo tempo, o alvo é obrigado a sustentar a alocação de memória para cada tentativa, criando um descompasso entre o esforço do atacante e o custo computacional imposto ao servidor.

A correção para o problema foi incorporada em várias linhas de manutenção do OpenSSL, incluindo as versões 4.0.1, 3.6.3, 3.5.7, 3.4.6 e 3.0.21. Nessas edições, o processo de negociação TLS passou a ser mais rigoroso na forma como lida com o tamanho indicado das mensagens, reduzindo a possibilidade de manter memória reservada para dados que nunca serão transmitidos. Em outras palavras, o código passou a validar melhor as condições de envio antes de comprometer recursos significativos.

Para administradores de sistemas e equipes de infraestrutura, a recomendação imediata é atualizar os pacotes de OpenSSL fornecidos pela distribuição utilizada, seja em servidores web, proxies reversos, balanceadores de carga, serviços de e-mail ou qualquer outro componente que dependa diretamente dessa biblioteca. Após a atualização, é crucial reiniciar todos os serviços que carregam o OpenSSL em memória, garantindo que a nova versão esteja efetivamente em uso.

Além do processo de atualização, é prudente reforçar o monitoramento operacional. Um dos principais sinais de exploração dessa brecha é o crescimento anormal do consumo de memória em processos que expõem serviços TLS à internet, sem uma justificativa evidente em termos de aumento de tráfego legítimo. Métricas como uso de RAM por processo, número de conexões em estado de handshake e tempo médio de estabelecimento de sessão podem ajudar a identificar comportamentos suspeitos.

Ambientes em nuvem e infraestruturas com escalonamento automático também merecem atenção. Em muitos casos, um ataque de negação de serviço que consome apenas recursos de memória pode não causar queda imediata, mas forçar o aumento automático de instâncias, elevando custos de operação sem que a equipe perceba rapidamente a origem do problema. Por isso, além de monitorar disponibilidade, é importante acompanhar variações de custo e uso de recursos em curto espaço de tempo.

Outra medida complementar é revisar limitações de conexões simultâneas e timeouts de handshake nos servidores TLS. Reduzir o tempo máximo em que uma conexão pode ficar em estado incompleto, bem como restringir o número de conexões em negociação por IP ou por host, diminui a janela em que um atacante consegue manter recursos presos. Embora essas configurações não substituam a correção no OpenSSL, elas funcionam como camadas adicionais de proteção.

É importante notar que o HollowByte se encaixa em uma classe de vulnerabilidades muitas vezes subestimadas: problemas de esgotamento de recursos (resource exhaustion). Diferentemente de bugs que permitem execução remota de código ou vazamento direto de dados sensíveis, falhas desse tipo afetam principalmente a disponibilidade. Porém, em serviços críticos, indisponibilidade temporária pode ser tão prejudicial quanto perda de confidencialidade, gerando interrupção de operações, quebra de acordos de nível de serviço e danos à reputação.

Em um cenário em que sistemas baseados em inteligência artificial e automações avançadas estão cada vez mais conectados a APIs e serviços expostos, falhas na base criptográfica, como o OpenSSL, acabam impactando toda a cadeia. Aplicações que dependem de comunicação segura e estável podem ficar inacessíveis ou operar de forma intermitente, afetando desde plataformas corporativas até serviços ao consumidor final.

Para equipes de segurança da informação, o caso reforça a necessidade de inclusão sistemática de bibliotecas fundamentais, como OpenSSL, em processos de gestão de vulnerabilidades e de inventário de software. Não basta apenas aplicar correções de sistemas operacionais; é essencial ter visibilidade de quais versões de bibliotecas criptográficas estão em uso em cada serviço, container e componente de infraestrutura.

Por fim, o episódio do HollowByte mostra como ajustes classificados como “endurecimento” podem, na prática, endereçar comportamentos exploráveis em cenários reais de ataque. Mesmo na ausência de um identificador formal como um CVE, atualizações de segurança em bibliotecas amplamente utilizadas não devem ser negligenciadas. Manter o OpenSSL nas versões corrigidas e combinar isso com boas práticas de monitoração e configuração de servidores é hoje uma exigência básica para reduzir o risco de negação de serviço em conexões TLS.