Contáctenos
Cuenta Inicie sesión
Secciones

¿Qué es la ejecución activa de parches en el kernel de Linux?

Copiar URL

Este procedimiento consiste en aplicar parches de seguridad esenciales e importantes en un kernel de Linux que está en funcionamiento, sin necesidad de reiniciar el sistema ni de interrumpir el tiempo de ejecución.

Hay una diferencia entre el parche y la actualización. La actualización es una versión nueva y secundaria de un paquete, que puede incluir varios cambios, como correcciones de errores, aumento en el rendimiento, funciones nuevas, modificaciones en la línea de comandos, entre otros. Por otro lado, el parche es un fragmento de código (por lo general, el punto en el que difieren dos versiones de un paquete o un archivo) que corrige un punto vulnerable en la versión actual sin generar latencia. Esto permite que la implementación actual se ejecute con mayor seguridad y que los administradores del sistema puedan esperar hasta el próximo período de mantenimiento habitual para reiniciarlo.

En teoría, la aplicación activa podría utilizarse con cualquier parche para el kernel en funcionamiento, incluidas las correcciones de errores y las mejoras frecuentes. Sin embargo, se emplea principalmente para los puntos vulnerables de seguridad más importantes, puesto que la implementación de este tipo de correcciones no puede retrasarse. El sistema Red Hat Enterprise Linux se centra en los parches de seguridad y en la ejecución activa de ellos en el kernel como una función de protección. Además, ofrece beneficios relacionados con la gestión para los administradores.

Si no se utilizara la ejecución activa, habría que reiniciar el servicio o la aplicación que recibió el parche para cargar los cambios nuevos de la versión. Esto sucede incluso con los parches que se ejecutan en el kernel de Linux, y genera un problema para los administradores de este sistema: deben aplicar actualizaciones de seguridad imprescindibles, lo cual implica reiniciar el servidor de Linux sin haberlo planificado y experimentar períodos de latencia e inactividad.

Esta solución surgió a partir de un problema al que tuvo que enfrentarse Jeff Arnold, un estudiante de administración de sistemas del MIT. Jeff tenía que implementar una actualización de seguridad, pero decidió postergar la resolución del punto vulnerable, y los piratas informáticos ingresaron al sistema. En 2008, Arnold decidió encontrar la solución a este problema y desarrolló un sistema al cual llamó "actualizaciones de seguridad para el kernel sin reiniciarlo": una manera de aplicar y cargar los parches de seguridad en un sistema mientras está en funcionamiento. Ese proyecto inicial (Ksplice) dio origen al concepto de la ejecución activa de parches en el kernel de Linux.

Las actualizaciones de software dinámicas representan un desafío para la informática porque se debe trabajar con temas complejos, como los servicios con y sin estado, la persistencia, la gestión de los datos, las transacciones y el uso de comandos, los cuales son aspectos básicos del funcionamiento de un servicio o una aplicación.

En el proyecto de Arnold y otros posteriores sobre la ejecución activa de parches en el kernel de Linux, se utilizaron las herramientas dentro del espacio del kernel para cargar sus módulos.

Las operaciones del sistema Linux se dividen en dos secciones: el espacio del usuario (donde funcionan todos los servicios y las aplicaciones) y el espacio del kernel (donde se hallan las operaciones principales del sistema). El kernel es el intermediario mediante el cual las aplicaciones acceden a los recursos de hardware, como la CPU y el almacenamiento. A su vez, los administradores pueden crear módulos personalizados para el kernel que permitan ampliar o modificar las funciones, los cuales pueden cargarse o ejecutarse de manera dinámica, incluso después de iniciar el sistema.

Las herramientas para la ejecución activa de parches en el kernel crean un módulo a partir del código que recibió el parche. Luego, se usa la herramienta ftrace (seguimiento de la función) para pasar de la función obsoleta a la nueva de remplazo, a la que se le aplicó el parche o al módulo del parche.

Figura 1: Funcionamiento de la ejecución activa de parches en el kernel

Ksplice fue el primer proyecto donde se aplicaron parches en el kernel de Linux de manera activa; sin embargo, lo adquirió Oracle y pasó a ser una herramienta de código cerrado. A su vez, otros equipos de desarrollo intentaron crear proyectos open source que pudieran remplazar a Ksplice y, en 2014, se lanzaron dos muy similares: kpatch de Red Hat y kgraft de SuSE. Finalmente, los desarrolladores de SuSE y Red Hat se unieron en beneficio de la comunidad del kernel de Linux y crearon livepatch: una capa común dentro del kernel de Linux que permite desarrollar herramientas compatibles para la ejecución activa de sus parches.

Es fundamental recordar que los parches se utilizan específicamente para abordar los riesgos de seguridad. Uno de los desafíos que enfrentan los administradores de sistemas es que, además de tener que ocuparse de aplicar parches de seguridad en Linux, también deben asegurarse de que cumplen con los requisitos de tiempo de actividad. Eso quiere decir que quizás no puedan desconectar los sistemas fuera del período de mantenimiento planificado; lo cual genera una tensión constante que va en aumento.

Según el informe sobre riesgos de seguridad Red Hat Security Risk Report, los problemas identificados (denominados puntos vulnerables y exposiciones comunes o CVE) aumentaron de manera considerable entre 2019 y 2020, hasta un 155 % aproximadamente (de 1313 a 2040). Si bien en 2021 la cantidad de problemas disminuyó levemente (1596), seguía siendo un 22 % más alta que en 2019. La mayor parte de esta cifra corresponde a los puntos vulnerables de nivel moderado; en cambio, los CVE importantes se han mantenido casi estables, y los puntos vulnerables graves se han reducido.

Las actualizaciones y los parches del kernel se lanzan cada seis semanas, y las actualizaciones secundarias de Red Hat Enterprise Linux se publican cada seis meses con todos los parches de seguridad incluidos. Sin embargo, como es posible ejecutar parches en el kernel de Linux de manera activa y sin reiniciarlo, ya no es necesario elegir entre alguna de las dos opciones.

Los CVE relacionados con el kernel son una de las preocupaciones principales: constituyen cuatro de los diez CVE principales más vistos en 2021.

Poder ejecutar parches de seguridad en el kernel de Linux de manera activa es mucho más que una comodidad. Es una herramienta importante para que los equipos de seguridad aborden los puntos vulnerables con anticipación, mantengan las funciones del kernel en marcha y protejan los sistemas.

Red Hat Enterprise Linux ofrece diversas herramientas específicas para gestionar la seguridad, como la ejecución activa de parches en el kernel o SELinux, que ayuda a automatizar las configuraciones y las tareas con las funciones del sistema, los permisos y los controles de acceso.

No hay una solución única para crear un "entorno seguro". Las amenazas cambian constantemente, surgen distintos vectores de ataque y se identifican blancos nuevos. La seguridad comienza en el sistema operativo (incluso en el mismo código fuente) y se desarrolla en toda la stack tecnológica y durante todo el ciclo de vida; razón por la cual es esencial contar con diversas herramientas.

Red Hat Insights está disponible con todas las suscripciones a Red Hat Enterprise Linux y ofrece un conjunto de servicios que facilitan la gestión de la seguridad. A continuación, mencionamos algunos de ellos:

  • Paneles visuales que abarcan toda la infraestructura y muestran los sistemas expuestos y el estado de los parches.
  • Los CVE pertinentes y otras actualizaciones.
  • Playbooks para automatizar la ejecución de parches de seguridad de Linux.
  • Perfiles de seguridad definidos y también personalizados para gestionar la configuración de los sistemas.
  • Configuraciones estándares y alertas para los sistemas que difieren de ellas.

 

La ejecución activa de parches en el kernel de Linux surgió cuando se identificó una necesidad y se creó un proyecto open source para trabajar con las empresas y los miembros de la comunidad de forma conjunta, con el fin de idear una solución que beneficiara a la comunidad. Esta forma abierta de trabajo es fundamental para los principios de las suscripciones de Red Hat: colaboración, transparencia y mejora de la tecnología y la experiencia del usuario.  

Artículos relacionados

ARTÍCULO

¿Qué es DevSecOps?

Si desea aprovechar al máximo la agilidad y la capacidad de respuesta de los enfoques de DevOps, la seguridad de la TI debe desempeñar un papel principal en todo el ciclo de vida de sus aplicaciones.

ARTÍCULO

¿En qué se distingue la seguridad de la nube?

Los problemas de seguridad de alto nivel afectan a los sistemas de TI tradicionales y de nube por igual. Descubra en qué se diferencian.

ARTÍCULO

¿Qué es SOAR?

SOAR hace referencia a tres funciones clave del software que utilizan los equipos de seguridad: la gestión de casos y flujos de trabajo, la automatización de tareas y un medio centralizado para acceder a la información sobre las amenazas, realizar consultas y compartir dicha información.

Más información sobre la seguridad

Productos

Marco de seguridad que gestiona las identidades de los usuarios y permite mantener la privacidad de las comunicaciones.

Solución empresarial de seguridad de los contenedores de Kubernetes que permite diseñar, implementar y ejecutar aplicaciones en la nube con mayor seguridad.

Servicio de análisis predictivo que permite identificar y corregir amenazas a la seguridad, el rendimiento y la disponibilidad de su infraestructura de Red Hat.

Consola con políticas de seguridad integradas para controlar las aplicaciones y los clústeres de Kubernetes.

Contenido adicional