Macchine virtuali basate su browser

8

In che modo applicare i principi dell'hypervisor (ad es. xen) nello sviluppo di un browser Web che offre schede di browser isolate (macchine virtuali) migliora o riduce la sicurezza delle applicazioni Web esistenti (buone o mal codificate).

Un'app web in questo contesto sarebbe una scheda, con una politica di origine incrociata che utilizza un approccio di whitelist e che esegue il jail della scheda (unix jail), in una prigione della finestra genitore che è una copia scrivibile del browser principale. Il browser stesso potrebbe essere solo di sola lettura e implementare un controllo della firma all'avvio.

Le norme sull'origine incrociata sarebbero semplicemente un file manifest che le whitelist consentivano risorse come immagini, javascript, css, caratteri ecc.

Il concetto sarebbe di non condividere nulla e la chiusura della finestra del browser eliminerebbe completamente qualsiasi traccia. Tutti i file tmp sono memorizzati nel carcere. Questo dovrebbe proteggere dalle vulnerabilità nell'implementazione del browser che viene sfruttata dopo la chiusura di una finestra / scheda.

In teoria questo concetto potrebbe essere ampliato per consentire l'aggiunta di plug-in e plug-in per cose come Tor, rendendo l'anonimità e la privacy disponibili per gli utenti tradizionali.

    
posta Null 15.08.2013 - 01:40
fonte

2 risposte

5

I browser Web già provano a isolare le schede l'una dall'altra. Chrome ha aperto la strada al principio di "un processo per scheda" seguito da altri browser. Questo tipo di isolamento era inteso per maggiore affidabilità rispetto alla sicurezza: quando una scheda si blocca, ad es. a causa di un bug in un plug-in, impedisce anche la morte di tutto il processo del browser.

L'uso di tecniche VM, che si tratti di carceri di livello Unix o di hypervisor in piena regola, può aiutare nel caso in cui una scheda sia sovvertita : attraverso qualche buco di sicurezza, un utente malintenzionato riesce a gestire il proprio codice malevolo nel tuo browser. La VM tenterà quindi di contenere quell'attacco. Si noti che il problema ha conseguenze di vasta portata: ad esempio, un browser Web deve essere in grado di leggere i file locali, al fine di supportare i siti Web che richiedono il caricamento di un file locale. Quando viene applicato l'isolamento completo, la funzionalità viene ridotta.

Se vuoi completa isolamento, consulta il sistema operativo di Qubes : questo è un sistema operativo basato su Linux che lancia una piccola VM per singole applicazioni (o un gruppo di applicazioni) e consente di eseguire più istanze del browser che non possono vedersi.

Il problema, tuttavia, è che di solito non si desidera un isolamento completo e il dirottamento di processo completo ostile è raro. I browser applicano già una sorta di isolamento che non utilizza hypervisor, ma è (solitamente) efficace. I problemi di sicurezza non derivano dall'interruzione di un processo di tabulazione, ma dai canali di comunicazione che vengono mantenuti tra le schede dal browser per implementare le funzionalità richieste. La Politica Same-Origin è un concetto importante che fa parte del problema: il SOP incarna il modello di sicurezza che il le forzature del browser e la maggior parte dei problemi di sicurezza con i browser Web sono dovuti alla confusione con cui sono definiti i limiti SOP.

Per fare un'analogia , considera un muro di mattoni con una porta al suo interno. Usare la tecnologia dell'hypervisor sarebbe come rinforzare il muro e il telaio della porta con l'acciaio. Questo non è male, ma non aiuterà molto se il vero problema è che la porta non è chiusa a chiave. Quando si cerca di rafforzare l'isolamento tra le istanze di navigazione, la cosa veramente difficile è definire esattamente cosa può essere condiviso e cosa non dovrebbe; gli hypervisor operano a un livello inferiore e sono solo strumenti per applicare una politica, ma la politica deve prima essere definita.

    
risposta data 15.08.2013 - 16:38
fonte
1

Credito a @Thomas Pornin & @Ramhound,

Le macchine virtuali basate su browser hanno già alcune implementazioni (browser senza testa). Non ero a conoscenza al momento di scrivere la domanda che Chrome aveva già fatto questo salto.

Implementazioni concettuali :

Concetti alternativi :

Critiche :

  • Le VM (ad es. Virtualbox) sono particolarmente resistenti agli attacchi in quanto hanno una superficie di attacco molto più ampia e generalmente non assumono ospiti malintenzionati.
  • ....

Aggiungi questo elenco nei commenti e aggiornerò la risposta.

    
risposta data 16.08.2013 - 11:36
fonte

Leggi altre domande sui tag