Tech InDepth

Come garantire l’hypervisor security: tecniche e best practice

L’hypervisor è il fulcro della gestione delle macchine virtuali e, come tale, è oggetto di attacchi e minacce, anche specifici, che vanno affrontati in un’ottica di gestione integrata della sicurezza

Pubblicato il 08 Gen 2021

hypervisor security

All’interno di un ambiente virtualizzato l’hypervisor è lo strato software che controlla tutte le macchine virtuali (VM) e la loro connessione con l’hardware e che gestisce la pianificazione e l’allocazione delle risorse fisiche necessarie a ogni VM.

Il disaccoppiamento tra livello fisico e logico realizzato tramite l’hypervisor fornisce alcuni vantaggi intrinseci in termini di sicurezza legati, per esempio, all’isolamento funzionale e prestazionale, alla flessibilità nel bilanciamento del traffico, a un maggiore livello di fault tolerance o alla facile portabilità delle applicazioni.

Tuttavia questo non implica per forza che gli ambienti virtualizzati godano di un livello di sicurezza superiore a quelli tradizionali.

L’importanza di garantire l’hypervisor security

Innanzitutto, gli ambienti virtualizzati non sono esenti da alcune delle vulnerabilità che interessano gli ambienti informatici convenzionali, sebbene queste possono assumere nuove forme in relazione alla specifica natura dell’ambiente virtualizzato, alla complessità di interconnessione e alla pluralità di punti di ingresso.

Sono, poi, state sviluppate minacce specifiche per gli ambienti virtualizzati che possono essere categorizzate in base a tre diversi vettori di attacco: hypervisor, macchine virtuali e immagini del disco. La percentuale più alta di attacchi interessa proprio gli hypervisor.

Si tratta di un dato che non stupisce considerando che l’hypervisor è il componente che sovrintende l’esecuzione contemporanea, sulla macchina host, delle VM e delle applicazioni e, quindi, se un attaccante riesce ad acquisirne il controllo, ottiene il controllo anche di tutte le macchine virtuali e dei dati a cui esse accedono.

Va anche osservato come l’hypervisor rappresenti un “single point of failure”. Un suo guasto, per esempio a causa di un sovraccarico dell’infrastruttura o di errori del software, può determinare il collasso dell’intero sistema. Questa rappresenta un’occasione “ghiotta” per chi ha come obiettivo il blocco dell’attività o dell’erogazione di servizi da parte di un’organizzazione target.

La compromissione di un hypervisor può anche consentire di ottenere il controllo del sistema fisico collegato e delle applicazioni che ospita.

Principali tipi di attacchi

Le macchine virtuali sono progettate per essere ambenti incapsulati e isolati e, pertanto, i sistemi operativi in esecuzione al loro interno non dovrebbero “sapere” di essere virtualizzati così come non dovrebbe esserci modo di uscire dalla macchina virtuale e interagire direttamente con l’hypervisor.

La presenza di una vulnerabilità, per esempio nel sistema operativo in esecuzione all’interno di una VM, può aiutare i cyber criminali a inserire al suo interno un codice nocivo. L’esecuzione del codice nocivo può consentire alla VM di rompere i suoi confini di isolamento e di interagire con l’hypervisor.

Questo scenario di attacco è comunemente denominato VM Escape e apre la strada ad azioni di controllo su ogni macchina virtuale in esecuzione sull’host interessato, inclusi tutti i privilegi di accesso. Peraltro, la collocazione dell’hypervisor tra l’hardware fisico e il sistema operativo guest permette, di fatto, di aggirare i controlli di sicurezza in atto nella macchina virtuale. Questo tipo di exploit apre la porta agli aggressori non solo verso le macchine virtuali, ma anche nei confronti della macchina host che può venire compromessa ed essere, per esempio, utilizzata per lanciare ulteriori attacchi.

Contrastare questo tipo di attacchi richiede il controllo delle vulnerabilità sulle macchine virtuali ma anche e soprattutto di porre molta attenzione alle caratteristiche intrinseche di sicurezza dell’hypervisor che si intende utilizzare.

Attualmente il 93% del mercato totale dell’hypervisor è coperto da quattro offerte: due di queste sono “open source” (Xen e KVM) e due (Microsoft Hyper-V e VMware vSphere) sono software commerciali di tipo “closed source”: già questa è una differenza importante in relazione alla capacità di individuare e prevenire le vulnerabilità.

Per gli hypervisor sono anche stati sviluppati rootkit specifici che hanno obiettivi analoghi a quelli dei rootkit tradizionali e che possono fornire all’attaccante un controllo sulla macchina infettata. In più, le funzionalità di virtualizzazione dei sistemi odierni offrono ai rootkit ottime opportunità per nascondersi in posizioni in cui risultare pressoché immuni alle contromisure di sicurezza.

Alcuni degli attacchi noti come Hyperjacking o Bluepill inseriscono rootkit basati su macchine virtuali che sono in grado di installare degli hypervisor nocivi o anche di modificare l’hypervisor esistente per assumere il pieno controllo dell’host e, di conseguenza, dell’ambiente virtuale a esso collegato.

Questo tipo di attacco è difficile da individuare utilizzando i sistemi di sicurezza tradizionali proprio perché l’hypervisor opera al di sotto del sistema operativo dell’host, che non è neppure consapevole che la macchina è stata compromessa. La capacità di esercitare un’efficace protezione dipende, in questi casi, dagli interventi messi in atto per garantire l’integrità dell’hypervisor e per ridurre la superficie di attacco.

La rete può rappresentare un’ulteriore fonte di vulnerabilità. Infatti, gli hypervisor distribuiscono le VM tramite la rete aziendale e possono essere soggetti ad attacchi di tipo Denial-of-Service se non vengono predisposte adeguate contromisure.

Se poi questi metodi di attacco non sono possibili, gli hacker possono sempre puntare a entrare nelle sale server per compromettere direttamente l’hypervisor.

Alcune best practice per proteggersi

Non esistono soluzioni magiche per proteggere un ambiente virtualizzato così come è un errore pensare che la sola natura virtualizzata rappresenti un livello di protezione efficace. Resta valido il principio che la sicurezza è un processo, integrato e coordinato, che richiede organizzazione, tecnologie e competenze. Per questo, un grande risultato nella sicurezza degli ambienti virtualizzati si ottiene già applicando i principi base: ridurre al minimo la superficie di attacco, applicare tempestivamente le patch, effettuare azioni di monitoraggio e controllo.

Alcune associazioni internazionali hanno prodotto indicazioni specifiche per la sicurezza informatica negli ambienti virtualizzati. Tra questi ricordiamo la guida del National Institute of Standards and Technology (NIST), quella dell’Agenzia europea per la sicurezza delle reti e dell’informazione (ENISA) o quella della Cloud Security Alliance (CSA).

Alcune delle best practice per ridurre al minimo le vulnerabilità dell’hypervisor e difendersi dai rootkit basati su hypervisor comprendono:

  • configurare correttamente e in modo “hardened” l’interazione tra le VM e l’host;
  • eseguire controlli e procedure di sicurezza in modo granulare su ogni VM;
  • aggiornare costantemente l’hypervisor per difendersi dalle nuove minacce;
  • assicurare la protezione da attacchi e vulnerabilità del sistema fisico che sovrintende all’ambiente virtuale;
  • predisporre una gestione delle patch efficace e puntuale;
  • predisporre uno stretto isolamento tra le VM;
  • impostare rigorose restrizioni di accesso per impedire agli utenti non autorizzati di modificare le impostazioni delle VM;
  • limitare l’accesso alle attività di “hypervisor host management”;
  • predisporre policy di sicurezza capaci di estendersi attraverso l’intero ambiente, fisico e virtualizzato;
  • predisporre sistemi di sicurezza di rete avanzati come Next Generation Firewall;
  • disattivare le funzionalità e i servizi non essenziali;
  • scollegare i dispositivi hardware non utilizzati;
  • evitare di allocare risorse non utilizzate a una VM;
  • effettuare un backup costante delle immagini delle VM;
  • attivare azioni costanti di auditing sull’accesso all’host;
  • adottare la cifratura delle VM

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

Articoli correlati

Articolo 1 di 4