Scopriamo quali sono le funzionalità di Mac OS X implementate da Apple, deputate a garantire la sicurezza e la protezione del sistema operativo.
Sul blog della società Intego (1) dedicato alla sicurezza, denominato “The Mac Security Blog”, è stato pubblicato, il 22 febbraio 2016, un breve articolo di Kirk McElhearn (2), Senior Contributor di Macworld U.S.A., che delinea sinteticamente quali sono le principali funzionalità presenti in Mac OS X poste a protezione del sistema operativo e quindi deputate a garantirne un utilizzo sicuro da parte degli utenti.Quando utilizziamo il Mac per lavoro o per svago, ciò che vediamo ed a cui abbiamo direttamente accesso (come i menù o le preferenze) è solo una minima parte di ciò che in realtà consente al sistema operativo di funzionare e vi sono inoltre alcune funzionalità, normalmente invisibili all’utente, la cui funzione è quella di garantire la sicurezza e l’integrità del sistema stesso e dei dati.
Nel corso del tempo, Apple ha implementato in OS X, a questo fine, una serie di funzioni, alcune delle quali potrebbero magari esservi note ed altre che magari non avete mai sentito nominare.
Eccovi quindi una breve descrizione delle principali funzionalità di Mac OS X deputate alla sicurezza del sistema ed alla preservazione dell’integrità dei dati: File Quarantine, Gatekeeper, Sandboxing, Journaled File System e System Integrity Protection.
File Quarantine
Nel 2009, quando Apple rilasciò al pubblico OS X 10.6 Snow Leopard, introdusse nel sistema operativo una rudimentale funzionalità anti-malware. Il nome ufficiale era File Quarantine, anche se nell’ambiente della sicurezza applicativa era maggiormente nota come XProtect, dal nome del suo file di configurazione, Xprotect.plist.
Diversamente da un normale antivirus però, File Quarantine è stato progettato per rilevare un ristretto e specifico gruppo di malware. Appare dunque evidente come la sua efficacia sia limitata ai soli malware che vengono periodicamente aggiunti al suo file di configurazione mediante gli aggiornamenti di sistema; inoltre, è in grado di effettuare una rilevazione solo sui file scaricati mediante Safari o Chrome, su quelli ricevuti come allegati ad un messaggio di posta elettronica o inviati tramite iMessage (ed alcune altre applicazioni).
Per consentire l’aggiornamento periodico della “exclusion list” di File Quarantine con i nuovi malware identificati da Apple, è necessario marcare la voce “Installa i file dei dati di sistema e gli aggiornamenti di sicurezza” in Preferenze di Sistema -> App Store. Quando File Quarantine rileva un malware, l’utente viene avvisato e gli viene richiesto di eseguire l’azione adeguata alla circostanza. (3)
Gatekeeper
Introdotto con OS X 10.7.5 “Lion”, Gatekeeper è una tecnologia che utilizza il “code signing” (4) per verificare l’autenticità e l’integrità delle applicazioni installate sul Mac. Gli sviluppatori possono richiedere ad Apple un certificato digitale per “firmare” il loro codice e questo certificato crittografico consente ad OS X di accertare che un’applicazione proviene da uno sviluppatore autorizzato e che il codice non è stato alterato.
Vi sono però alcuni limiti. Come Apple stessa spiega in un suo documento ufficiale (5), “la firma tramite Developer ID viene applicata alle app scaricate da internet e non alle app provenienti da altre origini, ad esempio file server, unità esterne o dischi ottici, a meno che queste non siano state originariamente scaricate da internet.”
Le opzioni di Gatekeeper disponibili per l’utente si trovano in Preferenze di Sistema -> Sicurezza e Privacy – > pannello “Generale”, alla voce “Consenti applicazioni scaricate da:”. Si può scegliere l’opzione più sicura e installare solo le app provenienti dal Mac App Store, oppure consentire l’installazione solo delle app provenienti dal Mac App Store e da sviluppatori identificati; in alternativa, si può permettere l’apertura di qualsiasi app, come accadeva nelle versioni precedenti di OS X.
Sandboxing
Si tratta di una funzionalità introdotta con OS X 10.5 “Leopard”. Apple informa gli sviluppatori (6) che il sandboxing “fornisce l’ultima linea di difesa contro il furto, la cancellazione o la corruzione dei dati, nel caso un attaccante riesca a sfruttare un problema di sicurezza nella vostra applicazione”.
Il sandboxing (7) è un metodo (ovviamente non infallibile, ma cosa lo è?) per creare un muro virtuale di protezione attorno ad un’applicazione o ad un processo, con il fine ultimo di proteggere l’utente dal malware che può incontrare durante la navigazione su internet: poiché Safari è “sandboxed”, il malware che si annida in pagina web non dovrebbe essere in grado di installarsi automaticamente sul Mac o di modificare altri file o applicazioni. Chiaramente, per l’utente che clicca indiscriminatamente su qualunque cosa gli si pari davanti, non esistono protezioni che tengano.
Apple richiede attualmente agli sviluppatori che tutte le applicazioni veicolate tramite l’App Store siano “sandboxed”, ma poiché il sandboxing può limitare severamente l’interazione delle applicazioni con il sistema operativo, diversi produttori di utilities di sistema (come gli antivirus o le app per personalizzare l’interfaccia o aggiungere funzionalità ad OS X) hanno dovuto scegliere di distribuire le loro applicazioni al di fuori dell’App Store.
Il sandboxing è una funzionalità completamente trasparente all’utente e pertanto non vi è modo di attivarla o disattivarla nelle Preferenze di Sistema.
Journaled File System
La sicurezza del sistema operativo non si limita alla protezione contro “i cattivi”, ma attiene anche alla salvaguardia ed all’integrità dei dati. Per questo il file system HFS+ con journaling di Mac OS X viene considerato anche come una funzionalità attinente alla sicurezza del sistema.
L’architettura del file system HFS (Hierarchical File System) risale addirittura al 1985, quando venne introdotto per sostituire il precedente Macintosh File System. Apple mantenne in uso l’HFS sino al 1998, quando, con la presentazione di Mac OS 8.1, venne introdotto l’HFS+, ma la più recente innovazione venne introdotta con la versione server di OS X 10.2.2 “Jaguar”, che disponeva, quale opzione, dell’HFS+ con il journaling, divenuto poi il file system di default con OS X 10.3 “Panther”.
Il file system è un software di basso livello, residente su un disco rigido o su un altro tipo di supporto di memorizzazione, che indicizza e cataloga i file presenti; senza di esso, non è possibile (semplificando) copiare, spostare o cancellare i file. Quando però si presenta un errore di natura logica, nel supporto di memorizzazione, questo “catalogo dei file” si corrompe e pur essendo i file ancora fisicamente presenti sul supporto, il file system non è più in grado di trovarli.
Il journaling altro non è che una sorta di log che tiene traccia dei cambiamenti avvenuti sul supporto di memorizzazione, prima che essi vengano finalizzati; così, in caso di un problema, il file system può andare a leggere questo log e ritrovare i file.
System Integrity Protection
La più recente tra le funzionalità atte a garantire la sicurezza del sistema operativo di Apple è la “protezione dell’integrità del sistema” (System Integrity Protection, noto anche come Rootless).
Su ogni Mac sono presenti diversi account utente, tra i quali uno denominato “root”, che è il cosiddetto “superutente”. L’utente root può fare qualunque cosa: accedere, modificare o cancellare qualunque file, cambiare i permessi degli altri utenti e potenzialmente anche disintegrare l’intero sistema operativo. Un utente amministratore può diventare temporaneamente root, mediante l’esecuzione di un apposito comando nel terminale.
La protezione dell’integrità del sistema, introdotta con Mac OS X 10.11 “El Capitan”, previene l’accesso dell’utente root ad alcuni file e limita le azioni che esso può intraprendere su alcune specifiche parti del sistema operativo. L’obiettivo delle limitazioni non è quello di impedire l’accesso all’utente debitamente autorizzato, bensì quello di impedirlo ai malware che tentano una scalata dei privilegi di accesso al sistema, al fine di prenderne il controllo.
Com’è ovvio, però, la protezione non opera in maniera assoluta, in quanto esistono degli strumenti software mediante i quali questi file protetti possono comunque essere modificati, per motivi legittimi, quali, ad esempio, Apple Software Updates o gli installer dei programmi certificati da Apple. Inoltre, la protezione è disattivabile ad opera dell’utente amministratore del sistema.
Conclusioni
La sicurezza di un sistema operativo è un problema complesso e variegato ed oltre a quelli sopra elencati, vi sono molti altri strumenti deputati a garantire un adeguato livello di sicurezza nell’utilizzo di Mac OS X. Un esempio è costituito dalle molteplici modifiche apportate, nel tempo, al codice di Safari, il browser di Mac OS X, in quanto il browser internet è oggi uno dei principali vettori di attacco dei malware che circolano in rete.
La cosa più importante che si possa fare oggi per mantenere un adeguato livello di sicurezza, secondo l’autore dell’articolo sino a qui esaminato (ed io tenderei a concordare, in linea di massima), è di assicurarsi che il sistema operativo e le applicazioni in uso siano costantemente aggiornate, al fine di poter beneficiare degli ultimi aggiornamenti di sicurezza rilasciati dal produttore.
Note:
(1): Intego è una società statunitense produttrice di software nell’ambito della sicurezza per Mac OS X e iOS, dedicati sia all’utenza domestica che a quella professionale; tra i suoi prodotti più noti, il firewall NetBarrier e l’antivirus VirusBarrier (www.intego.com/)
(2): www.intego.com/mac-security-b…-your-mac/
(3): malware_example.png
(4) : il “code signing” è l’azione di firmare, usualmente mediante certificati digitali ed hash crittografici, gli eseguibili e gli script per attestare l’identità dell’autore del software ed a garanzia del fatto che il codice non sia stato alterato o corrotto da quando è stato firmato dal suo legittimo autore.
(5): support.apple.com/it-it/HT202491
(6): developer.apple.com/library/m…ndbox.html
(7): Sandbox è un termine inglese con il quale si indica il recinto della sabbia destinato ai giochi dei bambini e che, in ambito informatico, identifica un ambiente di test, di prova, di regola isolato dal normale flusso di ambienti predisposti per lo sviluppo ed il test delle applicazioni.
sistema integrity protection non so fino a quanto sia una sicurezza vera o una cosa per controllo della apple. Io ho dovuto disabilitarla per app come tcpblock (che non è in app store) che mi permette di bloccare la chiamata a casa della varie applicazioni. Siccome nemmeno little snitch (che però è a pagamento e offre più di quello che serve a me e non la uso da anni) è in app store e installerà un’estensione del kernel, immagino che anche per quella ne richieda la disabilitazione. Inoltre anche OnyX per alcune funzione richiede la disabilitazione di SIP. Gatekeeper anche quella mi sembra una sicurezza un po’ di parte. C’è qualcuno che si è mai infettato per un’app di macupdate? Macupdate esiste dai tempi di OS9 e meno male che esiste ancora. Gatekeeper rimane da usare per coloro che sono talmente a corto di conoscenze da non distinguere OnyX da macKeeper.