Alla fine del 2017 il team di sviluppo di Google ha rilasciato la versione stabile di Chromium 63. La nuova build porta con sé diverse novità ed una di queste è la modalità Site Isolation. Si tratta di una funzionalità davvero importante per la sicurezza dell'utente e in questa articolo la analizzeremmo nel dettaglio.
La Site Isolation è una security feature sperimentale del progetto che si occupa di fornire protezione addizionale contro determinale tipologie di bug e, nello specifico, contro le azioni malevole derivanti da UXSS (universal cross-site scripting) o da tecniche basate su attacchi side-channel. Essa rende più complesso il sottrarre informazioni registrate negli account utente di altre pagine Internet per i siti web definiti come "untrusted".
Solitamente i siti web non hanno accesso ai dati di altri portali o ad altri dati sensibili presenti nel browser, questo grazie al codice che si occupa di gestire la Same Origin Policy (regola della stessa origine). Tuttavia, occasionalmente, possono essere sfruttati dei bug per bypassare le policy di sicurezza in modo da avere accesso a quante più informazioni possibili.
Per porre rimedio a questa problematica il team di Chromium ha implementato appunto la Site Isolation. Quest'ultima offre in pratica una "seconda linea di difesa", assicurandosi che le pagine siano sempre veicolate in due processi differenti eseguiti all'interno di sandbox che riescono a limitare i possibili danni che possono derivare da falle nella sicurezza.
La sandbox evita anche che i siti web possano ricevere dati sensibili da altri siti, per un sito malevolo sarà dunque notevolmente più complicato eseguire un attacco finalizzato alla loro sottrazione. La protezione da questi attacchi viene attuata in questo modo:
- Le Cross-site page vengono sempre inserite in processi separati (dunque tab, web page embedded, iframe, ecc);
- I Cross-site documents (HTML, XML, JSON) non vengono consegnati al web page process finché il server non comunica che la procedura è lecita, tramite l'uso di CORS (Cross-Origin Resource Sharing).
Trattandosi però di una feature sperimentale il suo codice e il suo supporto sono ancora in fase di sviluppo e dunque non sempre l'isolation potrebbe funzionare a dovere; con le prossime build dovrebbe essere invece completamente rodata.
Via Chromium