Problemas extraños con TLS/SSL de Windows 10 (BAD_MAC_READ, consultas de programas interrumpidas,...)

Problemas extraños con TLS/SSL de Windows 10 (BAD_MAC_READ, consultas de programas interrumpidas,...)

Recientemente terminé de ensamblar mi nueva PC e instalé Windows 10 Pro desde la herramienta utilitaria de Microsoft.

Todo salió bien, pero de repente, después de una semana, empezaron a aparecer errores:

  • En Firefox (última versión estable 73.0), las consultas a través de HTTPS fallan aproximadamente el 90% del tiempo
  • En clientes pesados ​​como Steam, Discord, algunos lanzadores de juegos, etc., desconexión aleatoria de servicios o, a veces, tengo que iniciarlo varias veces antes de que pueda conectarse. Discord o Spotify, por ejemplo, mantienen conectado/desconectado 1 o 2 veces por minuto...
  • También noté muchos mensajes de error ESENT en el Visor de eventos de Windows: casi todos hacen referencia a sumas de verificación incorrectas entre imágenes/versiones de base de datos, base de datos WebCache corrupta, configuración predeterminada para escribir registros, ... es frecuente y tiene muchas variaciones. (Puedo publicar estos errores en detalle para aquellos que pregunten)

Las cosas de las que estoy seguro:

  • No proviene de algo externo a mi PC: probé una conexión 4G compartida desde mi teléfono a través de USB y los problemas persistían.
  • Probé una nueva instalación de Windows 10 nuevamente y eliminé las últimas actualizaciones acumulativas
  • BIOS y reloj del sistema, sincronización y OK
  • Controladores actualizados descargados del sitio web del fabricante (Asus) en la página de la placa base
  • No se implica ningún antivirus o firewall local: probé con todos estos deshabilitados (defensor de Windows, firewall, análisis de amenazas,...)

Mi configuración:

  • Placa Base Asus ROG Strix z390-e Juegos
  • CPU Intel Core CoffeeLake 9700k
  • GPU Asus NVIDIA RTX2070 SUPER
  • RAM 2x8 Go Corsair RGB (3200MHz)
  • 2x 1 a Samsung 970Evo Plus M.2 SSD

Encontré una publicación similar a mi problema: https://www.reddit.com/r/techsupport/comments/4396fz/windows_10_strange_tls_ssl_errors_very_stuck/

Y probé varias cosas para resolver los errores ESENT en el Visor de eventos de Windows: https://support.microsoft.com/fr-fr/help/278316/esent-event-ids-1000-1202-412-and-454-are-logged-repeatedly-in-the-app

Navegando por los foros de Microsoft, intenté utilizar herramientas como DISM o SFC para recuperar la integridad de las imágenes; hasta ahora, no hubo ningún problema con estas herramientas.

Probé chkdsk, no hay nada que informar aquí tampoco.

Esta tarde, cuando esté en casa, intentaré iniciar en una memoria USB activa de Linux y comprobaré si el error persiste.

Actualizaré este hilo para agregar más adelante mi análisis de procesos y Wireshark... y los próximos descubrimientos... gracias

EDITAR: Abrí una pregunta en el foro oficial de Microsoft y agregué detalles actualizados aquíEl evento ESENT 474 de Windows 10 dañó archivos de datos locales

EDIT2: Hice un gran avance recientemente. Forcé TLS 1.2 en Firefox y muchos sitios web HTTPS ahora se cargan correctamente. PERO YouTube, Google y algunos otros todavía tienen problemas para cargar (BAD_MAC_READ). Entonces verifiqué el cifrado utilizado para negociar la conexión TLS cliente/servidor:

TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 en TLS1.2. Los sitios web que se cargan correctamente en HTTPS con TLS1.2 utilizan TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 en lugar de TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256.

Quería realizar una verificación cruzada con el iniciador de mi cliente de juego (League of Legends), así que comencé un escaneo de Wireshark durante la apertura del cliente. ¡Y veo un intercambio muy interesante en TLS1.2 donde la llamada fallida usa el cifrado TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256! Veo que mi cliente envía correctamente el mensaje de saludo (con cifrados disponibles), luego el servidor responde con el cifrado a usar y luego de eso, el servidor envía una consulta de tipo: "nuevo ticket de sesión, cambiar especificación de cifrado". Entonces el cliente no parece responder a eso y al cliente del juego le faltan algunas partes de la GUI. Estoy bastante seguro de que el problema está relacionado con el uso de ese cifrado, pero no estoy seguro.

Respuesta1

Finalmente encontré al culpable aquí. Es necesario determinar si se trata de una falla del controlador de la CPU/chipset o de la CPU, pero:

Ejecuté un análisis de la herramienta de diagnóstico Intel y las pruebas de CPU fallaron aquí: falla de la herramienta de diagnóstico

Entonces, para probar si el núcleo estaba defectuoso, ejecuté 'msconfig' para intentar deshabilitar 4 núcleos de CPU de los 8 disponibles.

Reinicio y ¿adivinen qué? ¡Los mensajes cifrados ya no tienen problemas! Puedo iniciar todas mis aplicaciones, ¡todas las consultas se realizan correctamente en todos los navegadores! La CPU es nueva y tuve especial cuidado al colocarla en el zócalo y bloquearla. Lo mismo ocurre con ventirad y pasta térmica, lo comprobé. Visualmente nada parece estar mal :(

Realmente espero no tener que devolverlo porque sé qué tipo de truco de magia puede ocurrir al devolver un componente tan frágil (excusas dadas en recepción: algunos pines estaban torcidos, ¡lo rompiste!).

Respuesta2

Encontré aproximadamente el mismo error que OP. Los sitios web se cargan de forma intermitente, a veces con diferentes códigos de error SSL. Firefox ofrece errores un poco más detallados en comparación con Chrome; los errores alternaban entre lectura de MAC incorrecta y alerta de MAC incorrecta.

Intenté reinstalar Windows 10, Ethernet en lugar de wifi y Linux en lugar de Windows. Los mismos errores. La prueba de CPU en Intel Diagnostic Tool no mostró ningún error.

Leer el consejo sobre Process Lasso me hizo probarlo. Después de probar diferentes combinaciones de afinidades de CPU (núcleo), me di cuenta de que el hecho de que el navegador web usara el núcleo 6-7 generaba errores. No he recibido ni un solo error desde que utilicé Process Lasso desde hace un día. La CPU es una i7-6700, aprox. Ya tiene 8 años, por lo que no es gran cosa perder un par de núcleos para el uso diario.

El error fue ciertamente frustrante, pero en retrospectiva fue bastante divertido solucionarlo;)

información relacionada