Disponibile nell'ormai lontano 2007, Sandbox è uno strumento utilizzato da macOS per contrastare i danni che un'app con contenuti malevoli può causare a un dispositivo. Come ammette Apple stessa, l'app non impedisce gli attacchi ma limita i guai quando ciò avviene.
Di cosa si tratta più nello specifico e come funziona? In questo articolo affronteremo questo tema, analizzando la funzione Sandbox sotto tutti i punti di vista.
Cos'è la modalità sandbox per macOS
Similarmente a quanto reso disponibile da Windows, anche questa app si occupa di offrire all'utente un'area sicura in cui testare le app sospette. Il termine "sandbox" infatti, indica un recinto di sabbia destinato al gioco dei bambini più piccoli. In ambito informatico, questo termine definisce un ambiente di test, dove è possibile provare software mantenendo l'esecuzione "separata" dal resto del sistema operativo.
In questo caso, un'app che si occupa di sandboxing, consente (al momento dell'avvio di un programma su macOS), di avviare questo isolandolo. Un esempio piuttosto calzante, riguarda le automobili. La funzione Sandbox è una sorta di cintura di sicurezza: non può evitare del tutto gli incidenti, ma consente di poterne uscire con minori danni.
Poiché il sandboxing limita ciò che le app possono fare, può limitare la libertà degli sviluppatori e le potenzialità di un software. Inoltre, questa funzione rendono l'app sotto la lente di ingrandimento decisamente più lenta.
Come funziona un'app sandboxing?
Il sandboxing si basa sul principio del minimo privilegio. In breve, i sistemi possono avviare l'app sotto esame, concedendo ad essa la minima possibilità di azione. Limitando l'azione di una applicazione al solo obiettivo dichiarato, si riducono notevolmente le possibilità che questa apporti modifiche al sistema.
L'app, all'interno della sua sandbox, non può accedere direttamente alle risorse del filesystem sul disco rigido. In caso di file aperto, caricato o salvato, questa costituirà l'unica opportunità per l'app di intervenire su dati che non siano quelli necessari alla sua funzione.
Gli sviluppatori di app, dal canto loro, in fase di sviluppo impostano le autorizzazioni che ritengono necessari per il funzionamento corretto del proprio software. In base alle autorizzazioni richieste, il sistema operativo consente all'applicazione un livello di funzionalità adeguatamente limitato.
App in modalità sandbox e app non in sandbox
A partire dal primo giugno 2012, tutte le applicazioni di terzi distribuite attraverso il Mac App Store devono supportare la modalità sandbox. Sebbene il sandboxing consenta un'ampia gamma di funzionalità delle app, i software avviati con questa modalità presentano alcuni limiti.
Alcuni sviluppatori mantengono anche due versioni: un'app completa per il download diretto e una versione snella per il Mac App Store. Grazie alla maggiore complessità dello sviluppo per app "sandbox friendly", aggiungere nuove funzionalità a un'applicazione è più difficile e per questo a volte le app sono meno aggiornate.
Per vedere quali delle tue app sono in modalità sandbox, apri Activity Monitor e fai clic con il pulsante destro del mouse sui titoli delle colonne per aggiungere "Sandbox" alla finestra.
Le app che non funzionano in modalità sandboxing
Ci sono alcune app che possono semplicemente non funzionare mai in una sandbox. Quando i software hanno per forza necessità di avere troppi permessi infatti, risultano infatti pressoché inutili se attivati in modalità sandboxing.
In conclusione
La modalità sandbox di macOS, seppur molto utile, appare molto limitante per molte applicazioni. Diversi software, anche piuttosto diffusi, trovano infatti difficile svolgere le proprie funzioni con permessi così restrittivi come quelli proposti da tale funzione.
Nonostante ciò, è innegabile che quando si tratta con app sconosciute o sospette, il sandboxing è un ottimo modo per poter provare il software senza correre particolari rischi. La speranza è che, nelle prossime versioni del sistema operativo, Apple affini ulteriormente questa modalità, rendendola molto più precisa e performante.