L’esperto di sicurezza markmcb di OmniNerd ha testato la vulnerabilità ad exploit remoti dei più comuni sistemi operativi [EN]

I sistemi sono stati testati senza previa configurazione, ovvero “as is” appena installati e dopo aver applicato le ultime patch ma senza comunque andare a configurare alcunché od installare software “in aggiunta”.

Per gli inesperti in fondo a questo articolo scriverò delle chiavi di lettura per aiutarvi a comprendere l’articolo sulle vulnerabilità che ho citato

I sistemi testati sono

  • Microsoft Windows XP (SP1, SP2, Ultime patch di sicurezza)
  • Microsoft Windows Vista (ultimate)
  • Microsoft Windows Server 2003
  • Apple Mac OS Classic (9 – 1999)
  • Apple OS X 10.4 Server
  • Apple OS X 10.4 Tiger
  • FreeBSD 6.2
  • Sun Solaris 10
  • GNU/Linux Fedora Core 6
  • GNU/Linux Slackware 11.0
  • GNU/Linux SUSE Enterprise 10
  • GNU/Linux Ubuntu 6.10 (Desktop/Server)


gli strumenti usati per i test

  • nmap: strumento per l’analisi di rete, è servito a valutare quali fossero le porte aperte e quali servizi, nonché altre informazioni come il tipo di sistema
  • nessus: strumento per l’analisi da remoto delle vulnerabilità di un sistema, si basa sulle vulnerabilità conosciute e valuta quali di queste siano presenti in un sistema. Sono state considerate tutte le vulnerabilità del 2007 per il test

Conclusioni della recensione

Esiste un’enorme varietà di sistemi operativi tra cui scegliere ma tutti basati su 4 nuclei comuni: Windows, OS X, Linux e Unix. Ognuno si porta con se un proprio bagaglio di vulnerabilità che vanno dagli exploit locali a quelli introdotti dagli utenti.

Confrontando le condizioni di sicurezza “out-of-the-box” (a sistema appena installato) Microsoft Windows e Apple OS X vincono la gara per il maggior numero e pericolosità delle vulnerabilità disponibili da remoto. Persino prima di abilitare i server le macchine basate su windows possiedono un certo numero di buchi di sicurezza che permettono ad un eventuale attaccante di accedere al sistema ed eseguire, da remoto, qualsiasi codice. Sia OS X che Windows hanno presentato nuove vulnerabilità abilitando i servizi disponibili. Una volta installate le patch di correzione delle falle, comunque, entrambe le compagnie sembrano fornire un prodotto sicuro, almeno dall’esterno. Le Varianti di Unix e Linux presentano sistemi molto più robusti all’esterno. Anche quando i server disponibili nel sistema neo-installato vengono abilitati esso mantiene l’integrità rispetto ad attacchi remoti. Comparati ai prodotti di Microsoft e Apple, comunque, Unix e Linux tendono ad avere una curva di apprendimento più alta per l’accettazione come piattaforme Desktop (per gli utenti).

Quando si parla di sistemi aziendali il più dei sistemi beneficiano di amministratori e dipartimenti IT per configurare e patchare appropiatamente i sistemi operativi ed i loro servizi. Le cose sono differenti nei computer casalinghi. Le caratteristiche insite nei sistemi Unix e Linux tendono a risultare in una maggior comprensione dei problemi di sicurezza da parte degli utenti. Un sistema operativo già sicuro ha quindi il beneficio di dare maggior conoscenza di base agli utenti. I sistemi operativi più orientati ai consumatori, di microsoft e apple, sono entrambi resi sicuri alla loro maniera. Appena un utente comincia ad abilitare servizi o giocherellare con le configurazioni predefinite il sistema diventa rapidamente facile obbiettivo di intrusioni.

Senza l’accortezza di applicare le patch appropriate ed abilitare gli update automatici i possessori di un sistema windows o OS X sono le più facili prede di violazioni da remoto.

breve sunto dei risultati con i diversi sistemi (quelli che interessano di più all’utente o particolarmente rilevanti)

Windows XP preinstallato (anche con SP2) presenta molte porte aperte e gravissime vulnerabilità che permettono a chiunque di prendere pieno possesso del computer, dopo aver applicato tutte le patch resta comunque privo di vulnerabilità conosciute anche senza firewall. Prima di applicare le ultime patch se si ha il firewall di windows attivo sembra che le porte siano chiuse, ma se si prova ad accedere direttamente ad alcune di esse queste risultano aperte e disponibili ad attacchi remoti.

Windows Vista seppure abbia le stesse porte aperte di XP non presenta per ora alcuna delle falle di sicurezza conosciute, è un sistema giovane e deve ancora provare la sua sicurezza comunque.

Mac OS X 10.4 Tiger non ha servizi abilitati di default (nessuna porta aperta), e quindi le vulnerabilità sono tutte su parti di software “interni”, che richiedono quindi un’interazione dell’utente per essere pericolosi. Una volta abilitati i servizi si presenta una vulnerabilità da remoto del web server che permette di listare gli utenti della macchina; dopo l’aggiornamento all’ultima patch (10.4.8) si aggiunge un’altra vulnerabilità al server SSH, anch’essa che permette di listare gli utenti della macchina. Personalmente ritengo queste vulnerabilità decisamente inferiori a quelle di Windows XP.

Ubuntu 6.10 Desktop non ha alcun servizio attivo in remoto, sono tutti attivi in locale (ovvero disponibili solo sul computer dove Ubuntu è installato) e non presenta alcuna vulnerabilità, non è neppure stato possibile (da remoto) scoprire che il sistema fosse Linux/Ubuntu ne tanto meno la sua versione. La versione Server ha diversi servizi attivi e presenta due vulnerabilità, una al web server apache dovuta alle impostazioni di default di apache che permette cross-site-scripting, l’altra al DNS server che permette ad un attaccante remoto di sapere quali host sono stati risolti recentemente.

Fedora Core 6 si è comportato egregiamente, pare avere un firewall preconfigurato; nmap ci ha messo 26 minuti ad analizzare il sistema e non è riuscito a scoprire di che sistema si trattasse; ha cercato di capirlo “sparando” Solaris 10, sbagliando, non ha trovato alcuna porta aperta e nessus non ha trovato vulnerabilità. Quasi lo stesso risultato per FreeBSD.

chiave di lettura

Remote Exploit: un programma che permette, sfruttando una falla, di ottenere privilegi o informazioni anche senza averne i permessi dall’esterno

Vulnerabilità Locale: vulnerabilità di programmi che non forniscono servizi all’esterno e che possono essere sfruttate solo con l’interazione dell’utente