Poiché la patch è stata rilasciata qualche tempo fa, ora possiamo avere più informazioni. Il bollettino sulla sicurezza è piuttosto privo di informazioni tecniche, ma alcuni indizi possono essere raccolti dalla lettura l' articolo della Knowledge Base sui problemi noti . La patch fa, fondamentalmente, due cose:
-
La patch attiva il supporto per TLS 1.1 . Questo supporto era già incluso in Internet Explorer, ma non abilitato di default, perché c'erano alcuni server bacati che non lo tolleravano (in un handshake SSL / TLS, il client annuncia la sua versione massima supportata, ma alcune implementazioni del server si rifiutano di parlare con i clienti che annunciano qualcosa di diverso da SSL 3.0 o TLS 1.0). Sembra che Microsoft abbia deciso che la correzione di BEAST era più importante del supporto dei server SSL difettosi.
-
La patch implementa divisione del record . In SSL / TLS , i dati sono codificati come record, ogni record viene crittografato da solo. Il difetto relativo a BEAST riguarda i record in SSL 3.0 e TLS 1.0 con crittografia CBC, in cui il IV viene estratto dalla fine del record precedente, quindi prevedibile da un utente malintenzionato che origlia la linea. La suddivisione dei record riguarda la divisione automatica di un n - byte di record in due record, il primo è molto piccolo; questo ha per lo più lo stesso effetto netto della scelta di un IV casuale per ogni record (che è ciò che fa TLS 1.1+), e questo corregge BEAST, con un overhead di piccole dimensioni (non molto). Una divisione 0 / n sarebbe l'ideale (cioè anteporre a ciascun record di dati un record vuoto) ma tende a interrompere troppe implementazioni esistenti, in particolare quella in Internet Explorer 6.0; quindi, una divisione 1 / n-1 viene spesso impiegata, e quasi altrettanto buona. Questo è probabilmente ciò che applica la patch Microsoft.
La divisione del record viene utilizzata quando il server sceglie SSL 3.0 o TLS 1.0, e una suite di crittografia basata su CBC.
Si noti che l'applicazione pratica di BEAST richiede anche un modo piuttosto flessibile per eseguire richieste cross-site, cosa che i designer BEAST (Duong e Rizzo) potrebbero ottenere solo sfruttando uno dei due punti deboli, che erano in JavaScript WebSockets (versione bozza ) e in Java (implementazione Sun / Oracle), rispettivamente; sono state anche risolte entrambe le carenze. La patch Microsoft di cui stiamo discutendo riguarda la vulnerabilità sottostante della crittografia CBC con IV prevedibile.