Crowdstrike y el bug del colapso global
Artículo de Pablo Gómez
Viernes, 18 de julio de 2024. Los aeropuertos, estaciones de tren y autobuses están en plena ebullición, estrenamos vacaciones estivales, estamos a una semana de los Juegos Olímpicos y... crash. Pantallazo azul, la pantalla de la muerte, BSoD (Blue Screen of Death) o como lo queráis llamar en terminales de todo el mundo.
Este apagón a gran escala, que afecta a aerolíneas, hospitales, servicios de emergencia, televisiones nacionales, bancos, grandes supermercados, etc tiene consecuencias directas como retraso de vuelos, de prestaciones de servicios médicos, emisiones en directo canceladas, pagos imposibles de realizar... Un colapso que comenzó en EEUU y fue expandiéndose por el resto del mundo.
Imagen de la BSoD, pantallazo azul. EFE.
Pero, ¿por qué el colapso de Crowdstrike afectó a todas estas compañías?
Todas ellas tienen sus servicios corriendo sobre sistemas operativos Windows y usan el antivirus de Crowdstrike, empresa estadounidense de ciberseguridad fundada en 2011 y proveedor de Microsoft.
El antivirus de Crowdstrike, denominado "Falcon Agent" en la noche del jueves al viernes realizó una actualización que era incompatible con el normal funcionamiento del sistema operativo, provocando su parada y el colapso global que vino a continuación.
A las pocas horas, el INCIBE calificaba la incidencia como crítica (valor 5) indicando que para resolver el problema se deben seguir los siguientes pasos:
1. Iniciar el ordenador en modo seguro o en el entorno de recuperación de Windows.2. Acceder a la carpeta C:WindowsSystem32driversCrowdStrike.3. Eliminar el archivo “C-00000291*.sys”.4. Reiniciar el equipo.
También indica que es posible que, siguiendo solamente el cuarto paso, el problema se solucione.
Si Crowdstrike no ha recibido un ciberataque, ¿por qué se clasifica como incidente de seguridad?
Porque la Confidencialidad, la Integridad y la Disponibilidad (conocidas como triada CID) son las tres patas de la seguridad informática de una organización. Y en este caso se ha tratado de un claro fallo de disponibilidad. Un sistema que no está disponible tiene un tremendo impacto en la reputación y en la confianza de los usuarios. Igualmente, puede estar más expuesto a ataques cuando se intenta restaurar el servicio. Esto incluye posibles exploits durante el reinicio o la aplicación de parches de emergencia. También los atacantes pueden aprovechar la falta de disponibilidad para engañar a los usuarios con tácticas de ingeniería social, haciéndoles creer que deben tomar acciones que comprometan su seguridad.
¿Cómo ha llegado a pasarle esto a Crowdstrike?
Lo que ha sucedido es que el antivirus que ha FALLADO tenía un DEFECTO (bug) en su proceso de actualización debido a un ERROR en su desarrollo. Y este error es humano. Lo que puede llevar a confusión es que en este caso, la compañía es especialista en seguridad, pero el defecto ha sido por un problema en el ciclo de vida de desarrollo y el fallo ha provocado un problema de seguridad al no haber disponibilidad.
El análisis post mortem de la incidencia dará más detalles de qué ha sucedido aunque es probable que no trasciendan fuera del equipo de IT de Crowdstrike. Todo apunta a que se han saltado una o varias fases del proceso de validación de esa actualización en entornos preproductivos, lugares seguros donde poder hacer pruebas manuales y automáticas, funcionales y no funcionales sin riesgo de comprometer el negocio. O que los entornos preproductivos no eran suficientemente fiables y no generaban el error. O que las pruebas no eran lo suficientemente detalladas. O no se hizo una revisión de código suficientemente exhaustiva. O quizá se llevaron a cabo todas las pruebas, fueron satisfactorias y el proceso de despliegue equivocó la rama. Quizá con un despliegue progresivo...
Sea como fuere, la mano del hombre está comprometida en un proceso de calidad que ha demostrado que tiene claros puntos de mejora. También es cierto que es muy muy difícil (en realidad imposible) presentar tu software como 100% libre de defectos. Probablemente la razón de no haber detectado el defecto antes de llegar a producción ha sido un descuido tonto; uno de esos que hacen mucho ruido.
Consecuencias
El problema no ha sido de Microsoft, quien ha sido más bien uno de los damnificados, pero está por ver las consecuencias para él y sobre todo para Crowdstrike, quien ya el mismo día se dejaba valores de dos cifras en la cotización en bolsa. Con frecuencia no se estima relevante disponer en un equipo técnico de un rol de QA o no se considera implementar procesos de validación automática como red de seguridad para evitar fallos en producción… cuando todo va bien. Pero casos como el de hoy demuestran que el retorno de la inversión puede ser inminente y ya no sólo en términos económicos, sino de imagen de marca, de credibilidad, seguridad, etc.
PD: mi solidaridad con los equipos de IT de muchas compañías. Siendo viernes, van a pasar un fin de semana entretenido.