EBPF: FROM OS DETECTION TO DEEP PACKET INSPECTION
Fecha
2024-07-19
Autores
Título de la revista
ISSN de la revista
Título del volumen
Editor
Universidad Rey Juan Carlos
Enlace externo
Resumen
Extended Berkeley Packet Filter (eBPF) es una de las tecnologías más promete-
doras en el kernel de Linux. Permite instrumentarlo sin tener que recompilarlo ni
introducir módulos inseguros. En esencia, permite que los programadores puedan
engancharse a una infinidad de puntos del kernel del sistema operativo, pudiendo
observar y modificar las estructuras internas del mismo.
Este Trabajo Fin de Grado (TFG) busca introducir esta poderosa y llamativa
tecnología mediante la explicación de los fundamentos del desarrollo en el kernel
y el procesamiento de paquetes de red. Posteriormente, se profundiza sobre la
tecnología eBPF per se, explorando desde conceptos básicos como los mapas
eBPF y librerías de desarrollo disponibles hasta conceptos más avanzados y a más
bajo nivel como la información BPF type format (BTF), portabilidad de binarios
aplicando el concepto Compile Once - Run Everywhere (CO-RE), disección del
funcionamiento interno de la máquina virtual de eBPF y el proceso de verificación
de los programas eBPF.
Finalmente, este TFG presenta un ejemplo de aplicación real de un sistema desa-
rrollado con eBPF. Se ha mostrado la arquitectura de la solución, tanto desde el
punto de vista de compilación de ficheros fuente como de la fase de ejecución del
programa; y posteriormente se ha analizado el funcionamiento del mismo, valién-
dose de la introspección de estructuras internas y gráficas visuales de rendimiento
de la aplicación.
Descripción
Trabajo Fin de Grado leído en la Universidad Rey Juan Carlos en el curso académico 2023/2024. Directores/as: Antonio González Pardo