Des experts proposent d’interdire les Superglobales dans PHP

L'augmentation du nombre de réseaux de zombies bâtis sur des sites qui utilisent PHP démontre à quel point il est aisé de compromettre une application PHP. Le principal coupable des maux qui affligent le monde PHP est probablement un groupe de neuf variables baptisées les superglobales. Elles offrent une grande souplesse aux développeurs, mais elles constituent également des vulnérabilités dangereuses. Le pirate qui parvient à exploiter ces failles peut remplacer à distance les valeurs des variables globales et exécuter un code aléatoire, introduire un fichier ou déjouer le système de détection des intrusions basé sur les signatures. 

Dans son nouveau rapport consacré à la problématique des superglobales dans PHP, Imperva suggère de bloquer les requêtes contenant les paramètres correspondant. Les vulnérabilités des superglobales peuvent être utilisées afin de violer la logique de l'application et de s'introduire sur les serveurs qui hébergent ce code peu fiable. Les conséquences peuvent être désastreuses et vont de transactions frauduleuses jusqu'à la perte de données importantes. 

Selon l'étude réalisée par Imperva, 81 % des sites Internet contiennent du code PHP sous une forme ou l'autre. A titre de comparaison, ASP .NET figure dans 19 % des sites et Java, sur 3 %. Les experts restent convaincus que les superglobales de PHP constituent une sérieuse menace car elles permettent à un outsider de remplacer les variables internes depuis une source externe.

Les chercheurs se sont intéressés à deux vulnérabilités concrètes : CVE-2011-2505 et CVE-2010-3065. La première concerne une erreur d'identification dans l'application PhpMyAdmin (PMA) et permet à un pirate de modifier la variable superglobale _SESSION. CVE-2010-3065 permet quant à elle d'injecter des lignes aléatoires dans une session sérialisée. Imperva signale que l'exploitation simultanée de ces deux vulnérabilités permet à un pirate d'exécuter n'importe quel code sur un serveur doté de PMA.

Les experts ont étudié en mai des attaques contre des applications PHP grâce à la collecte de données depuis des pièges et des sites de clients. Au cours de cette période, plus de 3 000 requêtes visant à remplacer des variables superglobales ont été enregistrées. Elles ont été impliquées dans 55 % des attaques observées. Ces requêtes malveillantes provenaient de 27 adresses IP et les individus malintentionnés ont tenté d'interrompre le processus d'exécution de 24 applications Internet. 90 requêtes par minute ont été enregistrées au pic de l'attaque contre le programme.

D'après les chercheurs, les vulnérabilités dans le mécanisme des superglobales PHP sont bien connues des spécialistes en sécurité et des scanneurs répandus comme Nessus et Nikto sont en mesure de les déceler. Ceci étant dit, les programmeurs continuent d'introduire ces erreurs dangereuses dans leurs produits PHP alors que les attaques contre les applications Internet peuvent durer très longtemps. Ainsi, Imperva a pu observer une des ces opérations de pirate pendant cinq mois. L'attaque était organisée depuis des adresses IP de six pays et visait des sites Internet de sociétés actives dans des secteurs critiques, dont le secteur financier. Le code d'exploitation choisi par les auteurs de l'attaque fut découvert sur un des forums russe très visité par les pirates. Le rapport d'Imperva indique : "Il est intéressant de voir que certaines adresses IP ont été impliquées dans des attaques contre 2 ou 3 applications. Il est tout à fait possible qu'un seul outil était utilisé pour générer ces requêtes car celles-ci présentaient  certaines caractéristiques comme la ligne User-Agent identique, malgré sa rareté".

Ces attaques démontrent qu'il faut absolument veiller à maintenir les applications PHP à jour, et plus particulièrement les applications Internet d'éditeurs tiers. Les experts ajoutent : "Les auteurs des attaques peuvent consigner le scénario d'une attaque combinée dans un script distinct et pratique pour n'importe quel gestionnaire de réseau de zombies. Ce script peut être propagé automatiquement sur des serveurs compromis et garantir son exécution automatique afin de prendre les commandes de ces nouveaux serveurs." 

Source : http://threatpost.com/researchers-call-for-ban-on-php-superglobal-variables/102224

Posts similaires

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *