El recién pasado viernes 19 de Julio (2024) millones de computadoras y dispositivos en todo el mundo que utilizan Windows como sistema operativo se toparon de improvisto con la famosa pantalla azul de la muerte. Sin embargo, el responsable real de esta ca{ida masiva que afectó a empresas completas de toda índole e incluso obligó a reducir el tránsito aéreo de estados unidos de forma drástica, no fue Microsoft como tal, tampoco fue un hackeo o ataque masivo. La caída de Windows a nivel mundial fue producto de una actualización, si, una “simple” actualización de un software dedicado, irónicamente, a la seguridad de los dispositivos en que se instala y que es ampliamente utilizado a nivel mundial en redes empresariales y servidores, he aquí cuando hablamos de Crowdstrike y un bug, un bug que, según cifras preliminares, podría tener un impacto económico de billones de dólares.

¿Una prueba de la fragilidad de las cosas?
Aunque durante la última década nos hemos estado acostumbrando (en cierta medida) a las caídas masivas de aplicaciones o servicios como el mismo internet, la gravedad de estas suele ser bastante sectorizada o sus impactos reducidos de cara a la población (dejemos de lado la desesperación que les puede causar a algunas personas no poder subir una foto a Instagram o a X por algunos minutos).
No hay que retroceder demasiado en el tiempo para encontraron con algunos cortes informáticos de gran escala; en 2017 tenemos el ataque “NotPetya” cuyo responsable, al menos según nuestra versión americana, fue Rusia y aunque en teoría dicho ataque estaba dirigido a servidores y pcs en Ucrania se extendió a otras partes del globo. En 2021 se produjo otra interrupción a nivel global tras un error en la actualización de CDN (Content Delivery Network) de la empresa Fastly, encargada de gestionar una red de distribución de servidores y datos, esta caída tuvo “sin internet” a las empresas dependientes de este CDN durante un lapso cercano a una hora. Aunque las perdidas cuantificadas no se hicieron públicas, se calcula que podría haber bordeado los 1.000 millones de dólares. El caso mas reciente es de 2023, cuya causa raíz fue una falla informática del software de la Administración Federal de aviación de los EEUU, aunque dicho problema no afectó globalmente, salvo el retraso o cancelación de vuelos desde y hacia estados unidos.
Impacto de un bug
En el caso de Crowdstrike la información que se tiene, de forma concreta es la siguiente:
· El problema surge tras una actualización masiva del software de gestión de seguridad diseñado para proteger archivos en la nube, por parte de Crowdstrike. Esta actualización “habría” tenido un bug que afectaba el reinicio de los equipos.
· Afectó a dispositivos que utilizan alguna versión de Windows (MacOs y Linux no se vieron afectados por la misma actualización)
· Impactó directamente a bancos a nivel mundial, aerolíneas, servicios de salud, supermercados, medios de comunicación e infraestructura critica (sobre todo en América del Norte y Europa).
· La duración del inconveniente duró cerca de 12 horas (Aunque se anunció la solución completa, no hay certeza exacta del tiempo de recovery completo debido a la magnitud o extensión del problema.
Expertos en ciberseguridad, como Troy Hunt, ha declarado al medio “elmundo.es” que estamos frente al mayor apagón informático de la historia y el mismo CEO de Crowdstrike ha admitido en una entrevista con la cadena NBC que si bien, la mayoría de sus clientes ya han vuelto a operar con normalidad, es muy probable que el recovery completo tarde bastante más de lo presupuestado. Siendo 20 de Julio de 2024, el portal de Azure que monitorea este problema aun no ha reportado su solución definitiva).
Si bien las perdidas aun no se han cuantificado del todo, podemos tomar como ejemplo solo la caída de cerca del 20% del valor de las acciones de Crowdstrike como un indicador; esto equivale a 8.500 millones de dólares de perdida en un solo día.

¿Bug?
Aunque es un probable que jamás sepamos con exactitud cual fue la causa concreta del problema de la actualización del software de seguridad, fuentes internas han indicado dos versiones -más o menos- disimiles. La primera, un error humano en el proceso del envío de la actualización masiva, la segunda, un error en el propio código de la actualización (también humano, aunque de programación y testing, si se quiere así). De momento, la versión que mas aceptada es la segunda, principalmente por declaraciones del mismo CEO de la compañía que comentó en su cuenta de X “… el problema fue identificado, aislado y un fix ha sido deployado”.
Pensar en que un “simple” bug por un testeo mal realizado o derechamente no realizado tuvo al menos un costo inicial de 8.500 millones de dólares es algo que a todas luces no es menor, y si consideramos el costo adicional incuantificable debido a los vuelos cancelados y reprogramados, servicios de salud con maquinas criticas inutilizadas entre otros factores, tal vez podríamos multiplicar ese costo fácilmente X10.
¿Y el testing? ¿Dónde está el testing?
Y aquí, me gustaría hacer una pequeña reflexión: la importancia del testing, del QA y de cualquier otra metodología o técnica que permita verificar correctamente el funcionamiento de un aplicativo o trozo de software cualquiera antes de su puesta en producción. En una época donde cada media hora aparece una versión nueva de un framework de desarrollo y herramientas que se promocionan como la panacea del testing es precisamente este mismo, esta cultura del “deber probar” la que ha ido perdiendo valor, las empresas optan por crear software rápido y comprometer fechas de entrega donde el testing (o QA) es casi una anécdota, una pequeña franja en un roadmap donde las pruebas son reducidas a cada vez mas simples y guiados happy paths. Donde cada vez que se saca un producto al mercado se juega a una ruleta rusa a la que lastimosamente los equipos están cada vez mas acostumbrados, donde resolver problemas graves de calidad en producción es más común cada día.
Incidentes como el de Microsoft y Crowdstrike nos deberían hacer reflexionar sobre la posición de la calidad del software en la actualidad y del posible impacto humano y económico que puede tener no realizar pruebas efectivas.