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?