Vous n'avez pas encore de notification

Page d'accueil

Options d'affichage

Abonné

Actualités

Abonné

Des thèmes sont disponibles :

Thème de baseThème de baseThème sombreThème sombreThème yinyang clairThème yinyang clairThème yinyang sombreThème yinyang sombreThème orange mécanique clairThème orange mécanique clairThème orange mécanique sombreThème orange mécanique sombreThème rose clairThème rose clairThème rose sombreThème rose sombre

Vous n'êtes pas encore INpactien ?

Inscrivez-vous !

HTTP/2 : quatre failles découvertes, les correctifs disponibles

Ouf !
Internet 4 min
HTTP/2 : quatre failles découvertes, les correctifs disponibles
Crédits : mediaphotos/iStock

Des chercheurs présentent quatre failles de sécurité sur l'implémentation du protocole HTTP/2. Les éditeurs concernés (Apache, Microsoft, etc.) ont été prévenus en amont et des correctifs sont déjà en place depuis des mois.

Le protocole HTTP/2 est une évolution majeure du HTTP/1.x (ou simplement HTTP), qui a été finalisée en février de cette année. Le document RFC (numéroté 7540) a pour sa part été mis en ligne au mois de mai. Cela n'empêche pas les navigateurs de le prendre en charge depuis plusieurs mois maintenant, sans avoir attendu la version finale.

HTTP/2 : des améliorations intéressantes, mais aussi des risques liés à la nouveauté

Les avantages de cette mouture sont multiples, et l'une des caractéristiques techniques les plus intéressantes de HTTP/2 est certainement le multiplexage des requêtes (possibilité d'envoi par lots). Ce n'est pas tout et il est également question de la compression des en-têtes HTTP par exemple. De manière générale, ce protocole « permet une utilisation plus efficace des ressources disponibles et une réduction de la latence » explique l'Internet Engineering Task Force (IETF).

Beaucoup d'avantages donc, mais aussi des risques, comme à chaque fois qu'un nouveau protocole débarque et que des chercheurs ou pirates s'y intéressent de près. Lors de la conférence Black Hat 2016 qui se termine aujourd'hui à Las Vegas, des employés de la société Imperva (spécialisée dans la sécurité informatique) ont présenté quatre failles sur des implémentations du protocole HTTP/2 : Slow Read, HPACK Bomb, Dependency Cycle Attack et Stream Multiplexing Abuse.

Failles HTT/2

Jouer la montre ou sur la compression des données

Dans le cas de Slow Read, l'attaquant fait appel à un client spécialement développé pour ouvrir de nombreuses connexions et les faire trainer en longueur dans le temps, surchargeant ainsi le serveur et finissant par provoquer un DoS (déni de service). Une approche identique à l'attaque Slowloris sur HTTP/1.x, mais amplifiée ici par le multiplexage. Elle porte l'identifiant CVE-2016-1546 et touche Apache 2.4.18, Jetty 9.3, IIS 10 et Nginx 1.9.9.

Vient ensuite une autre faille baptisée HPACK Bomb. Basée sur le principe de la bombe de décompression, cette attaque consiste à envoyer une toute petite quantité de données compressées, qui sera ensuite décompressée par le serveur via HPACK. C'est une des nouveautés de HTTP/2, un algorithme de compression auquel Stéphane Bortzmeyer a d'ailleurs consacré un billet de blog.

La sanction est alors un plantage du serveur dont la mémoire est rapidement saturée. Sont concernées les versions 1.7.0 et inférieures de nghttpd, ainsi que les moutures antérieures à la 2.0.2 et 1.12.10 de Wireshark.

Des boucles infinies et du multiplexage à outrance

Vient ensuite la brèche Dependency Cycle Attack. L'équipe de chercheurs explique qu'un pirate peut « tirer parti des mécanismes de contrôle des flux introduits dans HTTP/2 pour l'optimisation du réseau ». Un client spécialement conçu pour exploiter cette faille pourrait ainsi introduire des boucles infinies sur le serveur, ce qui n'est jamais une bonne idée.

De plus, à cause de certaines vulnérabilités dans la procédure de nettoyage de la mémoire vive de nghttp, un « attaquant peut causer un DoS ou même être en mesure d'exécuter du code arbitraire » expliquent les chercheurs. Apache en version 2.4.18 est touché, ainsi que les moutures 1.7.0 et plus anciennes de nghttpd. 

Terminons enfin avec Stream Multiplexing Abuse, qui ne concerne qu'IIS 10 de Microsoft cette fois-ci. Cette faille exploite le multiplexage introduit avec HTTP/2 et une faiblesse du fichier HTTP.sys qui laissaient un client réutiliser un flux de connexion normalement fermé. Conséquence, un BSOD (écran bleu) sur le serveur. Microsoft a publié un bulletin de sécurité dédié en avril dernier.

Des correctifs déjà disponibles depuis des mois

Pour conclure leur étude, les chercheurs expliquent qu'ils ont réussi à trouver « une vulnérabilité exploitable dans presque tous les nouveaux composants du protocole HTTP/2 ». De plus, sur les cinq serveurs parmi les plus populaires, tous étaient sensibles à au moins une des attaques. Voici un résumé de la situation :

Failles HTT/2

Dans tous les cas, Imperva précise que les éditeurs concernés (Microsoft, Apache, Nginx, Jetty, etc.) ont été contactés avant la publication de cette étude. Ils ont ainsi eu le temps de développer et de mettre en ligne les patchs nécessaires. Ceux-ci sont d'ailleurs souvent disponibles depuis des mois. Notez que d'autres serveurs HTTP peuvent être touchés par ces failles suivant l'implémentation de HTTP/2 qu'ils utilisent.

Malgré ces correctifs, , le détail de l'exploitation des failles n'avait simplement pas été rendu public. C'est désormais le cas dans ce document d'une vingtaine de pages :

25 commentaires
Avatar de John Shaft Abonné
Avatar de John ShaftJohn Shaft- 04/08/16 à 15:13:26

Effectivement corrigé dans Apache 2.4.20 publié en avril :chinois:

Avatar de micdubs INpactien
Avatar de micdubsmicdubs- 04/08/16 à 15:24:14

Question bête, debian 8 embarque la version 2.4.10 d'Apache, elle ne sera donc jamais mise à jour ?
Merci par avance pour la réponse :chinois:

Avatar de KP2 Abonné
Avatar de KP2KP2- 04/08/16 à 15:26:45

micdubs a écrit :

Question bête, debian 8 embarque la version 2.4.10 d'Apache, elle ne sera donc jamais mise à jour ?
Merci par avance pour la réponse :chinois:

Debian retroporte les MAJ de sécurité. Par contre, ca restera officiellement un apache 2.4.10 d'un point de vue fonctionnel

Avatar de nost4r INpactien
Avatar de nost4rnost4r- 04/08/16 à 15:46:06

Ce protocole est utilisé ?

Avatar de Ricard INpactien
Avatar de RicardRicard- 04/08/16 à 15:48:52

nost4r a écrit :

Ce protocole est utilisé ?

Ben... oui.:fou:

Avatar de nost4r INpactien
Avatar de nost4rnost4r- 04/08/16 à 15:51:21

Par 9% des 10 millions sites les plus visités, ouais pas tant utilisé que ça.

Avatar de TortueFacile INpactien
Avatar de TortueFacileTortueFacile- 04/08/16 à 16:00:30

Le protocole http/2 ne peut actuellement être utilisé que via une connexion HTTPS. Avec let'encrypt les sites si tu en train de passer à HTTPS en masse, passer en http/2 sera l'étape suivante

Retour d'expérience : j'ai passé plusieurs sites en http/2 : on sent la difference sur des gros sites single page avec angularJS.

Avatar de Thoscellen Abonné
Avatar de ThoscellenThoscellen- 04/08/16 à 16:10:13

Donc très bien pour de la SOA et autres services quand ils sont dans un intranet :)

Avatar de Uther Abonné
Avatar de UtherUther- 04/08/16 à 16:11:28

Un titre bien pompeux pour rien de très inquiétant au final.

Il ne s'agit que d'attaques de type DOS coté serveur, comme on en trouve des dizaines chaque année. En fait elles ne seraient pas liées à HTTP/2, elles seraient passées totalement inaperçues.

Avatar de ndjpoye Abonné
Avatar de ndjpoyendjpoye- 04/08/16 à 16:31:59

Sympa l'article. Thk

Il n'est plus possible de commenter cette actualité.
Page 1 / 3
  • Introduction
  • HTTP/2 : des améliorations intéressantes, mais aussi des risques liés à la nouveauté
  • Jouer la montre ou sur la compression des données
  • Des boucles infinies et du multiplexage à outrance
  • Des correctifs déjà disponibles depuis des mois
S'abonner à partir de 3,75 €