CVE-2014-4947 è un avviso di sicurezza che ha avuto poco riscontro sui media – erano tutti troppo occupati a lanciare palate di fango su OpenSSL per via di Heartbleed (CVE-2014-0160) – ma su cui vogliamo riflettere.
La virtualizzazione è tra noi da molti anni (VMware è stata fondata nel 1998). I datacenter sfruttano pesantemente questo meccanismo per sfruttare l’hardware al 100 percento.
Ovviamente tutti i grandi del settore hanno passato molto tempo a rassicurarci che, anche se abbiamo decine di macchine virtuali su un solo server (o meglio cluster), non dobbiamo preoccuparci. I meccanismi di protezione degli hypervisor sono assolutamente inviolabili e quindi la sicurezza è paragonabile a quella dell’hardware fisico.
In effetti finora non vi sono stati exploit catastrofici, ma comunque questa sicurezza inviolabile ha mostrato delle crepe nel corso del tempo.
Il primo scossone di un certo livello lo ha dato l’anno scorso durante la manifestazione OHM 2013 l’hacker FX con il suo talk superlativo Cisco in the Sky with diamonds in cui ha denunciato un comportamento suicida di Cisco: dopo due anni dalla segnalazione, non aveva ancora sistemato un bug nel suo switch virtuale tramite il quale non solo era possibile fare VLAN Hopping ma anche arrivare a giocare con le routine del kernel di VMware (mica una cosetta da niente).
Quest’anno arriva CVE-2014-4947, che riceve un bel 10 per la gravità del bug, e con il quale è possibile leggere parti arbitrarie della memoria dell’host. Una sciocchezzuola:
Permette rivelazione non autorizzata di informazioni; permette modifiche non autorizzate; permette l’interruzione dei servizi.
Alla fine di settembre arriva un’altra tegola: CVE-2014-7188, che ha costretto Amazon e Rackspace a una corsa disperata al patching e rebooting (con tutti i problemi che questo ha comportato).
Il problema non è necessariamente confinato a Citrix. Per quanto i produttori di hypervisor (open source o commerciali che siano) abbiano finora svolto un lavoro eccellente nel rendere sicuri e affidabili i propri prodotti, essi sono a tutti gli effetti prodotti software come gli altri e quindi proni a bug e problemi. L’unica differenza è che possono coinvolgere un numero di macchine davvero molto elevato.
È quindi bene progettare i propri sistemi informativi virtuali basandosi su molteplici livelli di sicurezza e non affidarsi esclusivamente a quanto messo a disposizione dalla piattaforma di virtualizzazione.