Google n'est pas épargné par les failles, notamment sur son service cloud App Engine qui accueille les développeurs et héberge des applications web. Selon une équipe de chercheurs de Security Explorations, société polonaise spécialisée dans la sécurité, il y aurait une trentaine de vulnérabilités dans le PaaS de Google. Celles-ci peuvent permettre à un attaquant de sortir de l'espace sécurisé (bac à sable) de la machine virtuelle Java pour exécuter du code sur le système sous-jacent.

Security Explorations s'est déjà signalé au cours des dernières années par la découverte de diverses failles dans Java. D'autres vulnérabilités concernant App Engine sont en cours de vérification. « Nous estimons qu'il y en a plus de trente au total », indique Adam Gowdiak, CEO et fondateur de Security Explorations dans un post sur la mailing list Full Disclosure du site de sécurité Seclists.org.

Le code proof-of-concept communiqué à Google

Pour l'instant, la société ne peut pas poursuivre ses recherches parce que son compte de test a été suspendu, peut-être en raison, justement, de ses investigations. Elle a adressé des détails sur les failles à Google le 7 décembre, avec le code « proof-of-concept » associé, après avoir été contactée par l'entreprise californienne, a précisé Adam Gowdiak. Google serait en train d'analyser ses envois.

Après être sorti du bac à sable Java, qui sépare les applications du système sous-jacent, l'équipe de Security Explorations a commencé à creuser une autre couche de sécurité, la sandbox du système d'exploitation lui-même. Elle n'a pas eu le temps de finir ses recherches avant la suspension de son compte, mais a tout de même réussi à rassembler des informations sur la façon dont la sandbox Java est mise en oeuvre dans App Engine et sur les services internes à Google et les protocoles, selon A. Gowdiak. Le PaaS de Google permet de développer des applications web en Python, Java, Go, PHP et dans divers frameworks associés à ces langages. Security Explorations n'a effectué ses recherches que sur la mise en oeuvre Java de la plateforme. Presque tous les problèmes découverts sont spécifiques à l'environnement App Engine, selon A.Gowdiak. « Nous n'avons pas utilisé de code Java Oracle pour sortir de la sandbox ». Sa société n'a par ailleurs pas pu vérifier si les failles permettraient de compromettre les autres apps hébergées sur le PaaS.

Les programmes de bug bounty suivent des règles précises

Cette année, Security Explorations avait déjà trouvé des vulnérabilités dans Java Cloud Service d'Oracle qui permet à des clients de faire tourner des applications Java sur des clusters de serveurs WebLogic dans des datacenters opérés par Oracle. L'une de ces failles pourrait laisser des attaquants accéder à des applications et des données d'autres utilisateurs de Java Cloud Service dans le même datacenter. « Par accéder, nous voulons dire la possibilité de lire et écrire des données, mais aussi d'exécuter du code Java arbitraire (notamment malveillant) sur une instance cible WebLogic hébergeant les applications d'autres utilisateurs. Avec les privilèges d'un administrateur serveur WebLogic », avait alors expliqué A.Gowdiak. « Cela vient ébranler l'un des principes clés d'un environnement cloud : la sécurité et la confidentialité des données des utilisateurs », avait-il pointé.

La découverte d'une faille permettant d'exécuter du code à distance dans App Engine est récompensée par Google à hauteur de 20 000 dollars dans le cadre de son programme de détection de bugs (bug bounty), Vulnerability Reward. Mais on ne sait pas exactement si la société polonaise a bien suivi les règles du programme qui demande de prévenir Google avant de révéler publiquement la faille et de ne pas perturber le service testé. « Nous ne participons pas à des programmes de chasse aux bugs », indique A.Gowdiak. « Au cours des six dernières années, nous avons trouvé des dizaines de problèmes de sécurité qui impactaient des centaines de millions de personnes ou terminaux (notamment dans des chipsets de set-top-boxes). Nous n'avons jamais reçu de récompense pour notre travail de la part de personne. Cela dit, nous ne nous attendons pas plus à recevoir quelque chose cette fois-ci ».