El viernes por la mañana, poco después de medianoche en Nueva York, el desastre empezó a extenderse por todo el mundo. En Australia, los compradores se encontraron con mensajes de pantalla azul de la muerte (BSOD) en los pasillos de las cajas. En el Reino Unido, Sky News tuvo que suspender su emisión después de que los servidores y los ordenadores empezaran a fallar. En Hong Kong y la India, los mostradores de facturación de los aeropuertos empezaron a fallar. Por la mañana, en Nueva York, millones de ordenadores con Windows se habían bloqueado y se había desencadenado un desastre tecnológico mundial.
En las primeras horas de la interrupción, había confusión sobre lo que estaba pasando. ¿Cómo era posible que tantas máquinas Windows mostraran de repente una pantalla azul de bloqueo? «Algo muy raro está ocurriendo ahora mismo», escribió el experto australiano en ciberseguridad Troy Hunt en un correo electrónico. en X. En Reddit, los administradores de TI dieron la voz de alarma en un hilo titulado «Error BSOD en la última actualización de CrowdStrike» que desde entonces ha acumulado más de 20.000 respuestas.
Los problemas llevaron a las principales aerolíneas de EE.UU. a dejar en tierra sus flotas y a los trabajadores europeos de bancos, hospitales y otras instituciones importantes a no poder iniciar sesión en sus sistemas. Y pronto se hizo evidente que todo se debía a un pequeño archivo.
A las 12:09 de la mañana del 19 de julio, la empresa de ciberseguridad CrowdStrike publicó una actualización defectuosa del software de seguridad Falcon que vende para ayudar a las empresas a evitar que el malware, el ransomware y otras ciberamenazas acaben con sus equipos. Es ampliamente utilizado por las empresas para sistemas Windows importantes, por lo que el impacto de la mala actualización fue tan inmediato y se sintió tan ampliamente.
La actualización de CrowdStrike se suponía que era como cualquier otra actualización silenciosa, proporcionando automáticamente las últimas protecciones para sus clientes en un pequeño archivo (sólo 40KB) que se distribuye por la web. CrowdStrike los emite regularmente sin incidentes, y son bastante comunes para el software de seguridad. Pero éste era diferente. Expuso un fallo masivo en el producto de ciberseguridad de la compañía, una catástrofe que sólo estaba a una mala actualización de distancia – y que podría haberse evitado fácilmente.
¿Cómo ocurrió?
El software de protección Falcon de CrowdStrike opera en Windows a nivel de kernel, la parte central de un sistema operativo que tiene acceso sin restricciones a la memoria del sistema y al hardware. La mayoría de las demás aplicaciones se ejecutan en el nivel de modo de usuario y no necesitan ni obtienen acceso especial al núcleo. El software Falcon de CrowdStrike utiliza un controlador especial que le permite ejecutarse en un nivel inferior al de la mayoría de las aplicaciones, de modo que puede detectar amenazas en todo el sistema Windows.
Ejecutarse en el núcleo hace que el software de CrowdStrike sea mucho más capaz como línea de defensa, pero también mucho más capaz de causar problemas. «Eso puede ser muy problemático, porque cuando llega una actualización que no está formateada de la manera correcta o tiene algunas malformaciones, el controlador puede ingerirla y confiar ciegamente en esos datos», explica Patrick Wardle, CEO de DoubleYou y fundador de la Objective-See Foundation. The Verge.
El acceso al kernel hace posible que el controlador cree un problema de corrupción de memoria, que es lo que ocurrió el viernes por la mañana. «El fallo se produjo en una instrucción en la que se intentaba acceder a una memoria que no era válida», explica Wardle. «Si se está ejecutando en el kernel y se intenta acceder a memoria no válida, se va a producir un fallo y eso va a hacer que el sistema se bloquee».
CrowdStrike detectó los problemas rápidamente, pero el daño ya estaba hecho. La empresa emitió una solución 78 minutos después de que saliera la actualización original. Los administradores de TI intentaron reiniciar las máquinas una y otra vez y consiguieron que algunas volvieran a estar en línea si la red captaba la actualización antes de que el controlador de CrowdStrike matara el servidor o el PC, pero para muchos trabajadores de soporte, la solución ha implicado visitar manualmente las máquinas afectadas y eliminar la actualización de contenido defectuosa de CrowdStrike.
Mientras continúan las investigaciones sobre el incidente de CrowdStrike, la teoría principal es que probablemente había un error en el controlador que había estado latente durante algún tiempo. Puede que no validara correctamente los datos que leía de los archivos de actualización de contenidos, pero eso nunca fue un problema hasta la actualización de contenidos problemática del viernes.
«Probablemente el controlador debería actualizarse para realizar comprobaciones de errores adicionales, para asegurarse de que, incluso si en el futuro se introdujera una configuración problemática, el controlador tuviera defensas que comprobar y detectar… en lugar de actuar a ciegas y bloquearse», afirma Wardle. «Me sorprendería que, con el tiempo, no viéramos una nueva versión del controlador con comprobaciones adicionales de cordura y errores».
CrowdStrike debería haber detectado este problema antes. Es una práctica bastante habitual lanzar actualizaciones gradualmente, dejando que los desarrolladores prueben cualquier problema importante antes de que una actualización llegue a toda su base de usuarios. Si CrowdStrike hubiera probado adecuadamente sus actualizaciones de contenido con un pequeño grupo de usuarios, entonces el viernes habría sido una llamada de atención para solucionar un problema de controladores subyacente en lugar de un desastre tecnológico que se extendió por todo el mundo.
Microsoft no causó el desastre del viernes, pero la forma en que funciona Windows permitió que todo el sistema operativo se viniera abajo. Los mensajes generalizados de la Pantalla Azul de la Muerte son tan sinónimos de errores de Windows desde los años 90 en adelante que muchos titulares decían inicialmente «apagón de Microsoft» antes de que estuviera claro que CrowdStrike era el culpable. Ahora, surgen las inevitables preguntas sobre cómo prevenir otra situación de CrowdStrike en el futuro, y esa respuesta sólo puede venir de Microsoft.
Qué se puede hacer para evitarlo?
A pesar de no estar directamente implicada, Microsoft sigue controlando la experiencia de Windows, y hay mucho margen de mejora en la forma en que Windows gestiona este tipo de problemas.
En el más simple, Windows podría desactivar los controladores con errores. Si Windows determina que un controlador está bloqueando el sistema en el arranque y obligándolo a entrar en modo de recuperación, Microsoft podría incorporar una lógica más inteligente que permitiera al sistema arrancar sin el controlador defectuoso tras varios fallos de arranque.
Pero el cambio más importante sería bloquear el acceso al núcleo de Windows para evitar que los controladores de terceros bloqueen un PC entero. Irónicamente, Microsoft intentó hacer exactamente esto con Windows Vista, pero se encontró con la resistencia de los proveedores de ciberseguridad y los reguladores de la UE.
En 2006, Microsoft intentó implementar en Windows Vista una función conocida entonces como PatchGuard, que restringía el acceso de terceros al núcleo. McAfee y Symantec, las dos grandes empresas antivirus del momento, se opusieron a los cambios de Microsoft, y Symantec incluso se quejó a la Comisión Europea. Microsoft acabó dio marcha atráspermitiendo a los proveedores de seguridad acceder de nuevo al kernel con fines de control de seguridad.
Apple acabó dando ese mismo paso, bloqueando su sistema operativo macOS en 2020 para que los desarrolladores ya no pudieran acceder al kernel. «Definitivamente fue la decisión correcta de Apple desaprobar las extensiones del kernel de terceros», dice Wardle. «Pero el camino para lograrlo realmente ha estado plagado de problemas». Apple ha tenido algunos fallos en el kernel en los que las herramientas de seguridad que se ejecutaban en modo de usuario aún podían provocar un fallo (kernel panic), y Wardle dice que Apple «también ha introducido algunas vulnerabilidades de ejecución de privilegios, y todavía hay algunos otros fallos que podrían permitir que las herramientas de seguridad en Mac sean descargadas por malware.»
Es posible que las presiones normativas sigan impidiendo a Microsoft tomar medidas al respecto. The Wall Street Journal informó durante el fin de semana que «un portavoz de Microsoft dijo que no puede amurallar legalmente su sistema operativo del mismo modo que Apple debido a un acuerdo al que llegó con la Comisión Europea tras una denuncia.» En Journal parafrasea al portavoz anónimo y también menciona un acuerdo de 2009 para proporcionar a los proveedores de seguridad el mismo nivel de acceso a Windows que Microsoft.
Microsoft llegó a un acuerdo de interoperabilidad con la Comisión Europea en 2009 que era un «compromiso público» para permitir a los desarrolladores acceder a la documentación técnica para crear aplicaciones sobre Windows. El acuerdo formaba parte de un acuerdo que incluía la implementación de una pantalla de elección de navegador en Windows y la oferta de versiones especiales de Windows sin Internet Explorer integrado en el sistema operativo.
El acuerdo para obligar a Microsoft a ofrecer opciones de navegador terminó cinco años después, en 2014, y Microsoft también dejó de producir sus versiones especiales de Windows para Europa. Microsoft incluye ahora su navegador Edge en Windows 11, sin que los reguladores europeos se opongan a ello.
No está claro cuánto tiempo estuvo en vigor este acuerdo de interoperabilidad, pero la Comisión Europea no parece creer que esté frenando a Microsoft a la hora de revisar la seguridad de Windows. «Microsoft es libre de decidir su modelo de negocio y adaptar su infraestructura de seguridad para responder a las amenazas, siempre que lo haga en consonancia con la legislación de la UE en materia de competencia», afirma Lea Zuber, portavoz de la Comisión Europea, en una declaración a The Verge. «Microsoft nunca ha planteado ningún problema de seguridad a la Comisión, ni antes del reciente incidente ni después».
El contragolpe del bloqueo de Windows
Microsoft podría intentar seguir el mismo camino que Apple, pero la reacción de los proveedores de seguridad como CrowdStrike será fuerte. A diferencia de Apple, Microsoft también compite con CrowdStrike y otros proveedores de seguridad que han hecho de la protección de Windows su negocio. Microsoft tiene su propio Defender para Endpoint de pago, que proporciona protecciones similares a los equipos Windows.
El CEO de CrowdStrike, George Kurtz, también critica regularmente a Microsoft y su historial de seguridad y presume de ganar clientes del propio software de seguridad de Microsoft. Microsoft ha tenido una serie de contratiempos de seguridad en los últimos años, por lo que es fácil y eficaz para los competidores utilizarlos para vender alternativas.
Cada vez que Microsoft intenta bloquear Windows en nombre de la seguridad, también se enfrenta a reacciones en contra. Un modo especial de Windows 10 que limitaba los equipos a las aplicaciones de Windows Store para evitar el malware resultó confuso e impopular. Microsoft también dejó atrás a millones de PC con el lanzamiento de Windows 11 y sus requisitos de hardware, diseñados para mejorar la seguridad de los PC con Windows.
El consejero delegado de Cloudflare, Matthew Prince ya está advirtiendo sobre los efectos de un mayor bloqueo de Windows por parte de Microsoft, en un contexto en el que Microsoft favorecería sus propios productos de seguridad si se produjera una situación de este tipo. Toda esta oposición significa que Microsoft tiene un camino difícil por recorrer si quiere evitar que Windows vuelva a ser el centro de un incidente como el de CrowdStrike.
Microsoft está atrapada en el medio, con presiones de ambos lados. Pero en un momento en el que Microsoft está revisando la seguridad, tiene que haber cierto margen para que los proveedores de seguridad y Microsoft se pongan de acuerdo en un sistema mejor que evite un mundo de apagones de pantalla azul de nuevo.