El futuro de la ejecución segura de código: adopción de enfoques eBPF colaborativos
En ciberseguridad, siempre estamos buscando formas sólidas y confiables de ejecutar código. Herramientas como eBPF (filtro de paquetes de Berkeley extendido) y tecnologías especializadas de sandboxing se han convertido en soluciones clave.
No obstante, dos eventos en el verano de 2024 destacan tanto las fortalezas como las debilidades de estas herramientas.
- Junio 2024: Un error en el verificador de código Berkely Packet Filter (eBPF) mejorado permitió que el controlador Linux de un proveedor importante de EDR (Endpoint Detection and Response) bloqueara el kernel de Linux causando una interrupción importante entre sus clientes de Linux.
- Julio 2024: Un error en el entorno de ejecución de código seguro de ese mismo proveedor permitió que una actualización bloqueara el kernel y dejara el sistema fuera de arranque. 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 sistema de bajo nivel a sistemas en vivo, y por qué deberíamos preferir un enfoque unificado y abierto para mantener segura la ejecución de código.
Equilibrio de actualizaciones rápidas de código con estabilidad del sistema
En el entorno actual de amenazas en rápido movimiento, es crucial enviar rápidamente actualizaciones 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 cuestión de minutos u horas. Los “sensores” EDR pueden ser parcheados en vivo de forma remota por su proveedor varias veces al día si las amenazas requieren dicho volumen.
Pero hay un equilibrio:
- El envío de actualizaciones a herramientas de seguridad que están estrechamente integradas con el sistema operativo a veces puede causar interrupciones importantes.
- Pero esperar demasiado tiempo para actualizar podría permitir que el malware se propague.
La solución es encontrar una manera segura de mitigar las vulnerabilidades en el código rápidamente 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 frente a eBPF
Han surgido dos tecnologías para ayudar a garantizar que el código sea seguro y correcto antes de ejecutarlo:
Tecnologías especializadas en sandboxing
El sandboxing utiliza máquinas virtuales (VM) y verificadores pequeños y enfocados para garantizar que solo se ejecute código seguro y aprobado.
Estas máquinas virtuales no son como los sistemas tradicionales basados en hipervisor que ejecutan sistemas operativos completos. En su lugar, están diseñados para ejecutar programas de forma segura utilizando un conjunto específico de instrucciones virtuales (como cómo funcionan las máquinas virtuales Java o JavaScript, no VMware).
El verificador es clave: comprueba el código antes de que se ejecute para asegurarse de que sea seguro y correcto. Este enfoque aísla las acciones potencialmente riesgosas, creando un espacio seguro para que se ejecute el código.
Los programas que se ejecutan en un entorno de pruebas son como programas de lenguaje ensamblador. Utilizan un conjunto pequeño y básico de instrucciones que pueden funcionar con la mayoría de los procesadores. Este diseño simple hace que el código sea eficiente y garantiza que pueda ejecutarse de manera segura en el entorno de entorno de entorno de entorno de entorno de entorno de entorno de kernel o sandbox.
eBPF
El Extended Berkeley Packet Filter adopta un enfoque más integrado, especialmente en sistemas Linux. Permite que el código se ejecute de manera segura dentro del kernel, lo que brinda una mejor visibilidad y control sin arriesgar la estabilidad del sistema.
eBPF tiene un verificador integrado fuerte que garantiza que el código sea seguro. Esto evita que se ejecute código con instrucciones inseguras y ofrece una manera más optimizada y eficiente de ejecutar código.
Las interrupciones de TI de julio de 2024: lo que nos enseñaron sobre la ejecución segura de código
Incluso con protecciones en su lugar, los eventos recientes han mostrado debilidades en las herramientas de sandboxing y la tecnología eBPF.
Es cierto que la interrupción de Linux ocurrió debido a un bug en el verificador eBPF que provocó que fallara el sistema operativo. Esto demuestra que incluso herramientas avanzadas como eBPF pueden tener problemas, por lo que es importante mantenerse alerta y seguir mejorándolos. Pero el resultado de arreglar el verificador eBPF tiene diferentes implicaciones para el futuro porque es parte de una solución comunitaria.
Cuando se encontró el error del verificador, la comunidad trabajó en conjunto rápidamente para solucionarlo. Este esfuerzo colectivo ayuda a mejorar eBPF para todos y hace que sea menos probable que vuelvan a ocurrir problemas similares.
El incidente de la pantalla azul de la muerte (BSOD) en el entorno Windows fue causado por errores de memoria. Estos errores provienen de tamaños de arreglos de discos no coincidentes en una herramienta especial de sandboxing y su sistema de verificación. Los esfuerzos para analizar y mitigar el incidente mostraron lo importante que es contar con un proceso de verificación fuerte. Esto evitaría que las vulnerabilidades comprometan la estabilidad del sistema.
A diferencia de eBPF, los sistemas patentados de sandboxing VM y verificador funcionan en ecosistemas cerrados. Si bien pueden corregir errores identificados, esas mejoras solo ayudan a los usuarios de un solo proveedor. Esta forma de trabajo en silos ralentiza el intercambio de mejoras de seguridad y aumenta las posibilidades de que ocurran problemas similares en otros lugares.
Hacia un enfoque unificado: el caso de eBPF
Estos incidentes contrastantes muestran la importancia de usar un sistema abierto y compartido para ejecutar código seguro.
El enfoque colaborativo de eBPF crea una base sólida para mejorar las herramientas de seguridad en diferentes plataformas. Al usar una sola máquina virtual y un verificador integrados en el sistema operativo, las organizaciones pueden evitar la creación de múltiples sistemas de 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 para transformar las bases de seguridad en múltiples sistemas operativos con integración segura del kernel muestran el potencial de esta idea. Mediante el uso de las características de eBPF, estos proyectos tienen como objetivo construir un sistema más seguro y conectado para que las herramientas de seguridad funcionen en 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 beneficios potenciales de integrar eBPF en sus soluciones.
Al usar eBPF, la responsabilidad de los bloqueos del sistema, como el pánico del kernel, pasaría al proveedor del sistema operativo. Están mejor equipados para manejar estos problemas y mantener el sistema seguro y estable.
Y al confiar en proveedores de sistemas operativos confiables para mantener eBPF seguro, las organizaciones pueden enfocarse en proporcionar actualizaciones más rápidas y confiables a sus clientes. Este método respalda el objetivo de permitir mejoras rápidas sin sacrificar la seguridad.
Aunque las pruebas cuidadosas antes de lanzar las actualizaciones siguen siendo importantes, el uso de las funciones de seguridad integradas de eBPF puede reducir considerablemente la posibilidad de que ocurran problemas mientras el sistema se está ejecutando.
Adopción de la colaboración es el futuro de la ejecución segura de código
Los incidentes recientes que resultaron de problemas de ejecución de código muestran las complejidades de mantener entornos robustos y confiables.
Las máquinas virtuales y los verificadores de sandboxing patentados pueden dar a las organizaciones más control y personalización, pero también las privan de mejoras de seguridad más amplias. Por otro lado, el enfoque abierto y colaborativo de eBPF crea un sistema más fuerte 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 sólidos y seguros. Las organizaciones pueden beneficiarse mucho al agregar eBPF a sus herramientas, utilizando el conocimiento compartido de la comunidad para mejorar la seguridad.
Con este espíritu de colaboración, el futuro de la ciberseguridad se ve más brillante y seguro para todos.
Ponte en contacto con nosotros hoy para obtener más información de la Plataforma de Segmentación de Confianza Cero Illumino.