Comment le Sandboxing des Applications macOS Protège les Utilisateurs

Introduit en 2007 et rendu obligatoire en 2012, le sandboxing est un outil utilisé par macOS pour limiter les dommages qu’une application piratée peut causer. Apple déclare : « Bien que le Sandboxing des Applications ne prévienne pas les attaques contre votre application, il minimise les dommages qu’une attaque réussie peut causer. Le sandboxing des applications macOS protège les utilisateurs en limitant les problèmes qu’une application peut causer.

Lisez aussi : 4 des Meilleures Applications de Sandboxing pour Windows pour Vous Protéger

Qu’est-ce que le Sandboxing des Applications macOS ?

Chaque application a son propre espace de jeu : un « sandbox ». Si l’application souhaite accéder à l’extérieur de son sandbox, elle doit demander la permission au système d’exploitation. En fonction des paramètres du sandbox, le système d’exploitation refusera ou approuvera la demande de l’application tout en fournissant le moins d’informations spécifiques possible pour compléter la demande.

about-sandboxing

Pensez à une voiture. Le conducteur est protégé par de multiples caractéristiques de sécurité comme les freins antiblocage, les airbags, les zones de déformation, et plus encore. En 2007, au moment de l’introduction du Sandboxing des Applications, aucun système informatique analogue n’existait. Comme le demandait la présentation d’introduction, où étaient les ceintures de sécurité pour les ordinateurs ? Le sandboxing protège les utilisateurs comme les voitures protègent leurs conducteurs : en faisant face aux échecs avec des systèmes de réduction des dommages. Que ce soit causé par une activité malveillante ou des erreurs de codage, les dommages diminuent.

Parce que le sandboxing limite ce que les applications peuvent faire, il peut restreindre la liberté des développeurs. Les applications sandboxées fonctionnent plus lentement et prennent plus de temps à développer. Grâce à l’énorme capacité du Mac, les limites du sandbox peuvent avoir un impact énorme sur la compatibilité de diverses applications. En conséquence, les utilisateurs avancés sont souvent poussés à choisir des applications qui fonctionnent en dehors du sandbox, soit pour des problèmes de performance, soit de fonctionnalités.

Comment Fonctionne le Sandboxing des Applications ?

Le sandboxing est basé sur le principe du moindre privilège. En résumé, les systèmes peuvent faire ce qu’ils doivent faire mais pas plus. En limitant chaque partie d’un système à accomplir uniquement son objectif déclaré, vous réduisez la chance que votre application soit piratée. Par exemple, il n’y a aucune raison qu’une application de lampe de poche ait accès à votre liste de contacts.

Les applications peuvent atteindre l’extérieur de leur sandbox mais uniquement avec la permission du système d’exploitation. Prenez la boîte de dialogue « Enregistrer et Ouvrir » dans macOS. L’application, à l’intérieur de son sandbox, ne peut pas accéder directement aux ressources du système de fichiers sur votre disque dur. Elle ne peut pas, par exemple, ouvrir un panneau à « ~/Documents ». Au lieu de cela, l’application doit demander à l’API Powerbox avec les classes NSOpenPanel et NSSavePanel pour accéder au panneau.

macos-app-sandboxing-powerbox-design

L’application ne peut pas voir ce qui se passe à l’intérieur de Powerbox directement. Seul le fichier ouvert ou enregistré sera accessible à l’application. De cette manière, les applications peuvent effectuer des fonctions critiques sans risque inutile.

Cette fonctionnalité est activée par un droit (spécifiquement com.apple.security.files.user-selected.read-write). Les développeurs d’applications définissent des droits qui déclarent ce que fait une application. En fonction des droits déclarés, le système d’exploitation permet à l’application un niveau de fonctionnalité approprié et limité.

Ce raisonnement sous-tend l’ensemble du modèle et du mécanisme de sandboxing des applications : les applications doivent déclarer leur intention et demander la permission à un responsable au niveau du système d’exploitation pour accomplir quoi que ce soit de dangereux.

Applications Sandboxées vs. Applications Non-Sandboxées

Depuis le 1er juin 2012, toutes les applications tierces distribuées via le Mac App Store doivent être sandboxées. Bien que le sandboxing permette une large gamme de fonctionnalités d’application, vous constaterez que les applications du Mac App Store sont souvent plus limitées que leurs composants non-sandboxés. Certains développeurs maintiennent même deux versions : une application entièrement fonctionnelle pour le téléchargement direct et une version limitée pour le Mac App Store. Grâce à la plus grande complexité du développement sandbox, ajouter de nouvelles fonctionnalités à une application est plus difficile – si cette fonctionnalité est même autorisée par le système d’exploitation, c’est-à-dire.

Bien que les applications sandboxées puissent bénéficier de la distribution via le Mac App Store, vous pouvez deviner à quel point nous pensons que cela est précieux. Le sandboxing peut également être étendu avec des permissions de sécurité. Bien qu’une application ne puisse pas activer les permissions d’Accessibilité pour elle-même, elle peut demander à l’utilisateur de le faire.

macos-security-privacy-permissions-hero

Pour voir quelles de vos applications sont sandboxées, ouvrez le Moniteur d’Activité, et faites un clic droit sur les titres de colonne pour ajouter « Sandbox » à la fenêtre.

macos-app-sandboxing-activity-monitor-view

Il y a certaines applications qui ne peuvent tout simplement jamais exister dans un sandbox. En fait, une variété de cas d’utilisation précieux sont empêchés par le sandboxing. Le sandboxing empêche la communication inter-applications, l’observation ou la modification, limitant considérablement la manière dont les applications peuvent interagir. Les raccourcis système comme TextExpander sont totalement interdits, car ce niveau de fonctionnalité pourrait être autorisé par le sandbox.

Conclusion

Bien que prometteur, le sandboxing des applications macOS n’a pas été bien exécuté. Il a limité les points de vente uniques des applications Mac, comme la vitesse et les fonctionnalités améliorées. Les applications fonctionnant en dehors du sandbox sont presque toujours plus capables et plus rapides. Du point de vue de cet utilisateur avancé, mes applications les plus utilisées ne sont pas sandboxées. Des applications comme TextExpander, SnagIt et TotalFinder sont toutes cruciales pour mon travail quotidien. Pour éviter une telle évitement généralisé, les futurs systèmes de sécurité doivent équilibrer flexibilité et puissance avec transparence.

Crédit image : Apple