StemJail est une architecture de cloisonnement dynamique des activités utilisateur. Cette nouvelle approche du cloisonnement simpli e l'utilisation du contrôle d'accès en l'intégrant dans le work ow de l'utilisateur. Celui-ci devient capable de limiter les droits d'accès de ses instances d'applications et donc de circonscrire les modi cations et les fuites potentielles d'information. La solution proposée par StemJail se veut pragmatique : l'intervention de l'utilisateur est minimisée, l'impact sur les performances est faible tout en préservant la compatibilité logicielle et sans augmenter la quantité de code privilégié qui s'exécute sur le système. Il s'agit de la version courte d'un article dont une version plus détaillée est disponible sur le site de la conférence et sur GitHub 1 .
Le modèle de contrôle d'accès discrétionnaire classiquement employé sur les systèmes GNU/Linux veut que l'ensemble des processus exécutés par le compte d'un utilisateur dispose des mêmes privilèges vis-à-vis des données auxquelles l'utilisateur a accès. En particulier, selon ce modèle, un programme légitime et un programme malveillant (résultant par exemple de l'exploitation d'une vulnérabilité au sein d'une application, ou d'une porte dérobée) disposent des mêmes droits. Ce modèle de contrôle d'accès est donc inadapté à une séparation des privilèges des applications en fonction de di érentes activités que peut avoir un utilisateur.
Les mécanismes de contrôle d'accès obligatoire (Mandatory Access Control), tels que SELinux ou AppArmor, visent notamment à pallier les limites du modèle de contrôle d'accès discrétionnaire (Discretionary Access Control), en permettant à l'administrateur d'appliquer une politique de sécurité globale sur le système, qui a ne et restreint les permissions accordées aux programmes. Toutefois, cette politique de sécurité est appliquée de manière statique et s'avère complexe à élaborer en pratique.
Cet article présente StemJail, une solution qui permet de répondre au besoin de cloisonnement d'activités utilisateur de manière dynamique. Cette nouvelle approche du cloisonnement simpli e l'utilisation du contrôle d'accès pour l'utilisateur. Notre preuve de concept permet de maîtriser les accès aux données utilisateur a n d'éviter des fuites ou modi cations malveillantes, avec un impact négligeable sur les performances.
StemJail tire son nom des cellules souches (stem cells) capables de se multiplier mais surtout de se spécialiser. StemJail s'utilise sur un système GNU/Linux, sans modi cation intrusive, par des utilisateurs non privilégiés et en complément des contrôles d'accès déjà présents. L'intégralité du code source est disponible sur GitHub 1 sous licence libre.
Contrôle d'accès : StemJail fournit un contrôle d'accès complémentaire sur les données accessibles à l'utilisateur en fonction de son activité, ce qui permet d'améliorer leur protection en con dentialité et en intégrité. L'utilisateur peut ainsi gérer les accès de ses instances d'applications en fonction de leur contexte d'utilisation. On s'intéresse uniquement au contrôle des accès légitimes pour le système aux chiers utilisateur, ce qui exclut par exemple les attaques sur la Trusted Computing Base (p. ex. noyau, services du système, matériel…) ou encore les attaques par canaux auxiliaires.
Fonctionnement adaptatif : Notre solution est capable de s'adapter aux changements d'activité utilisateur de manière dynamique.
Accessible à tout utilisateur : StemJail o re à chaque utilisateur du système le contrôle des accès à ses données, mais sans nécessiter de droits d'administration2 .