Linux Device Drivers: programar módulos del kernel
Reseña de Linux Device Drivers de Corbet, Rubini y Kroah-Hartman. Guía práctica para escribir drivers y módulos del kernel Linux, esencial para entender rootkits LKM.
Sinopsis
Linux Device Drivers, 3rd Edition (Jonathan Corbet, Alessandro Rubini, Greg Kroah-Hartman, O'Reilly, 2005) enseña a escribir drivers y módulos para el kernel Linux. Conocido como LDD3, es el equivalente Linux de Windows Kernel Programming (Yosifovich).
Público objetivo
Investigadores de rootkits Linux. Desarrolladores de herramientas de monitorización kernel (eBPF, LKMs de seguridad). Analistas que encuentran rootkits LKM en investigaciones.
Por qué importa para malware
Los rootkits Linux más conocidos (Diamorphine, Reptile, Suterusu, Adore-NG) son loadable kernel modules (LKMs). Entender cómo se escriben los LKMs te permite leer el código de estos rootkits con fluidez. Además, las técnicas de hooking en Linux (syscall table modification, VFS hooks, netfilter hooks) se implementan como módulos del kernel.
Lo que aprenderás
Estructura de un LKM: init/exit, module parameters, licensing. Char drivers: el tipo más simple, base para entender la comunicación kernel-userland. Concurrencia: spinlocks, semaphores, completions en kernel space. Memory mapping: cómo mapear memoria del kernel al userland (y viceversa). Interrupciones: bottom halves, tasklets, workqueues.
Puntos fuertes
Greg Kroah-Hartman es mantenedor del kernel Linux. Fuente primaria. Disponible gratis online (lwn.net/Kernel/LDD3/). No necesitas comprarlo. Práctico: escribes módulos reales desde el capítulo 2.
Puntos débiles
Publicado en 2005 (kernel 2.6). Muchas APIs han cambiado. Los conceptos persisten pero el código necesita adaptación. No cubre eBPF ni las herramientas modernas de tracing (ftrace, perf).
Veredicto
El equivalente Linux de Windows Kernel Programming. Si investigas rootkits Linux o necesitas entender LKMs, empieza aquí. Complementa con documentación online del kernel actual (kernel.org/doc) para APIs actualizadas. Y está gratis online.
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.