Che cos'è un chroot?
Un chroot è un'area isolata in un sistema informatico in cui gli utenti possono testare programmi non attendibili e impegnarsi in altre operazioni che non vogliono influenzare il resto del computer. Viene utilizzato in Unix e sistemi simili e richiede all'utente di eseguire una serie di comandi che modificano la directory principale utilizzata come riferimento dal programma. Il comando chroot deve essere usato con cautela perché il sistema può essere ancora vulnerabile se non è impostato correttamente, o se l'utente non riesce a prestare attenzione durante le operazioni al suo interno.
Quando un utente crea un ambiente chroot, i programmi eseguiti all'interno di quell'ambiente trattano la directory specificata come root. Questi programmi presumono che non ci siano directory più alte e che quindi non possano accedere alla vera directory radice nella parte superiore del file system. Ciò rende difficile apportare modifiche che potrebbero mettere in pericolo il resto del sistema. Anche altri programmi non possono accedere e modificare le informazioni all'interno del chroot; si comporta come un'unità di isolamento.
Chroot può essere rotto, usando una varietà di tecniche. Uno dei più elementari consiste nel lasciare l'utente nella chroot con i privilegi di root, che consentono ampie modifiche al sistema. I programmi possono trarne vantaggio per uscire dalla loro prigione digitale e accedere al resto del sistema. Per questo motivo, è importante modificare le autorizzazioni utente al più presto, una misura standard nella sicurezza del computer. Lasciare gli utenti impostati sui ruoli meno privilegiati come regola generale può ridurre il rischio di un problema di sicurezza.
Anche la directory di root falsa deve essere opportunamente popolata con risorse che i programmi devono usare. In caso contrario, potrebbero non funzionare correttamente. Gli utenti in genere tengono tutto ciò che non è strettamente necessario fuori dal chroot, ma devono assicurarsi che alcune informazioni siano disponibili. Man mano che gli utenti navigano nell'ambiente, possono prendere nota di eventuali problemi o preoccupazioni specifici che sorgono, in modo che siano consapevoli prima di provare gli stessi processi nel sistema informatico in generale.
Questo può essere un utile ambiente di test, in cui un utente desidera esplorare codice o programmi con un rischio ridotto per il resto del sistema. Può anche essere utile per la manipolazione di materiali sconosciuti o non attendibili. Invece di caricarli direttamente sul sistema, l'utente può usare chroot per esaminarli e valutarli per determinare se sono sicuri.