Microsoft y sus socios están trabajando silenciosamente en un proyecto masivo para rediseñar completamente la forma en que se ejecuta el software de ciberseguridad en Windows, con la esperanza de hacerlo más resistente. Pero podrían pasar años antes de que los clientes vean los resultados de una de las transformaciones de ingeniería de software más ambiciosas en décadas.
El proyecto, conocido como Iniciativa de Resiliencia de Windows, tiene como objetivo proteger las computadoras con Windows de los efectos perjudiciales del software defectuoso de terceros que se ejecuta dentro del kernel, el entorno más poderoso del sistema operativo. Microsoft anunció el esfuerzo después una actualización de software CrowdStrike defectuosa en 2024 paralizó millones de ordenadores y provocó daños por miles de millones de dólares. La interrupción afectó a gobiernos, organizaciones de infraestructura crítica y empresas Fortune 500 y provocó debates generalizados sobre los riesgos del código de terceros en el núcleo.
El resultado es una colaboración sin precedentes entre Microsoft y proveedores de seguridad externos para rediseñar Windows, así como productos como software de detección y respuesta de puntos finales (EDR) y aplicaciones antivirus, de manera que mejoren la resiliencia sin sacrificar la seguridad o la velocidad.
Microsoft y sus socios han dicho poco públicamente sobre la importante iniciativa, pero todos los involucrados parecen reconocer lo difícil que será reescribir los caminos entre Windows y algunas de sus herramientas más importantes.
«Cada día es una curva de aprendizaje», dijo Tony Anscombe, jefe evangelista de seguridad de ESET, una de las pocas empresas que trabajan estrechamente con Microsoft en el proyecto. «Aprendemos algo todos los días».
Lecciones del incidente CrowdStrike
El kernel de Windows es el núcleo del sistema operativo, el tejido conectivo entre los componentes de hardware y software de una computadora. Supervisa cuánta memoria utilizan las aplicaciones, verifica la configuración de los controladores de dispositivos y elimina los conflictos del trabajo de los distintos procesos de la computadora. Puede hacer todo este trabajo porque tiene control total sobre todo lo que sucede dentro de la computadora.
Debido a los poderes otorgados a los programas que se ejecutan dentro del kernel, los desarrolladores de aplicaciones de seguridad han descubierto que es un entorno útil para sus productos, que necesitan visibilidad y control total para bloquear los ciberataques.
«Como proveedor de seguridad, desea ver todo lo que sucede en el dispositivo», dijo Anscombe.
La capacidad del kernel para esencialmente congelar y restablecer el entorno operativo normal de la computadora se convierte en un activo importante cuando la computadora encuentra un problema, ya sea accidental o malicioso. «No es necesario reiniciar su máquina», dijo Anscombe, «y eso se debe a que la aplicación se estaba ejecutando en ese otro modo, donde Windows como sistema operativo, el modo kernel, puede cerrar el modo de usuario y reiniciar». [it] sin reiniciar”.
Además de visibilidad y control, el kernel también ofrece velocidad y flexibilidad que benefician enormemente a las aplicaciones de seguridad.
Pero el inmenso poder del kernel también conlleva una responsabilidad importante, ya que un proceso defectuoso del kernel podría provocar la caída de una computadora entera o, si se implementa ampliamente, de una red entera.
Eso es exactamente lo que sucedió el 19 de julio de 2024, cuando CrowdStrike implementó una actualización de software defectuosa a su producto de detección y respuesta de endpoints (EDR), Falcon. El código defectuoso obligó a las computadoras con Windows que ejecutaban Falcon a reiniciarse sin cesar o arrancar en modo de recuperación. Más de 8 millones de máquinas en todo el mundo se estrellaron y no pudieron reiniciarse, paralizando aerolíneas, bancos, hospitales, bolsas de valores, agencias gubernamentales y servicios de emergencia. Una pequeña actualización del software de terceros que se ejecuta en el kernel de Windows provocó la mayor interrupción de TI de la historia, lo que provocó miles de millones de dólares en pérdidasincluido más de 5 mil millones de dólares sólo para las empresas Fortune 500.
“Tenía eso [Falcon] Si el proceso se hubiera ejecutado en modo de usuario, la gravedad probablemente habría sido muy diferente”, dijo Anscombe.
El incidente puso de relieve los peligros de ejecutar (y actualizar con frecuencia) código de terceros en el kernel de Windows. Cuatro meses después de que amainara el caos digital, Microsoft lanzó la Iniciativa de Resiliencia de Windows y se comprometió a trabajar más estrechamente con proveedores de seguridad externos en prácticas responsables de desarrollo e implementación de software. La compañía dijo que requeriría que todas las actualizaciones de software para los programas de seguridad se implementaran gradualmente en todas las organizaciones de los clientes «para garantizar que cualquier impacto negativo de las actualizaciones se mantenga al mínimo».
Microsoft también dijo que estaba «desarrollando nuevas capacidades de Windows que permitirán a los desarrolladores de productos de seguridad construir sus productos fuera del modo kernel».
«Este cambio ayudará a los desarrolladores de seguridad a proporcionar un alto nivel de seguridad [and] recuperación más fácil”, agregó la compañía, “y habrá menos impacto en Windows en caso de falla o error”.
El incidente de CrowdStrike validó la inquietud de larga data de Microsoft acerca de permitir que desarrolladores externos ejecuten código en el kernel de Windows, dijo Pavel Yosifovich, un experto en arquitectura de Windows que capacita y asesora sobre el tema. Microsoft incorporó salvaguardias contra fallas de software a nivel de kernel al exigir a las empresas que firmen sus controladores y cumplan con los requisitos de prueba, dijo Yosifovich, «pero no es a prueba de balas».
Renovación de la API de Windows
Para coordinar el proyecto de migración del kernel, Microsoft está utilizando su actual Microsoft Virus Initiative (MVI), un programa destinado a ayudar a los proveedores de seguridad a integrar sin problemas sus productos en Windows. Como parte de la Iniciativa de Resiliencia de Windows, Microsoft actualizó el MVIllamándolo “MVI 3.0” y exigiendo a los participantes que cumplan nuevos requisitos de confiabilidad.
Aproximadamente 100 empresas de seguridad son miembros del MVI, dijo Anscombe, pero sólo una docena aproximadamente (que representan «una mayoría significativa de la cuota de mercado») están trabajando mano a mano con Microsoft en los cambios del kernel. Microsoft ha identificado públicamente a Bitdefender, CrowdStrike, ESET, SentinelOne, Sophos, Trellix, Trend Micro y WithSecure como parte de ese grupo, pero por lo demás mantiene el proyecto del kernel en secreto. Los empleados de las empresas participantes deben firmar acuerdos de confidencialidad, y la mayoría de las empresas con las que Cybersecurity Dive contactó rechazaron solicitudes de entrevista para esta historia.
La propia Microsoft se negó a responder incluso preguntas básicas sobre el proyecto, refiriéndose a Cybersecurity Dive a las publicaciones del blog de sus ejecutivos, que ofrecen pocos detalles.
El proyecto del kernel aún se encuentra en sus primeras etapas. Microsoft ha pedido a los proveedores que hagan un inventario de todas las características de sus productos para que la empresa sepa qué funcionalidad necesitan conservar durante la transición del modo kernel al modo usuario. El trabajo ha sido increíblemente complicado, tanto porque los proveedores han tenido que revisar décadas de código como porque el código de cada proveedor funciona de manera ligeramente diferente.
«Realmente se trata de analizar cómo funcionan todos estos productos y luego analizar el sistema operativo para ver si se puede proporcionar esa funcionalidad de diferentes maneras», dijo Anscombe. «Es una tarea enorme, enorme».
El resultado es un acuerdo muy inusual en el ecosistema de desarrollo de Windows, en el que Microsoft solicita comentarios de los proveedores y los incorpora en tiempo real a las interfaces de programación de aplicaciones (API) que permiten que los productos de seguridad se conecten de forma segura a los componentes centrales de Windows.
Es «un escenario inusual que no se ve a menudo», dijo Anscombe. «No se trata de alguien que desarrolla una API y la coloca en su escritorio y dice: ‘Aquí está nuestra nueva API. Necesita trabajar con esto’. Se trata de alguien que desarrolla una API mientras usted desarrolla las cosas que funcionarán con la API”.
Habiendo visto lo desafiante que ha sido el trabajo para ESET, Anscombe dijo: «No me gustaría estar en el lado de Microsoft en esto, de obtener respuestas de 50 proveedores y de repente tener[ing] para intentar mapear las de todos [feedback] para darles toda la funcionalidad que necesitan”.
Difícil acto de equilibrio
Microsoft y sus socios tendrán que superar serios desafíos para que el software de seguridad funcione tan bien fuera del núcleo como dentro de él.
Por un lado, el kernel ofrece un mayor control del software que se ejecuta allí. Esto es particularmente importante para el software diseñado para proteger un sistema de procesos maliciosos.
«Cuando se crea un proceso, se puede notificar a un controlador del kernel, realizar algunos análisis y decidir finalizar el proceso antes de que haga algo», dijo Yosifovich. En el modo de usuario, el software sólo puede recibir notificaciones sobre un proceso después de su realización. «Si el proceso dura poco y hace algo malicioso», dijo Yosifovich, «el modo de usuario puede ser demasiado lento para hacer algo al respecto».
Jeff Tang, experto en seguridad de Windows y consultor independiente, dijo que en el modo de usuario, “sus capacidades son mucho más limitadas para monitorear todo el sistema”.
Yosifovich argumentó que «es casi imposible ejecutarlo completamente fuera del kernel sin una reingeniería significativa o una disminución de los poderes de los productos de seguridad».
Los programas de seguridad que se ejecutan en modo de usuario también serían mucho más vulnerables a la manipulación. «Sus capacidades están al mismo nivel que lo que está tratando de monitorear y/o detener», dijo Tang, «por lo que el malware tiene la misma oportunidad de impedirle proteger el sistema» que el programa de seguridad tiene para detener el malware.
El problema es lejos de lo teórico. «Ya estamos escuchando sobre los asesinos de ransomware EDR y todo tipo de otras cosas que intentan hacer eso», dijo Anscombe. “Es necesario poder ofrecer a los proveedores de seguridad la [reassurance] que su aplicación no puede ser manipulada”.
Además del riesgo de manipulación, la distancia entre el modo de usuario y el kernel introduce un retraso en el procesamiento. «La ejecución en modo de usuario es más lenta cuando se accede a las API del sistema», dijo Yosifovich.
Ese retraso podría mejorar o deshacer la experiencia del cliente, con consecuencias potencialmente graves. «Lo que no queremos ver es que un cliente se dé la vuelta y diga: ‘Bueno, ahora todo es un poco más lento. Voy a empezar a apagar las cosas'», dijo Anscombe. «Eso es una degradación de la seguridad».
Nueva línea de tiempo de API por determinar
Microsoft y sus socios proveedores se están tomando su tiempo para analizar los desafíos que enfrentan.
«Por el momento, se trata más de cómo mover algunas de las características y funcionalidades, utilizando una API de esa manera», dijo Anscombe. «Las pruebas, la eficacia, etcétera, están más adelante».
Aún no está claro cuándo Microsoft publicará las API que los proveedores pueden usar para crear software en modo de usuario, o cuándo ese software estará listo para ser probado e implementado. Anscombe se negó a discutir los cronogramas internos del proyecto, aunque dijo que el trabajo inicial ha validado el escepticismo de los proveedores sobre una respuesta rápida.
«Esto continuará durante un largo período de tiempo», dijo Anscombe. «Siempre habrá alguna característica que, en algún lugar, alguien tenga y cuya transición será complicada».
Mientras tanto, la presión del mercado podría impulsar la migración de productos de seguridad fuera del núcleo. Si el software en modo usuario demuestra ser más resistente, publicaciones ampliamente utilizadas como el Marco de Seguridad Cibernética del Instituto Nacional de Estándares y Tecnología podrían comenzar a recomendar que las organizaciones utilicen dicho software. Las aseguradoras podrían incluso ofrecer primas más bajas a los clientes que utilizan esos productos, especialmente si determinan que el software en modo de usuario reduce el riesgo de interrupciones del negocio que podría generar reclamaciones.
El resultado más probable, dijo Anscombe, es un mundo híbrido, en el que parte del software continúa ejecutándose en el kernel mientras otros programas se ejecutan en modo de usuario.
Algunos productos pueden incluso ejecutarse en ambos modos simultáneamente, y los desarrolladores prueban e implementan migraciones de modo de usuario más simples antes de abordar los componentes más difíciles de su código.
«Pueden coexistir en la misma tecnología», dijo Anscombe. «De hecho, en teoría, ya lo hacen».
Fuente


