
Monitor de seguridad del kernel en tiempo de ejecución basado en eBPF que detecta exploits y rootkits mediante integridad de flujo de control (wCFI) y detección de escalamiento de privilegios (PSD) para sistemas Linux.
VED (Vault Exploit Defense)-eBPF aprovecha eBPF (extended Berkeley Packet Filter) para implementar monitoreo de seguridad del kernel en tiempo de ejecución y detección de exploits para sistemas Linux.
eBPF es una máquina virtual dentro del kernel que permite la ejecución de código en el kernel sin modificar el código fuente del mismo. Los programas eBPF se pueden adjuntar a tracepoints, kprobes y otros eventos del kernel para analizar eficientemente la ejecución y recolectar datos.
VED-eBPF usa eBPF para rastrear comportamientos sensibles a la seguridad del kernel y detectar anomalías que podrían indicar un exploit o rootkit. Proporciona dos detecciones principales:
wCFI (Integridad del Flujo de Control) rastrea la pila de llamadas del kernel para detectar ataques de secuestro del flujo de control. Funciona generando un mapa de bits de sitios de llamada válidos y validando que cada dirección de retorno coincida con un sitio de llamada conocido.
PSD (Detección de Escalada de Privilegios) rastrea cambios en las estructuras de credenciales del kernel para detectar escaladas de privilegios no autorizadas.
VED-eBPF adjunta programas eBPF a funciones del kernel para rastrear flujos de ejecución y extraer eventos de seguridad. Los programas eBPF envían estos eventos a través de búferes perf al espacio de usuario para su análisis.
wCFI rastrea la pila de llamadas adjuntándose a funciones especificadas en la línea de comandos. En cada llamada, vuelca la pila, asigna un ID de pila y valida las direcciones de retorno contra un mapa de bits precalculado de sitios de llamada válidos generado a partir de objdump y /proc/kallsyms.
Si se detecta una dirección de retorno no válida, indicando una pila corrupta, genera un wcfi_stack_event que contiene:
* Traza de pila
* ID de pila
* Dirección de retorno no válida
Este evento de seguridad se envía a través de búferes perf al espacio de usuario.
El programa eBPF wCFI también rastrea cambios en el puntero de pila y la región de texto del kernel para mantener la validación actualizada.
PSD rastrea las modificaciones de la estructura de credenciales adjuntándose a funciones como commit_creds y prepare_kernel_cred. En cada llamada, extrae información como:
* Credenciales del proceso actual
* Hashes de credenciales y espacio de nombres de usuario
* Pila de llamadas
Compara las credenciales antes y después de la llamada para detectar cambios no autorizados. Si se detecta una escalada de privilegios ilegal, genera un psd_event que contiene los campos de credenciales y lo envía a través de búferes perf.
VED-eBPF requiere:
VED-eBPF es actualmente una prueba de concepto que demuestra el potencial de la detección de exploits y rootkits del kernel basada en eBPF. El trabajo en curso incluye:
VED-eBPF muestra el potencial de eBPF para construir un monitoreo de seguridad del kernel eficiente y de baja sobrecarga sin modificar el kernel. Al aprovechar el rastreo eBPF y los búferes perf, los eventos de seguridad críticos pueden extraerse en tiempo real y analizarse para identificar amenazas emergentes del kernel en entornos nativos en la nube.