La empresa de ciberseguridad CrowdStrike ha publicado su análisis de causa raíz que detalla la falla en la actualización del software Falcon Sensor que paralizó millones de dispositivos Windows en todo el mundo.
El incidente del «Archivo de canal 291», como se destacó originalmente en su Revisión preliminar posterior al incidente (PIR), se remonta a un problema de validación de contenido que surgió después de introducir un nuevo tipo de plantilla para permitir la visibilidad y la detección de nuevas técnicas de ataque que abusan de las canalizaciones con nombre y otros mecanismos de comunicación entre procesos (IPC) de Windows.
Específicamente, está relacionado con una actualización de contenido problemática implementada en la nube, y la compañía la describe como una «confluencia» de varias deficiencias que llevaron a un bloqueo; la más destacada de ellas es un desajuste entre las 21 entradas pasadas al Validador de contenido a través del Tipo de plantilla IPC en comparación con las 20 suministradas al Intérprete de contenido.
CrowdStrike dijo que el desajuste de parámetros no se descubrió durante «múltiples capas» del proceso de prueba, en parte debido al uso de criterios de coincidencia comodín para la entrada número 21 durante las pruebas y en las instancias de plantilla de IPC iniciales que se entregaron entre marzo y abril de 2024.
En otras palabras, la nueva versión del Archivo de canal 291, lanzada el 19 de julio de 2024, fue la primera instancia de plantilla de IPC que utilizó el campo de parámetro de entrada número 21. La falta de un caso de prueba específico para los criterios de coincidencia sin comodines en el campo número 21 significó que esto no se marcó hasta después de que el contenido de respuesta rápida se envió a los sensores.
«Los sensores que recibieron la nueva versión del Archivo de Canal 291 con el contenido problemático estuvieron expuestos a un problema de lectura fuera de límites latente en el Intérprete de Contenido», dijo la compañía.
«En la siguiente notificación de IPC del sistema operativo, se evaluaron las nuevas instancias de plantilla de IPC y se especificó una comparación con el valor de entrada número 21. El intérprete de contenido esperaba solo 20 valores. Por lo tanto, el intento de acceder al valor número 21 produjo una lectura de memoria fuera de los límites más allá del final de la matriz de datos de entrada y provocó un bloqueo del sistema».
Además de validar la cantidad de campos de entrada en el tipo de plantilla en el momento de compilación del sensor para solucionar el problema, CrowdStrike dijo que también agregó controles de límites de matriz de entrada en tiempo de ejecución al intérprete de contenido para evitar lecturas de memoria fuera de los límites y corrigió la cantidad de entradas proporcionadas por el tipo de plantilla IPC.
«La comprobación de límites adicional evita que el intérprete de contenido realice un acceso fuera de los límites de la matriz de entrada y bloquee el sistema», señaló. «La comprobación adicional agrega una capa adicional de validación en tiempo de ejecución que indica que el tamaño de la matriz de entrada coincide con la cantidad de entradas esperadas por el contenido de respuesta rápida».
Además de eso, CrowdStrike dijo que planea aumentar la cobertura de pruebas durante el desarrollo del tipo de plantilla para incluir casos de prueba para criterios de coincidencia sin comodines para cada campo en todos los tipos de plantilla (futuros).
También se espera que algunas de las actualizaciones de los sensores resuelvan las siguientes deficiencias:
- Se está modificando el Validador de contenido para agregar nuevas comprobaciones que garanticen que el contenido en las Instancias de plantilla no incluya criterios coincidentes que coincidan en más campos de los que se proporcionan como entrada al Intérprete de contenido.
- Se está modificando el Validador de Contenido para permitir únicamente criterios de coincidencia de comodines en el campo 21, lo que evita el acceso fuera de límites en los sensores que solo proporcionan 20 entradas.
- El sistema de configuración de contenido se ha actualizado con nuevos procedimientos de prueba para garantizar que se pruebe cada nueva instancia de plantilla, independientemente del hecho de que la instancia de plantilla inicial se prueba con el tipo de plantilla en la creación.
- El sistema de configuración de contenido se ha actualizado con capas de implementación adicionales y verificaciones de aceptación.
- La plataforma Falcon se ha actualizado para brindar a los clientes un mayor control sobre la entrega de contenido de respuesta rápida.
Por último, pero no por ello menos importante, CrowdStrike afirmó que ha contratado a dos proveedores de software de seguridad independientes para que realicen una revisión más exhaustiva del código del sensor Falcon, tanto en términos de seguridad como de garantía de calidad. También está llevando a cabo una revisión independiente del proceso de calidad de principio a fin, desde el desarrollo hasta la implementación.
Además, se ha comprometido a trabajar con Microsoft a medida que Windows introduce nuevas formas de realizar funciones de seguridad en el espacio del usuario en lugar de depender de un controlador del núcleo.
«El controlador del núcleo de CrowdStrike se carga desde una fase temprana del arranque del sistema para permitir que el sensor observe y se defienda contra el malware que se lanza antes de que se inicien los procesos del modo de usuario», afirmó.
«Al proporcionar contenido de seguridad actualizado (por ejemplo, el contenido de respuesta rápida de CrowdStrike) a estas capacidades del núcleo, el sensor puede defender los sistemas contra un panorama de amenazas en rápida evolución sin realizar cambios en el código del núcleo. El contenido de respuesta rápida son datos de configuración; no es código ni un controlador del núcleo».
La publicación del análisis de causa raíz se produce luego de que Delta Air Lines dijo que «no tiene otra opción» que reclamar daños y perjuicios a CrowdStrike y Microsoft por causar interrupciones masivas y costarle aproximadamente 500 millones de dólares en ingresos perdidos y costos adicionales relacionados con miles de vuelos cancelados.
Tanto CrowdStrike como Microsoft han respondido desde entonces a las críticas, afirmando que no tienen la culpa de la interrupción que duró varios días y que Delta rechazó sus ofertas de asistencia en el sitio, indicando que los problemas de la aerolínea podrían ser mucho más profundos que el hecho de que sus máquinas Windows se cayeran como resultado de la actualización de seguridad defectuosa.
Fuente y redacción: thehackernews.com