MacOS X è totalmente sicuro?

December 6th, 2008 by Marco Leave a reply »

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.

Advertisement
registrazione domini

21 comments

  1. sirus says:

    Ottimo articolo, complimenti. ;)

  2. hexaae says:

    Come sempre, complimenti! :)

  3. Enrico says:

    @marco
    Ottimo articolo. Scritto in modo semplice e lineare, comprensibile a tutti.

    Ho un’opinione diversa riguardo ad una tua affermazione:

    “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.”

    Anch’io avevo questa idea, inizialmente.
    Ma man mano che sono andato avanti con l’esplorazione del mondo Mac, mi son fatto un’idea diversa.
    Una delle qualità più apprezzate da chi opta per un Mac è la presunta facilità d’uso e intuitività (oltre che la presunta maggiore stabilità e l’attuale maggiore sicurezza).
    A mio parere un Mac rende molto semplici le cose semplici, mentre perde questa qualità con il crescere delle competenze dell’utente che ha esigenze via via crescenti.
    E questo, a mio modo di vedere, è dovuto alla minore flessibilità di MacOSX, rispetto alle alternative.
    Questa maggiore rigidità è un pregio per chi si accosta al computer per la prima volta o ha un’esperienza molto limitata: poca scelta su come fare le cose, implica minore confusione e minore imbarazzo nella scelta.
    Chi da Windows passa a Mac, raramente è un utente esperto.
    E’ più facile che questo tipo di utenti prediliga Linux.

    Queste considerazioni le faccio sulla base delle mie osservazioni dirette (sono titolare di un’azienda che si occupa di assistenza e consulenza informatica ed ho a che fare con utenti di ogni tipo).
    Mi rendo conto di avere una visione su una porzione limitatissima dell’”universo” Mac, ma purtroppo non ho mai trovato studi o dati oggettivi al riguardo.
    Le mie, quindi, sono semplici deduzioni dall’osservazione della tipologia dei clienti che hanno acquistato Mac, del tipo di problemi che mi sottopongono, del tenore delle discussioni che si leggono sulla quasi totalità dei forum o dei blogs dedicati ad utenti della Mela.
    Trovare uno di quei personaggi che solitamente si definiscono “guru” che utilizza principalmente Mac è un’impresa che ancora non mi è riuscita; mentre la stessa cosa è facilissima in ambiente Linux (ad esempio), nonostante la diffusione notevolmente inferiore.
    Non cito Windows perchè, data l’enorme diffusione, appare ovvio che sia più semplice trovare esperti che lo utilizzano.

    Tu a quali fonti hai attinto per farti la tua idea?

  4. suc says:

    un virus non è altro che del codice maligno che viene eseguito; poichè su qualunque OS, per ovvie ragioni, è possibile eseguire del codice (un OS che non esegue codice ossia programmi e processi non servirebbe a niente :) ), di conseguenza qualunque OS, linux compreso, può avere virus.

  5. suc says:

    Si chiama User Account Control, non user access control

  6. Marco says:

    Hai chiaramente ragione sull’UAC, è stata una svista personale dovuta allo scrivere di getto l’articolo in questione ;)

    Grazie per la segnalazione

  7. Marco says:

    @Enrico

    Ovviamente non ci sono fonti oggettive riguardo quella parte del post. Anche io faccio riferimento a molte esperienze che ho avuto modo di fare e persone che ho avuto modo di conoscere, ma la mia affermazione vale tanto quanto la tua.

    Dibattendo se l’utenza che passa da un sistema ad un altro sia più o meno esperta rischierebbe di portarci a discutere del “sesso degli angeli”. Non è, secondo me, niente di oggettivamente dimostrabile ed è comunque solo marginalmente utile al fine dell’argomento di cui si vuole parlare :)

    Ciao,

    Marco

  8. alessandro says:

    Ciao,

    Anch’io sono dell’opinione di Enrico:
    il “mac user” medio, spesso, è per la compatibilità con programmi commerciali (la suite adobe, una per tutti): inoltre, “abbiamo già un sacco di problemi”: perché si dovrebbe perder tempo con la sicurezza?

    Inoltre, per OSX sono disponibili (causa sempre diffusione dei suddetti software commerciali) parecchi DMG sulle reti p2p, senza preoccuparsi della possibile “infettibilità” di questi ultimi. Quindi, come hai già detto, l’utente fornirà la password per l’installazione anche al codice malevolo.

    Comunque, colgo l’occasione del post per chiedere un’opinione riguardo la sicurezza su linux. Gli stessi problemi si possono vericare anche su linux, alla fine: installare da repository non autenticati e/o infettati, pacchetti compilati non si sa, ecc. In particolare, però, ho letto che che un malware potrebbe inserirsi nel file “.bashrc”, contenente un set di impostazioni che la shell esegue ad ogni avvio. Peraltro, quando si ottengono diritti amministrativi con una shell compromessa, li ottiene automaticamente anche il malware? Cosa si può fare per contrastare la cosa, a parte usare per l’utilizzo quotidiano un utente senza diritti amministrativi, e non tenere dati sensibili nei file di configurazione della home?

  9. alessandro says:

    Mi accorgo di aver scritto di getto il commento in maniera non troppo leggibile: spero che il senso sia chiaro.

  10. daniele_dll says:

    Ciao,

    alessandro, il problema è che, con ogni so, i malware possono “iniettarsi” al login dell’utente: se ha possibilità di iniettarsi al login dell’utente già il malware è partito ed è in esecuzione e, per l’appunto, si è installato.

    Esistono vari software che servono per ridurre questi rischi, ad esempio tripware, perché è in grado di monitorare i cambiamenti ad i file ed avvisarti, il problema però è che questa tipologia di software, utilizzati su un desktop, creerebberò un sacco di log inutili.

    Alternativamente l’utilizzo di selinux può limitare maggiormente i danni fattibili dai malware, cosi come gli exploit che permettono di diventare root.

    Comunque è difficile beccarsi qualche malware tramite repository: semplicemente basta evitare quelli poco conosciuti e, se necessario, si ci compila il codice manualmente.

    Purtroppo non c’è nulla da fare automaticamente, l’unica cosa che puoi fare per prevenire danni è il settare il tuo .bashrc (e simili) sotto l’utente, ad esempio, root dando il permesso di lettura al gruppo e scrittura solo all’utente cosi in questo modo il tuo gruppo può sempre leggere il file ma per modificarlo hai necessità di farlo tramite sudo o loggandoti come root. Ma è giusto un escamotage, nulla di più :)

  11. daniele_dll says:

    nota: utilizzo linux dai tempi della redhat 5.0 (non la RH enterprise, proprio la redhat 5) e non ho mai avuto di questi problemi :)

  12. Ste_95 says:

    Letto con interesse!

  13. Alex says:

    non condivido assolutamente che chi usa Osx e’ esperto. E’ tutto il contrario ragazzi.Chi usa Osx e quindi un computer Apple lo compra apposta per passaparola da amici o alte persone perche’ gli dicono e’ molto piu elementare da usare di Windows e quindi questa gente non avendo conoscenze informatiche comprano Apple proprio per questo…oppure gente che usava Windows e combinava solo danni o casini e’ passata poi a Osx sempre per queste ragioni

    Ho fatto assistenza per anni e tutti quelle persone che ho visto usare un Apple erano ben a digiuno di informatica e sicurezza di rete.Lo hanno comprato prorpio perche’ con Osx potevano usare un computer come fosse una lavatrice ovvero senza avere basi informatiche poiche Osx e’ a prova di niubbo .

    questi sono i fatti che vedo da sempre

    saluti

  14. Alex says:

    Ps:dimenticavo…. per il resto concordo su tutto l’articolo

    peccato solo questa “svista” sul target di utenti di Osx

    buona continuazione

  15. Marco says:

    Ciao Alex,

    grazio per il commento :)

    Rispondo a quello che dici con il commento che avevo già scritto sopra http://www.pcalsicuro.com/main/2008/12/macos-x-e-totalmente-sicuro/#comment-31051

    Ciao,

    Marco

  16. morrizz says:

    grande Marco …. é un immenso piacere leggere i tuoi articoli

  17. maxiwan says:

    Pragmatico approccio ad un argomento oggettivamente opinabile, come da te evidenziato, sulla tipologia degli utenti (parecchi *nux sysadmins e “open”professionisti in genere tacciono per comprensibili motivi il loro sempre maggior interesse all’evoluzione bsd rappresentata da Mac OS X). Per la sostanza, azzeccato e chiaro. Complimenti. Un saluto cordiale. ;-)

  18. Frato says:

    Get a Mac

  19. luca says:

    Sarà come dici tu ma io quando l’ho acquistato non sapevo usare ne mac ne pc e il mio primo computer è stato mac (per fortuna!!!: in 10 anni ho speso un terzo del mio amico che comprò un pc nello stesso periodo e lo ha già dovuto cambiare e riparare più volte…)
    Navigo da 10 anni su internet SENZA antivirus e non ho mai avuto problemi: sul lavoro utilizzo win e siamo sempre a pezzi…Sarà anche vero che, come dici tu non è sicurissimo ma 10 anni di navigazione senza problemi con win sono un miraggio per me con mac sono una certezza…
    Ciao

  20. iLupus says:

    sono assolutamente d’accordo con Luca. Inoltre posso dirvi che esiste uno scan virus di cui non mi ricordo il nome (il suo emblema è un ragno) che mi ha passato un guru dell’informatica di mia conoscenza, che vi sfido a lanciare e a non trovare nessun virus, anche se avete un qualsivoglia antivirus nel sistema.
    Mac invece, nonostante l’abbia scannerizzato più volte, ho trovato un solo virus in un messaggio di posta ricevuto, un virus eseguibile solo su windows, che quindi non ha infettato in nessun modo il sistema (ma avrebbe potuto infettare un windows che riceveva posta da me…).
    Per cui io sono come San Tommaso che non ci crede fin che non ci mette il naso. I malware invece spesso si autoinstallano nel browser, e poi da lì partono. Se uno se ne accorge basta togliere tutte le preferenze del browser ed è finita lì: per accorgersene basta installare little snitch, che nella versione demo permette (senza illegalità alcuna) di riazzerare il cronometro ogni 3 ore di navigazione, praticamente è gratis.
    Volendo, senza rimuovere le preferenze nel browser, basta bloccare il malware ed è finita lì lo stesso.

Leave a Reply