Archivo

Posts Tagged ‘Noticias’

KB3004394: Vaya día…

Soy extremadamente celoso de la seguridad y, cuando un buen día, empiezan a pasar cosas muy, muy raras con varios equipos del trabajo, no pude por menos que intentar averiguar lo que estaba pasando. Esto es lo que aprendí y como, lo que me parecía más improbable, era la razón de todo.

La primera señal de alarma llegó a primera hora de la mañana: en uno de los ordenadores de la oficina se desactivó (por las buenas?) Windows Defender. Si, ya lo sé, hay cosas mejores pero qué le vamos a hacer – es lo que hay. Eso, y las malas costumbres (ejem) de los usuarios (ejem, ejem) me hicieron temer lo peor.

Mi primer instinto cuando encuentro un antivirus que no se activa o, simplemente, no aparece, es ir directo al teclado: Windows+R, “regedit”. Lo que normalmente espero es la tranquilizadora imagen del consentimiento de seguridad de Windows:

UAC

Lo que me encontré (y espero que comprendáis que no haya foto – no estaba la cosa para eso) es el editor de registro abriéndose directamente, sin ningún tipo de confirmación. Un antivirus desactivado y UAC desactivado al mismo tiempo (obviamente el usuario jura y perjura que no lo ha desactivado manualmente) me ponen en modo paranoico: tenemos un gamusino.

Lo primero fue restablecer UAC (con su correspondiente reinicio) y verificar que, una vez vuelto a arrancar, el ajuste era efectivo y no volvía a desactivarse. Eureka! Pero espera… hay algo raro…

Al volver a intentar ejecutar RegEdit y tal y como esperaba, apareció el mensaje de confirmación de UAC, pero con otro elemento mosqueante: en lugar de indicar “Microsoft Windows” como Editor Comprobado aparece como “desconocido”. Sigo mosqueado. Más aún cuando incluso al intentar abrir el visor de eventos (EventVwr) también me pide autorización – raro si tenemos en cuenta que el visor de eventos no lo requiere en condiciones normales. Intentar reactivar Windows Defender terminaba también en un error.

Intentar instalar Security Essentials daba otro error durante el proceso: 0x8004FF91. Adelante, buscad ese error (bueno, hoy no creo que tengáis mucho problema para encontrar referencias) y veréis que, ni es nuevo, ni hay documentación al respecto. Vamos bien…

Tras un análisis en profundidad del ordenador y no encontrar absolutamente ningún indicio de un comportamiento extraño, intenté tranquilizar mi espíritu pensando que podría haber sido un intento de infección de algún tipo de virus o troyano que se paró y dejó el ordenador en ese estado: nada escondido, ningún ejecutable extraño, ninguna traza en registry u otros puntos de inicio… nada.

Continué el día – o mejor dicho, intenté continuar el día mientras pensaba si era buena idea hacer un “rollback” a un punto de restauración anterior, seguir mirando cosas o directamente “pegar un leñazo” (término técnico para “reinstalar desde cero”). No había pasado ni media hora cuando otro ordenador empezó a hacer también cosas raras… y luego otro…

No voy a aburriros con una descripción detallada de nuestra arquitectura de red e interconexiones con otros centros – solo os diré que empecé a mirar cosas realmente esotéricas por todas partes (incluyendo si alguien había instalado WireShark en el cortafuegos y se había dejado el driver de captura activado – no os digo más). Pero me recuerdo a mí mismo en mitad de la sala de producción, buscando “algo” mientras decía en voz alta [sic] “o tenemos un gamusino o una tremenda cagada de Microsoft con un parche…”.

Mi sensación era como si los ejecutables de Windows hubiesen sido reemplazados por versiones alteradas, sin la firma digital de Microsoft. Y a nada que lo penséis sabréis que es muy mal indicio. Recordé que mi PC Windows 8 tiene un Windows 7 instalado en una partición que no uso desde hace más de dos años (desde que monté 8, vamos). Busqué RegEdit.exe y lo comparé con la versión extraída desde uno de los PCs con comportamiento raro. Para mi “sorpresa” eran idénticos (no lo esperaba… imaginé que alguna actualización en dos años habría tocado regedit, pero no… ninguna). La parte mala (o buena?) es que, siendo idénticos, significa que ambos portaban la firma digital apropiada de Microsoft – no había ejecutables reemplazados (“yupi?”)

Parecía que el problema se originaba en los certificados para verificar los ejecutables pero, cómo era eso posible?

La solución llegó en forma de un boletín en la web de soporte de Microsoft: la actualización KB3004394 está rota.

La idea de la actualización KB3004394 es sencilla: los certificados digitales que usa Windows para garantizar que las conexiones seguras son, eso, seguras se actualiza hasta ahora una vez a la semana. El problema (y esto es de mi cosecha) es que desde que se supo la brecha de seguridad en Sony y que se habían conseguido robar sus certificados digitales, era perfectamente posible “fabricar” tanto ejecutables como certificados para servidores perfectamente válidos y que podrían usarse para fines maliciosos. Así que Microsoft pensó que no sería mala idea no solo revocar ciertos certificados sino que los ordenadores lo hagan ellos solitos solo que más a menudo: una vez al día.

La idea no es mala – salvo el posible ancho de banda que pueda conllevar el proceso, pero el problema es que el parche que (asumo) revoca los certificados sospechosos y cambia el comportamiento de Windows para actualizarlos “rompe” PCs con Windows 7 (y Windows Server 2008) instalado. Eso y que al destruirse la cadena de validación de certificados, muchos programas de terceros (como Security Essentials) fallan al instalarse con el (ahora conocido) error 0x8004FF91 que podríamos catalogar como “error al verificar la firma digital de uno de los componentes del programa”.

El siguiente paso es montar el parche KB3024777 y ver qué pasa. Revierte el comportamiento de Windows 7 si, pero: reconstruye las cadenas de certificados?

Y lo que más me preocupa: si el ordenador no puede verificar la cadena de certificados AHORA, con las cadenas de certificados rotas… ha hecho Microsoft un parche que, efectivamente, toca las cadenas de certificados sin ir “apropiadamente” firmada digitalmente? Porque imagino que sabéis lo que eso significa, verdad?

Ups…