In che modo i moderni browser isolano diversi addon?

1

Un utente può avere più addon installati su un browser. Ma in genere, il browser è in esecuzione in userspace con un UID non privilegiato. Mi stavo chiedendo in che modo i moderni browser possono, in tale contesto, fornire un'infrastruttura in modo che i vari componenti aggiuntivi siano correttamente isolati.

Informalmente parlando, isolamento significa che un addon non può leggere i dati di un altro addon, né interferire con l'esecuzione di un altro addon.

Che tipo di tecnologia viene utilizzata qui? I componenti aggiuntivi del browser sono in genere implementati in JavaScript. L'isolamento è fornito dal motore JavaScript o da un livello diverso? Che tipo di supporto ha bisogno il browser dal sistema operativo e dall'hardware sottostante?

    
posta Cyker 18.08.2018 - 03:49
fonte

1 risposta

1

I componenti aggiuntivi eseguono azioni tramite una specifica API fornita dal browser. Non funzionano da soli come processi separati completamente indipendenti dal browser stesso. Spetta esclusivamente al browser limitare l'API in modo che un determinato addon o estensione possa accedere solo alle funzionalità a cui ha il permesso di accedere e in modo che possa accedere solo ai dati del file system che sono destinati a tale scopo. Il browser stesso non ha realmente bisogno di alcun supporto hardware specifico (come la gestione della memoria virtuale), poiché l'addon non sta eseguendo codice arbitrario direttamente sul processore.

L'API specifica dipende dal browser. L'API Mozilla Firefox WebExtension è diversa da API di Google Chrome . Qualsiasi codice in esecuzione come addon deve utilizzare questa API per richiedere l'accesso alle risorse che non possiede. Ad esempio, per accedere a un file sul filesystem è necessario che lo script richieda un servizio dal browser. Spetta al browser rifiutare quel servizio (sia perché il browser stesso non può accedere alla risorsa, o perché l'addon stesso non ha permessi sufficienti), o per concederlo. L'addon è impotente a contestare questa decisione.

    
risposta data 18.08.2018 - 03:53
fonte

Leggi altre domande sui tag