Accueil / Cybersécurité / La faille OpenSSL HollowByte peut figer la mémoire serveur avec des requêtes TLS de 11 octets

La faille OpenSSL HollowByte peut figer la mémoire serveur avec des requêtes TLS de 11 octets

L’impact dévastateur de la faille OpenSSL HollowByte

Une nouvelle vulnérabilité critique a été identifiée au sein du célèbre projet OpenSSL, une bibliothèque logicielle essentielle pour le chiffrement des données sur internet. Cette faille, baptisée « HollowByte », possède un mécanisme d’attaque particulièrement subtil et insidieux : elle ne nécessite que onze octets de requête TLS pour déclencher une conséquence majeure.

Lorsqu’un serveur non corrigé reçoit ce message spécifique, il alloue jusqu’à 131 Ko de mémoire vive (RAM) pour préparer la réception d’une donnée qui n’arrivera jamais. Sur les systèmes glibc utilisés par Okta lors de leurs tests, cette allocation est irréversible tant que le processus n’est pas redémarré. Cela signifie que chaque tentative d’attaque consomme des ressources précieuses sans contrepartie.

Un bug nommé HollowByte

Ce nom évocateur fait référence à l’idée qu’un petit morceau de données (le « byte ») est vide mais crée un trou dans la mémoire du serveur. Cette technique d’allocation fantôme permet aux attaquants potentiellement malveillants ou aux systèmes compromis de saturer les ressources du serveur cible.

Le mécanisme technique derrière l’attaque des 11 octets

Pour comprendre comment cette faille fonctionne, il faut regarder de plus près la manière dont le protocole TLS gère les paquets entrants. Lorsqu’une requête arrive sur un port sécurisé, OpenSSL doit allouer du mémoire pour stocker le contenu avant de le traiter ou de le rejeter.

Le problème survient spécifiquement lorsque la taille des données est inférieure à un certain seuil critique mais supérieure à 11 octets. Le code source contient une logique erronée qui interprète ces petits paquets comme étant valides, alors qu’ils ne contiennent aucune information utile pour le chiffrement.

« L’objectif n’est pas de lire les données, mais de forcer l’allocation de mémoire inutilement. »

La gestion des ressources en mode glibc

Ce mécanisme d’allocation est particulièrement dangereux sur les systèmes utilisant la bibliothèque standard glibc. Contrairement à une allocation classique qui pourrait être libérée plus tard, cette mémoire « fantomatique » reste occupée jusqu’à ce que le service OpenSSL soit complètement arrêté et relancé.

L’impact critique sur la disponibilité des serveurs

La perte de 131 Ko peut sembler négligeable à première vue, mais dans un contexte d’infrastructure massive ou de serveur déjà saturé, l’effet cumulatif est dévastateur. Si un attaquant envoie une suite rapide de requêtes de 11 octets, il peut épuiser la mémoire disponible du processus.

Cela conduit à des situations où le service réseau s’arrête complètement ou devient extrêmement lent, provoquant ce qu’on appelle un « Freeze » ou figement du serveur. Pour les entreprises dépendantes de l’accès HTTPS, cela signifie une interruption de service potentiellement prolongée jusqu’à la mise en place d’un correctif.

La gestion des processus et le reboot

Lorsque la mémoire est allouée pour un message qui n’arrive pas, le système ne libère pas ces ressources automatiquement. L’administrateur doit intervenir manuellement pour redémarrer le service ou même l’hôte complet si l’allocation atteint des limites critiques.

  • Le processus OpenSSL reste bloqué en mémoire vive.
  • L’allocation de 131 Ko est permanente sans intervention humaine.
  • La disponibilité du site web peut être compromise par saturation.

Pourquoi le silence d’OpenSSL et l’absence de CVE

Un point crucial souligné dans les rapports techniques est que la correction de cette faille a été incluse dans une version d’OpenSSL en juin, sans qu’aucune note de sécurité officielle ne soit publiée. Il n’y avait pas de CVE (Common Vulnerabilities and Exposures) ni d’avertissement public.

Le manque de traçabilité dans le changelog

L’absence d’entrée dans le journal des changements (changelog) rend la mise à jour difficile pour les équipes de sécurité qui surveillent les notifications officielles. Les administrateurs peuvent ignorer cette correction car elle n’est pas signalée comme une urgence ou un risque spécifique.

Cette omission est souvent critique dans l’écosystème logiciel open source, où la transparence sur les vulnérabilités est la norme pour permettre aux utilisateurs de se protéger activement. Le silence d’OpenSSL a donc permis à la faille de persister plus longtemps que prévu.

La divulgation par Okta Red Team

C’est l’équipe de recherche en sécurité (Red Team) d’Okta qui a fini par identifier ce bug et le nommer « HollowByte ». Leur travail consistait à tester les systèmes pour trouver des failles potentielles avant qu’elles ne soient exploitées.

En publiant cette information, Okta a forcé la transparence sur un problème qui aurait pu rester caché dans les logs internes d’une entreprise. Cela met en lumière l’importance des audits de sécurité indépendants et de l’éthique dans la divulgation des failles logicielles.

Recommandations immédiates pour sécuriser vos infrastructures

Si vous utilisez OpenSSL sur vos serveurs, il est impératif de vérifier votre version actuelle. Même si le correctif a été déployé en juin, assurez-vous qu’il est bien installé et que les dépendances sont à jour.

« La meilleure défense reste la mise à jour systématique des bibliothèques de chiffrement. »

Mise à jour et redémarrage obligatoire

Pour corriger ce problème spécifique, il faut mettre à jour OpenSSL vers une version postérieure au correctif d’avril ou juin 2016. De plus, si votre serveur a déjà été exposé à des requêtes malveillantes de type HollowByte, un redémarrage du processus est souvent nécessaire pour libérer la mémoire allouée.

Surveillance active et audit de sécurité

Il est recommandé d’activer une surveillance accrue sur les logs système pour détecter des pics d’allocation mémoire anormaux. Des outils de monitoring peuvent aider à identifier si un processus OpenSSL consomme soudainement beaucoup plus de RAM que la normale.

Enfin, ne vous fiez pas uniquement aux notifications officielles. Utilisez des services tiers qui surveillent les vulnérabilités connues pour alerter votre équipe en cas de nouvelle faille critique publiée.

Conclusion et perspectives futures

Cette faille HollowByte rappelle que même les bibliothèques logicielles les plus robustes comme OpenSSL peuvent contenir des bugs subtils qui ont un impact disproportionné. La combinaison d’un manque de communication officielle et d’une vulnérabilité technique exploitable crée un risque majeur pour la stabilité des serveurs.

Les administrateurs systèmes doivent être vigilants, non seulement sur les mises à jour officielles, mais aussi sur les rapports communautaires qui peuvent révéler des failles cachées. La sécurité ne dépend pas seulement de la force du chiffrement, mais aussi de la fiabilité de l’infrastructure sous-jacente.

L’importance de la transparence dans le code

Le silence d’un éditeur logiciel face à une vulnérabilité peut être interprété comme un manque de responsabilité. C’est pourquoi les normes de divulgation responsable sont essentielles pour garantir que les correctifs soient connus et appliqués rapidement.

En conclusion, la faille HollowByte est un rappel constant : chaque octet compte dans la sécurité informatique. Une simple requête de 11 octets peut figer toute votre infrastructure si elle n’est pas correctement gérée par le logiciel OpenSSL.

Tagué :

Répondre