Équilibreurs de charge BIG-IP : les pirates informatiques pourraient bien utiliser un bug de codage pour pirater les organisations

0

L’équilibrage de charge est un processus de gestion web important qui permet à de nombreux services internet de fonctionner. Sans lui, les banques, gouvernements et autres organisations fournissant des services en ligne à un grand nombre d’utilisateurs éprouveraient des difficultés à faire fonctionner leurs sites web. Au cours d’une analyse de routine en cyber sécurité, Christoffer Jerkeby, Senior Security Consultant chez F-Secure, a découvert qu’un bug de codage pouvait permettre à des pirates informatiques de corrompre le BIG-IP de F5 Networks, un répartiteur de charge très populaire. Des recherches plus poussées ont révélé qu’un hacker, s’il réussissait à corrompre ce dispositif, pouvait s’en servir contre l’entreprise qui l’utilise, voire même contre les internautes sollicitant les services concernés.

Pour connaître tous les détails techniques de cette découverte, téléchargez le livre blanc et les slides relatifs à l’injection de commandes qu’a réalisé Christoffer dans F5 iRules… ou bien continuez à lire cet article pour un bref résumé.

Pas de correctif possible pour ces bugs de codage

Il ne s’agit pas d’une vulnérabilité pouvant être corrigée par une simple mise à jour du logiciel. Ce problème de sécurité apparaît lorsque les organisations configurent (ou configurent « mal ») les iRules de BIG-IP. Les iRules sont les routines écrites pour diriger le trafic web entrant vers le serveur web adéquat. Ces iRules sont créées à l’aide du langage Tcl (Tool Command Language). Certaines pratiques de codage, en apparence parfaitement fonctionnelles, peuvent permettre à un hacker d’injecter des commandes Tcl arbitraires, pouvant être exécutées avec le script Tcl cible.

La conception du langage utilisé pour définir les règles iRules (Tcl 8.4 pour être exact) permet en effet des substitutions dans les instructions et commandes : les hackers peuvent donc théoriquement en profiter pour injecter leur propre code. Ce procédé est similaire aux attaques par injection observées dans les langages de script SQL ou shell, où l’entrée arbitraire de l’utilisateur est interprétée comme du code et exécutée. Certaines règles iRules analysent les données des requêtes web entrantes et interprètent incorrectement ces entrées comme des commandes à exécuter.


Payload: [HTTP::respond 666 {vuln}]
URL Encoded Payload: %5BHTTP%3A%3Arespond%20666%20%7Bvuln%7D%5D
$ curl -I –cookie cookie=%5BHTTP%3A%3Arespond%20666%20%7Bvuln%7D%5D https://www.host.com/index.aspx | grep vuln
$ curl -I -H RequestHeader=%5BHTTP%3A%3Arespond%20666%20%7Bvuln%7D%5D https://www.host.com/index.aspx | grep vuln


Ce type de vulnérabilité n’est pas nouveau et est connu depuis un certain temps, tout comme d’autres vulnérabilités d’injection de commandes (les injections SQL, par exemple). Mais, pour les entreprises, les conséquences peuvent être graves. Compte-tenu de la popularité de BIG-IP auprès des grandes organisations, Christoffer a commencé à présenter ses recherches lors de conférences en cyber sécurité et a tenté de sensibiliser sur la question.

Les attaques peuvent être aussi simples que de remplir un formulaire en ligne

Dans certains cas, l’exploitation d’un système vulnérable peut être aussi simple que de soumettre une commande ou un fragment de code dans le cadre d’une requête web. Le processus consiste en trois étapes:

  1. Identifier un champ où les iRules remplacent une commande en : a) entrant des chaînes Tcl dans les champs et les en-têtes, et en b) recherchant des indications montrant que le code a été exécuté
  2. Tester le site d’injection à l’aide de la commande « info »
  3. Pivoter vers des ressources externes pour s’établir durablement

Une fois cette opération effectuée, le dispositif hébergeant le logiciel BIG-IP est corrompu, ce qui permet au hacker de l’utiliser comme vecteur pour mener d’autres attaques. Le pirate informatique peut alors procéder à des vols de données appartenant à l’organisation, à l’interception et la manipulation du trafic web afin d’accéder à des informations sensibles (comme les mots de passe) ou, dans certains cas, s’en prendre aux internautes utilisant les services fournis par le dispositif BIG-IP piraté.

Mauvaise nouvelle : dans certains cas, le dispositif corrompu n’enregistrera pas les actions du pirate informatique : aucune preuve de l’attaque ne peut donc être récupérée. Dans d’autres cas, le hacker pourra effacer lui-même les logs retraçant ses opérations, entravant ainsi sérieusement tout travail d’enquête.

« Ce défaut de configuration est relativement sérieux puisqu’il permet au pirate d’opérer furtivement : il peut s’infiltrer, atteindre ses objectifs, puis recouvrir ses traces. Le problème est d’autant plus grave que, souvent, les entreprises ne sont pas aptes à identifier et résoudre les problèmes de sécurité cachés dans la chaîne d’approvisionnement logicielle », explique Christoffer Jerkeby. « À moins de savoir quoi chercher, il est difficile d’anticiper un problème de sécurité de cette nature ou, pire, de le gérer en cas d’attaque ».

Degré de sévérité et mesures à mettre en œuvre

F-Secure n’a connaissance d’aucun rapport faisant état d’attaques de ce type menées en conditions réelles, par des hackers. Comme l’explique Christoffer, il est difficile d’évaluer avec précision le nombre d’organisations touchées par ce problème. En utilisant une technique de balayage de base qu’elle a elle-même développée, son équipe a trouvé plus de 300 000 implémentations actives de BIG-IP sur le web mais, compte-tenu des limites méthodologiques liées à ce type d’évaluation, il se pourrait que le chiffre réel soit sensiblement plus élevé. Toutefois, toutes les implémentations de BIG-IP ne sont pas affectées par ce problème.

Cette faille de sécurité est liée à un défaut de codage dans les iRules (scripts Tcl) elles-mêmes. Les entreprises créent elles-mêmes ce problème lorsqu’elles installent et configurent leurs équilibreurs de charge BIG-IP. Le BIG-IP ne contient donc en lui-même aucune vulnérabilité : de ce fait, ce problème ne peut pas être réglé par le fabricant (F5) et aucun correctif simple ne peut être créé. Il revient donc aux organisations utilisatrices d’enquêter et de régler le problème.

« La bonne nouvelle, c’est que tous les utilisateurs ne sont pas affectés par ce défaut de sécurité. La mauvaise, c’est que ce type de problème ne peut pas être résolu par un simple patch ou une simple mise à jour : il appartient aux organisations de vérifier si elles ont ce problème et de le résoudre si elles le trouvent », explique-t-il. « Quiconque utilise BIG-IP doit donc se montrer pro-actif. »

La détection de ce type d’attaques est théoriquement possible, mais difficile. Il est plus rapide et plus efficace d’effectuer une révision globale du code et de résoudre tout problème lié au code Tcl plutôt que de mettre en place des mesures de détection.

F-Secure et F5 travaillent ensemble pour accompagner les organisations dans la résolution de ce problème. F-Secure a informé F5 des recherches de Christoffer il y a plusieurs mois. F5 a déjà affiché un avis public détaillant les produits touchés, les déclarations de Tcl, et plus encore.

Christoffer a contribué au développement de deux outils open source accessibles au public, capables d’analyser les scripts Tcl. Le premier, TestTcl, est une librairie de test pour BIG-IP iRules. Le second, Tclscan, mène une analyse lexicale du code Tcl ciblant spécifiquement les défauts d’injection de commandes.

Christoffer recommande par ailleurs de consulter les pages web suivantes pour savoir comment modifier les scripts Tcl vulnérables :

https://wiki.tcl-lang.org/page/double+substitution

https://wiki.tcl-lang.org/page/Brace+your+expr-essions

https://wiki.tcl-lang.org/page/Static+syntax+analysis

Il est possible de procéder à un balayage massif d’internet afin d’identifier et exploiter les instances vulnérables de cette technologie. Dans certains cas, ce processus peut même être automatisé. Ce problème de sécurité est donc susceptible d’attirer l’attention des chasseurs de bug bounty et des pirates informatiques. De plus, des versions d’essai gratuites de BIG-IP sont proposées et il est possible d’accéder à une version cloud pour un coût minime, à partir d’AWS. F-Secure conseille donc aux organisations d’enquêter de manière proactive pour savoir si elles sont affectées ou non par ce défaut de sécurité, et de nous contacter si elles ont besoin d’aide pour vérifier que leur code est sûr.

« Si elles n’ont pas mené d’enquête approfondie sur cette technologie, il est fort probable que les entreprises utilisant cette technologie soient concernées par le problème », explique Christoffer Jerkeby. « Même un professionnel extrêmement bien informé sur la sécurité peut laisser passer un tel défaut de configuration. Il est essentiel de sensibiliser les entreprises si nous souhaitons les aider à mieux se protéger contre ce risque d’intrusion ».

About Author

Guilleaume Ortega

Leave A Reply