Perché Firefox e Chrome "perdono" informazioni di sicurezza critiche dal browser e come posso fermarlo?

16

Studiando strette di mano e crittografia SSL / TLS, ho trovato un metodo che descrive come esportare le chiavi di sessione SSL / TLS da Firefox a un utente o una variabile ambientale all'esterno del browser e quindi decrittografare i pacchetti TLS usando Wireshark (metodo descritto all'indirizzo: link ). Questo metodo è molto facile da eseguire: sono stato in grado di decrittografare le comunicazioni con i siti HTTPS, incluse le credenziali di accesso.

Per il link sopra e il mio test, questo metodo funziona solo per Firefox e Chrome; non Internet Explorer o altro traffico SSL non del browser (vedere collegamento per i consigli MSDN, ma essenzialmente non salvano le chiavi di sessione in chiaro per impostazione predefinita). Il metodo è descritto anche sul sito di Mozilla Development Network (MDN) all'indirizzo: link e anche Information Security Exchange, per esempio a: Decodifica di TLS in Wireshark quando si utilizzano le cipherite DHE_RSA ).

Il metodo richiede l'accesso alle impostazioni di sistema per configurare la variabile di ambiente necessaria, ma questo è tutto. Sia Firefox che Chrome cercano automaticamente la variabile e, se la trovano, iniziano a registrare le chiavi nella posizione. I browser non avvisano l'utente né chiedono il permesso, né sembra esserci un modo in Firefox riguardo a: config per disattivare questa disconnessione. Mi rendo conto che l'accesso completo al sistema per impostare la variabile potrebbe presumere che il sistema sia già compromesso, ma il livello di protezione sembra molto inferiore rispetto ad altre informazioni sulla sicurezza. Ad esempio, l'accesso al sistema non consente un facile accesso ai moduli di sicurezza SAM o TPM (ci sono altri modi per ottenere l'accesso, ovviamente, ma non è un punto e un clic).

Questo metodo sembra consentire un'esportazione molto silenziosa delle chiavi di sessione SSL / TLS (sono solo 128 o 256 bit ciascuna) da terze parti che potrebbero catturare il traffico di rete separatamente dall'esportazione della chiave e quindi decifrare a loro piacimento . Questa decifrazione potrebbe verificarsi nonostante l'uso di qualsiasi "chiave segreta perfetta" chiavi asimmetriche, e potrebbe ricostruire le sessioni di navigazione molto tempo dopo il fatto. Qualsiasi altro programma con accesso alla struttura delle cartelle di Windows potrebbe anche filtrare le chiavi e non lo sapresti mai.

Perché Firefox e Chrome consentono una così facile perdita di queste chiavi di sessione? Ho letto alcune speculazioni sul fatto che si trattava di una funzionalità di debug, ma perché è lasciata attiva per impostazione predefinita? Si noti che altri browser non perdono le chiavi di sessione. Dovrei essere preoccupato per questo?

    
posta Stone True 04.12.2015 - 20:29
fonte

3 risposte

14

Why do Firefox and Chrome allow such easy leaking of these session keys?

Per facilitare agli sviluppatori l'analisi delle acquisizioni di rete. La prima volta che ho usato questa funzione è stata quando ho cercato di capire quale protocollo è esattamente usato dal noVNC basato sul web. Usando questa funzionalità, sono stato in grado di decodificare il traffico in Wireshark.

I read some speculation that this was a debugging feature, but why is it left on by default? Note that other browsers do not leak the session keys.

Di default nessun tasto è registrato / perso. La funzione esiste per coloro che ne hanno bisogno (vedi sopra).

Should I be concerned about this?

No. Se qualcuno è in grado di modificare il tuo ambiente di sistema, hai problemi più grandi. Non convinto? Sapevi che Chrome ha un'opzione della riga di comando --disable-web-security ? Ciò disabilita le protezioni come la stessa politica di origine, consentendo ad ogni sito Web di modificare il sito Web della propria banca, ad esempio. Che dire della possibilità di installare estensioni del browser che possono ascoltare tutte delle tue richieste HTTP e modificarle senza generare errori di certificazione?

Non preoccuparti di questa funzione SSLKEYLOGFILE , non avrà alcun effetto su di te ed è più probabile che un estensione del browser ruberà tutti i tuoi dati o che qualcuno installerà un certificato dannoso, eseguire un attacco man-in-the-middle e inserire pubblicità .

    
risposta data 12.01.2016 - 22:09
fonte
7

Penso che la risposta a queste domande possa essere solo: se vuoi disattivarlo, prova a essere coinvolto con gli sviluppatori, oppure compila la tua versione e rimuovi l'opzione lì.

Suggerimento: l'attivazione della modalità privata sul browser dovrebbe disabilitare questa funzione. Considera di archiviarlo sul bugtracker;)

Per quanto riguarda la sicurezza TLS / SSL: Ricorda, TLS significa sicurezza a livello di trasporto, SSL significa secure sockets layer. Entrambi si occupano solo del trasporto crittografato di dati. Ciò che accade nell'endpoint non può essere protetto in questo modo. Se non hai il pieno controllo del tuo PC (dispositivo aziendale, internet cafè, ecc.) Dovresti sempre considerare la possibilità di una perdita di dati locale. I dati devono essere decifrati all'interno del dispositivo per renderlo leggibile da te e questo sarà sempre un punto debole. Immagina l'iniezione di certificati SSL in cui è possibile decodificare tutto il traffico https nel firewall della tua azienda semplicemente aggiungendo un certificato proxy completo attendibile nel tuo PC e non te ne accorgi nemmeno.

Quindi, anche se sembra una cattiva idea rendere la registrazione così facile, per me non è una violazione del meccanismo di sicurezza che c'è dietro.

    
risposta data 08.12.2015 - 09:19
fonte
1

Firefox e Chrome consentono la registrazione dei materiali chiave per abilitare le funzioni di debugging wireline.

    
risposta data 06.12.2015 - 19:57
fonte

Leggi altre domande sui tag