La madrugada del viernes 24 de agosto de 1997 Skynet tomó conciencia de sí misma y empezó el fin del mundo, la guerra entre hombres y máquinas. Ciencia ficción, por supuesto. ¿O no?
Porque qué piensas si te digo que también una madrugada y también de un viernes, cientos de miles o millones (porque nadie sabe el número exacto) de computadoras alrededor del mundo se pusieron de acuerdo para dejar de funcionar casi en simultáneo en la que ha sido calificada como la mayor falla tecnológica de la historia: aeropuertos detenidos, hospitales, fábricas, bancos, cadenas de televisión, sistemas de transporte, supermercados. Pero esta vez no fue ciencia ficción. Fue 100% real.
¿Cómo se ponen de acuerdo miles de computadoras alrededor del mundo para fallar a la vez? ¿Es el más grande hackeo de la historia? ¿Es la Inteligencia Artificial tomando el control? Parece ser que el apocalipsis tecnológico que todos temíamos no se ve así, con humanos y robots luchando para conquistar el mundo.
Sino así, con millones de computadoras Windows bloqueadas con la pantalla azul de la muerte paralizando a medio mundo porque todos dependen de esas computadoras. El Y2K, que aterró a todo el planeta, 24 años después. Si no sabes que es Y2K, pregúntale a ChatGPT y sorpréndete.
Esta catástrofe tecnológica es la prueba definitiva de que Windows es el peor sistema operativo del mundo y que los que saben de tecnología usan Linux. ¿Cierto? No. La historia no es tan sencilla.
En este blog veremos, sin humo y sin clickbait, qué originó realmente esta caída mundial de Windows, quiénes son los verdaderos responsables y qué significa este suceso para la seguridad mundial. Así que si querías la explicación definitiva de la caída de Windows, este es el artículo que buscabas. Porque estás en EDteam y tú sabes que en español, nadie explica mejor.
Todos los detalles del caso
La protagonista de esta historia es la BSOD o pantalla azul de la muerte en español, un error clásico en Windows. Incluso al mismo Bill Gates le pasó en una presentación frente a cientos de personas y se muestra cuando el sistema se bloquea por algún motivo, como problemas de software o de hardware. Esta pantalla azul de la muerte es una de las peores manchas en la reputación de Microsoft por la cual aún en 2024 sigue lastrando la imagen de ser un sistema inseguro y lleno de bugs.
Esta pantalla azul de la muerte regresó a escala global la madrugada del viernes 19 de julio a las 4:09, hora internacional, 11 de la noche para Perú, cuando computadoras con Windows de diversas partes del mundo se pusieron de acuerdo para mostrarla y dejar detenidas a organizaciones como hospitales, aeropuertos o medios de comunicación. Y no solo afecto a computadoras de escritorio sino también a servidores en Azure, así que también hubo problemas para acceder a servicios como Microsoft 365 o videoconferencias por Teams.
El primer sospechoso, sin duda, fue Azure, la nube de Microsoft ya que todas estas computadoras se conectan a ella para recibir actualizaciones. Sin embargo, pronto se descubrió que el culpable no era ni Azure ni Windows, sino el antivirus Falcon de la empresa Crowdstrike.
El culpable: Falcon Sensor
¿Cómo un antivirus es capaz de tumbarse miles de computadoras alrededor del mundo?
Porque hablamos de uno de los antivirus más usados a nivel corporativo (por eso es probable que nunca lo hayas escuchado): 300 empresas de la lista Fortune 500 lo usan tanto en computadoras finales como en servidores y se actualiza automáticamente para agregar nuevas detecciones de seguridad. Tú sabes, el clásico “la base de datos de virus ha sido actualizada” en versión Crowdstrike.
Para cumplir con los altos estándares de seguridad que promete, Falcon necesita acceso al corazón del sistema, al mismito kernel de Windows. ¿Y por qué? Para detectar malware y bloquearlo antes de que se cargue en el sistema, cuando ya es muy difícil o a veces imposible. Pero, hay un detalle, tener acceso al núcleo del sistema es como hacer una cirugía a corazón abierto. Si algo sale mal, aunque sea una pequeña cosita, las consecuencias pueden ser fatales.
Y eso fue justo lo que pasó la madrugada del viernes cuando el antivirus se actualizó, dicha actualización se distribuyó a todas las computadoras conectadas y PUM, pantalla azul.
No es la primera vez que un antivirus provoca una pantalla azul, pero una cosa es que tu computadora personal se bloquee y otra que se bloqueen millones alrededor del mundo. Esto jamás se ha visto.
¿Fue un ciberataque?
Pero, ¿en serio un antivirus causó todo esto? ¿no se trata de un ciberataque o una puerta trasera como casi le pasó a Linux hace un par de meses?
Según el comunicado oficial de Crowdstrike y de su CEO, no se trata de un ataque sino de un bug en su última actualización que ha afectado solo a sistemas Windows y no a Linux ni Mac que también usan su software. Obviamente, estas declaraciones las están usando los anti windows para decir que Windows tiene la culpa.
Posteriormente, Crowdstrike confirmó que el error se trata de un driver del kernel, para ser específico, el csagent.sy o C-00000291.sys.* Así que para resolver el problema basta con eliminar dicho archivo del sistema. Suena sencillo, pero en la práctica aplicar esa solución puede ser un infierno de días o semanas, como veremos más adelante.
Por su lado, la página de status de Azure también informó sobre el problema y el archivo causante del fallo.
¿Cuál fue el error?
Pero, a nivel técnico, ¿cuál fue exactamente el error? Según Zach Vorhies (zak vorjiz), ex ingeniero de Google, se trató de un problema de memoria con el lenguaje inseguro C++. Recordemos que C++ es un lenguaje que le da mucho control sobre la memoria al programador por lo que un error o descuido puede ocasionar problemas o vulnerabilidades, tal como lo vimos en este video en el que te explicamos que ese fue el motivo detrás de la creación de Rust.
Según Vorhies, se trato de un puntero nulo, es decir, una llamada a un espacio de memoria inexistente que bloqueó el sistema. Y que eso se puede solucionar validando que el puntero exista o usando lenguajes seguros como Rust.
Y todo iba muy bien con esta explicación hasta que Tavis Ormandy, uno de los principales investigadores de seguridad en Google, y de los más respetados en el mundo, lo refutó punto por punto demostrando que no se trataba de un puntero nulo sino de variables no inicializadas. Auch.
Y por si fuera poco, Eva Galperin, directora de seguridad de la Electronic Frontier Foundation (EFF) otro nombre muy fuerte en la industria, lo respaldó con el siguiente post en X:
No hay nada más terrorífico en la seguridad informática que la siguiente frase: “Tavis está revisando tu trabajo y tiene algunas ideas…”
Doble auch.
Así que no fue un puntero nulo sino una variable mal inicializada. Aunque como suele pasar, una salida clásica es culpar al lenguaje de tus malas prácticas como programador.
Y si quieres aprender C++ con buenas prácticas recuerda que puedes hacerlo en EDteam porque las primeras clases son gratis. Así que ve corriendo a https://ed.team/cursos/c-plus-plus y descubre por ti mismo porque en español, nadie explica mejor que EDteam.
¿Por qué pasó? ¿Cómo pudo evitarse?
En el blog de Kaspersky, un antivirus que pocos días antes de este incidente fue expulsado de los Estados Unidos por su origen ruso, (tema del cual hablaremos en otro momento) cuentan cómo pudo evitarse este incidente.
Primero, una regla de oro en el desarrollo de software: no salir a producción los viernes, por algún motivo hay empresas que lo siguen haciendo. Salir a producción el viernes te deja con menos capacidad de respuesta si ocurre algún problema, y aunque puedes llamar a todos a las oficinas si ocurre una emergencia, no es lo mismo que tenerlos disponibles al instante.
Así que si en tu trabajo salen a producción en viernes, mándales este artículo.
Segundo, otra regla de oro: prueba tu código antes de mandarlo a producción. Por algún motivo, los expertos de seguridad de Crowdstrike lanzaron esta actualización sin probarla, o sin las pruebas exhaustivas necesarias. Según Kaspersky, sus lanzamientos pasan por varias etapas de pruebas que pueden durar varios días, en lugar de lanzarse directamente a los usuarios. Auch.
Tercero: la actualización se lanzó de golpe a todos los usuarios en lugar de enviarse de forma paulatina para poder identificar posibles problemas y revertirlos de ser necesario.
Cuarto, algo que no dice Kaspersky en su blog pero que sí han dicho otros expertos: Microsoft debe agregar capas extra de seguridad o modos de revertir cambios cuando algo falle. Sobretodo para una aplicación que trabaja a nivel de kernel donde todo es crítico.
Y quinto, los expertos opinan que es mejor usar seguridad fuera del núcleo, como en la nube y en tiempo de ejecución en lugar del enfoque de Crowdstrike que seguramente va a cambiar a partir de ahora.
Y aunque la más afectada sin duda es Crowdstrike, este es un mal momento para todas las empresas de seguridad porque la presión sobre ellas ha aumentado. Nadie quiere pasar por una tragedia similar. Por ejemplo, la semana pasada Google anunció la mayor compra de su historia: la de la empresa de ciberseguridad Wiz por 23 mil millones de dólares. Imagínate el nivel de presión para la gente de Wiz luego de este desastre. Aunque no sea su culpa, el pánico es real.
Lamentablemente, la realidad es que ningún sistema es 100% seguro y la seguridad es una tarea de todos, seas o no seas programador. Porque como dijo Eugene Spafford: La única computadora segura es la que está apagada, desconectada de internet, guardada en un bloque de concreto y con guardias de seguridad vigilándola y ni aún así estoy seguro.
Por eso aprende ciberseguridad en EDteam, tenemos una completa carrera que va desde los conceptos más básicos hasta pentesting, auditoria y análisis forense. Recuerda que puedes comenzar a ver las primeras clases gratis para que compruebes por ti mismo porque en español, nadie explica mejor. Solo entra aquí 👉 Ciberseguridad y hacking ético.
¿Cómo se soluciona?
Ya sabemos lo que pasó y ya sabemos el culpable. Pero, ¿y la solución? Tan sencilla como reiniciar tu computadora quince veces. No es broma, el mismo equipo de seguridad de Microsoft lo propone.
Mientras tanto, Satya Nadella, CEO de Microsoft dice que están trabajando directamente con Crowdstrike para solucionar el problema y dar asistencia técnica a los afectados.
La solución más rápida y que propuso Crowdstrike al inicio es borrar un archivo específico. Es tan sencillo como iniciar Windows en modo recuperación navegar hasta la carpeta C:\Windows\System32\drivers\CrowdStrike
y eliminar el archivo c-0000291*.sys
. Luego reinicias la máquina y voilá, asunto resuelto.
Y sí, es bastante sencillo, para ti o para mí, pero no para el usuario medio, peor aún si no se tiene la clave de bitlocker para acceder al modo recuperación. Peor aún, considerando que Falcon se usa en entornos empresariales donde estas tareas las realiza el equipo de TI que tendría que ir equipo por equipo borrando el archivo lo cual puede tomar días, o semanas.
Aunque mientras tanto, puedes seguir trabajando como lo hacían nuestros antepasados, con la tecnología más resiliente de la historia: lapiz y papel. Como esta aerolínea de la India que entregó pases para abordar escritos a mano.
¿Será que en el futuro todos volveremos al lápiz y papel como dicen algunos?
¿Cuáles son las consecuencias?
Este no es un episodio feliz para nadie, salvo que seas un clásico linuxero tóxico (yo lo fui hace 20 años y no me enorgullezco). Pero, obviamente la más perjudicada es Crowdstrike.
El primer comunicado de su CEO fue uno bastante indolente, donde no pedía disculpas y solo decía que están trabajando para corregir el problema y además, para minimizar el incidente dijo que era un problema solo en Windows pero no en Mac y en Linux. Obviamente, le llovieron las críticas.
Más tarde, dio una entrevista donde se le veía visiblemente demacrado y con la voz entrecortada.
Sin embargo, hay algo de karma en lo que le pasó a Crowdstrike. Esta empresa fue fundada en 2011 y le da servicios a 300 empresas de la lista Fortune 500 como te dije hace un momento, su valor en bolsa es de unos 70 mil millones de dólares y cuenta con 8 mil empleados.
Su CEO, George Kurtz ha trabajado con John McAfee, uno de los mayores vendedores de antivirus de la historia con la táctica del miedo. Tú sabes, mientras más miedo propagues sobre ataques informáticos, más compraran tu antivirus, como lo vimos en este video. Por lo visto, Crowdstrike usaba tácticas similares pues ganó reputación al investigar hackeos famosos como el del Comité Nacional Demócrata en 2016.
Hasta aquí nada raro, el problema es que Crowdstrike es una empresa sumamente arrogante que ha atacado con dureza a sus competidores. Por ejemplo, a Microsoft le dedicó frases como las siguientes:
Los problemas de seguridad comienzan con Microsoft… y terminan con Crowdstrike.
Si ni los productos de seguridad de Microsoft (refiriéndose a Defender) no pueden defender a la misma Microsoft… ¿Cómo te va a defender a ti?
Pues bien, el karma hizo lo suyo. En un solo día sus acciones han bajado 11% de su valor, lo que representa más de 10 mil millones de pérdida.
Y si esto fuera poco, los hackers ya están registrando dominios para hacerse pasar por soporte de Crowdstrike y aprovecharse de la situación. Porque ya sabes, la gente de TI de las empresas afectadas están atentas a toda comunicación con el equipo de soporte de. Escenario perfecto para el pishing.
Este caso es un nuevo recordatorio de lo frágiles y poco resilientes que son nuestros sistemas debido a su profunda centralización. Si un proveedor de nube falla o una actualización distribuye un error en el sistema, la caída es masiva.
La nube tiene muchas cosas increíbles, pero esta es una de las cosas malas. Y muchas cosas cambiarán a partir de hoy. Eso es seguro.
También es un recordatorio de que los problemas de seguridad abarcan a todos los sistemas, no solo a Windows. De hecho, las más grandes vulnerabilidades de la historia han sido en sistemas Open Source como Heartbleed de 2014, una vulnerabilidad en OpenSSL o Log4shell de 2021 que fue catalogado como la peor vulnerabilidad de la historia con 10 de 10. O el backdoor en XZ Utils que pudo causar una catástrofe global, y del cual nos salvamos por un pelito. Por un pelito de un ingeniero de Microsoft.
Sin embargo, también hay que reconocer que Windows seguirá siendo el blanco preferido de los hackers porque es el más usado en computadoras personales y el impacto de los daños puede ser mayor. Por ejemplo en 2003, el gusano Slammer se propagó rápidamente gracias a una vulnerabilidad en SQL Server. O en 2017, cuando el ramsomware WannaCry atacó a miles de computadoras Windows alrededor del mundo, encriptando sus archivos y pidiendo un rescate en bitcoin para recuperarlos, lo cual generó caídas masivas en sistemas críticos como hospitales y empresas.
Así que la ciberseguridad es cosa seria, no un juego de niños para soltar sus fanatismos sobre qué sistema es mejor. Y recuerda que puedes comenzar ya mismo a estudiar ciberseguridad en EDteam porque las primeras clases de todos nuestros cursos son gratis.
Ahora ya sabes la historia completa de lo que pasó con esta caída mundial de Windows y volviste a comprobar que en español nadie explica mejor que EDteam.
Y cuando te pregunten: ¿cómo sabes tanto sobre la caída de Windows? Responde que lo aprendiste en EDteam.