7 puntos por mastotron 2025-04-21 | 5 comentarios | Compartir por WhatsApp
  • Desde el 11 de marzo de 2025, una gran cantidad de usuarios de PC en todo el mundo comenzaron a recibir alertas de malware por parte de Windows Defender (el antivirus integrado en Windows).
  • El origen de las detecciones estaba, en la mayoría de los casos, en software para control de PC, incluyendo Razer Synapse, SteelSeries Engine y MSI Afterburner.
  • Luego se descubrió que todos estos programas tenían algo en común: usaban una biblioteca llamada WinRing0.

Modelo de seguridad de los sistemas operativos modernos

  • Para proteger el sistema, los sistemas operativos adoptan una estructura de "protection ring". Existen los niveles Ring 0 a 3, pero en los sistemas operativos modernos solo se usan el 0 y el 3.
  • Ring 0 es el espacio del kernel, con acceso directo e ilimitado a todas las partes de la computadora, como hardware, memoria y registros de CPU.
  • Ring 3 es el espacio de aplicaciones, donde se ejecutan todos los programas comunes excepto el software del sistema.
  • La estructura está diseñada para que un ring externo no pueda ver uno interno, y para acceder al espacio del kernel desde el espacio de aplicaciones se necesita un controlador de dispositivo.

La situación actual del mercado de periféricos para PC

  • A medida que la competencia en el mercado de periféricos para PC se ha intensificado, los fabricantes cada vez ofrecen más software propio para diferenciar funciones.
    • Por ejemplo, en el caso de un disipador de CPU, es posible controlar directamente la velocidad del ventilador según la temperatura del procesador, y eso puede configurarse por software.
  • Muchos dispositivos de hardware están diseñados para comunicarse con el sistema operativo mediante un protocolo llamado SMBus (System Management Bus).
  • Sin embargo, no es posible acceder al SMBus a nivel de aplicación; solo puede hacerse a través de un controlador de dispositivo.

Modelo de controladores de Windows (WDM) y WinRing0

  • Para controlar hardware a través de SMBus se necesita un controlador en modo kernel que funcione sobre ring 0.
  • Como los controladores en modo kernel exigen un nivel muy alto de seguridad, deben contar con firma electrónica EV (Extended Validation), además de pasar por un proceso en el que Microsoft los revisa y firma directamente.
  • Como este proceso es complejo y costoso, los fabricantes de periféricos empezaron a esquivarlo usando WinRing0.
  • WinRing0 es un controlador y biblioteca desarrollados en 2007 por Miyazaki Noriyuki, creador de CrystalDiskMark, y su función es exponer a la capa de aplicación varias partes que existen en ring 0.
  • Los fabricantes de periféricos desarrollaron su software de forma que pudiera acceder directamente a ring 0 desde la capa de aplicación mediante WinRing0 para controlar el hardware.
  • Parece que WinRing0 fue firmado mediante cross-signing antes de que se endurecieran los procedimientos de certificación de controladores de Windows.
  • Su creador explicó que lo hizo como una especie de proyecto experimental para explorar programación de bajo nivel, pero al comenzar a aparecer casos de uso en productos reales, en 2010 recomendó dejar de usarlo y detuvo su desarrollo.
  • Sin embargo, por la naturaleza del código abierto, siguió distribuyéndose incluso después de que su desarrollador dejara de mantenerlo, y continuó siendo utilizado en muchos lugares.

Riesgos de seguridad de WinRing0

  • Como el propósito de WinRing0 es exponer tal cual a la capa de aplicación áreas que deberían estar gestionadas por el kernel, eso implica desactivar la seguridad fundamental del sistema operativo, por lo que desde hace tiempo existían preocupaciones al respecto.
  • En relación con esto, se registraron varios CVE (CVE-2019-6333, CVE-2020-14979, CVE-2021-44901).
  • También se detectaron ataques reales que lo aprovecharon, como el malware "SteelFox", conocido por robar números de tarjetas de crédito, historial de navegación y cookies del navegador.
  • No solo se ven afectados los programas que usan WinRing0 directamente, sino también muchos otros que dependen indirectamente de él a través de OpenHardwareMonitor (https://github.com/openhardwaremonitor/openhardwaremonitor) y LibreHardwareMonitor (https://github.com/LibreHardwareMonitor/LibreHardwareMonitor).
    • Como el software Touchpoint Analytics de HP usa OpenHardwareMonitor, en 2019 se vieron afectados todos los portátiles HP que se comercializaban en ese momento.
  • El 11 de marzo de 2025, Microsoft tomó la medida de bloquear por completo los controladores WinRing0.

Respuesta de los fabricantes

  • Las preocupaciones por las vulnerabilidades de seguridad de WinRing0 existen desde hace tiempo, y ya se habían hecho parches relacionados.
    • Sin embargo, para distribuir controladores actualizados se necesita pasar por el proceso de firma electrónica, por lo que no han podido distribuir esos parches.
    • Además, se señala que el contenido del parche básicamente solo cambia el controlador para que sea accesible únicamente con privilegios de administrador, por lo que no resuelve la vulnerabilidad de fondo.
  • Razer y SignalRGB distribuyeron actualizaciones que eliminan la dependencia de WinRing0.
  • Algunos programas, como CapFrameX, están indicando a los usuarios que agreguen esas aplicaciones como excepción en Windows Defender.
  • iBuyPower, fabricante de Hyte Nexus, declaró que estaba dispuesto a encargarse directamente del proceso de firma electrónica para distribuir una versión parchada de WinRing0, pero afirmó que no ha recibido una respuesta concreta de Microsoft.
  • Steelseries eliminó la función de monitoreo del sistema de su software.

Otros puntos en discusión

  • Aunque WinRing0 es un software inherentemente riesgoso, también hay preocupación —sobre todo entre desarrolladores de apps de terceros— porque no existe un reemplazo claro.
    • Por ejemplo, apps de terceros como Fan Control y OpenRGB no tienen otra forma de comunicarse con el hardware sin WinRing0.
    • Esto se debe a que WinRing0 es un caso poco común: es de código abierto y además está firmado.
  • También hay críticas sobre la carga que implica el proceso de certificación de controladores de Windows.
    • La firma EV es costosa y debe renovarse periódicamente, lo que representa una carga adicional.

5 comentarios

 
huiya 2025-04-22

Recuerdo que hace tiempo entré a trabajar en una empresa de programas de seguridad de documentos que usaba controladores del kernel, y en ese entonces toda la empresa se volcó para conseguir esa certificación.

 
bungker 2025-04-22

Yo probé eso hace tiempo, y hacían algo como comprar solo un certificado EV, firmar el módulo y enviarlo a MS. Al comprar un certificado EV verifican la empresa, así que para una persona es bastante pesado ponerse a distribuir un driver, da miedo.

 
regentag 2025-04-22

Incluso si no es necesariamente un driver, el costo de un certificado EV también es una carga para una persona.
MS Defender SmartScreen está perjudicando a los desarrolladores independientes

 
ndrgrd 2025-04-21

No es ninguna novedad que algunos fabricantes de HID hagan su software como un desastre.

 
savvykang 2025-04-22

Parece que la industria de los dispositivos de audio también tiene algo parecido. Hay un programa de efectos de sonido (Waves MaxxAudio) incluido en las laptops Dell; ni siquiera se puede desactivar el efecto, y si borras el programa, el sonido deja de salir. La única forma de esquivarlo es instalar el driver original de Realtek.