Diferencia entre revisiones de «Módulo de núcleo»

Contenido eliminado Contenido añadido
Aosbot (discusión · contribs.)
m Mantenimiento de Control de autoridades
Lojwe (discusión · contribs.)
m Correcciones ortográficas con Replacer (herramienta en línea de revisión de errores)
Línea 1:
En [[computación]], un '''módulo cargable del núcleo''' es un archivo que contiene [[código objeto]] que puede extender el [[Núcleo (informática)|núcleo]] en ejecución (también llamado núcleo base) de un [[sistema operativo]]. La mayoría de los sistemas estilo [[Unix]], y [[Microsoft Windows]], soportan módulos cargables en el núcleo, aunque suelen utilizar distintos nombres para ellos, como "extensión del núcleo" en [[Mac OS X]].
 
Los módulos cargables en el núcleo son generalmente utilizados para brindar soporte a nuevos dispositivos de [[hardware]] y [[sistema de archivos]], así como para agregar [[llamadas al sistema]]. Cuando la funcionalidad provista por un módulo del núcleo deja de ser requerida, normalmente ésteeste puede ser descargado, liberando su memoria.
 
Un ejemplo típico de módulo cargable son los [[controladores]] de dispositivo.
Línea 32:
En la opinión de quienes realizan el mantenimiento de Linux, los módulos cargables son un trabajo derivado del núcleo, no obstante, la legalidad de la distribución en forma únicamente binaria de módulos se ha mantenido deliberadamente ambigua.<ref name="ldd3" /> Se considera que el caso de la interacción entre módulos privativos y el núcleo en sí mismo se encuentra en una zona indefinida de la licencia GPL.
 
Suele decirse que la carga de módulos privativos "mancha" el núcleo, refiriéndose a que será poco probable que cualquier problema o error experimentado sea investigado por quienes realizan su mantenimiento. Esto es debido a que al cargar un módulo, ésteeste se vuelve parte del núcleo en ejecución, por lo cual podría corromper las estructuras de datos del mismo y/o introducir errores que no podrían ser investigados debido a la naturaleza privativa del módulo.
 
== Seguridad ==
Línea 38:
Si bien los módulos cargables consisten en un método conveniente para modificar el núcleo en ejecución, esto podría llegar a ser abusado por un atacante en un sistema comprometido, con el fin de prevenir la detección de procesos o archivos maliciosos, permitiéndole mantener control sobre el sistema o robar información privada.
 
En el caso de Linux, la mayoría de los controles de seguridad del sistema se refuerzan a través del núcleo. Si ésteeste tiene problemas de seguridad, el sistema completo será vulnerable. En la distribución oficial del núcleo, solo un usuario autorizado, conocido como el [[superusuario]], puede cargar módulos.<ref name="ldd3" />
 
A su vez, los desarrolladores de módulos cargables deberían ser cuidadosos de no introducir errores de seguridad en los módulos que desarrollan. El [[lenguaje de programación C]], utilizado en la mayoría de Linux, hace que el introducir errores sea fácil y muchos problemas de seguridad suelen deberse a que los desarrolladores olvidan controlar cuánta información es almacenada en una porción asignada de memoria (buffer), derivando en errores de sobreescritura de memoria<ref name="ldd3" /> que podrían ser utilizados por un usuario malicioso para alterar la memoria del núcleo y sus módulos.