Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
oak — Control significativo de los datos en sistemas distribuidos. | Kitploit
Herramientas/GitHubGitHub/project-oak/oak
Seguridad de Infraestructura en la NubeSeguridad de Sistemas EmbebidosSeguridad de ContenedoresVirtualización de SeguridadCriptografíaPrivacidadSeguridad de HardwareSeguridad de Cadena de SuministroAutenticaciónPapers e Investigación
1.5k14938hace 1 díaRevisado por Kitploit
GitHub
project-oak/oak

oak

Control significativo de los datos en sistemas distribuidos.

Ver Repositorio

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Project Oak Logo

Oak es una plataforma de software para construir sistemas distribuidos que proporcionan, de forma transparente, afirmaciones verificables externamente (o falsables) sobre el comportamiento de los sistemas.

Oak proporciona bloques de construcción que se utilizan para construir Aplicaciones Enclave, es decir, aplicaciones que están aisladas del host en el que se ejecutan y que son atestiguables de forma remota.

En este documento nos centramos en sistemas distribuidos compuestos por "nodos" heterogéneos; un nodo puede ser una Aplicación Enclave ejecutándose en un servidor (por ejemplo, un centro de datos privado, un proveedor de nube pública, etc.), una aplicación normal ejecutándose en un dispositivo cliente (por ejemplo, un teléfono, un portátil), un servicio HTTP o gRPC normal, un sistema de almacenamiento, etc. Cuando dos nodos se comunican entre sí, cualquiera de ellos o ambos pueden ser Aplicaciones Enclave. Para cada interacción entre dos nodos, nos referimos a ellos como "iniciador" y "respondedor". Evitamos los términos "cliente" y "servidor" para esos roles, porque en algunos casos el nodo "iniciador" puede estar ejecutándose en realidad en un "servidor": todas las combinaciones son posibles.

Una Aplicación Enclave en un sistema distribuido Oak puede atestiguarse remotamente ante otros nodos: esto consiste en proporcionar evidencia de su propia identidad de software y hardware, vinculada a claves criptográficas locales (almacenadas en hardware a prueba de manipulación, lo que garantiza que las claves no puedan ser exfiltradas ni copiadas), firmada en última instancia por una o más raíces de confianza de software o hardware disponibles en el host de ese nodo. La identidad de software de una Aplicación Enclave consiste en mediciones (es decir, digests / hashes) de los binarios ejecutables que contribuyen a ella, así como datos adicionales (por ejemplo, configuración).

Raíz de confianza

Oak se centra en Entornos de Ejecución Confiables (TEEs) basados en VM (por ejemplo, AMD SEV-SNP, Intel TDX) como raíz de confianza de hardware para las Aplicaciones Enclave. Esto permite que una Aplicación Enclave proporcione un informe de atestación remota firmado por claves vinculadas al hardware en el TEE, a las que el proveedor de servicios no puede acceder. Estas claves tienen su raíz en última instancia en el fabricante del TEE (por ejemplo, AMD, Intel); esto reduce (idealmente, elimina) la necesidad de confiar en el proveedor de servicios de ese nodo para validar su evidencia, distribuyendo la confianza entre múltiples actores que no coluden.

Comunicación cifrada

Al iniciarse, cada Aplicación Enclave genera un par de claves local y vincula la clave pública a su propia evidencia. Cuando un nodo pretende comunicarse con una Aplicación Enclave (ya sea como iniciador o como respondedor), se establece un canal cifrado de extremo a extremo entre los dos nodos. Como parte del establecimiento del canal, cada nodo también proporciona su propia evidencia (si la tiene) al otro nodo, y puede usar la evidencia proporcionada por el otro nodo para establecer su confiabilidad, antes de decidir si intercambiar datos con él.

Este canal cifrado y atestiguado proporciona:

  • Confidencialidad: cada nodo sabe que los datos enviados a través de él solo pueden ser leídos por el otro nodo
  • Integridad: cada nodo sabe que los datos recibidos a través de él deben haber sido escritos por el otro nodo
  • Autenticidad: cada nodo conoce la identidad del binario en cualquier nodo atestiguado que procese los datos que envía a través del canal.

Arquitectura dividida

Con el fin de minimizar la superficie de ataque y la Base de Cómputo Confiable (TCB) de una Aplicación Enclave, Oak fomenta una arquitectura dividida:

  • Aplicación Enclave: un binario construido (de forma reproducible) a partir de código abierto, que se ejecuta dentro del TEE. La Aplicación Enclave tiene acceso a las claves de descifrado vinculadas a la evidencia de atestación; descifra las solicitudes entrantes de otros nodos, las procesa, cifra las respuestas y las envía de vuelta a través del canal de comunicación. Este es el binario que está asociado con afirmaciones verificables externamente. Ningún otro binario tiene acceso a las solicitudes entrantes en texto plano.

  • Aplicación Host: un binario que se ejecuta en el entorno del servidor host (no confiable) y que actúa como front-end de la Aplicación Enclave; expone un endpoint gRPC accesible externamente por otros nodos. Este binario solo maneja datos cifrados; su función principal es crear y mantener una instancia de la Aplicación Enclave en el TEE, y reenviar datos cifrados hacia y desde la Aplicación Enclave. También puede contener lógica propietaria necesaria para interactuar con el plano de control u otros sistemas internos necesarios para ejecutarse en la infraestructura del proveedor de servicios.

Esta arquitectura significa que el proveedor de servicios no podría sustituir el binario de la Aplicación Enclave por otro diferente (potencialmente malicioso) sin ser detectado. Si el proveedor de servicios introdujera una puerta trasera en la Aplicación Enclave, tendría que firmar el binario y publicarlo en un registro verificable mediante el proceso de Transparent Release, lo que haría que la puerta trasera fuera irreversiblemente visible para observadores externos.

Computación sellada

Un uso canónico de Oak es construir aplicaciones de computación sellada que preservan la privacidad.

En una aplicación de computación sellada, un nodo (normalmente un dispositivo cliente) envía datos a una aplicación enclave (normalmente un servidor), que procesa los datos sin que el proveedor de servicios que aloja la aplicación enclave pueda ver las entradas, salidas o efectos secundarios de la computación.

A continuación se muestra un diagrama arquitectónico simplificado.

architectural_overview

Sistema operativo

Oak admite dos variantes de Sistemas Operativos dentro del TEE, sobre los cuales se pueden desplegar las Aplicaciones Enclave:

  • Oak Restricted Kernel: un microkernel personalizado muy minimalista escrito a medida que solo admite una única CPU y una única aplicación. Impone restricciones muy severas sobre lo que la aplicación puede hacer al exponer solo un conjunto muy limitado de llamadas al sistema a la aplicación. Las aplicaciones de Oak Restricted Kernel son adecuadas para casos en los que la revisión de toda la base de código confiable dentro del TEE es crítica, y las características limitadas y el rendimiento reducido son un compromiso aceptable. Idealmente, debería ser posible que un único revisor humano experto revise el código de Oak Restricted Kernel en su totalidad en un par de semanas.
Descargar herramienta