Dopo il sandboxing arrivato con OS X 10.7 Lion e il Gatekeeper arrivato con OS X 10.8 Mountain Lion, con il nuovo OS X 10.11 El Capitan è il turno di un nuovo meccanismo di difesa. Ne parla il francese Macg spiegando nuove funzionalità di sicurezza intrinseche previste per il nuovo sistema operativo.
I meccanismi di Sandboxing e il Gatekeeper proteggono l’utente da potenziali applicazioni dannose ma non tengono conto di possibili danni che lo stesso utente può arrecare al sistema. Il problema nasce dal fatto che molti utenti Mac hanno l’abitudine di creare un solo utente per tutto (amministrare il computer e sfruttare programmi standard). Utenti poco esperti potrebbero fornire la password dell’utente amministratore ad applicazioni malevole e vanificare i meccanismi di protezione intrinseca del sistema. Come abbiamo spiegato varie volte una semplice regola di prudenza dovrebbe prevedere di lavorare con privilegi di amministratore solo quando è strettamente indispensabile: installare aggiornamenti del sistema operativo, eseguire procedure di manutenzione, installare applicazioni note e di provenienza inequivocabile, ecc. È sempre buona norma creare almeno due utenti: un utente amministratore e un utente senza privilegi e usare quest’ultimo per svolgere le normali attività, delegando all’utente amministratore solo alcuni compiti e usando questa utenza solo quando è strettamente necessario.
Con OS X 10.11 El Capitan, Apple limita alcuni potenziali danni che un utente potrebbe fare fornendo ad applicazioni sconosciute username e password dell’amministratore, impedendo la modifica di alcuni file e cartelle, in particolare: /System, /bin, /usr e /sbin.
Gli sviluppatori devono “accontentarsi” di annidare file e cartelle in /Library, \~/Library, /usr/local e in /Applicazioni. Già da adesso chi non segue queste regole, farà bene ad aggiornare i suoi software, pena possibili incompatibilità con il futuro sistema.
Tutte le applicazioni, comprese quelle scaricate e installate all’infuori del Mac App Store, dovranno tenere conto delle limitazioni sopra indicate. Il cambiamento in questione aumenta considerevolmente la sicurezza ma rende più complicato sviluppare utility che modificano il comportamento del sistema. Tra gli sviluppatori che avranno difficoltà, vi sono quelli che creano “Kext” (Kernel Extension), particolari estensioni caricabili all’avvio sfruttate per, appunto, “estendere” le funzionalità base del nucleo del sistema operativo. È possibile in alcuni casi aggirare il meccanismo sfruttando comandi da Terminale ma la vita di chi potrebbe installare potenziali elementi malevoli in Library/Extensions, è ora più complicata.
App Transport Security
Un diverso meccanismo di protezione riguarda la comunicazione con applicazioni server. In OS X 10.11 El Capitan Apple ha previsto un sistema che consente di mettersi al sicuro contro ISP, agenzie pubblicitarie e altri che potrebbero potenzialmente controllare a nostra insaputa la cronologia di navigazione. Per impostazione predefinita, non è più possibile avviare comunicazioni sprotette su HTTP. Apple ha comunicato agli sviluppatori che per qualche motivo hanno bisogno di sfruttare connessioni non protette di passare prima possibile all’HTTPS, protocollo di crittografia asimmetrica che garantisce trasferimenti riservati di dati nel web. Apple è molto esigente da questo punto di vista e da una slide di materiale proveniente dalla WWDC si evince la necessità di sfruttare protocolli quali Transport Layer Security (TLS) 1.2, il divieto d’uso di algoritmi di cifratura troppo deboli quali RC4 e firme SHA-1) e l’obbligo di sfruttare chiavi robuste (2048 bit per RSA e 256 bit per la crittografia ellittica ECC). Apple, in pratica, vuole la sicurezza che nessuna terza parte possa all’insaputa dell’utente accedere a dati di qualsiasi genere, un punto di forza sul quale da qualche tempo ha deciso di scommettere.