Abstract

La seguridad en los sistemas modernos es un área en constante evolución, donde la integridad de los datos y el control de su funcionamiento juegan un papel fundamental. Esto es debido a la presencia de amenazas y agentes externos que trabajan con el fin malicioso de comprometer dicha información, haciendo necesario el desarrollo de mecanismos de protección cada vez más robustos. En este ámbito, una de las amenazas más críticas para los sistemas de información actualmente son los rootkits, software malicioso diseñado para ocultar y manipular recursos o actividad del sistema, como procesos, ficheros o conexiones de red. Estas amenazas pueden operar tanto en espacio de usuario como en espacio del kernel, comprometiendo la información que recibe tanto el administrador como el usuario, impidiendo disponer de una visión verídica del estado real del sistema. Esto provoca una falta de integridad en las tareas de monitorización y control del mismo, pudiendo llegar a confiar en fuentes de información potencialmente comprometidas. Para abordar esta problemática, en este proyecto se ha diseñado e implementado un módulo del kernel (LKM, Loadable Kernel Module) en un sistema Linux con el objetivo de proporcionar una fuente autenticada de información crítica del sistema frente a posibles manipulaciones. Esta solución introduce un mecanismo de autenticación criptográfica basado en HMAC (Hash-based Message Authentication Code) del contenido proporcionado por el kernel, mediante una clave simétrica secreta compartida únicamente entre el administrador y el módulo. Este planteamiento se apoya en una cadena de confianza en la que se asume que el kernel y el LKM no han sido modificados, por ejemplo mediante mecanismos de firmado del kernel y del módulo, reforzando así la integridad de la información ofrecida. Los experimentos realizados aproximan un entorno real de operación donde la información sensible es solicitada desde el espacio de usuario hacia el espacio del kernel. Con este fin, se define el contenido sensible del sistema a autenticar mediante un listado de todos los procesos en ejecución y sus respectivos metadatos, generado en el propio módulo del kernel, sirviendo como ejemplo de información crítica que puede ser manipulada por un rootkit. Sobre este contenido, se calcula el HMAC con la respectiva clave secreta y se adjunta a la información proporcionada al usuario, de forma que este pueda verificar su integridad y autenticidad. Para validar esta propuesta, se han desarrollado componentes de usuario que prueban la funcionalidad. Un primer componente genera un fichero cuyo descriptor es transferido al kernel para que este lo referencie, estableciendo así el canal de comunicaciones seguras con el núcleo del sistema. Por otro lado, la integridad de los datos reportados se confirma mediante un segundo componente de verificación que analiza la información escrita por el kernel, calculando localmente el HMAC del contenido con la misma clave secreta y contrastándolo posteriormente con el recibido para asegurar que coinciden y que el contenido es verídico.
Loading...

Quotes

plumx
0 citations in WOS
0 citations in

Journal Title

Journal ISSN

Volume Title

Publisher

Universidad Rey Juan Carlos

URL external

External URL

DOI

Description

Trabajo Fin de Grado leído en la Universidad Rey Juan Carlos en el curso académico 2025/2026. Directores/as: Gorka Guardiola Múzquiz

Citation

Endorsement

Review

Supplemented By

Referenced By

Statistics

Views
6
Downloads
23

Bibliographic managers

Document viewer

Select a file to preview:
Reload