olly - Fotolia
¿Por qué se permite ejecutar CrowdStrike en el kernel de Windows?
Microsoft ha señalado a los reguladores de la UE, culpándolos por un fallo que significa que necesita ofrecer a terceros acceso al sistema operativo principal de Windows.
Microsoft ha utilizado un fallo anticompetitivo de la UE de 2009 como línea de defensa mientras se plantean preguntas sobre por qué un producto de terceros pudo derribar a Windows.
El viernes 19 de julio, 8,5 millones de PC experimentaron la llamada Pantalla Azul de la Muerte, que ocurre cuando el sistema operativo (SO) Windows experimenta una falla importante y se detiene para evitar daños mayores.
Cosas así suceden, pero la causa principal se ha identificado como una actualización defectuosa en un software antivirus de terceros llamado Falcon, proporcionado por CrowdStrike. Falcon debería haber detectado el archivo defectuoso, pero también tenía un error que leyó el archivo y provocó que fallara.
Los fallos son algo habitual para los usuarios de PC, pero muy rara vez provocan que el sistema se detenga. En este caso, sin embargo, como informó anteriormente Computer Weekly, Falcon se ejecuta como un controlador de dispositivo en modo kernel, en lo que se conoce como Ring Zero. Esto le da acceso completo al sistema operativo Windows, que es el mismo acceso que tienen los componentes centrales de Windows desarrollados por Microsoft.
La razón, según Microsoft, por la que CrowdStrike tiene este acceso se debe a una sentencia de la Comisión Europea de 2009, que estipula que Microsoft debe garantizar que los productos de terceros puedan interoperar con los productos de software relevantes de Microsoft utilizando la misma información de interoperabilidad, en igualdad de condiciones que otros productos de Microsoft.
Rich Gibbons, experto en licencias de software de Microsoft, dijo: “Microsoft ha recibido algunas críticas por el hecho de que un tercero haya podido afectar a Windows a un nivel técnico tan profundo. Es interesante que Microsoft haya señalado el hecho de que esto se deriva de un fallo anticompetitivo de la UE de 2009 que significa que Microsoft debe dar a otras empresas de seguridad el mismo acceso al kernel de Windows que ellos mismos”.
Gibbons cree que, dado que el fallo de interoperabilidad de 2009 significa que es posible que otras organizaciones interrumpan Windows de la misma manera que lo hizo el controlador de dispositivo del kernel CrowdStrike, Microsoft puede utilizar la catástrofe para rechazar la intervención de la UE.
"¿Utilizará Microsoft la situación CrowdStrike para hacer retroceder esta decisión y/o futuras decisiones similares sobre la interoperabilidad de los productos de Microsoft, y utilizará esto como una palanca adicional para hacer que los clientes opten por sus propios productos de seguridad?", cuestionó.
Lo que está claro es que, antes de CrowdStrike, Microsoft no había planteado públicamente preocupaciones de seguridad sobre los riesgos de seguridad de proporcionar acceso a las mismas interfaces de programación de aplicaciones (API) que Microsoft usa internamente.
Se entiende que los servidores Linux experimentaron un problema similar en abril con CrowdStrike que, según algunos comentaristas de la industria, destacó una falla en el control de calidad que ni CrowdStrike ni Microsoft abordaron adecuadamente.
Apple MacOS no se vio afectado por el fallo del viernes, ya que ejecuta Apple Endpoint Security Framework, una API que los proveedores de antivirus utilizan para obtener información de telemetría del sistema operativo principal MacOS. Esto significa que no necesitan que su código se ejecute dentro del núcleo de MacOS en Ring Zero, que es donde debía ejecutarse la versión para Windows de Falcon de CrowdStrike.
Hay dudas sobre por qué Microsoft no ha proporcionado algo similar. Parte del problema es que Windows, a diferencia de MacOS, ofrece compatibilidad con versiones anteriores que abarca muchos años. Pero es posible que las regulaciones anticompetitivas también hayan influido.
Según el ex desarrollador de Windows, David Plummer, Microsoft, de hecho, ofrece una serie de API para la seguridad antivirus de terceros. "CrowdStrike utiliza por defecto el modo kernel, presumiblemente porque necesita hacer cosas que no se pueden hacer desde el modo usuario", dijo Plummer en un video de YouTube.
"Y, para mí, ahí es donde Microsoft podría ser responsable, porque en la plataforma Windows, hasta donde yo sé, algunas de las funciones de seguridad de CrowdStrike requieren una integración profunda con el sistema operativo que actualmente solo se puede lograr en el lado del kernel", señaló.
Microsoft tiene una serie de API, incluida la API de control de aplicaciones de Windows Defender y Windows Defender Device Guard, que, según Plummer, proporcionan mecanismos para controlar la ejecución de aplicaciones y garantizar que solo se ejecute código confiable en el sistema operativo.
Dijo que la Plataforma de filtrado de Windows (WFP) permite que las aplicaciones interactúen con la pila de la red sin requerir código a nivel de kernel. Sin embargo, citando fuentes dentro de Microsoft, Plummer afirmó que la compañía en realidad había "intentado hacer lo correcto" al desarrollar una API avanzada diseñada específicamente para aplicaciones de seguridad como la de CrowdStrike.
"Esta API prometió una integración más profunda con el sistema operativo Windows, ofreciendo estabilidad, rendimiento y seguridad mejorados", añadió.
Pero el fallo de la UE de 2009 impidió efectivamente dicha integración, ya que podría haberle dado a Microsoft una ventaja injusta.
Sin embargo, Ian Brown, un consultor independiente sobre regulación de internet, argumentó que Microsoft debería tener mejores controles de seguridad, en lugar de intentar culpar del colapso de CrowdStrike a la comisión anticompetencia de la UE.
En un blog, escribió: “Para lograr la resiliencia de las sociedades dependientes de la tecnología, el software a nivel de kernel del sistema operativo, y sus equivalentes en sistemas de infraestructura socialmente críticos (como viajes, atención médica y banca), deben probarse muy cuidadosamente (e idealmente ejecutarse sobre un microkernel verificado formalmente) y controlado. Pero los monopolistas de OS no deberían tomar las decisiones finales sobre exactamente cómo serán esos controles, donde tienen implicaciones para la competencia”.