Ma solleva anche preoccupazioni in materia di privacy. Un'azienda che gestisce server cloud potrebbe eseguire applicazioni per 1.000 clienti contemporaneamente, all'insaputa del fornitore del servizio. Una di queste applicazioni potrebbe avere un secondo fine: spiare le altre 999.
La crittografia potrebbe rendere i server cloud più sicuri. I dati possono essere decrittografati solo quando vengono effettivamente elaborati; i risultati dei calcoli vengono quindi crittografati nuovamente prima di essere inviati dal chip.
Negli ultimi 10 anni circa, tuttavia, è diventato chiaro che anche quando un computer si preoccupa di crittografare i dati, i suoi schemi di accesso alla memoria – ovvero la frequenza con cui i dati vengono memorizzati e consultati a diversi indirizzi di memoria – possono rivelare una sorprendente quantità di informazioni private.
Al Simposio Internazionale sull'Architettura dei Computer tenutosi a giugno, i ricercatori del MIT hanno descritto un nuovo tipo di componente hardware sicuro, chiamato Ascend, che maschera gli schemi di accesso alla memoria di un server, rendendo impossibile per un aggressore dedurre qualsiasi informazione dai dati memorizzati. Asciend contrasta anche un altro tipo di attacco, noto come attacco a tempo, che tenta di dedurre informazioni dal tempo impiegato dai calcoli.
Compromesso computazionale:
progetti simili sono stati proposti in passato, ma generalmente sono stati scartati perché il sovraccarico computazionale era eccessivo a discapito della sicurezza. "Questa è la prima volta che viene proposto un progetto hardware (non ancora realizzato) in grado di offrire questo livello di sicurezza con un sovraccarico prestazionale di solo tre o quattro volte superiore", afferma Srini Devadas, professore di ingegneria elettrica e informatica titolare della cattedra Edwin Sibley Webster, il cui gruppo ha sviluppato il nuovo sistema. "Ci si sarebbe aspettati un fattore di 100".
Il "modo più semplice" per nascondere i modelli di accesso alla memoria, spiega Devadas, sarebbe quello di richiedere dati da ogni indirizzo di memoria, sia esso un chip di memoria o un disco rigido, e recuperare tutto tranne i dati memorizzati all'indirizzo di interesse. Ma questo sarebbe troppo lento per essere pratico.
Ciò che Devadas e i suoi collaboratori (gli studenti di dottorato Ling Ren, Xiangyao Yu e Christopher Fletcher, e il ricercatore Marten van Dijk) fanno invece è organizzare gli indirizzi di memoria in una struttura dati nota come "albero". Un albero genealogico è un esempio familiare di "albero", in cui ogni "nodo" (in questo esempio, il nome di una persona) è collegato a un solo nodo sopra di esso (il nodo che rappresenta i genitori della persona) ma può essere collegato a più nodi sotto di esso (i figli della persona).
Con Ascend, gli indirizzi vengono assegnati ai nodi in modo casuale. Ogni nodo si trova lungo un "percorso" o itinerario attraverso l'albero, partendo dalla cima e spostandosi da un nodo all'altro, senza tornare indietro, fino a raggiungere un nodo senza ulteriori connessioni. Quando il processore necessita di dati da un particolare indirizzo, le richieste vengono inviate a tutti gli indirizzi lungo il percorso, incluso quello in questione.
Per impedire a un attaccante di dedurre qualcosa dalle sequenze di accesso alla memoria, Ascend accede ogni volta a uno specifico indirizzo di memoria, modificandolo casualmente, indirizzo che qualcuno ha memorizzato da qualche parte nell'albero. Di conseguenza, l'accesso ripetuto a un singolo indirizzo tramite lo stesso percorso sarà molto raro.
È necessaria una minore potenza di calcolo per nascondere un indirizzo.
Limitando le richieste fittizie a un singolo percorso, anziché inviarle a tutti gli indirizzi di memoria, Ascend riduce esponenzialmente la quantità di calcolo necessaria per mascherare un indirizzo. In un documento separato, non ancora pubblicato ma disponibile online, i ricercatori dimostrano che l'interrogazione del percorso offre lo stesso livello di sicurezza dell'interrogazione di tutti gli indirizzi di memoria.
Ascend protegge anche dagli attacchi puntuali. Supponiamo che il calcolo esternalizzato al cloud sia l'enorme compito di confrontare una foto di sorveglianza di un sospetto criminale con altre foto casuali sul web. La foto di sorveglianza stessa sarebbe crittografata e quindi al sicuro da occhi indiscreti. Ma uno spyware basato sul cloud potrebbe comunque dedurre quali foto pubbliche vengono confrontate. E il tempo impiegato dai confronti potrebbe fornire informazioni sulle foto di origine: le foto di persone palesemente diverse potrebbero essere facili da escludere, ma le foto di persone dall'aspetto molto simile potrebbero richiedere più tempo per essere distinte.
Il sistema di accesso alla memoria di Ascend ha quindi un ulteriore "trucco": invia richieste alla memoria a intervalli regolari, anche quando il processore è occupato e non necessita di nuovi dati. In questo modo, gli aggressori non possono sapere quanto tempo potrebbe richiedere un determinato calcolo.
Scritto da Larry Hardesty, MIT News Office.
Bilanciatori di carico con firewall per applicazioni web integrato nativamente
KEMP Technologies ha annunciato che i suoi bilanciatori di carico LoadMaster integreranno nativamente i servizi Web Application Firewall (WAF). Ciò consentirà lo sviluppo sicuro di applicazioni web, prevenendo attacchi di livello 7, pur mantenendo i servizi di bilanciamento del carico essenziali.
