La empresa de ciberseguridad CrowdStrike ha publicado su análisis de causa raíz sobre el fallo en la actualización del software Falcon Sensor, la cual paralizó millones de dispositivos Windows en todo el mundo. El incidente, conocido como el «Archivo de canal 291», fue detallado en su Revisión preliminar posterior al incidente (PIR), revelando un problema de validación de contenido que surgió tras introducir un nuevo tipo de plantilla para detectar técnicas de ataque que abusaban de las canalizaciones con nombre y otros mecanismos de comunicación entre procesos (IPC) de Windows.
La actualización de contenido problemática, implementada en la nube, fue descrita por CrowdStrike como una «confluencia» de varias deficiencias. El problema más destacado fue un desajuste entre las 21 entradas pasadas al Validador de contenido a través del Tipo de plantilla IPC y las 20 entradas suministradas al Intérprete de contenido. Este desajuste no se detectó durante las «múltiples capas» del proceso de prueba debido al uso de criterios de coincidencia comodín para la entrada número 21.
La versión del Archivo de canal 291, lanzada el 19 de julio de 2024, fue la primera en utilizar el campo de parámetro de entrada número 21, y la falta de un caso de prueba específico para estos criterios de coincidencia sin comodines significó que el error no se descubrió hasta después de que se enviara el contenido de respuesta rápida a los sensores.
CrowdStrike explicó que los sensores que recibieron la nueva versión del Archivo de canal 291 estuvieron expuestos a un problema de lectura fuera de límites latente en el Intérprete de contenido. En la siguiente notificación de IPC del sistema operativo, las nuevas instancias de plantilla de IPC especificaron una comparación con el valor de entrada número 21, provocando un acceso a memoria fuera de los límites y un bloqueo del sistema.
Para solucionar este problema, CrowdStrike ha implementado varias medidas, incluyendo la validación de la cantidad de campos de entrada en el tipo de plantilla durante la compilación del sensor y la adición de controles de límites de matriz de entrada en tiempo de ejecución al intérprete de contenido. Estas medidas evitan lecturas de memoria fuera de los límites y aseguran la integridad del sistema.
CrowdStrike también planea aumentar la cobertura de pruebas durante el desarrollo del tipo de plantilla para incluir casos de prueba para criterios de coincidencia sin comodines en todos los campos de los tipos de plantilla futuros. Además, se han realizado varias modificaciones esenciales. El Validador de contenido ahora incluye nuevas comprobaciones para garantizar que el contenido en las instancias de plantilla no exceda la cantidad de campos proporcionados al Intérprete de contenido. Se ha actualizado el sistema de configuración de contenido con nuevos procedimientos de prueba y capas adicionales de implementación y verificación. Asimismo, la plataforma Falcon ha sido actualizada para brindar a los clientes un mayor control sobre la entrega de contenido de respuesta rápida.
Adicionalmente, CrowdStrike ha contratado a dos proveedores de software de seguridad independientes para revisar exhaustivamente el código del sensor Falcon y su proceso de calidad, desde el desarrollo hasta la implementación. También colaborará con Microsoft para explorar nuevas formas de realizar funciones de seguridad en el espacio del usuario, en lugar de depender de un controlador del núcleo.
Este análisis de causa raíz se publica en medio de críticas significativas, incluyendo la de Delta Air Lines, que reclama daños y perjuicios a CrowdStrike y Microsoft por las interrupciones masivas y los costos adicionales derivados de miles de vuelos cancelados. Tanto CrowdStrike como Microsoft han respondido, afirmando que no tienen la culpa de la interrupción y sugiriendo que los problemas de Delta podrían ser más profundos que la actualización de seguridad defectuosa.
La transparencia de CrowdStrike en la publicación de su análisis de causa raíz y las medidas correctivas implementadas subrayan su compromiso con la seguridad y la confiabilidad, al tiempo que destacan los desafíos continuos en la gestión de actualizaciones de seguridad en sistemas complejos y globalmente distribuidos.