Work on TP3

This commit is contained in:
nemunaire 2017-10-23 00:14:32 +02:00
commit 1aa9530f3a
8 changed files with 130 additions and 103 deletions

View file

@ -5,7 +5,7 @@ Les capabilities
## Présentation
Historiquement, dans la tradition UNIX, on distingue deux catégories de
Historiquement, dans la tradition UNIX, on distingait deux catégories de
processus :
* les processus *privilégiés* : dont l'identifiant de son utilisateur est 0 ;
@ -40,16 +40,16 @@ faire, il est nécessaire de pouvoir écrire directement sur l'interface ; ça,
seul le super-utilisateur peut le faire.
Pour permettre à tous les utilisateurs de pouvoir envoyer des ping, le
programme est donc généralement Setuid root. Cela permet à n'importe quel
programme est donc généralement *Setuid root*. Cela permet à n'importe quel
utilisateur de prendre les droits du super-utilisateur, le temps de l'exécution
du programme.
Les problèmes surviennent lorsque l'on découvre des vulnérabilités dans les
programmes Setuid root. En effet, s'il devient possible pour un utilisateur
programmes *Setuid root*. En effet, s'il devient possible pour un utilisateur
d'exécuter du code arbitraire, ce code sera exécuté avec les privilèges de
l'utilisateur root ! Dans le cas de ping, on se retrouverait alors à pouvoir
lire l'intégralité de la mémoire, alors que l'on avait juste besoin d'écrire
sur une interface réseau.
l'utilisateur *root* ! Dans le cas de `ping`, on se retrouverait alors à
pouvoir lire l'intégralité de la mémoire, alors que l'on avait juste besoin
d'écrire sur une interface réseau.
C'est donc à ce moment que les *capabilities* entrent en jeu : un processus (ou
même un thread) privilégié peut décider, généralement à son lancement, de
@ -197,4 +197,4 @@ Et de ces quelques articles :
Pour revenir à Docker, par défaut, un certain nombre de *capabilities* sont
désactivées par défaut ; vous pouvez en ajouter et en retirer via les arguments
`--cap-add` et `--cap-drop` du `docker run`.
`--cap-add` et `--cap-drop` du `docker container run`.