Perché OCSP Must-Staple ha interrotto l'intercettazione SSL di BitDefender

0

Uso uno dei miei siti Web come test per varie tecniche TLS. Recentemente ho aggiunto OCSP Must-Staple a questo dominio. Dopo una settimana ho ricevuto un reclamo da un utente che non era in grado di visitare il sito web. Hanno ricevuto l'errore da Opera, Edge e Chrome. L'errore di Chrome è stato il più chiaro: ERR_SSL_VERSION_OR_CIPHER_MISMATCH .

Dopo alcuni test ho scoperto che il loro BitDefender che eseguiva l'intercettazione SSL era il colpevole. Ora, non voglio una discussione sul fatto che le aziende dovrebbero fare una cosa del genere. Presumo che ERR_SSL_VERSION_OR_CIPHER_MISMATCH sia solo BitDefender che dice: "Non sono in grado di fare nulla con questo, blocchiamo solo l'utente dal visitare negoziando nessuna versione SSL / cifrari valida con il browser". Ma non capisco come la Must-Staple nel certificato abbia causato questo.

Forse non era in realtà il Must-Staple, o forse era in combinazione con qualche altro header. Ho intestazioni HPKP che sarebbero il prossimo candidato possibile, ma ho avuto quelle per quasi un anno. Non sono molto esperto in VM e WireShark per fare molte ricerche. Qualcuno potrebbe aiutare a determinare la vera causa per soddisfare la mia curiosità?

rapporto sui laboratori SSL

    
posta ontrack 06.08.2018 - 21:17
fonte

2 risposte

1

Innanzitutto, poiché è comune con gli errori TLS, ERR_SSL_VERSION_OR_CIPHER_MISMATCH in Chrome non è in alcun modo descrittivo di un problema particolare.

Successivamente, ammetto che non ho mai toccato in alcun modo in BitDefender in particolare le sue tecniche di intercettazione TLS con un palo da dieci piedi, né che avrei mai voluto.

Detto questo, ho visto un bug simile in prodotti simili, quindi potrei capitare di darti un indizio.

Vedi, quando un intercettore TLS vede un certificato, lo copia, sostituisce i dati dell'autorità di certificazione con il proprio e lo firma, quindi invia al browser (o qualsiasi altro software client stia cercando di fare una richiesta sicura). Un intercettore TLS di base non fa altro per il certificato: non cambia, ad esempio, cambia il campo del nome alternativo del soggetto o altera qualsiasi altro valore di estensione X509v3. Solo i dati CA vengono modificati, il resto del certificato viene lasciato così com'è.

Man mano che i dati CA vengono modificati, la successiva graffatura OCSP non sarà ovviamente valida, quindi l'interceptor rimuove anche i dati. Infatti, agisce come un proxy, quindi non spoglia nulla, semplicemente non mette una graffetta nella connessione rivolta al browser, anche quando riceve una graffetta dalla connessione rivolta al server, e il gioco è fatto.

Ora il browser riceve il certificato, firmato dall'intercettore, con OCSP Must Staple su di esso, ma non ottiene una graffetta OCSP valida perché non viene inviata dall'interceptor. A questo punto, il meglio che il tuo browser è in grado di fare è fermare la connessione TLS e visualizzare un messaggio di errore criptico.

NB: questo è un modo per interrompere OCSP con un intercettore TLS di cui sono a conoscenza. BitDefender potrebbe effettivamente utilizzare un altro metodo, ce ne sono sicuramente molti.

    
risposta data 07.08.2018 - 03:39
fonte
1

Questo errore si verifica quando un SSL / TLS non supportato o una suite di crittografia non supportata viene consegnata al browser (ad esempio, Google Chrome non supporta più i protocolli SSLv2 e SSLv3, né è supportato il codice RC4)

Il certificato del server è indipendente dalle suite di crittografia fornite, quindi PROBABILMENTE questo problema è un problema di compatibilità tra le suite di crittografia supportate dal browser e le suite di crittografia fornite da BitDefender.

    
risposta data 07.08.2018 - 06:19
fonte

Leggi altre domande sui tag