Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
oak — Contrôle significatif des données dans les systèmes distribués. | Kitploit
Outils/GitHubGitHub/project-oak/oak
Sécurité de l'Infrastructure CloudSécurité des Systèmes EmbarquésSécurité des ConteneursVirtualisation de SécuritéCryptographieProtection de la Vie PrivéeSécurité MatérielleSécurité de la Chaîne LogistiqueAuthentificationArticles et Recherche
1.5k1497il y a 15h 45mVérifié par Kitploit
GitHub
project-oak/oak

oak

Contrôle significatif des données dans les systèmes distribués.

Voir le dépôt

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Project Oak Logo

Oak est une plateforme logicielle pour construire des systèmes distribués fournissant de manière transparente des affirmations vérifiables (ou falsifiables) de l'extérieur sur les comportements du système.

Oak fournit des blocs de construction utilisés pour créer des Enclave Applications, c'est-à-dire des applications isolées de l'hôte sur lequel elles s'exécutent et attestables à distance.

Dans ce document, nous nous concentrons sur les systèmes distribués composés de « nœuds » hétérogènes ; un nœud peut être une Enclave Application s'exécutant sur un serveur (par exemple un centre de données privé, un fournisseur de cloud public, etc.), une application ordinaire s'exécutant sur un appareil client (par exemple un téléphone, un ordinateur portable), un service HTTP ou gRPC ordinaire, un système de stockage, etc. Lorsque deux nœuds communiquent entre eux, l'un ou l'autre, ou les deux, peuvent être des Enclave Applications. Pour chaque interaction entre deux nœuds, nous les appelons « initiateur » et « répondeur ». Nous évitons les termes « client » et « serveur » pour ces rôles, car dans certains cas le nœud « initiateur » peut en réalité s'exécuter sur un « serveur » — toutes les combinaisons sont possibles.

Une Enclave Application dans un système distribué Oak peut s'attester à distance auprès d'autres nœuds : cela consiste à fournir une preuve de sa propre identité logicielle et matérielle, liée à des clés cryptographiques locales (stockées dans du matériel inviolable, garantissant que les clés ne peuvent être exfiltrées ni copiées), signée en dernier ressort par une ou plusieurs racines de confiance logicielles ou matérielles disponibles sur l'hôte de ce nœud. L'identité logicielle d'une Enclave Application consiste en des mesures (c'est-à-dire des empreintes / hachages) des binaires exécutables qui y contribuent, ainsi que des données supplémentaires (par exemple la configuration).

Racine de confiance

Oak se concentre sur les environnements d'exécution de confiance (TEE) basés sur des VM (par exemple AMD SEV-SNP, Intel TDX) comme racine de confiance matérielle pour les Enclave Applications. Cela permet à une Enclave Application de fournir un rapport d'attestation à distance signé par des clés liées au matériel dans le TEE, qui ne sont pas accessibles au fournisseur de services. Ces clés sont en dernière analyse enracinées chez le fabricant du TEE (par exemple AMD, Intel) ; cela réduit (idéalement, supprime) le besoin de faire confiance au fournisseur de services de ce nœud pour valider ses preuves, en répartissant la confiance entre plusieurs acteurs non coalisés.

Communication chiffrée

Au démarrage, chaque Enclave Application génère une paire de clés locale et lie la clé publique à ses propres preuves. Lorsqu'un nœud souhaite communiquer avec une Enclave Application (en tant qu'initiateur ou répondeur), un canal chiffré de bout en bout est établi entre les deux nœuds. Dans le cadre de l'établissement du canal, chaque nœud fournit également ses propres preuves (le cas échéant) à l'autre nœud, et peut utiliser les preuves fournies par l'autre nœud pour établir sa fiabilité, avant de décider s'il doit échanger des données avec lui.

Ce canal chiffré et attesté fournit :

  • Confidentialité : chaque nœud sait que les données envoyées sur ce canal ne peuvent être lues que par l'autre nœud
  • Intégrité : chaque nœud sait que les données reçues sur ce canal doivent avoir été écrites par l'autre nœud
  • Authenticité : chaque nœud connaît l'identité du binaire de tout nœud attesté traitant les données qu'il envoie sur le canal.

Architecture scindée

Afin de minimiser la surface d'attaque et la base de confiance informatique (TCB) d'une Enclave Application, Oak encourage une architecture scindée :

  • Application Enclave : un binaire construit (de manière reproductible) à partir de code open source, s'exécutant à l'intérieur du TEE. L'Application Enclave a accès aux clés de déchiffrement liées aux preuves d'attestation ; elle déchiffre les requêtes entrantes provenant d'autres nœuds, les traite, chiffre les réponses et les renvoie via le canal de communication. C'est le binaire qui est associé aux revendications vérifiables de manière externe. Aucun autre binaire n'a accès aux requêtes entrantes en clair.

  • Application Hôte : un binaire qui s'exécute sur l'environnement du serveur hôte (non fiable) et qui sert de front-end à l'Application Enclave ; il expose un point de terminaison gRPC accessible de l'extérieur par d'autres nœuds. Ce binaire ne manipule jamais que des données chiffrées ; sa tâche principale est de créer et de maintenir une instance de l'Application Enclave dans le TEE, et de transmettre les données chiffrées vers et depuis l'Application Enclave. Il peut également contenir une logique propriétaire nécessaire pour interagir avec le plan de contrôle ou d'autres systèmes internes requis pour fonctionner sur l'infrastructure du fournisseur de services.

Cette architecture signifie que le fournisseur de services ne serait pas en mesure de remplacer le binaire de l'Application Enclave par un autre (potentiellement malveillant) sans être détecté. Si le fournisseur de services introduisait une porte dérobée dans l'Application Enclave, il devrait signer le binaire et le publier dans un journal vérifiable via le processus Transparent Release, ce qui rendrait la porte dérobée irréversiblement visible aux observateurs externes.

Sealed Computing

Un usage canonique d'Oak est de construire des applications de calcul scellé préservant la confidentialité.

Dans une application de calcul scellé, un nœud (généralement un appareil client) envoie des données à une application enclave (généralement un serveur), qui traite les données sans que le fournisseur de services hébergeant l'application enclave puisse voir les entrées, les sorties ou les effets de bord du calcul.

Voici un diagramme d'architecture simplifié.

architectural_overview

Système d'exploitation

Oak prend en charge deux variantes de systèmes d'exploitation au sein du TEE, sur lesquelles les Applications Enclave peuvent être déployées :

  • Oak Restricted Kernel : un micro-noyau personnalisé très minimal écrit sur mesure qui ne prend en charge qu'un seul CPU et une seule application. Il impose des restrictions très sévères à ce que l'application peut faire en n'exposant qu'un ensemble très limité d'appels système à l'application. Les applications Oak Restricted Kernel conviennent aux cas où la revue de l'intégralité de la base de code de confiance à l'intérieur du TEE est critique, et où les fonctionnalités limitées et les performances réduites constituent un compromis acceptable. Idéalement, un seul expert humain devrait pouvoir examiner le code de l'Oak Restricted Kernel dans son intégralité en quelques semaines.
Télécharger l’outil