Dal punto di vista crittografico, un grosso argomento in questi giorni è attacchi a canali laterali : gli aggressori cercano di estrarre informazioni su valori privati in un dato sistema osservando gli effetti collaterali come il consumo di energia, il timing preciso ... Una visione sintetica di tali attacchi è che ci sono due "mondi" distinti:
- il "mondo astratto" in cui un sistema riceve input come sequenze di 0 e 1 e genera sequenze simili;
- il "mondo fisico" in cui la computazione avviene all'interno di limiti misurabili come il tempo di calcolo.
Gli attacchi a canali laterali riguardano lo sfruttamento delle differenze tra questi due mondi.
Il cloud è un tentativo di non credere a questa differenza. Con il cloud, si ottengono macchine virtuali presupponendo che siano indistinguibili come quelle fisiche, dal momento che calcolano le stesse cose. In effetti, una VM risponderà con le stesse sequenze di 0 e 1 per gli stessi ingressi, quindi nel mondo astratto, una VM è un'emulazione perfetta di una macchina fisica. Ma se prendiamo nota dei dettagli fisici, sorgono alcuni problemi. In particolare i due seguenti:
-
Per molti protocolli crittografici, è necessario randomness . La casualità viene estratta da elementi fisici. Con una VM, gli elementi "fisici" vengono emulati. Una conseguenza è che un PRNG all'interno di una VM potrebbe essere di qualità subottimale.
Tipicamente, considera cosa succede se fai uno snapshot di una VM live e (più tardi) ripristina quella istantanea: è abbastanza probabile che il PRNG della VM restituisca la stessa sequenza di valori casuali che ha fatto la prima volta , che può portare a gravi problemi di sicurezza. Un esempio estremo è la generazione del valore " k " nelle firme DSA e ECDSA: riutilizzare lo stesso k per due firme (su messaggi distinti) rivela la chiave privata (vedere questa risposta ).
-
Una macchina virtuale funziona su un determinato hardware e quell'hardware può ospitare diverse macchine virtuali contemporaneamente. Queste macchine virtuali condividono le stesse risorse, in particolare le cache. Ciò consente attacchi di temporizzazione della cache cross-VM.
Questo è stato recentemente dimostrato in condizioni di laboratorio: i ricercatori sono riusciti a tirare fuori un attacco di temporizzazione della cache su alcune implementazioni AES , consentendo a una VM di indovinare una chiave di crittografia AES utilizzata in un'altra macchina virtuale che è appena stata eseguita sullo stesso hardware.
Gli attacchi a canali laterali sugli algoritmi crittografici non esauriscono il vasto pozzo delle problematiche di sicurezza legate al cloud computing, ma sono ancora un campo di indagine fertile e sono sufficienti a giustificare un avvertimento cautelativo: sei veramente > veramente non voglio vedere la tua VM funzionare sullo stesso hardware rispetto alla VM dei tuoi concorrenti.