SSTIC 2011 - RRABBIDS


RRABBIDS

Un IDS pour les applications Ruby on rails issu du projet DALI.

Il s’agit d’un IDS Comportemental tirant parti des mécanismes de d’introspection de Ruby pour établir son modèle. L’auteur détaille un cas d’école d’une simple injection SQL qui sert de fil rouge au travers du framework rails. Rrabbids se base sur des invariants sur les variables de l’application, par exemple si l’utilisateur se loggue comme Bob, le modèle de l’utilisateur instancié doit correspondre à Bob et non Admin.

Pour pouvoir générer automatiquement les invariants, Rrabbids se base sur Daikon, un outil qui va permettre de découvrir les invariants à partir de traces d’exécution. Mais bon, dans une appli web, il y a beaucoup de variables, c’est là que les mécanismes de data-tainting dans Ruby permettent de faire le tri pour éliminer les variables qui ne dépendent pas des actions utilisateur.

Après les mécanismes de détection d’intrusion sont tissés dans le code applicatif, ce qui a pour effet d’augmenter le temps d’exécution, et de permettre l’identification de n’importe quelle manipulation de données issues de l’extérieur de l’application.