In questi giorni è stato alzato un gran polverone per un bollettino di sicurezza apparso sul sito della Apple nel quale la società di Cupertino consigliava l’utilizzo di software antivirus per aggiungere più livelli di sicurezza al proprio sistema operativo OSX e rendere più difficile la scrittura di malware da parte dei malware writer.

Bollettino scomparso dal sito stesso della società dopo pochi giorni – e dopo notevoli polemiche in tutta la comunità informatica – e rimpiazzato da un annuncio in cui Apple afferma si trattasse di un vecchio articolo e che, in realtà, i Mac non necessitano di software antivirus perché sono progettati con tecnologie di sicurezza che forniscono già di proprio la protezione contro software malevoli.

Un’affermazione discutibile, sicuramente, come la stessa società di sicurezza F-Secure ha commentato nel proprio blog. Il problema è che quando si va a toccare l’argomento sicurezza in sistemi operativi diversi da Windows, immediatamente si alza un polverone a scudo protettivo.
Solitamente le frasi che si sentono dire è: “Passa a Mac, quello sì che è un sistema sicuro e non Windows“, “Passa a Mac che lì non esistono virus” et similia.

Entrambe le affermazioni sono false, ma non è altrettanto scontato dire il contrario, cioè “Il Mac è insicuro” e “Esistono tanti virus per Mac quanti quelli per Windows“.

Bisogna fare delle riflessioni ed avere un minimo di apertura mentale.

Partiamo con delle cifre: dalle statistiche W3Counter relative ad Ottobre 2008, risulta una diffusione di Windows pari a circa l’89,86%, di MacOS X pari a circa il 5,33% e di Linux pari a circa il 2,09%.
Questi sono dati significativi, ma non da soli, vanno presi in esame insieme ad altri fattori ed utilizzati per unire poi tutti i punti di riflessione.

Chiaramente, in quell’89,86% c’è alta probabilità che siano presenti una vasta gamma di persone, da quelle esperte fino a quelle che del computer sanno a malapena come si apra un browser – e soprattutto se sanno che si chiami browser.

In un 5,33% di utilizzatori MacOS X è statisticamente molto più semplice che siano presenti coloro a cui il MacOS X piace per scelta – per tutte quelle caratteristiche che rendono il MacOS X unico. Spesso gli utilizzatori di MacOS X sono persone che, bene o male, hanno un livello di conoscenze normalmente superiori rispetto alla base degli utenti Windows. Questo perché, per la maggior parte, gli utenti che poi passano a Mac hanno comunque in qualche modo avuto conoscenza di Windows – sia essa superficiale o meno – e sono costretti ad adattarsi alla nuova struttura del sistema operativo di casa Cupertino.

Comunque sia, queste sono solo ipotesi e dati statistici che a poco servono per riflettere sul grado di sicurezza di un sistema operativo.

Tecnicamente, Windows è – senza ombra di dubbio – il sistema più attaccato da virus informatici per una serie di motivi.

In primo luogo, ovviamente, c’è la percentuale di diffusione che fa sì che sia una vittima illustre in ambito desktop. Ma, soprattutto, per il modo con cui durante questi anni Windows è stato utilizzato.

Tutto il ramo Windows relativo al Kernel NT (Windows NT, Windows 2000, Windows 2003, Windows XP, Windows Vista) è costituito da alte prestazioni in ambito sicurezza informatica. Windows XP, attualmente il sistema operativo di maggior successo di Microsoft, ha delle ottime funzionalità di sicurezza che, se utilizzate, riuscirebbero a ridurre drasticamente la diffusione di malware informatici. Prima nota: ridurre drasticamente non significa azzerare. Seconda nota: per l’appunto, “se utilizzate“.

Probabilmente per motivi di semplicità e di compatibilità, Windows è spesso venduto di default con un account amministratore (root, per chi utilizza sistemi operativi Linux/UNIX/UNIX based), cioè lascia all’utilizzatore del sistema operativo i diritti per poter fare qualsiasi cosa. Dal semplice lanciare un gioco o un’applicazione, sino a poter modificare qualsiasi aspetto, anche quelli più tecnici, del sistema operativo.

Questo, altrettanto probabilmente, fu fatto per rendere le cose più semplici agli sviluppatori di software, che hanno poi abusato della possibilità di default di scrivere in qualunque parte del sistema operativo. Inoltre, è più semplice l’utilizzo da parte di un vasta gamma di utenti. Insomma, un circolo vizioso.

OS X è un sistema operativo che sfrutta, di default, già alla partenza, tutte le caratteristiche di sicurezza del kernel XNU, tra le quali l’utilizzo immediato di un account limitato che permette di “isolare” bene la zona relativa ad un determinato utente impedendogli di poter effettuare modifiche al di fuori di essa se non con permesso root.

Cosa possibilissima, anche se in alcuni casi è effettivamente più difficile a causa di alcuni problemi di compatibilità causati dal circolo vizioso sopra evidenziato, anche con Windows XP attraverso least-privileged user account (LUA) e Software Restriction Policy (SRP).

Windows Vista, in ambito sicurezza, ha fatto notevoli passi avanti grazie allo User Account Control che permette, finalmente, di avere di default un account “limitato” così come in OS X. Come in OS X è necessario inserire la password di amministratore per effettuare dei cambi al sistema, altrettanto è necessario su Windows Vista fornire l’autorizzazione.

Inoltre, in Windows Vista, sono state implementate molte tecnologie riguardanti la sicurezza informatica, tra le quali migliorie ed aggiunte alla prevenzione di attacchi causati da buffer overflow. L’ultimo caso, tra i vari che sfruttano buffer overflow, sono stati i worm che sfruttano la vulnerabilità MS08-067 – ma basti ricordare Sasser (MS04-011) e Blaster (MS03-026) su tutti.

Windows Vista, oltre al supporto al Data Execution Prevention (DEP), include il supporto all’ASLR, che fornisce un ottimo alleato per la prevenzione di questa tipologia di attacchi.

MacOS X, dal punto di vista di difesa da attacchi buffer overflow, è invece carente rispetto sia a Windows che a Linux.

Mentre l’ASLR in Windows e Linux è applicato in tutti i processi all’avvio del sistema o dinamicamente per ogni processo, in MacOS X gli indirizzi delle librerie vengono randomizzate solo quando la cache condivisa viene aggiornata (update_dyld_shared_cache).

Da Apple: “update_dyld_shared_cache ensures that dyld’s shared cache is up-to-date. (This command can also be called as update_prebinding.) Normally, this command never needs to be manually run. Instead, it is automatically run by launchd when dyld notices the shared cache is out of date“.

Inoltre, in MacOS X, l’ASLR non randomizza l’eseguibile stesso, zone di memoria quali stack, heap e altre importanti zone.

Il DEP, come spiegato in un articolo precedente, permette di marcare le zone di memoria che non dovrebbero contenere codice eseguibile come non-executable (NX bit). Gli attuali processori supportano pienamente l’NX-Bit. Le versioni Tiger e Leopard per sistemi x86 settano l’NX bit esclusivamente su segmenti stack, lasciando completamente scoperto l’heap.

Già questo, di per sé, lascia capire come scrivere exploit, e malware che sfruttano exploit, è possibile su Windows tanto quanto su MacOS x. Anzi, a dirla tutta, dal punto di vista di protezione da corruzione di memoria il MacOS X risulta un passo indietro rispetto a Windows Vista e Linux.

Fatta questa precisazione, solitamente le due osservazioni che vengono fatte sono: “Per MacOS X non esistono virus” e “Si, ma se esistono c’è comunque bisogno della password di root per fare danni“.

Riguardo la prima affermazione, è ovviamente falsa. Se è vero che il numero è esiguo, non è corretto dire che il pericolo sia inesistente.

Esistono diverse famiglie di malware per OS X, e lo sviluppo si è impennato soprattutto in questo ultimo periodo durante il quale il MacOS X ha visto incrementare la propria diffusione.

DNSChanger, Leap, Inqtana e altri sono una riproduzione in piccolo della fauna presente già da anni in ambiente Windows.

C’è chi afferma che è comunque necessario fornire la password di root per far danni al sistema intero. Vero, così come è necessario dare l’autorizzazione su Windows Vista.
Ma ciò non ferma gli utenti più sprovveduti a fornire questo lasciapassare al malware in questione che, ingannando lo sprovveduto user, lo convince della bontà delle proprie intenzioni.

Questo è il grande problema di una larga diffusione di un sistema operativo, che finirà delle mani di tante persone, gran parte delle quali non hanno (e non vogliono neanche
perderci tempo) le basi fondamentali, minime, di sicurezza necessarie per l’utilizzo del computer.

I falsi codec per visualizzare filmati porno, finti programmi attaverso programmi di IM, crack, divx/vmw/xvid protetti da falsi DRM. Il social engineering, l’ingegneria sociale, è ancora il veicolo principale di numerosi attacchi e di diffusione di malware informatici in ambito Windows, ma ciò non toglie che lo stesso possa succedere in ambito MacOS X dove il problema che si porrebbe sarebbe identico.

Sempre che il malware in questione voglia fare danni al sistema, perché altrimenti potrebbe anche accontentarsi di girare sotto account limitato, sufficiente comunque per ottenere determinate informazioni.

Senza considerare eventuali bug nel kernel o in qualunque altra componente del sistema – sia in Windows che in MacOS X – che potrebbero permettere l’innalzamento dei privilegi (privilege escalation) evitando la necessità delle credenziali di amministratore.

Il rischio di MacOS X di subire attacchi malware è tale e quale a quello di Windows, nel caso di exploit è tecnicamente anche più semplice rispetto a Windows Vista.

Inoltre, l’articolo è stato incentrato quasi esclusivamente sulla questione malware, ma quando si parla di sicurezza si parla anche di altri argomenti. Come la stessa F-Secure ha voluto sottolineare, gli utenti MacOS X sono esposti tanto quanto gli utenti Windows al phishing. E ciò non è da sottovalutare, viste le cifre del phishing e le relative vittime.

Ciò che “salva” MacOS X sono le cifre di diffusione, notevolmente inferiori rispetto a Windows, che lo difendono dall’ondata barbara di un’utenza spesso cieca alle problematiche di sicurezza, salvo poi trovarsi vittima di qualche truffa. Anche se, in molti casi, si tratta di cecità indotta. Le persone hanno già tanti problemi durante la giornata, non vogliono “perdere tempo” a preoccuparsi anche dei problemi di sicurezza di un pc. Vogliono che qualcuno ci pensi per loro.

Ciò che condanna Windows Vista è un’eredità pesante, causata probabilmente da scelte manageriali che hanno fatto al contempo la fortuna di Microsoft e dei malware writer.

Una cosa è certa: qualunque sistema operativo è a rischio malware.