0 votes

Serait-il possible de mettre les applications en sandbox avec SELinux ?

De nombreuses applications exigent trop de permissions dont elles n'ont pas besoin pour fonctionner.

La plupart des applications ont besoin d'une connexion internet pour communiquer avec certaines API (disons la vérification des mises à jour ou les notifications etc) et doivent accéder à la carte SD (pour la mise en mémoire tampon/cache). Mais si nous leur accordons cela, elles peuvent prendre toutes mes données.

Ce serait génial si le système d'exploitation était structuré de telle sorte que nous puissions accorder aux applications l'accès à des répertoires spécifiques qui n'appartiennent qu'à elles (pensez au cache du navigateur, à la mémoire tampon de YouTube, etc.) et lorsque l'utilisateur veut rapidement et consciemment passer des fichiers (par exemple, télécharger un fichier dans un navigateur Web), ils sont mis en scène/promus/liés à cette zone accessible par l'application.

En attendant, nous avons SELinux dans de nombreux téléphones Android et nous pouvons l'utiliser pour mettre les applications en bac à sable (l'idée existe depuis 2009). http://danwalsh.livejournal.com/28545.html )

voici la question : pouvons-nous définir une politique qui dit (si oui comment)

  • ces applications ne sont pas autorisées à accéder au répertoire de ma galerie (DCIM)
  • Ces applications sont autorisées à accéder à ma galerie mais ne sont pas autorisées à utiliser la connexion réseau.

dans le bureau Linux il a été appliqué avec succès (ici il a été appliqué sur firefox http://danwalsh.livejournal.com/31146.html )

0voto

Andy Brudtkuhl Points 1714

Android dispose déjà de ce type de sandboxing des applications. Chaque application obtient son propre répertoire de données (et éventuellement un autre sur la carte SD), et seule cette application peut lire ce répertoire. Les apps ne peuvent pas lire directement les répertoires des autres apps.

Lorsqu'une application (telle que la galerie) souhaite mettre son contenu à la disposition d'autres applications, elle peut offrir une interface que les autres applications peuvent utiliser. En fait, il existe deux types d'interfaces que les applications peuvent offrir.

La première se fait via le intention mécanisme. Il est utilisé lorsque vous obtenez (par exemple) une boîte de dialogue "Choose image from", avec différentes applications à choisir. Le site intention Le mécanisme permet à l'application qui possède l'image d'accorder à l'application qui l'appelle le droit d'utiliser l'image. temporaire l'accès à seulement l'image ou les images que vous choisissez de cette façon.

Le deuxième mécanisme consiste à ce que l'application agisse comme une fournisseur de contenu . L'application agit alors comme un serveur, permettant aux autres applications de parcourir et de trouver du contenu, et d'y accéder directement sans votre intervention. Lorsqu'une application agit de la sorte, c'est à l'application propriétaire du contenu de choisir le mécanisme de sécurité à utiliser. L'application peut exiger que l'application appelante dispose d'un code d'accès particulier. autorisation (voire une nouvelle autorisation spécialement créée à cet effet). Par exemple, l'accès aux contacts est fourni de cette manière. Seule la fonction intégrée fournisseur de contacts a un accès direct à la base de données des contacts. Elle agit également en tant que fournisseur de contenu, pour permettre à d'autres applications d'y accéder, mais uniquement si elles disposent de l'autorisation appropriée (telle que "lire mes contacts").

Ainsi, comme vous pouvez le constater, le mécanisme que vous décrivez, à savoir la mise en bac à sable des applications et le passage des fichiers d'une application à une autre uniquement par le choix de l'utilisateur, existe déjà dans Android. Il est très en avance sur les systèmes d'exploitation de bureau à cet égard. Il appartient aux applications d'utiliser ces mécanismes pour contrôler le contenu qu'elles possèdent, et il y aura toujours un compromis entre la granularité du contrôle (utilisation de nombreuses autorisations) et la facilité de compréhension pour l'utilisateur (utilisation de moins d'autorisations).

-2voto

anon spyblock Points 1

Oui, mais certaines applications se plantent lorsqu'elles voient qu'elles sont bridées. Module Xprivacy pour le cadre xposé et aussi les paramètres des applications. Cherchez et vous trouverez des fils de discussion sur les pages xda.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X