AvanzadolibrosLinuxkerneldriversadvanced

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.

MalwareIntel Research··2 min lectura
Serie: Libros Imprescindibles — Parte 17

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.