Sicurezza delle estensioni di Firefox come Mailvelope

4

Sto facendo questa domanda perché non ho molta familiarità con JavaScript o il plugin / estensione di Firefox. Il contesto specifico è l'estensione pgp di Mailvelope, ma le domande sono generali e si applicano a tutte le estensioni.

  • Può un'altra estensione accedere alla memoria in uso o precedentemente utilizzata da un'altra estensione?

  • Può un'altra estensione agire come un keylogger MITM? È possibile JavaScript da un'altra pagina / scheda aperta?

  • Può un'altra estensione modificare il codice di un altro (ad esempio sul disco)

posta TrustNoOne 02.01.2015 - 18:01
fonte

2 risposte

2

Questa domanda dovrebbe essere spostata sul tag stackoverflow firefox-addon.

Sì, un'estensione può accedere a un altro, consulta questo argomento: link

Non sono sicuro di cosa intendi con "Può javascript da un'altra pagina / scheda aperta?"

Im anche non sono sicuro di cosa intendi con "Può un'altra estensione agire come un keylogger MITM?"

Il codice degli addons di Firefox non viene eseguito in schede, viene eseguito nell'intero ambito del browser, quindi può accedere a schede, pagine e può registrare chiavi, che arrivano nel browser. Puoi farlo registrare chiavi a livello di sistema operativo con js-ctypes : link

Un'estensione può modificare il codice di un altro, dovrebbe prima cercare l'addon dall'add del programma, quindi decomprimerà il file xpi se è un xpi, quindi lo modificherà, quindi reimballerà l'xpi. Le modifiche non avranno luogo fino al riavvio del browser. Se l'addon non è imballato come xpi, può semplicemente modificare i file nella cartella, ma di nuovo il codice non avrà effetto fino al riavvio del browser. O se è riavviabile fino alla riattivazione dell'addon.

    
risposta data 08.01.2015 - 00:58
fonte
1

Can another extension access memory in use or previously used by another extension?

@Noitdart ha trattato questo - sì.

Can another extension modify the code of another (eg, on disk)?

Anche in questo caso @Noitdart ha parlato di questo, ma nel caso non fosse chiaro, sarebbe possibile modificare il codice di un altro addon senza richiedere un riavvio. Cioè non è richiesto alcun disco per modificare il codice perché l'altro addon ha accesso alla memoria "eseguibile" (interpretabile). Allo stesso modo, un componente dannoso può modificare qualsiasi parte di Firefox a scelta, in fase di esecuzione o tramite modifiche su disco ai file critici.

La principale mitigazione di questo rischio (supponendo che tu non abbia intenzione di ispezionare tutto il codice del componente aggiuntivo) è che in risposta a @georgie, c'è un processo di controllo prima che un addon sia consentito sui componenti aggiuntivi ufficiali sito web.

Ulteriori miglioramenti di sicurezza saranno presto disponibili quando Mozilla inizierà a richiedere la firma digitale di tutti i componenti aggiuntivi prima che Firefox li carichi. Questo non aiuterà contro un attacco mirato, ma darebbe a Mozilla un modo semplice per bloccare l'esecuzione di componenti aggiuntivi / sviluppatori dannosi dopo che alcune persone sfortunate hanno scoperto un comportamento malevolo in un componente aggiuntivo.

Non penso che ci sia il rischio di una sostituzione on-the-wire del codice di un componente aggiuntivo quando proviene da Mozilla perché dovrebbero utilizzare TLS per tutto questo, ma non ho personalmente controllato il loro sistema di consegna codice. Anche in questo caso, l'uso delle firme digitali aiuterà a proteggere dagli attacchi relativi alla modifica dannosa di un codice add-on durante lo storage o il delivery remoto.

Le altre domande sono un po 'meno ben definite ma in aggiunta alla spiegazione di @ Noitdart sull'ambito di esecuzione del codice aggiuntivo alcune delle informazioni di seguito potrebbero essere utili.

Normalmente, a JavaScript in una pagina web è impedito l'accesso al browser o al codice di addon / dati direttamente - è il codice remoto quindi non può essere considerato attendibile. Tuttavia, ci sono modi in cui un sito Web può inviare semplici messaggi di dati a un addon se tale addon lo consente. Prima che possa accadere qualcosa di malevolo a livello di sistema, dovrebbe essere programmato nel codice dell'adattatore. Quindi non vi è alcuna interazione strettamente dannosa dalla pagina web (presupponendo che non vi siano problemi di sicurezza nell'add-on o nel codice del browser), ma esiste una possibilità di interazione che un componente aggiuntivo dannoso può utilizzare come trigger per fare qualcosa di male.

Ancora una volta tornando ai commenti precedenti, perché un componente aggiuntivo dannoso può fare tutto ciò che vuole, non richiede alcun Javascript specifico per esistere in un sito web mirato (può semplicemente aggiungere il codice dannoso nel sito ogni volta che lo desidera ).

    
risposta data 20.01.2015 - 18:16
fonte

Leggi altre domande sui tag