- Se estima que la falla de la actualización de CrowdStrike del 19 de julio de 2024 dejó inhabilitadas 8.5 millones de computadoras y causó más de 5.4 mil millones de dólares en daños, lo que podría derivar en una lógica de responsabilidad similar a la del caso OVH en Francia
- En el caso OVH, el tribunal consideró que el proveedor de respaldos debía cumplir un nivel razonable y las mejores prácticas, y no reconoció como una operación razonable los respaldos ubicados en el mismo lugar o en centros de datos cercanos
- Como CrowdStrike es software de seguridad que se ejecuta primero a nivel de kernel, cuanto más se despliega en equipos de empresas e infraestructura crítica como bancos, viajes o supermercados, mayor es la carga de pruebas y despliegue gradual
- La actualización defectuosa se distribuyó al mismo tiempo a millones de equipos en todo el mundo y provocó BSOD; la recuperación requirió acceso físico, privilegios de administrador, entrar en modo seguro o modo de recuperación y eliminar el controlador
- A los clientes de industrias reguladas se les exige probar cambios, desplegarlos gradualmente y darles seguimiento, por lo que si CrowdStrike no lo hizo o se negó a hacerlo, eso podría derivar en incumplimientos de compliance para los clientes y en causal de terminación contractual
Falla de CrowdStrike y estructura de responsabilidad por daños
- El caso de CrowdStrike es un ejemplo de cómo una sola actualización puede llevar a una falla masiva de computadoras
- Se estima que el alcance de la falla fue de 8.5 millones de computadoras inhabilitadas
- Se estima que los daños superaron los 5.4 mil millones de dólares
- La posibilidad de indemnización por daños se compara con el precedente del caso OVH en Francia
- Las cláusulas generales de exención de responsabilidad en contratos suelen tener eficacia limitada en muchas jurisdicciones fuera de EE. UU., y normalmente es difícil eximir responsabilidad por negligencia grave, conducta delictiva o infracciones legales
- El punto clave es que la posibilidad de indemnización surge cuando se combinan el daño ocurrido y la intención o negligencia
Fallas operativas expuestas en el caso OVH
- OVH es un proveedor francés de centros de datos y nube que ofrece servidores físicos, máquinas virtuales y varios servicios cloud
- El 10 de marzo de 2021 se produjo un incendio en la ubicación SGB de OVH
- Los centros de datos SGB1 y SGB2 fueron destruidos
- SGB3 y SGB4 también quedaron inoperables durante un tiempo
- Varios sitios de clientes fueron destruidos y servicios y datos se perdieron de forma irrecuperable; algunos clientes demandaron a OVH y ganaron
- El punto que el tribunal consideró importante fue que ocurrieron al mismo tiempo la pérdida del servicio y la pérdida del respaldo
- Hubo una pérdida total del servicio durante y después del incidente
- Después del incidente quedó una pérdida de datos imposible de recuperar
- OVH ofrecía servicios de respaldo a sus clientes, pero esos respaldos también se perdieron por completo de forma irrecuperable
- Aunque había varios centros de datos, en la práctica estaban en el mismo lugar y muy cerca entre sí, y el tribunal no lo consideró una configuración previsible ni razonable
- También se consideró irrazonable que los respaldos se almacenaran en el mismo centro de datos o en otro centro de datos que podía estar en el mismo lugar
- OVH sostuvo que los clientes debían seguir la mejor práctica de tener varios respaldos en ubicaciones distintas, pero el tribunal consideró que OVH, como proveedor del servicio de respaldo, debía ofrecerlo conforme a un estándar razonable
- En consecuencia, el servicio de respaldo de OVH no cumplió su propósito y fue considerado un servicio que no operaba a un nivel razonable
Características técnicas de la falla de CrowdStrike
- CrowdStrike es software antivirus o EDR (Endpoint Detection and Response) que se instala en equipos empresariales
- Este software funciona al iniciar la computadora y está profundamente integrado a nivel de kernel en los sistemas operativos Windows o Linux
- Se ejecuta lo antes posible, antes que otros componentes
- Puede monitorear lo que se ejecuta y bloquear o reportar elementos sospechosos
- El 19 de julio de 2024, CrowdStrike distribuyó una actualización de software, y esa actualización hizo fallar a las computadoras donde se desplegó
- Millones de computadoras en todo el mundo recibieron la actualización al mismo tiempo y quedaron en estado de funcionamiento anómalo
- Debido a que se ejecuta primero y con altos privilegios, un bug o una decisión errónea de CrowdStrike puede incluso impedir la ejecución de otro software o del propio sistema
Puntos en disputa sobre despliegue, pruebas y monitoreo
- CrowdStrike está ampliamente desplegado en equipos de grandes empresas como bancos, viajes y supermercados, y apunta principalmente a industrias críticas y equipos críticos que manejan información confidencial
- Como es una aplicación central que opera en entornos sensibles, requiere atención adicional en desarrollo y pruebas
- El día del incidente, la actualización se desplegó de golpe a millones de equipos críticos, y una buena práctica es hacer los upgrades de software de forma gradual
- La disputa se concentra en cómo una actualización defectuosa pudo llegar a millones de equipos en pocos minutos, y si existieron pruebas o despliegue gradual
- En discusiones en línea hubo reportes de que clientes hospitalarios ya habían pasado antes por este problema y habían pedido a CrowdStrike control sobre las actualizaciones
- Un cliente afirmó que CrowdStrike envió un memorando de 50 páginas rechazando el despliegue gradual
- Si CrowdStrike no tenía función de despliegue gradual o se negó a permitirla, eso podría entrar en conflicto con los requisitos de las industrias reguladas a las que vende
- La actualización problemática provocó BSOD en las computadoras afectadas, y el hecho de que una actualización claramente rota no fuera detectada antes del despliegue externo se usa como argumento de falta de pruebas
- También hubo reportes de un problema similar semanas antes en el agente de CrowdStrike para Linux, lo que alimenta la idea de que no fue solo un incidente aislado
- Después de distribuir la actualización errónea, CrowdStrike tardó casi 2 horas en reconocer el problema y detenerla
- Los desarrolladores de software crítico deben monitorear después del despliegue si el sistema funciona como se esperaba y si no está causando problemas
Dificultad de recuperación y daños a clientes
- Las computadoras afectadas quedaron sin poder arrancar, y los usuarios no podían acceder a ellas para crear tickets o diagnosticar el problema
- En las empresas afectadas, los empleados recibieron computadoras que no funcionaban y no pudieron realizar su trabajo
- Uno de los métodos de recuperación consistía en que el equipo de TI recibiera la computadora y la reinstalara o reimaginara por completo
- Otro método descubierto después consistía en que un administrador accediera físicamente a la computadora, arrancara en modo seguro o modo de recuperación y luego eliminara el archivo del controlador de CrowdStrike
- Esta recuperación requiere tanto acceso físico como privilegios de administrador
- Para iniciar una laptop en modo de recuperación puede requerirse una contraseña especial o una llave USB con la contraseña
- A una empresa afectada podría tomarle semanas reunir físicamente todas las laptops, desktops y servidores de sus usuarios
- La cantidad de equipos objetivo puede ir de miles a cientos de miles
- Equipos cerrados o de difícil acceso, como terminales de pantallas en aeropuertos, dispositivos y equipos médicos en hospitales, o paneles de elevadores, pueden tardar aún más
- Los equipos bloqueados físicamente o cuyos responsables no conocen la contraseña de recuperación podrían no poder restaurarse
- Como las computadoras de reserva también fueron afectadas por el mismo problema, fue difícil proporcionar equipos alternativos a los usuarios afectados
- CrowdStrike era software de seguridad destinado a mantener las computadoras operativas y protegidas contra amenazas, pero al inhabilitar las computadoras que debía proteger, no cumplió su propósito
Industrias reguladas y posibilidad de terminar contratos
- Los clientes de industrias reguladas como salud, finanzas, aeroespacial y transporte deben probar los cambios, desplegarlos gradualmente y darles seguimiento
- CrowdStrike afirma contar con varias certificaciones y estándares, pero estos criterios exigen ciertas prácticas de desarrollo y varios niveles de pruebas
- Si CrowdStrike no realizó esos procedimientos y además se negó activamente a hacerlo, eso podría derivar en un incumplimiento de compliance por parte de CrowdStrike
- El uso de CrowdStrike también podría dejar a los propios clientes en incumplimiento de compliance, y para quienes lo deseen podría constituir base suficiente para terminar unilateralmente el contrato con CrowdStrike
Casos comparativos y evidencia adicional
-
Método de pruebas y despliegue de BitLocker
- La discusión sobre el método de pruebas y despliegue de empleados relacionado con BitLocker se usa como evidencia adicional
- BitLocker es una herramienta para cifrar de forma segura el disco de una computadora
- Evita que terceros puedan leer los datos cuando una computadora se pierde o es robada
- Se ejecuta primero al inicio, y sin él no se pueden cargar datos desde el disco
- Un bug en BitLocker puede dejar una computadora inutilizable e impedir leer todos los datos, algo similar a la pérdida irrecuperable de datos del caso OVH
- BitLocker pasa por múltiples etapas de prueba: la propia computadora, el propio equipo y otros equipos
-
Alegato de experiencia previa con fallas de CrowdStrike
- La experiencia previa con una falla de CrowdStrike relatada por un empleado anónimo de una empresa también se usa como evidencia adicional
- Esa empresa afirma haber sido afectada por un problema anterior de CrowdStrike
- La empresa afirma que solicitó formalmente a CrowdStrike permitir el despliegue gradual, pero que CrowdStrike respondió con un memorando de 50 páginas rechazándolo de forma categórica
- Si esa afirmación es cierta, ese memorando podría convertirse en una prueba importante en contra de CrowdStrike
1 comentarios
Comentarios de Hacker News
Trabajo en Francia en otro proveedor francés de servicios en la nube, viví el incidente de OVH en tiempo real y también vi todas sus consecuencias
OVH fue considerado responsable no por la interrupción del servicio, sino por la pérdida de datos. La pérdida de datos es un daño irreversible, permanente y definitivo, y algunas empresas prácticamente quebraron porque ya no tenían datos con los que operar. Peor aún, OVH vendía “respaldos offsite” ubicados literalmente a unos pocos metros del centro de datos. Una interrupción del servicio es lamentable, pero puede pasar, y se maneja mediante el contrato de SLA acordado por ambas partes. Unos días de caída no suelen hacer que una empresa tenga que cerrar
No sé si CrowdStrike terminará teniendo una gran responsabilidad frente a las empresas. Si tuviera que pagar todos los daños, la empresa tendría que cerrar. Pero el sector salud es otro tema, así que parece más probable que esto termine llevando a más regulación para instituciones críticas
La caída más grande de la historia ocurrió por una falla en un parser de configuración, y da la impresión de que no siguieron las mejores prácticas de la industria en el manejo de configuración/parsing, además de que probablemente tampoco siguieron las mejores prácticas en programación de módulos de kernel. Si es así, honestamente sería raro que no tuvieran que declararse en quiebra por las indemnizaciones. Eso no significa que el software vaya a desaparecer o quedarse sin mantenimiento; hay muchas formas de evitarlo. Por ejemplo, Microsoft de todos modos ya estaba interesada en adquirir Falcon
Lógicamente, cuanto más importantes eran los datos, más probable es que hayan desaparecido. En ejemplos anecdóticos no oficiales que he visto alrededor, muchos usuarios sí usaban BitLocker, lo que implicaría también muchas pérdidas de datos
Edito: he visto que en muchos casos sí se puede recuperar una unidad cifrada con BitLocker. Me pregunto cuánta pérdida de datos real hubo
Este título es un poco engañoso. En realidad, es la opinión personal de alguien publicada en un blog, aunque sea una opinión informada, no una afirmación de hecho
El título debería ser algo más cercano a “creo que CrowdStrike será responsable” o “CrowdStrike debería ser responsable”
Es bueno recordar que la cláusula general de exención de responsabilidad que suele verse en contratos de licencia puede no valer fuera de la jurisdicción estadounidense si haces negocios en otros lugares
Seguro que ya hay una enorme cantidad de demandantes hablando con abogados sobre cómo obtener compensación. Y no solo en Francia, sino en todo el mundo
Me intriga cómo se organiza algo así con tantas jurisdicciones involucradas
Así que muchos tribunales y abogados de todo el mundo van a estar bastante ocupados con este caso por un buen tiempo
No soy abogado, y menos aún abogado francés, pero no creo que la comparación con OVH sea válida
En el caso de OVH, todo el sistema de respaldo falló. Muchos clientes quedaron con sus datos en cero y, según el artículo, “el tribunal consideró que el servicio de respaldo de OVH no operaba a un nivel razonable ni cumplía su propósito”
En cambio, CrowdStrike “solo” hizo colapsar los kernels de sus clientes durante aproximadamente una hora. Durante ese tiempo, al menos estuvieron 100% protegidos contra ciberataques. Desde mi punto de vista, la demora posterior para volver a levantar los sistemas se debió a que los planes de recuperación ante desastres de los clientes no eran lo bastante buenos. Claro que se puede discutir que el software de CrowdStrike no estaba “a un nivel razonable”, pero el impacto primario, el crash del software, está a una escala totalmente distinta de lo de OVH, donde literalmente se perdieron todos los datos de forma permanente en una bola de fuego
El software siempre se cae. Nos guste o no, en la mayoría de las industrias los bugs de software se tratan como algo inevitable. Por supuesto hay excepciones. La “responsabilidad” por los bugs de software recae en el proveedor, pero mitigar sus efectos les corresponde a quienes lo implementan. La única razón por la que el caso de CrowdStrike fue noticia, en comparación con otros crashes de software que ocurren todos los días, es que muchos clientes de CrowdStrike metieron este software en múltiples rutas críticas
CrowdStrike vendió una sola carta de triunfo, y sus clientes colectivamente construyeron una casa con ella
PD: no quisiera que esto se interprete como una defensa de CrowdStrike. Me parece que su software es pésimo y fue desarrollado de forma descuidada. Creo que deberían pagar por ese descuido, pero no parece que eso vaya a pasar bajo el marco legal actual. Como mucho, la gente podrá votar con su billetera de aquí en adelante
La mayoría de las computadoras afectadas por el defecto quedaron atrapadas en un loop de reinicio y no podían descargar la corrección, por lo que fue necesaria una intervención física mediante arranque en modo seguro. Según entiendo, en la mayoría de los casos un técnico de TI tuvo que ir al lugar y acceder físicamente a la computadora para arreglarla
Incluso una semana después, es decir 168 horas más tarde, sigue habiendo muchísimas computadoras inutilizadas por este defecto, porque es terriblemente difícil corregirlo
Por eso hay que verlo como algo bastante distinto de un crash normal. Es mucho más difícil de recuperar y afectó a muchas computadoras al mismo tiempo
Además, hubo empresas que también fallaron en sus propios procedimientos de recuperación. Pero incluso si esos procedimientos hubieran sido buenos, esto igual podría haber sido una interrupción importante. No es algo fácil de revertir y, además, afecta al mismo tiempo múltiples configuraciones que normalmente son redundantes para protegerse de otros tipos de fallas
¿Podrías explicar por qué el sistema operativo en sí no ofrece las funciones de protección que ofrece Falcon? No es que no sepa absolutamente nada del tema; también he asegurado bastantes servidores Linux importantes, pero en Windows no parece estar igual de clara la división de roles en seguridad
Comparado con Red Hat o Canonical, allá da la impresión de que están peleando contra la seguridad del sistema para dejar al usuario en un estado donde pueda usar mis aplicaciones, y eso incluso se siente como la dirección correcta
https://www.theregister.com/2024/07/22/windows_crowdstrike_k...
Algunas de esas funciones tienen alternativas base en el sistema operativo y otras no, y la mayoría no vienen integradas por defecto en Linux. Por ejemplo, el equipo del kernel de Linux no tiene una base de datos de firmas de malware contra la cual contrastar nuevos componentes de software antes de que el kernel, el sistema init o el shell los ejecuten. Falcon sí hace eso
Otro ejemplo: Linux, o el espacio de usuario típico de Linux, no está integrado por defecto con un sistema de gestión de flota para verificar si un usuario actual puede ejecutar cierto software. Hay varias preguntas parecidas
Por último, incluso si el sistema operativo ofreciera estos servicios de forma nativa —por ejemplo, las ediciones Enterprise de Windows sí ofrecen esas funciones—, sigue siendo totalmente razonable preferir la solución de otro proveedor. Por ejemplo, podrías confiar más en la lista de firmas de malware de CrowdStrike que en la de Microsoft, y entonces eso sería una razón para comprar CrowdStrike en vez de usar Windows Defender
No estoy tratando de defender ni a CrowdStrike ni a Windows. Solo digo que bajo el paraguas de la seguridad hay muchas funciones que quizá no quieras meter en el propio sistema operativo, y parece evidente que, incluso si existe una versión integrada, una empresa puede querer otro proveedor
Pero quedó claro que no basta para detener varios problemas del mundo real, como el ransomware
Por eso surgió un mercado de soluciones de terceros más agresivas. Para seguir el ritmo de las amenazas reales, necesitan actualizarse con frecuencia y ejecutarse con niveles altos de privilegio. Como resultado, se da una situación en la que estas soluciones de terceros pueden provocar pantallazos azules o bucles de arranque. En ese caso, la forma de desplegar actualizaciones tiene que estar muy bien diseñada
Por ejemplo, descargar un archivo y ejecutar su contenido como código, o subir o cifrar todos los archivos accesibles
CrowdStrike y Defender se encargan de este tipo de comportamientos posibles pero sospechosos
Está desplegado en muchos sistemas, pero menos del 1% de los sistemas Windows sigue siendo, en términos absolutos, un nicho. La mayoría ni siquiera conocía CrowdStrike, y menos aún a sus competidores
Creo que una de las grandes diferencias entre CrowdStrike y un antivirus es que el costo es tan alto que no se espera que siempre haya intervención humana. En software de consumo tampoco sería feasible por temas de privacidad
Incluso dentro de este pequeño nicho, las soluciones son muy heterogéneas, no tienen mucho sentido en un solo equipo y en realidad pueden estar diseñadas para operar a nivel de red
Al tratar con consumidores, sabía que este tipo de cosas podían pasar, pero pensaba que un contrato B2B se consideraba un acuerdo entre dos partes sofisticadas, así que habría muy poca protección legislativa más allá de los términos del contrato
Mi entendimiento legal es sobre todo desde la perspectiva del Reino Unido, pero no conozco leyes que invaliden cláusulas de limitación de responsabilidad cuando el hecho que genera responsabilidad fue una cuestión general de buena fe/capacidad en la ejecución del contrato, y no algo de salud y seguridad u otra área fuertemente legislada
Por eso no me convence lo que dice el artículo de que esto no es solo un tema del “sistema legal francés” y que en otras jurisdicciones podrían darse fallos del mismo tipo
Si deliberadamente no implementaron un despliegue gradual, a mí me parece negligencia, aunque no soy abogado. Hay una razón por la que se mata a los canarios
Si no lo hacen, puede tratarse de un incumplimiento, y las cláusulas de limitación de responsabilidad podrían dejar de aplicar
No es algo exclusivo de Francia
La mayoría, quizá todos los países de la UE, tienen leyes que limitan la exclusión de responsabilidad sin importar lo que diga el contrato
No conozco el límite exacto en cada país, pero estoy bastante seguro de que, al menos en casos como hospitales, servicios de llamadas de emergencia, etc., podrían demandar por una parte no despreciable de los daños causados directamente por la interrupción
También es muy probable que una persona perjudicada por no haber recibido una cirugía a tiempo pueda demandar por la totalidad de los daños que sufrió. Aunque calcular esos daños es difícil, y puede que tenga que hacerse de manera indirecta: demandando primero al hospital y luego que el hospital reclame daños mayores
Probablemente donde sería difícil litigar sería en pérdidas de costo de oportunidad, costos de personal dedicados a la recuperación, etc.
Y en muchos otros casos que no son tan graves como la pérdida de vidas, ni tan indirectos como las pérdidas por costo de oportunidad, parece probable que un factor importante sea cómo evalúen los jueces el grado de negligencia. Aquí “negligencia” no se refiere solo al cambio específico que introdujo el bug, sino también a si se cumplió con el deber de cuidado al elegir herramientas, enfoques y procesos de negocio para reducir razonablemente el riesgo. Por ejemplo, si la forma de parsear la configuración era inadecuada, si se siguieron las mejores prácticas de la industria —a mí no me lo parece—, o si fue apropiado marcar ese driver como esencial para el arranque. Si no lo hubiera sido, Windows lo habría desactivado automáticamente y luego reiniciado
Dice “CrowdStrike distribuyó una actualización de software el 19 de julio de 2019”, pero parece que el año correcto es 2024
Sobre la parte que dice “No es un incidente aislado. Hace unas semanas pasó lo mismo con el agente de CrowdStrike en Linux, lo que tumbó sistemas, y puede que antes también haya habido otros casos”, ¿habrá algún enlace de ese incidente?
“CrowdStrike's Falcon Sensor also linked to Linux kernel panics and crashes”, https://news.ycombinator.com/item?id=41030352