chroot (change root) est un appel système qui a également donné son nom à une commande des systèmes d'exploitation Unix permettant de changer le répertoire racine d'un processus de la machine hôte.
L'appel système chroot est introduit lors du développement de la version 7 d'Unix en 1979. Il est ajouté à BSD par Bill Joy le , 17 mois avant la sortie de BSD 4.2 pour tester et construire son système. Un premier usage de l'appellation jail pour enfermement de shell vient de Bill Cheswick en 1991 qui avait créé un honeypot pour surveiller un cracker. Carole Fennelly décrit dans un article de les premières méthodes d'évasion de jail.
En 2000, FreeBSD étend le concept en fournissant la commande jail.
En 2002, Nicolas Boiteux rédige le premier article décrivant la méthode pour créer un jail linux à partir de la commande chroot.
En 2003, l'utilisation plus répandue du chroot shell Linux donne naissance aux plateformes Internet de microservices applicatifs SaaS et PaaS avec une consommation facturée à l'usage des ressources du jail, prémices du cloud, de la virtualisation système des serveurs, ainsi que des technologies renommées plus tard containers (tel que Docker).
En 2005, Sun introduit les conteneurs Solaris décrits comme des « chroots sous stéroïdes ».
En 2008, LXC (qui sera utilisé par Docker plus tard) utilise la terminologie de conteneur et gagne en popularité en 2013 à la suite de son inclusion dans le noyau Linux 3.8.
Cette commande permet d'isoler l'exécution d'un programme et d'éviter ainsi la compromission complète d'un système lors de l'exploitation d'une faille. Si un pirate utilise une faille présente sur l'application chrootée, il n'aura accès qu'à l'environnement isolé et non pas à l'ensemble du système d'exploitation. Cela permet donc de limiter les dégâts qu'il pourrait causer. Cet environnement est appelé un chroot jail en anglais, littéralement une prison.
Il permet également de faire tourner plusieurs instances d'un même ensemble de services ou démons sur la même machine hôte.
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.
FreeBSD est un système d'exploitation UNIX libre. Le nom vient de l'association d'une part de free qui signifie à la fois « libre » et « gratuit » dans l'anglais courant, et d'autre part de Berkeley software distribution (BSD), l'UNIX développé à l'université de Berkeley.
OpenBSD est un système d'exploitation libre de type Unix, dérivé de 4.4BSD. Créé en 1994 par Theo de Raadt, il est issu de la séparation avec NetBSD, le plus ancien des trois autres principaux systèmes d'exploitation de la famille des BSD aujourd'hui en activité. Le projet OpenBSD est réputé pour son intransigeance sur la liberté du logiciel et du code source, la qualité de sa documentation, et l'importance accordée à la sécurité et la cryptographie intégrée.
La virtualisation au niveau du système d'exploitation est un paradigme de système d'exploitation (SE) dans lequel le noyau permet l'existence de plusieurs instances d'espace utilisateur isolées, appelées le plus souvent conteneurs (LXC, Solaris containers, Docker, Podman), mais également zones (Solaris containeurs), serveurs privés virtuels (OpenVZ), partitions, environnements virtuels, noyaux virtuels (DragonFly BSD) ou encore prisons (FreeBSD jail ou chroot jail).
,
setuid system calls enable critical functions such as user authentications and modular privileged components. Such operations must only be executed after careful validation. However, current systems do not perform rigorous checks, allowing exploitation of ...