29 giugno 2011

[Chrome] Blocco del caricamento di script non sicuri

Continuiamo a parlare di novità legate ai temi della sicurezza, come con il nostro recente articolo sull'estensione per Chrome DOMSnitch. Com' è evidente, la sicurezza è un punto molto importante per Google.
Con Chrome 14, disponibile per ora solo attraverso il canale dev o Canary, viene introdotta una nuova funzione che blocca il caricamento di elementi script non sicuri.
Vediamola più nel dettaglio

Questa novità ha lo scopo di risolvere un problema noto, o meglio una situazione che rappresenta una falla nella sicurezza del browser.
Questo tipo di falla prende il nome di mixing scripting e si verifica quando, durante una connessione sicura di tipo HTTPS, la pagina web tenta di caricare uno script, un foglio di stile CSS o un plug-in via HTTP. Una situazione come questa potrebbe rappresenta un tipo di terreno adatto ad un attacco di tipo Man-in-the-Middle in cui l'attaccante (per esempio perpetrato da qualcuno presente sulla stessa rete wireless) può intercettare le risorse HTTP e conseguentemente acquisire pieno accesso al sito web che carica queste risorse. In questo caso il fatto che il sito stesso usi una connessione HTTPS diventa irrilevante.
Un tipo minore di problema si ha quando una pagina caricata tramite HTTPS richiama elementi grafici quali immagini, iFrame o font via HTTP. Un attacco di tipo Man-in-the-Middle potrebbe nuovamente intercettare il codice che però, in questo caso, verrebbe usato solo per modifiche di tipo grafico.
Il modo in cui i browser attuali affrontano questo problema è caricare gli elementi delle due situazioni sopra descritte e notificare l'utente.
Per esempio Chrome mostrerà una croce rossa sul simbolo del lucchetto e l'indirizzo https barrato e colorato di rosso  in caso di caricamento di elementi di scripting tramite connessione HTTP.



Un triangolo giallo verrà mostrato sul lucchetto nella barra degli indirizzi, in caso di caricamento di elementi grafici tramite protocollo di comunicazione non sicuro.


Il problema di questo approccio e proprio del proverbio "chiudere il cancello quando i buoi sono scappati", nel senso che nel momento in cui l'utente viene a conoscenza del problema di sicurezza, elementi di vario genere sono stati caricati tramite protocollo di comunicazione non sicuro.
L'approccio di Chrome 14 è simile invece ad una frontiera, nel senso che tutte le richieste di codice attraverso protocollo non sicuro vengono bloccate di default.
La situazione viene notificata all'utente in prossimità della barra degli indirizzi e l'utente stesso ha poi la facoltà di permettere la prosecuzione del caricamento o confermare il blocco tramite due comodi pulsanti.


Al momento la funzione non permette di creare whitelist anche se ci auguriamo che questa possibilità venga presto implementato poichè può risultare molto comoda in talune situazioni.
Ricordiamo inoltre che una connessione tramite protocollo HTTP ha un livello di sicurezza decisamente inferiore ad una di tipo HTTPS. Questa funzione agisce solo nel caso di "mixing scripting" e non naturalmente in caso di risorse HTTP richiamate da una pagina HTTP.

Nessun commento:

Posta un commento