Dado que el parche se ha lanzado hace algún tiempo, ahora podemos tener más información. El boletín de seguridad carece de información técnica, pero algunas pistas se pueden obtener de la lectura el artículo de KB sobre problemas conocidos . El parche hace, básicamente, dos cosas:
El parche activa la compatibilidad con TLS 1.1 . Este soporte ya estaba incluido en Internet Explorer, pero no estaba habilitado de forma predeterminada, porque había algunos servidores con errores que no lo toleraban (en un protocolo de enlace SSL / TLS, el cliente anuncia su versión máxima admitida, pero algunas implementaciones del servidor se niegan a hablar) clientes que anuncian algo más que SSL 3.0 o TLS 1.0). Microsoft parece haber decidido que reparar BEAST era más importante que soportar servidores SSL defectuosos.
El parche implementa división de registros . En SSL / TLS , los datos se codifican como registros, cada registro se cifra por sí solo. El defecto relacionado con BEAST es sobre los registros en SSL 3.0 y TLS 1.0 con cifrado CBC, donde el IV se extrae del final del registro anterior, por lo tanto predecible por un atacante espiando en la línea. División de registros se trata de dividir automáticamente los registros de n en dos registros, el primero es muy pequeño; esto tiene principalmente el mismo efecto neto que la elección de un IV aleatorio para cada registro (que es lo que hace TLS 1.1+), y esto corrige BEAST, con una sobrecarga de tamaño pequeño (no mucha). Una división 0 / n sería ideal (es decir, prefijar cada registro de datos con un registro vacío) pero tiende a romper demasiadas implementaciones existentes, en particular la de Internet Explorer 6.0; por lo tanto, a menudo se emplea una división 1 / n-1 , y casi tan buena. Esto es probablemente lo que aplica el parche de Microsoft.
La división de registros se utiliza cuando el servidor elige SSL 3.0 o TLS 1.0, y un conjunto de cifrado basado en CBC.
Tenga en cuenta que la aplicación práctica de BEAST también requiere una forma bastante flexible de hacer solicitudes entre sitios, algo que los diseñadores de BEAST (Duong y Rizzo) solo pudieron lograr al explotar una de las dos debilidades, que estaban en Javascript WebSockets (versión borrador) ) y en Java (implementación de Sun / Oracle), respectivamente; Ambas debilidades también fueron arregladas. El parche de Microsoft que estamos discutiendo aquí aborda la vulnerabilidad subyacente del cifrado CBC con IV predecible.