Windows Kernel Programming: escribir drivers para entender rootkits
Reseña de Windows Kernel Programming de Pavel Yosifovich. Guía práctica para programar drivers de Windows kernel, esencial para entender rootkits, EDR y técnicas de evasión de bajo nivel.
Sinopsis
Windows Kernel Programming (Pavel Yosifovich, 2019, segunda edición 2023) es la guía práctica más accesible para aprender a programar drivers del kernel de Windows. Yosifovich, MVP de Microsoft y creador de herramientas como Process Explorer alternatives, enseña WDM y KMDF desde cero con un enfoque práctico orientado a seguridad.
No es un libro sobre malware. Es un libro que te enseña a escribir el tipo de código que los rootkits escriben y que los EDR usan para detectarlos.
Público objetivo
- Investigadores de malware que quieren entender rootkits a nivel de código
- Desarrolladores de productos de seguridad (EDR, AV, HIPS)
- Profesionales de security research que necesitan escribir drivers de monitorización
Nivel requerido: C avanzado, Windows internals básico, familiaridad con Visual Studio.
Lo que aprenderás
Fundamentos de kernel programming
WDM (Windows Driver Model), KMDF (Kernel-Mode Driver Framework), IRP handling, device objects, dispatch routines. La base para entender cualquier driver, legítimo o malicioso.
Técnicas relevantes para seguridad
Process/thread notifications (PsSetCreateProcessNotifyRoutine), registry callbacks, file system minifilters, object callbacks. Estas son exactamente las APIs que usan los EDR para monitorizar y los rootkits para interceptar.
Direct Kernel Object Manipulation
Manipulación de estructuras internas del kernel: EPROCESS, ETHREAD, handle tables. Entender esto es entender cómo los rootkits ocultan procesos y cómo los herramientas forenses los detectan.
Networking en kernel
NDIS filter drivers, WFP (Windows Filtering Platform). Cómo los firewalls y los rootkits de red interceptan tráfico a nivel de kernel.
Puntos fuertes
Práctico desde el capítulo 1. No es teoría abstracta. Escribes, compilas y cargas drivers reales desde el principio.
Actualizado. La segunda edición (2023) cubre Windows 10/11 y APIs modernas. Muchos libros de kernel programming están obsoletos.
Puente perfecto entre defensa y ataque. Las mismas APIs que enseña para escribir herramientas de monitorización son las que usan los rootkits. Entender un lado te da comprensión del otro.
Yosifovich explica bien. Estilo claro, progresivo, con ejercicios. De los mejores divulgadores de Windows internals.
Puntos débiles
Requiere Visual Studio + WDK. El setup de desarrollo de drivers es pesado. No es un libro que leas sin un lab configurado.
Solo Windows. No cubre kernel programming en Linux (LKMs) ni macOS (kexts).
No cubre evasión directamente. Enseña las APIs, pero no las técnicas de evasión que el malware usa para evitar esas APIs. Para eso, complementa con Rootkits and Bootkits (Matrosov).
Veredicto
Si quieres entender rootkits y EDR al nivel más profundo, este libro es el camino. Te enseña a escribir el mismo tipo de código que escriben los atacantes (rootkits) y los defensores (EDR). Ese conocimiento dual es extremadamente valioso y poco común. Complemento natural de Windows Internals (Russinovich) y Rootkits and Bootkits (Matrosov).
Preguntas frecuentes
Este contenido tiene fines exclusivamente educativos y de investigación en ciberseguridad defensiva. No se proporcionan binarios maliciosos ni payloads ejecutables. El uso indebido de esta información es responsabilidad exclusiva del usuario. Leer disclaimer completo.