Trouver des failles dans des applications web est un défi permanent, mais un nouvel outil du MIT exploite certaines particularités du framework Ruby on Rails pour en découvrir rapidement de nouvelles. Utilisé sur 50 applications populaires développées à l’aide de Ruby on Rails, le système a trouvé 23 vulnérabilités qui n’avaient jusque-là pas été découvertes et cela ne lui a pas pris plus de 64 secondes pour analyser n’importe lequel de ces programmes.

Ruby on Rails se distingue des autres frameworks parce qu’il définit toutes ses opérations en bibliothèques. Les chercheurs du MIT en ont tiré parti en réécrivant ces bibliothèques pour que les opérations qu’elles définissaient décrivent leur propre comportement dans un langage logique. Cela transforme l’interpréteur Rails, qui convertit les programmes Rails de haut niveau en code machine, en outil d’analyse statistique qui décrit comment les données circulent dans le programme. Au final, exécuter un programme Rails à travers l’interpréteur produit une description ligne à ligne de la façon dont il traite les données.

Baptisé Space, l'outil de debugging se focalise sur des procédures d’accès aux données utilisant un simple modèle logique qui décrit quelles opérations un utilisateur peut effectuer sur quelles données et dans quelles circonstances. A partir des descriptions générées par les bibliothèques revisitées par le MIT, Space peut automatiquement déterminer si le programme adhère à ces modèles. Si ce n’est pas le cas, c’est qu’il y a probablement une faille de sécurité.