/
Resiliencia cibernética

El futuro de la ejecución segura de código: adopción de enfoques colaborativos de eBPF

En ciberseguridad, siempre estamos buscando formas estables y confiables de ejecutar código. Herramientas como eBPF (Berkeley Packet Filter extendido) y tecnologías especializadas de sandboxing se convirtieron en soluciones clave.

Sin embargo, dos eventos en el verano de 2024 destacan tanto las fortalezas como las debilidades de estas herramientas.

  • Junio de 2024: Un error en el verificador de código mejorado de Berkely Packet Filter (eBPF) permitió que el controlador de Linux para un importante proveedor de EDR (detección y respuesta de puntos finales) bloqueara el kernel de Linux, causando una interrupción importante entre sus clientes de Linux.  
  • Julio de 2024: Un error en el entorno de ejecución de código seguro de cosecha propia de ese mismo proveedor permitió que una actualización bloqueara el kernel e hiciera que el sistema no pudiera arrancar. Esto llevó a una interrupción aún más dañina y altamente publicitada para sus clientes de Windows.  

Estos dos incidentes muestran dos formas diferentes de realizar actualizaciones de sistemas de bajo nivel en sistemas en tiempo real, y por qué deberíamos preferir un enfoque unificado y abierto para mantener segura la ejecución del código.

Equilibrando actualizaciones rápidas de código con estabilidad del sistema

En el panorama de amenazas actual, que cambia rápidamente, es fundamental enviar actualizaciones rápidamente a las herramientas de seguridad para detener las amenazas antes de que causen problemas. Estas actualizaciones deben llegar a todos los sistemas de seguridad en minutos u horas. Los "sensores" EDR pueden ser conectados en tiempo real de forma remota por tu proveedor varias veces al día si las amenazas requieren tal volumen.  

Pero hay un equilibrio:  

  • Enviar actualizaciones a herramientas de seguridad estrechamente integradas con el sistema operativo puede a veces causar grandes caídas.  
  • Pero esperar demasiado para actualizar podría permitir que el malware se propague.  

La solución es encontrar una forma segura y protegida de mitigar rápidamente las vulnerabilidades en el código y definir dónde debe interactuar el código del sistema operativo con las herramientas de seguridad.

Soluciones seguras de ejecución de código: sandboxing avanzado vs. eBPF

Surgieron dos tecnologías que ayudan a garantizar que el código sea seguro y correcto antes de ejecutar:

Tecnologías especializadas de sandboxing  

El sandboxing emplea pequeñas máquinas virtuales (VMs) y verificadores enfocados para cerciorar que solo el código seguro y aprobado se ejecute.  

Estas máquinas virtuales no son como los sistemas tradicionales basados en hipervisores que ejecutan sistemas operativos completos. En cambio, están diseñados para ejecutar programas de forma segura usando un conjunto específico de instrucciones virtuales (como funcionan las máquinas virtuales Java o JavaScript, no VMware).  

El verificador es clave: revisa el código antes de ejecutar para cerciorar de que es seguro y correcto. Este enfoque aísla acciones potencialmente arriesgadas, creando un espacio seguro para que el código se ejecute.

Los programas que se ejecutan en un sandbox son como los programas en lenguaje ensamblador. Emplean un conjunto pequeño y básico de instrucciones que pueden funcionar con la mayoría de procesadores. Este diseño sencillo hace que el código sea eficiente y garantiza que pueda ejecutar de forma segura en el entorno sandbox o kernel.

eBPF

El Filtro de Paquetes Berkeley Extendido adopta un enfoque más integrado, especialmente en sistemas Linux. Permite que el código se ejecute de forma segura dentro del kernel, ofreciendo mejor visibilidad y control sin poner en riesgo la estabilidad del sistema.  

eBPF tiene un verificador integrado poderoso que cerciora que el código sea seguro. Esto evita que el código con instrucciones inseguras se ejecute y ofrece una forma más ágil y eficiente de ejecutar código.

Las interrupciones de TI de julio de 2024: Lo que nos mostraron sobre la ejecución segura de código

Incluso con las protecciones en marcha, los acontecimientos recientes mostraron debilidades en las herramientas de sandboxing y la tecnología eBPF.  

Es cierto que la caída de Linux ocurrió por un error en el verificador eBPF que provocó que el sistema operativo fallara. Esto demuestra que incluso herramientas avanzadas como eBPF pueden tener problemas, por lo que es importante mantener alerta y seguir mejorándolas. Pero el resultado de arreglar el verificador eBPF tiene participaciones diferentes para el futuro porque forma parte de una solución comunitaria.  

Cuando se detectó el error del verificador, la comunidad colaboró rápidamente para corregirlo. Este esfuerzo colectivo ayuda a mejorar la eBPF para todos y hace que sea menos probable que se repitan problemas similares.

El incidente de la Pantalla Azul de la Muerte (BSOD) en el entorno de Windows fue causado por errores de memoria. Estos errores provenían de tamaños de array desajustados en una herramienta especial de sandboxing y su sistema de verificación. Los esfuerzos para analizar y mitigar el incidente demostraron lo importante que es contar con un proceso de verificación estable. Esto evitaría que las vulnerabilidades comprometan la estabilidad del sistema.  

A diferencia de eBPF, los sistemas propietarios de sandboxing VM y verificadores funcionan en ecosistemas cerrados. Aunque pueden corregir los errores identificados, esas mejoras solo ayudan a los usuarios de un único proveedor. Esta forma aislada de trabajar ralentiza el intercambio de mejoras de seguridad y aumenta las probabilidades de que ocurran problemas similares en otros lugares.

Hacia un enfoque unificado: El caso a favor de la eBPF

Estos incidentes contrastantes muestran la importancia de emplear un sistema compartido y abierto para ejecutar código seguro.  

El enfoque colaborativo de eBPF crea una base estable para mejorar las herramientas de seguridad en diferentes plataformas. Al usar una única máquina virtual y un verificador integrados en el sistema operativo, las organizaciones pueden evitar crear múltiples sistemas bricolaje inconsistentes y potencialmente inseguros.

Un buen ejemplo de esta idea es el trabajo que se está realizando para llevar eBPF a Windows. Al agregar eBPF a su sistema operativo, las organizaciones pueden crear un entorno seguro y estandarizado para ejecutar herramientas de seguridad de bajo nivel. Este cambio no solo hace que el sistema operativo sea más seguro, sino que también promueve el uso del enfoque probado de eBPF en toda la industria.

Los esfuerzos por transformar los fundamentos de seguridad en múltiples sistemas operativos con integración segura del kernel muestran el potencial de esta idea. Al emplear las funciones de eBPF, estos proyectos buscan construir un sistema más seguro y conectado para que las herramientas de seguridad funcionen entre diferentes sistemas operativos.

Qué significa eBPF para el futuro de la ciberseguridad

Los problemas recientes con las herramientas de seguridad muestran cómo la adopción de eBPF podría beneficiar a la industria cibernética. Con su modelo abierto y colaborativo, las organizaciones podrían considerar los posibles beneficios de integrar eBPF en sus soluciones.  

Al usar eBPF, la responsabilidad de los fallos del sistema, como los kernel panics, pasaría al proveedor del sistema operativo. Están mejor preparados para manejar estos problemas y mantener el sistema seguro y estable.

Y al confiar en proveedores de sistemas operativos de confianza para mantener la seguridad de eBPF, las organizaciones pueden centrar en proporcionar actualizaciones más rápidas y fiables a sus clientes. Este método apoya el objetivo de permitir mejoras rápidas sin sacrificar la seguridad.  

Aunque las pruebas cuidadosas antes de lanzar actualizaciones siguen siendo importantes, el uso de las funciones de seguridad integradas de eBPF puede reducir considerablemente la probabilidad de problemas mientras el sistema está en funcionamiento.

Adoptar la colaboración es el futuro de la ejecución segura de código

Los incidentes recientes derivados de problemas de ejecución de código muestran la complejidad de mantener entornos robustos y fiables.  

El sandboxing propietario de máquinas virtuales y verificadores puede dar a las organizaciones más control y personalización, pero también les excluyen de mejoras de seguridad más amplias. Por otro lado, el enfoque abierto y colaborativo de eBPF crea un sistema más estable que permite una mejora constante y beneficios de seguridad compartidos.

A medida que la industria evoluciona, el uso de modelos como eBPF que fomentan la colaboración y la estandarización puede ayudar a crear sistemas más estables y seguros. Las organizaciones pueden beneficiarse mucho de agregar eBPF a sus herramientas, empleando el conocimiento compartido de la comunidad para mejorar la seguridad.  

Con este espíritu de colaboración, el futuro de la ciberseguridad se presenta más prometedor y seguro para todos.

Ponte en contacto con nosotros hoy mismo para saber más sobre la Plataforma de Segmentación confianza cero de Illumio.

Artículos relacionados

Experimente Illumio Insights hoy

Vea cómo la observabilidad impulsada por IA le ayuda a detectar, comprender y contener amenazas más rápido.