Contrôle de flux dans HTTP/2 : Bug DDoS Microsoft au niveau des serveurs web

Cybersécurité

Microsoft a corrigé un bug, au niveau du contrôle de flux dans HTTP/2, qui aurait pu permettre des attaques par déni de service (DDoS) au niveau de son logiciel de serveur web.

controle de flux

La faille résidait dans la façon dont Internet Information Server (IIS) traitait les demandes envoyées via HTTP/2.

Ratifiée en 2015, HTTP/2 est une version améliorée de la norme HTTP d’origine qui inclut un meilleur contrôle des flux et gère une plus grande variété de connexions entre clients et serveurs.

Le contrôle de flux dans HTTP/2 permet à un ordinateur client de décrire comment il souhaite recevoir des informations de l’expéditeur afin qu’il puisse fonctionner plus efficacement.

Par exemple, vous pouvez demander à votre navigateur de diffuser une vidéo à bande passante élevée, puis de la mettre en pause à mi-parcours.

Avec HTTP/2, le navigateur peut utiliser le contrôle de flux pour suspendre la transmission et mettre la vidéo en mémoire tampon et se concentrer sur le téléchargement d’un autre élément soudainement plus important, tel qu’une mise à jour du ticker en temps réel.

Pour gérer le contrôle de flux, HTTP/2 utilise une fonctionnalité appelée SETTINGS frame.

Les clients peuvent spécifier n’importe quel nombre de SETTINGS frames. C’est la racine du problème rencontré par Microsoft dans IIS : trop de frames peuvent surcharger le serveur et limiter l’utilisation du processeur à 100%.

Microsoft a rapporté que :

Dans certaines situations, des paramètres excessifs peuvent rendre les services instables et entraîner un pic temporaire de l’utilisation du CPU jusqu’à ce que le délai de connexion soit atteint et que la connexion soit fermée.  

Selon Netcraft, cette faille signifiait que les attaquants disposant d’un botnet d’ordinateurs zombies ou d’hacktivistes suivis d’assistants volontaires auraient pu mettre à genou les serveurs IIS, qui en janvier 2019, hébergeait 25% de tous les domaines web.

Microsoft a résolu le problème en ajoutant une option permettant de limiter le nombre de SETTINGS frames dans une requête HTTP/2.

Quoi faire ?

Pour accéder à cette fonctionnalité, les clients peuvent télécharger les mises à jour cumulatives KB4487006, KB4487011, KB4487021 et KB4487029.

Le correctif permet aux administrateurs de définir deux paramètres dans le registre : Http2MaxSettingsPerFrame et Http2MaxSettingsPerMinute.

Si le nombre de SETTINGS frames dépasse l’une ou l’autre de ces deux limites, IIS interrompt la connexion :

Lorsqu’elles sont correctement définies, [les] deux limites ensemble contribuent à mettre fin à la connexion malveillante ne respectant pas ces limites et constituent un seuil pour les connexions légitimes.

N’oubliez pas, cependant, que ces paramètres ne sont pas activés par défaut, et ce même après l’installation de la mise à jour. Un ajustement approprié du registre est nécessaire pour activer cette mitigation d’attaques DDoS.


Billet inspiré de Microsoft fixes web server DDoS bug, sur Sophos nakedsecurity.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.