¿Qué ventajas / desventajas del modelo de controlador WDF frente a WDM para rootkits y controladores antivirus?

Un amigo mío respondió la pregunta de la siguiente manera:

“Es como la seguridad, en realidad (por ejemplo, usar PGP en lugar de no encriptar). Agregue más seguridad y tiene que volverse un poco más incómodo y la persona que lo hace tiene que conocer cierto nivel de detalles. Haga las cosas convenientes y se vuelven menos seguro.
Con WDF estás cediendo poder (y posibilidades). Entonces, al igual que con la seguridad, la conveniencia tiene un precio.
Pero permítanme comparar la discusión de WDF / WDM con algo que está perfectamente dentro del ámbito del software antivirus. Controladores de filtro del sistema de archivos (FSFD). Los FSFD heredados son difíciles de escribir, depurar y mantener. Algunos detalles cambian de manera sutil según el nivel de parche del sistema operativo, sin mencionar las API rotas o que ciertas API solo existen en ciertas versiones del sistema operativo. El método más fácil, y utilizado por la mayoría de los proveedores de AV que conozco, utiliza mini-FSFD, donde, de forma similar al WDF, por cierto, otro controlador se encuentra entre usted y el núcleo desde la perspectiva lógica (aún puede hacer directamente llamadas) y abstrae muchos de los detalles difíciles.
Si alguien escribiera un rootkit en WDF, que probablemente se haya intentado, sería más fácil de atrapar, por cierto. Recuerda que uno de los objetivos principales de un rootkit es ir al centro del radar.
También tenga en cuenta que MS tiene dos objetivos al introducir nuevos modelos de controladores:

  • atender las necesidades de los desarrolladores de tener formas más simples de hacer cosas y enviar más rápido
  • haciéndoles más fácil (es decir, MS) probar los controladores (los modelos de controladores suelen abstraer las complejidades)
  • proporcionar un sistema operativo más estable a los usuarios finales (los BSOD se atribuyen con mayor frecuencia a MS en lugar del proveedor que creó el controlador) “.