Des chercheurs identifient une nouvelle attaque d’empoisonnement de cache affectant les CDN qui pourrait bloquer les ressources et les sites Web

TL; DR: À la fin de l’année dernière, des chercheurs allemands ont découvert une vulnérabilité dans les réseaux de distribution de contenu (CDN), connue sous le nom d’attaque par déni de service empoisonné par cache (CPDoS). Dans une étude approfondie de 15 solutions de mise en cache Web, les chercheurs ont analysé l’impact de ces attaques et fourni des contre-mesures appropriées. Étant donné qu’il n’y a pas de repos dans l’espace de sécurité numérique, les universitaires prévoient de continuer à travailler sur des solutions pour atténuer ces vulnérabilités à mesure qu’elles deviennent de plus en plus complexes..

De nos jours, il semble qu’il y ait un côté sombre à presque tout – y compris l’innovation. Les cybercriminels sont toujours à la recherche de nouvelles façons créatives de cibler leurs victimes, rendant le paysage des menaces d’aujourd’hui particulièrement menaçant..

Selon un rapport de 2016 de Cybersecurity Ventures, la cybercriminalité coûtera au monde plus de 6 000 milliards de dollars par an d’ici 2021. C’est plus rentable que le commerce mondial de toutes les drogues illégales combinées.

Pour lutter contre cette épidémie, les chercheurs cherchent à découvrir les vulnérabilités – et à les divulguer aux entreprises à risque – avant que les criminels aient la chance de causer du tort. Un tel exemple est l’attaque par déni de service empoisonné par cache (CPDoS), une technique récemment découverte que les acteurs malveillants pourraient utiliser pour bloquer l’accès aux ressources et aux sites Web.

Découvert par les chercheurs allemands Hoai Viet Nguyen, Luigi Lo Iacono et Hannes Federrath, et introduit le 22 octobre 2019, CPDoS est distribué via des réseaux de distribution de contenu (CDN) ou hébergé sur des caches proxy.

Chercheur Hoai Viet Nguyen ("Viet") et logo CPDoS

Le chercheur Hoai Viet Nguyen («Viet») nous a donné un aperçu de la vulnérabilité du CPDoS affectant les CDN.

«En provoquant une erreur sur le serveur d’origine qui n’est pas détectée par le système de mise en cache intermédiaire, le cache est empoisonné avec la page d’erreur générée par le serveur et instrumenté pour servir ce contenu inutile au lieu de celui prévu, rendant le service victime indisponible», les chercheurs ont expliqué dans leur document de recherche, “Votre cache est tombé: attaque par déni de service empoisonné par le cache.”

CPDoS est particulièrement dangereux car l’attaque empoisonne le cache CDN, distribuant des pages d’erreur aux serveurs de cache périphériques à travers le monde, ce qui peut entraîner des perturbations à grande échelle.

«La mise en cache est un mécanisme complexe», nous a expliqué Hoai Viet Nguyen («Viet»). «Ce n’est pas bien compris par de nombreux fournisseurs de CDN – il y a un manque de connaissances significatif. Vous devez effectuer de nombreux tests avant de mettre un site Web avec mise en cache en production pour atténuer CPDoS et d’autres attaques liées au cache. »

Les chercheurs ont analysé en profondeur l’impact de ces attaques et fourni des contre-mesures appropriées via leur livre blanc. En fin de compte, cependant, il n’y a pas de repos dans l’espace de la sécurité numérique, et les universitaires prévoient de continuer à travailler sur des solutions pour protéger les organisations contre ces vulnérabilités à mesure qu’elles évoluent..

Découverte du déni de service empoisonné par le cache

Viet nous a dit que son équipe de recherche était tombée sur CPDoS par accident. «Nous faisions déjà beaucoup de recherches sur la mise en cache et les CDN, et un jour, quand j’ai regardé la documentation du CDN Amazon CloudFront, j’ai trouvé qu’ils mettaient en cache le code d’erreur inapproprié 400 Bad Request par défaut et avaient un très gros en-tête limite de taille. “

Après quelques expériences, l’équipe a découvert qu’elle pouvait déclencher une page d’erreur en envoyant une requête HTTP contenant un en-tête mal formé. Une fois la page d’erreur stockée par le serveur de mise en cache, elle peut être répartie sur plusieurs nœuds périphériques dans un réseau géographiquement dispersé, conduisant à un déni de service à grande échelle.

En plus d’avertir CloudFront de la menace, les chercheurs ont également informé Akamai, CDN77, Fastly, Cloudflare et Varnish que leurs CDN étaient également vulnérables..

Dans une attaque CPDoS, un acteur malveillant peut bloquer toute ressource Web hébergée sur des caches proxy ou distribuée via des CDN.

En tout, il existe trois variantes d’attaques CPDoS: HTTP Header Oversize (HHO), HTTP Meta Character (HMC) et HTTP Method Override (HMO).

L’attaque HHO CPDoS exploite la variation des limites de taille pour les en-têtes de requête HTTP, qui contiennent des informations essentielles pour les serveurs Web et les systèmes intermédiaires. Dans ce scénario, un cybercriminel peut attaquer une application Web qui utilise un cache qui accepte une limite de taille de tête plus grande que le serveur d’origine. Le serveur bloquera la demande, provoquant le stockage d’une page d’erreur par le cache et sa propagation via toutes les demandes par la suite.

Plutôt que d’envoyer un en-tête surdimensionné, l’attaque HMC CPDoS contourne un cache avec un en-tête de demande en utilisant un méta-caractère nuisible – tel que / n, / r ou / a – pour déclencher une page d’erreur. La dernière variante de CPDoS, l’attaque HMO, fonctionne dans des scénarios où les systèmes intermédiaires bloquent des méthodes HTTP spécifiques.

Une étude approfondie de 15 solutions de mise en cache Web

Dans «Your Cache Has Fallen: Cache-Poisoned Denial-of-Service Attack», Viet et ses collègues chercheurs détaillent les résultats de leurs expériences de février 2019 sur 15 systèmes de mise en cache Web: Apache HTTP Server, Apache Traffic Server, Nginx, Squid, Varnish , Akamai, Azure, CDN77, CDNsun, Cloudflare, Amazon CloudFront, Fastly, G-Core Labs, KeyCDN et StackPath.

En fin de compte, les chercheurs ont découvert que différentes paires de systèmes de mise en cache Web et d’implémentations HTTP (telles qu’ASP.NET, IIS, Tomcat et Amazon S3, entre autres) ont conduit à des vulnérabilités dans divers CDN. CloudFront était de loin le plus touché, avec des vulnérabilités HHO, HMC et HMO sur différentes plates-formes.

Depuis qu’il a été informé de ces vulnérabilités, le Viet a déclaré que les entreprises concernées avaient pris des mesures pour atténuer les attaques CPDoS, et la majorité des problèmes ont été résolus (bien que certaines organisations aient été plus rapides à agir que d’autres).

C’est rassurant, compte tenu de l’impact que les attaques CPDoS pourraient avoir lorsqu’elles sont utilisées à des fins malveillantes.

“CPDoS peut être utilisé pour bloquer les sites critiques, tels que les sites Web du gouvernement et les services bancaires en ligne, désactiver les informations d’avertissement catastrophiques ou bloquer les correctifs et les mises à jour du micrologiciel distribués via des caches pour empêcher la correction des vulnérabilités des logiciels et des appareils”, a déclaré Viet. «Il y a beaucoup de choses qu’un acteur malveillant pourrait faire pour saboter un site Web.»

Recherche active d’options pour atténuer les attaques

Heureusement, les chercheurs ont identifié un certain nombre de mesures que les fournisseurs de contenu peuvent prendre pour protéger les utilisateurs contre les attaques CPDoS. La première étape pour éviter une attaque consiste à mettre en cache les pages d’erreur conformément aux normes HTTP.

«Un grand nombre d’attaques CPDoS et d’autres attaques basées sur le cache résultent du problème que les CDN et les fournisseurs de cache ne respectent pas les politiques et les spécifications», a déclaré Viet.

Par exemple, les normes de mise en cache Web imposent aux fournisseurs de contenu de ne mettre en cache que les codes d’erreur suivants: 404 Introuvable, 405 Méthode non autorisée, 410 Terminé et 501 Non implémenté. Dans de nombreux cas, les vulnérabilités dans les expériences des chercheurs ont été causées par des codes d’erreur par défaut tels que 400 Bad Request.

Les fournisseurs peuvent également exclure les pages d’erreur de la mise en cache ou déployer des pare-feu d’applications Web devant le cache.

Pour aller de l’avant, Viet a déclaré que l’équipe de recherche travaillerait sur des approches supplémentaires pour atténuer les attaques CPDoS à mesure que les menaces deviendraient plus sophistiquées. Ils évoluent toujours: par exemple, en mars 2019, Nathan Davison a détecté une nouvelle variation à l’aide des en-têtes CORs, et en février 2020, il a introduit une autre nouvelle variante affectant le CloudFoundry GoRouter.

«Nous avons déjà suggéré plusieurs solutions pour atténuer ces attaques dans notre document de recherche, mais à l’avenir, nous devrons fournir beaucoup plus de solutions car les attaques deviendront plus compliquées à prendre en charge», a-t-il déclaré..

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me