In un sistema operativo moderno si usano tanti programmi diversi, per uso server o desktop. Ciascuno di questi programmi può contenere dei bug che mettano in pericolo l’intero sistema. Alcuni possono essere più in pericolo rispetto ad altri perché dipendono da input esterni, come i browser web, che ovviamente possono essere colpiti se l’utente finisce su un sito web malevolo. E la realtà è che non si può impedire che questi bug esistano, si può solo sperare di riuscire a correggerli prima di subire un attacco. Ci si può però anche premunire per ridurre i danni nel caso qualche programma venga cracckato: utilizzando le sandbox. Quando un programma viene eseguito dentro una sandbox, non può uscire dai suoi vincoli: tipicamente, l’accesso al disco rigido viene limitato ad alcune cartelle considerate sicure, e il programma non può accedere a nient’altro. Il kernel Linux offre la possibilità di realizzare sandobx con il meccanismo SecComp . Non è però una soluzione a portata di tutti, e le sandbox potrebbero invece essere molto più diffuse anche in ambito desktop. Per ovviare a questo problema esiste Firejail , una applicazione dotata anche di interfaccia grafica per consentire a chiunque di proteggersi inserendo qualsiasi programma in una sandbox.
Per avviare un qualsiasi programma attraverso Firejail, basta anteporre firejail
al comando. Quindi, per esempio, firejail firefox
. Ma si può anche lanciare firetools, la comoda interfaccia grafica per configurare le proprie sandbox. Ci sono delle preimpostazioni valide per tutti i principali programmi d’uso comune, ma se ne possono anche creare di nuove.
L’interfaccia grafica permette anche di avviare le varie sandbox configurate precedentemente: è una sorta di widget, una barra dei preferiti che raccoglie tutte le sandbox presentando ciascuna di esse con l’icona del programma che va ad avviare. Chi preferisce usare l’interfaccia grafica, quindi, ha questa comoda opzione, per non dover usare il terminale.
Se si avvia un browser web con una sandbox preconfezionata si noterà che l’applicazione è in grado accedere alle risorse fondamentali, come l’accelerazione grafica per rirpodurre i video di YouTube, ma non può accedere all’intero filesystem: sono permesse solo le cartelle Desktop e Download dell’utente attuale. Allo stesso modo, se si avvia nella sandbox un server web, per esso diventa impossibile accedere a file che non gli competono.