← Últimos artículos
💻 computer science

A Security Analysis of CheriBSD and Morello Linux

Este artículo analiza la seguridad de CheriBSD y Morello Linux, demostrando que, a pesar de la eficacia de la arquitectura CHERI contra la corrupción de memoria, los mecanismos de compartimentación existentes siguen siendo vulnerables a la elusión mediante errores y ataques simples, y propone mitigaciones y recomendaciones específicas para abordar estas debilidades.

Autores originales: Dariy Guzairov, Alex Potanin, Stephen Kell, Alwen Tiu

Publicado 2026-01-28
📖 6 min de lectura🧠 Análisis profundo

Autores originales: Dariy Guzairov, Alex Potanin, Stephen Kell, Alwen Tiu

Artículo original bajo licencia CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta es una explicación generada por IA del artículo a continuación. No ha sido escrita ni avalada por los autores. Para mayor precisión técnica, consulte el artículo original. Leer descargo de responsabilidad completo

Imagina una bóveda de un banco de alta seguridad. En el pasado, si un ladrón rompía una ventana (un error de software), podía correr libremente por todo el banco, robando desde el escritorio del cajero hasta la caja fuerte del CEO.

Para detener esto, los ingenieros construyeron un nuevo tipo de bóveda llamada CHERI. En lugar de solo cerrar las puertas, le dieron a cada objeto del banco una "llave mágica" especial (llamada capacidad o capability). Esta llave no solo dice "abre esta puerta"; dice: "Puedes abrir esta puerta específica, pero solo entre las 9 AM y las 5 PM, y solo puedes mirar dentro, no tocar nada".

El objetivo de CHERI es la Compartimentación: dividir el banco en habitaciones diminutas y aisladas. Si un ladrón entra en la habitación de la "Tienda de Regalos", las llaves mágicas que encuentre allí solo deberían permitirle abrir las puertas de la Tienda de Regalos. No deberían permitirle entrar en la habitación de la "Bóveda".

Este documento es como un informe de auditoría de seguridad. Los investigadores preguntaron: "Si un ladrón entra en la Tienda de Regalos, ¿puede de todas formas colarse en la Bóveda?". Probaron esto en dos versiones diferentes del sistema bancario: Morello Linux y CheriBSD.

Aquí está lo que encontraron, explicado de forma sencilla:

El Problema Central: Filtración de las Llaves Maestras

Aunque las paredes son fuertes, los investigadores encontraron cuatro formas en las que el ladrón de la "Tienda de Regalos" podría robar las llaves que abren la "Bóveda".

1. El ataque de "Recorrido de la Pila" (Mirar en la Basura)

La Analogía: Imagina que cada vez que un empleado del banco realiza una tarea, escribe notas en un post-it y las pega en una pila sobre su escritorio. Cuando termina, pasa a la siguiente tarea, pero a veces olvida tirar las notas viejas.
El Ataque: El ladrón en la Tienda de Regalos observa la pila de notas adhesivas dejadas por empleados anteriores. Encuentra una nota que dice: "Aquí está la llave de la Bóveda". Debido a que el sistema no limpió las notas (la memoria), el ladrón roba la llave y entra directamente en la Bóveda.
La Solución: Los investigadores sugieren que el banco debería tener un "equipo de limpieza" que borre cada nota adhesiva del escritorio inmediatamente después de su uso, o dar a cada empleado su propio escritorio privado para que no puedan ver las notas de los demás.

2. La filtración de "Dlopen" (El Mapa con Fallos)

La Analogía: El banco tiene un directorio central (un mapa) que indica dónde están todas las habitaciones. Cuando se añade una nueva habitación, el directorio se actualiza. El ladrón pide al directorio un mapa de la "Tienda de Regalos".
El Ataque: El directorio le entrega un mapa, pero es una versión "con fallos". En lugar de mostrar solo la Tienda de Regalos, el mapa incluye accidentalmente una lista secreta de todas las habitaciones del banco, incluyendo la Bóveda, la oficina del CEO y la caja fuerte. El ladrón usa esta lista accidental para encontrar las llaves de todos lados.
La Solución: Los investigadores sugieren que el directorio debería entregar al ladrón un mapa "sellado". El ladrón puede ver el mapa, pero no puede leer las partes secretas a menos que tenga una herramienta especial para romper el sello (la cual no posee).

3. El ataque de "Búsqueda en el Montón" (Excavar en la Pila)

La Analogía: El banco tiene un gran montón de cajas desechadas (memoria) en una esquina. Cuando se tira una caja, se supone que debe estar vacía. Pero a veces, los trabajadores tiran cajas que todavía tienen herramientas o llaves dentro porque olvidaron vaciarlas primero.
El Ataque: El ladrón excava en el montón de cajas desechadas, buscando una que aún tenga una llave dentro. Si encuentra una llave que fue dejada atrás por el empleado de la "Bóveda", puede usarla para abrir la Bóveda.
La Solución: El banco necesita una regla que diga: "Antes de tirar una caja, debes barrerla para dejarla limpia". O bien, el ladrón solo debería tener permitido excavar en un montón de cajas que pertenezca a la Tienda de Regalos, no a todo el banco.

4. El ataque de "Almacenamiento en el Montón" (La Bomba de Tiempo)

La Analogía: El ladrón toma una caja del montón, escribe su nombre en ella y la esconde en su bolsillo. Más tarde, el banco tira esa misma caja y se la entrega a un nuevo empleado.
El Ataque: El ladrón espera. Más tarde, revisa su bolsillo. La caja ahora está siendo usada por el nuevo empleado para guardar el oro de la Bóveda. Debido a que el ladrón todavía tiene un "puntero" (una nota mental) a esa caja específica, puede meter la mano y robar el oro, aunque no debería estar allí.
La Solución: El banco necesita un sistema que "revoque" (destruya) las llaves antiguas de una caja en el momento en que esta es desechada, para que la nota mental del ladrón quede inútil.

Los Resultados: Dos Bancos Diferentes

Los investigadores probaron estos trucos en dos sistemas diferentes:

  • Morello Linux: Este sistema era muy vulnerable. El ladrón podía usar los cuatro trucos para escapar de la Tienda de Regalos y robar las llaves privadas de la Bóveda principal. Era como un banco sin guardias de seguridad y con notas adhesivas sucias por todas partes.
  • CheriBSD: Este sistema era mucho mejor. Tenía guardias integrados (llamados c18n y revocación de montículo/heap revocation).
    • El truco de "Recorrido de la Pila" no funcionó porque cada empleado tenía su propio escritorio privado (pilas aisladas).
    • El truco de "Almacenamiento en el Montón" no funcionó porque el banco tenía un sistema que destruía las llaves antiguas de inmediato.
    • Sin embargo, la filtración de "Dlopen" y la "Búsqueda en el Montón" todavía funcionaban. El ladrón aún podía encontrar el mapa secreto y excavar entre las cajas sucias.

La Gran Conclusión

Los investigadores construyeron una "Prueba de Concepto" (un caso de prueba) donde lograron robar una llave privada (como una contraseña maestra) de un programa seguro utilizando la filtración de "Dlopen".

La Conclusión:
La arquitectura CHERI es un invento fantástico que detiene muchos robos de la "vieja escuela" (como romper paredes con fuerza). Sin embargo, el software que se ejecuta sobre ella (los sistemas operativos y las librerías) todavía tiene errores. Estos errores actúan como ventanas abiertas o llaves perdidas, permitiendo que un ladrón evada la seguridad incluso si las paredes son fuertes.

El documento concluye que, si bien el hardware es seguro, necesitamos arreglar el software (limpiar las notas adhesivas, corregir los mapas con fallos y barrer las cajas) para que el sistema sea verdaderamente seguro.

¿Ahogado en artículos de tu campo?

Recibe resúmenes diarios de los artículos más novedosos que coincidan con tus palabras clave de investigación — con resúmenes técnicos, en tu idioma.

Probar Digest →