Une première faille dans le système de sandboxing d'OS X Lion

Anthony Nelzin-Santos |
Au printemps prochain, les applications du Mac App Store devront utiliser le sandboxing : elles ne pourront plus sortir d'un bac à sable leur laissant un accès limité aux données et au système, au bénéfice théorique de la sécurité de l'utilisateur (lire : OS X Lion : comprendre le casse-tête du sandboxing). Un bénéfice théoriquement seulement : le sandboxing est un système très imparfait et les chercheurs de CoreLabs Research ont déjà trouvé une faille dans celui d'OS X Lion.

Le principe du sandboxing repose sur la limitation des accès aux données et au système par un jeu de « permissions » : les apps doivent déclarer les fonctions dont elles ont besoin, et ne peuvent théoriquement pas accéder aux autres. CoreLabs a néanmoins trouvé une faille par laquelle les apps peuvent outrepasser leurs droits, et donc sortir de leur bac à sable.

Cette faille consister à utiliser osascript (un mécanisme pour exécuter des AppleScripts) pour déclencher des Apple Events permettant à launchd (le framework contrôlant le lancement, la gestion et l'arrêt d'applications, processus et démons) de démarrer un nouveau processus. Ce nouveau processus n'étant pas un enfant du processus sandboxé, il est créé sans aucune restriction et peut donc agir hors du bac à sable. Dans un exemple, une application sandboxée qui n'a pas le droit d'accéder au réseau utilise un simple AppleScript pour ouvrir une connexion, c'est-à-dire faire ce qu'elle n'a théoriquement pas le droit de faire.

Cette faille en rappelle une autre, découverte par Charlie Miller sur iOS en 2008, et se limite à certaines permissions, notamment celles autour de l'accès au réseau. Apple avait à l'époque corrigé le tir (en supprimant simplement la possibilité d'utiliser les Apple Events), mais semble cette fois-ci ne pas s'y intéresser. Elle a simplement mis à jour sa documentation pour préciser certains points de fonctionnement du sandboxing en rapport avec cette possible escalade des murs dressés autour du bac à sable. Un bac à sable qui, en l'état, n'apporte plus grand-chose en matière de sécurité.
Accédez aux commentaires de l'article