Reforzar el compilador de eBPF

Riesgo bajo Marcado por defecto en IbexWall Catálogo revisado: 2026-11-05

Hace que el código que produce el compilador de eBPF sea más difícil de aprovechar en ataques que introducen instrucciones elegidas.

Por qué importa

Los programas eBPF se convierten en código máquina mediante un compilador justo a tiempo. Un atacante que logre cargar un programa puede forjar constantes dentro de él para que, leídas desde otro desplazamiento, se conviertan en instrucciones elegidas por él. Esto se llama JIT spraying, y el endurecimiento existe para impedirlo.

Cómo funciona

Fija net.core.bpf_jit_harden en 2. Protecciones como la ofuscación de constantes pasan a aplicarse a los programas eBPF de todos los usuarios, no solo a los sin privilegios. La documentación del kernel advierte de que cuesta algo de rendimiento y de que aplica cuando el JIT está en uso.

Quién debería usarlo

Una precaución barata para casi todos. Los equipos con procesamiento intenso de paquetes en eBPF, que cuidan cada bit de velocidad, pueden preferir medir antes.

Qué puedes notar

Normalmente nada. Los programas eBPF pueden ir algo más despacio, lo que solo se nota en cargas fuertes de red o rastreo.

Compruébalo en tu equipo

Lee el valor actual:

sysctl net.core.bpf_jit_harden

Un valor más estricto que este también sirve.

Aplícalo a mano

Establécelo ahora (hasta el próximo reinicio):

sudo sysctl -w net.core.bpf_jit_harden=2

Consérvalo tras los reinicios, en un archivo tuyo:

sudo tee /etc/sysctl.d/90-kernel-bpf-jit-harden.conf <<'EOF'
net.core.bpf_jit_harden = 2
EOF
sudo sysctl --system

Deshazlo

Elimina el archivo y reinicia, o vuelve a poner el valor anterior con sysctl -w.

Ajustes relacionados

Fuentes

Linux Hardening Guide (madaidans)
2.2.1
Linux kernel documentation
net.core.bpf_jit_harden