Android, je sais pas, mais de ce que j’en comprends, iOS fait de l’IPC (xpc en parlance Apple) pour tout/la plupart de ce qui requiert des permissions.
L’implémentation repose sur des mach messages, et passe donc par le kernel. Ça paraît assez simple pour des trucs genre location etc, pas sûr de comment ça marche pour des services lourds en données, genre photos.
Bref, l’idée de base c’est que le process demeure 100% sandboxé. L’appli demande les permissions au daemon, qui va rendre, via le window manager, la pop up de confirmation (out of process donc). Une fois confirmé, la communication xpc peut continuer entre les 2.
L’appli reste donc 100% sandboxée et non privilégiée, ce qui est plutôt cool. Ya toujours le système de root, donc c’est techniquement possible de passer root et faire des choses affreuses au système (mais ça reste difficile à cause de la sandbox).
Le truc c’est que ça marche uniquement parce que c’est un système mono utilisateur, et donc l’humain est de confiance, c’est les applis qui ne le sont pas, le contexte est donc très différent de ce qui est discuté ici (les applis sont de confiance, mais pas les humains).
[^] # Re: Permissions Android
Posté par groumly . En réponse à la dépêche Linux capabilities : se passer des commandes su et sudo. Évalué à 4. Dernière modification le 09 septembre 2018 à 20:55.
Android, je sais pas, mais de ce que j’en comprends, iOS fait de l’IPC (xpc en parlance Apple) pour tout/la plupart de ce qui requiert des permissions.
L’implémentation repose sur des mach messages, et passe donc par le kernel. Ça paraît assez simple pour des trucs genre location etc, pas sûr de comment ça marche pour des services lourds en données, genre photos.
Bref, l’idée de base c’est que le process demeure 100% sandboxé. L’appli demande les permissions au daemon, qui va rendre, via le window manager, la pop up de confirmation (out of process donc). Une fois confirmé, la communication xpc peut continuer entre les 2.
L’appli reste donc 100% sandboxée et non privilégiée, ce qui est plutôt cool. Ya toujours le système de root, donc c’est techniquement possible de passer root et faire des choses affreuses au système (mais ça reste difficile à cause de la sandbox).
Le truc c’est que ça marche uniquement parce que c’est un système mono utilisateur, et donc l’humain est de confiance, c’est les applis qui ne le sont pas, le contexte est donc très différent de ce qui est discuté ici (les applis sont de confiance, mais pas les humains).