Ksplice es una extensión de código abierto [ 2 ] [ 3 ] del kernel de Linux que permite aplicar parches de seguridad a un kernel en ejecución sin necesidad de reiniciarlo , evitando así tiempos de inactividad y mejorando la disponibilidad (una técnica conocida como actualización dinámica de software ). Ksplice solo admite parches que no realicen cambios semánticos significativos en las estructuras de datos del kernel. [ 4 ]
Ksplice se ha implementado para Linux en las arquitecturas x86-64 y AArch64 . [ 5 ] Fue desarrollado por Ksplice, Inc. hasta el 21 de julio de 2011, cuando Oracle adquirió Ksplice y ofreció soporte para Oracle Linux . El soporte para Red Hat Enterprise Linux se eliminó y se convirtió en una prueba gratuita de 30 días para los clientes de RHEL como incentivo para migrar a Oracle Linux Premier Support. [ 6 ] [ 7 ]
Ksplice se ofrece actualmente en las dos variantes de kernel distribuidas con Oracle Linux:
A partir de julio de 2015 Ksplice está disponible de forma gratuita en instalaciones de Linux de escritorio, con soporte oficial disponible para la distribución Ubuntu Linux . [ 8 ]
Diseño

Ksplice toma como entrada una diferencia unificada y el código fuente original del kernel, y actualiza el kernel en ejecución en memoria . El uso de Ksplice no requiere ninguna preparación antes del arranque inicial del sistema (por ejemplo, el kernel en ejecución no necesita una compilación previa especial ). Para generar una actualización, Ksplice debe determinar qué código dentro del kernel ha sido modificado por el parche de código fuente. Ksplice realiza este análisis en la capa de código objeto en formato ejecutable y enlazable (ELF), en lugar de en la capa de código fuente C. [ 9 ]
Para aplicar un parche, Ksplice primero congela la ejecución de un ordenador para que sea el único programa en ejecución. El sistema verifica que ningún procesador estuviera ejecutando funciones que serán modificadas por el parche. Ksplice modifica el inicio de las funciones modificadas para que apunten a versiones nuevas y actualizadas de dichas funciones, y modifica los datos y estructuras en la memoria que necesitan ser cambiados. Finalmente, Ksplice reanuda la ejecución de cada procesador desde donde la dejó. [ 9 ]
Para ser completamente automático, el diseño de Ksplice se limitaba originalmente a parches que no introducían cambios semánticos en las estructuras de datos , ya que la mayoría de los parches de seguridad del kernel de Linux no realizan este tipo de cambios. Una evaluación realizada con parches de seguridad del kernel de Linux desde mayo de 2005 hasta mayo de 2008 reveló que Ksplice era capaz de aplicar correcciones para las 64 vulnerabilidades significativas del kernel descubiertas en ese intervalo. En 2009, los principales proveedores de Linux solicitaron a sus clientes que instalaran una actualización del kernel más de una vez al mes. [ 10 ] Para los parches que sí introducen cambios semánticos en las estructuras de datos, Ksplice requiere que un programador escriba una pequeña cantidad de código adicional para ayudar a aplicar el parche. Esto fue necesario para aproximadamente el 12 % de las actualizaciones en ese período. [ 11 ]
Historia
El software Ksplice fue creado por cuatro estudiantes del MIT basándose en la tesis de maestría de Jeff Arnold, [ 12 ] y posteriormente crearon Ksplice, Inc. Alrededor de mayo de 2009, la empresa ganó el concurso de emprendimiento MIT $100K y el desafío de ciberseguridad del Global Security Challenge .
Si bien el software Ksplice se distribuía bajo una licencia de código abierto, Ksplice, Inc. ofrecía un servicio para facilitar su uso. Ksplice, Inc. proporcionaba actualizaciones precompiladas y probadas para las distribuciones de Linux Red Hat , CentOS , Debian , Ubuntu y Fedora . [ 13 ] También se admitían las tecnologías de virtualización OpenVZ y Virtuozzo . Las actualizaciones para los sistemas Ubuntu Desktop y Fedora se ofrecían de forma gratuita, mientras que para otras plataformas se ofrecían mediante suscripción. [ 14 ]
El 21 de julio de 2011, Oracle Corporation anunció la adquisición de Ksplice, Inc. En el momento de la adquisición, Ksplice, Inc. afirmaba contar con más de 700 empresas que utilizaban su servicio para proteger más de 100 000 servidores. Si bien el servicio estaba disponible para varias distribuciones de Linux, en el momento de la adquisición se declaró que «Oracle cree que será el único proveedor de Linux empresarial capaz de ofrecer actualizaciones sin tiempo de inactividad». Más explícitamente, «Oracle no tiene previsto ofrecer soporte para el uso de la tecnología Ksplice con Red Hat Enterprise Linux». [ 7 ] Ksplice sigue ofreciendo soporte a los clientes existentes de versiones anteriores, pero no acepta nuevos clientes para otras plataformas. [ 15 ]
A partir de julio de 2015 Ksplice está disponible de forma gratuita en Ubuntu Desktop. [ 8 ] En enero de 2016, Ksplice se integró en Oracle's Unbreakable Enterprise Kernel Release 4 para Oracle Linux 6 y 7, que es la redistribución de Oracle de Red Hat Enterprise Linux . [ 16 ]
A partir de marzo de 2023, Ksplice está integrado en:
- Las versiones 5, 6 y 7 del núcleo empresarial inquebrantable de Oracle se distribuyen con Oracle Linux 7, Oracle Linux 8 y Oracle Linux 9.
- Versiones del kernel compatibles con Red Hat distribuidas con Oracle Linux 7, Oracle Linux 8 y Oracle Linux 9.
Véase también
- kexec , un método para cargar un núcleo completamente nuevo desde un sistema en ejecución.
- kGraft , kpatch y KernelCare son otras tecnologías de parcheo en vivo del kernel de Linux desarrolladas por SUSE, Red Hat y CloudLinux, respectivamente.
- Módulo del kernel cargable
Referencias
- ↑ Arnold, Jeff (23 de abril de 2008). "Un sistema para actualizaciones de seguridad del kernel sin reinicio" . LKML (Lista de correo). Archivado del original el 11 de mayo de 2012. Recuperado el 27 de julio de 2013 .
- 1 2 "Acuerdo de suscripción de Ksplice Uptrack" . ksplice.com . 28 de septiembre de 2011. Consultado el 18 de noviembre de 2014 .
- 1 2 "Código fuente de ksplice 0.9.9.1, archivo README" . oss.oracle.com . 28 de julio de 2011. Consultado el 31 de diciembre de 2014.
Este programa es software libre; puede redistribuirlo y/o modificarlo bajo los términos de la Licencia Pública General GNU, versión 2.
- ↑ "Ubuntu Manpage: ksplice-create – Crea un conjunto de módulos del kernel para un kernel sin reinicio" . manpages.ubuntu.com . 2009. Consultado el 23 de noviembre de 2014 .
- ↑ "Guía del usuario de Ksplice: Arquitecturas disponibles" (PDF) . docs.oracle.com . 2023. Consultado el 22 de marzo de 2023 .
- ↑ "Prueba gratuita de 30 días de las actualizaciones sin tiempo de inactividad de Ksplice para clientes de Red Hat Enterprise Linux" . Ksplice.
- 1 2 "Carta al cliente Oracle y Ksplice" . Oracle. 7 de septiembre de 2010. Recuperado el 22 de julio de 2011 .
- 1 2 "Oracle Ksplice Free Desktop Edition" . Oracle Ksplice . Oracle. 16 de julio de 2015. Consultado el 16 de julio de 2015.
Oracle Ksplice se ofrece de forma gratuita en las ediciones de escritorio de Fedora y Ubuntu.
- 1 2 3 Jeff Arnold; M. Frans Kaashoek. "Ksplice: Actualizaciones automáticas del kernel sin reinicio" (PDF) . mit.edu . Consultado el 18 de noviembre de 2014 .
- ↑ "Nexcess adopta la tecnología "sin reinicio" de Ksplice Uptrack" . Blog de alojamiento web . Nexcess. 30 de noviembre de 2010. Consultado el 18 de febrero de 2011 .
- ↑ "Registro de rendimiento" . Ksplice. Archivado del original el 16 de abril de 2009. Consultado el 4 de junio de 2009 .
- ↑ Edge, Jake (10 de junio de 2009). "Ksplice proporciona actualizaciones sin reiniciar" . LWN . Consultado el 21 de julio de 2011 .
- ↑ "Ksplice Uptrack" . Ksplice . Consultado el 19 de julio de 2009 .
- ↑ "Precios" . Ksplice, Inc. Consultado el 13 de marzo de 2011 .
- ↑ "Núcleos compatibles" . Sitio web de Ksplice . Oracle America . Consultado el 13 de febrero de 2012 .
- ↑ Marius Nestor (9 de enero de 2016). "Oracle incorpora la aplicación de parches de kernel en tiempo real a su kernel empresarial inquebrantable, versión 4" . softpedia.com . Consultado el 9 de enero de 2016 .
Enlaces externos
- Sitio web oficial
- Software de seguridad gratuito programado en C
- Aplicación de parches en vivo al kernel de Linux
- Software libre exclusivo para Linux
- Software Oracle
- Software que utiliza la Licencia Pública General de GNU.