Journal R&D
27 théories · 3 896 lignes · 477 lemmes · 0 sorry · 0 admitted
Session Isabelle/HOL — Finished 0:00:29
CortexWall C-Refine — vérifié machine
La session CortexWall_C_Refine comprend 27 théories Isabelle/HOL structurées en 3 couches, totalisant 3 896 lignes et 477 lemmes prouvés mécaniquement. Zéro sorry, zéro oops, zéro admitted.
cd cortexwall_c_refine
isabelle build -d /path/to/afp/thys -d . CortexWall_C_Refine
# Finished CortexWall_C_Refine (0:00:29 elapsed)
# 0 sorry, 0 oops
4 composants — liste figée, périmètre prouvé
Le Trusted Computing Base de CORTEX ORIGIN™ est volontairement restreint à 4 composants. Tout le reste — de SENTINEL à EcoFlux — est hors-TCB, confiné par seL4 dans des domaines de capabilities isolés. Cette réduction radicale du périmètre de confiance est un choix architectural fondamental : moins le TCB est gros, plus il est prouvable.
① seL4 — Micro-noyau vérifié
Seul micro-noyau au monde avec preuve formelle complète (UNSW / Data61 / seL4 Foundation). Isolation matérielle des domaines, système de capabilities, IPC vérifié. CORTEX hérite de cette preuve — ne la reprouve pas. Propriétés héritées : confidentialité, intégrité, disponibilité au niveau noyau.
TCB · PREUVE HÉRITÉE② M00 — Kernel Cortex
Racine de confiance logicielle. Fail-closed gate : toute action transite par M00. Bootstrap sécurisé, invariant d’initialisation prouvé (I4). Spécification abstraite et concrète vérifiées en Isabelle/HOL.
TCB · VÉRIFIÉ ISABELLE③ M10 — OMEGA™ / PolicyForge
Point de passage décisionnel unique. RBAC/ABAC. Non-contournabilité prouvée : NBC-1 → NBC-8 (8 lemmes Qed). Aucune décision ne s’exécute sans passage par OMEGA. Politique préservée à chaque transition (I11).
TCB · VÉRIFIÉ ISABELLE④ M02 — PRISM™
Journal cryptographique immuable. Append-only prouvé formellement (I5, I6, I7). Aucun composant — y compris OMEGA — ne peut modifier ou supprimer une entrée. Chaîne d’audit intègre (I8), hachage à dépendance timestamp.
TCB · VÉRIFIÉ ISABELLEConséquence architecturale : SENTINEL, AEGIS, ATLAS, AVA-CPL, WALL-DOME, EcoFlux, Recovery, AlertManager et tous les modules M01 → M32 sont hors-TCB, confinés dans des domaines seL4 isolés avec capabilities restreintes. Même compromis par RCE, ils ne peuvent ni affecter les décisions OMEGA, ni altérer le journal PRISM, ni appeler les interfaces internes TCB.
La seule preuve formelle complète d’un micro-noyau au monde
seL4 (Secure Embedded L4) est un micro-noyau développé par l’équipe Trustworthy Systems de Data61/CSIRO (ex-NICTA, UNSW Sydney). Il possède la preuve formelle complète la plus ambitieuse jamais réalisée pour un système d’exploitation : ~480 000 lignes de preuve Isabelle/HOL couvrant spécification abstraite, design exécutable, code C et code binaire ARM.
Propriétés prouvées par seL4 : isolation mémoire entre processus (aucun processus ne peut accéder à la mémoire d’un autre sans capability explicite), intégrité du noyau (le code noyau ne peut pas être modifié par le userspace), confidentialité des flux d’information (non-interférence entre domaines de sécurité différents), raffinement complet du code C vers la spécification abstraite.
Ce que CORTEX hérite de seL4 : l’isolation matérielle des domaines TCB et hors-TCB, le système de capabilities qui empêche tout composant non autorisé d’accéder aux interfaces TCB, et la garantie que le noyau lui-même ne peut pas être corrompu par un composant applicatif. CortexWall modélise explicitement cette frontière seL4 dans CortexWall_seL4_Config.thy (I13 : capabilities CDL → DOM_HIGH, exhaustion complète).
CORTEX ne reprouve pas seL4. La preuve est héritée de la seL4 Foundation et maintenue par l’équipe Trustworthy Systems. C’est explicitement documenté comme hypothèse de base dans le Security Target (ASE_REQ).
8 lemmes prouvés formellement
Toute action décisionnelle doit transiter par OMEGA. Toute écriture dans PRISM est append-only et non modifiable, y compris par OMEGA. Aucun composant hors-TCB ne possède de capability permettant de contourner ces propriétés.
234/234 lemmes — 0 écart
Chaque invariant est prouvé formellement en Isabelle/HOL et lié à un fichier source identifié.
Abstrait → Concret → C
3 propriétés de sécurité critiques sont prouvées aux 3 niveaux d’abstraction, de la spécification Isabelle jusqu’au code C via AutoCorres2.
Propriétés avancées prouvées : non-interférence (unwinding), monotonie nonces, audit append-only, trigger idempotent, security_preserved (4 invariants simultanés), NBC-1→NBC-8 (8 lemmes non-bypass), 14 scénarios d’attaque formellement réfutés.
SENTINEL compromis par RCE — impact ?
« Si SENTINEL est compromis par exécution de code arbitraire (RCE), peut-il forcer OMEGA à prendre une décision incorrecte ? »
SENTINEL est hors-TCB, confiné par seL4 dans un domaine de capabilities restreint. NBC-1 prouve qu’un composant non-TCB ne peut pas appeler les interfaces internes TCB. NBC-3 prouve qu’aucun canal non autorisé ne traverse la frontière TCB. NBC-5 prouve que le TCB reste isolé et auto-protégé tant qu’il est actif et intègre. NBC-8 prouve la non-interférence forte : les actions HIGH ne sont pas observables par LOW.
Au pire : SENTINEL ne remonte plus d’alertes → OMEGA fonctionne en mode dégradé (moins d’information), pas en mode compromis (mauvaises décisions).
4 TCB · 2 safety · 8 sécurité · 16+ résilience
Couche TCB (4 composants — liste figée)
Couche Safety-critical (hors TCB, confiné seL4)
Couche Sécurité & Orchestration (hors TCB)
Couche Résilience & Conformité (hors TCB)
M13 Recovery™ · M14 ResilienceManager™ · M16 EcoFlux™ · M19 ArtifactStore™ · M20 MemoryCore™ · M21 LearningLimiter™ · M22 DataBoundary™ · M23 ComplianceMonitor™ (NIS2/ACPR/ECB) · M24 Offline™ · M25 AuditFreeze™ · M28 DeploymentGuard™ · M29 QuotaManager™ · M30 HealthMonitor™ · M31 AlertManager™ · M32 ProofExporter™
Tous les modules seront testés
Le CFVL ne se limite pas au TCB. Chaque module de CORTEX ORIGIN™ — de M00 à M32 — fera l’objet de tests et de vérifications par le laboratoire. Le niveau de rigueur est adapté à la criticité du composant.
seL4, M00, OMEGA, PRISM Preuve formelle complète
Isabelle/HOL, raffinement A→C→binaire Vérification machine, audit de preuve, rapport CFVL-EVAL avec avis formel (Conforme / Avec réserves / Non conforme)
M05 Kernel, M09 KillSwitch Preuve partielle + tests de robustesse
Frama-C/WP, tests structurels Vérification des propriétés safety, tests d’injection de fautes, couverture MC/DC
SENTINEL, ATLAS, AEGIS, AVA-CPL, TrustLink, Scheduler, NAVI, InterfaceGW Tests fonctionnels + propriétés de confinement
Tests unitaires, intégration, fuzzing Vérification du confinement seL4, tests de non-escalade, scénarios d’attaque (14+ formalisés), tests de compromission
Recovery, EcoFlux, ComplianceMonitor, AuditFreeze, ProofExporter, etc. Tests fonctionnels + conformité réglementaire
Tests unitaires, intégration, NIS2/ACPR/ECB Vérification du confinement seL4, tests de récupération, validation des exports de preuves, conformité réglementaire
Principe fondamental : un composant hors-TCB compromis ne doit jamais pouvoir briser les propriétés de sécurité du système. C’est garanti par seL4 + NBC. Mais le CFVL vérifie aussi que chaque module remplit correctement sa fonction propre : SENTINEL détecte bien les menaces, AEGIS exécute bien les réponses graduées, EcoFlux respecte bien les budgets énergétiques, etc. La sécurité architecturale (prouvée) ne dispense pas de la qualité fonctionnelle (testée).
3 couches de preuve
Noyau — 6 théories · 745 lignes · 91 lemmes
Phase 1 — 13 théories · 1 777 lignes · 270 lemmes
Isar structuré — 8 théories · 1 499 lignes · 144 lemmes
Note : abs_hash est une fonction déterministe à dépendance forte au timestamp. Ce n’est pas une fonction injective au sens cryptographique strict (collision non triviale sous hypothèses bornées).
77% couverture globale — 10 documents CC
Cibles de certification
Transparence sur les limites
Conformément au principe de transparence du CFVL, les lacunes connues sont explicitement documentées. Un rapport lucide est plus crédible qu’un rapport parfait.
Note : « proof-grade EAL6/EAL7 » signifie que l’architecture, les preuves formelles (535+ théorèmes, 0 sorry/admitted) et la traçabilité sont alignées sur les exigences CC EAL6–EAL7. La certification Critères Communs / CSPN n’a pas encore été réalisée en laboratoire (CESTI/CB). La preuve du microkernel seL4 est héritée de seL4 Foundation — CORTEX ne la reprouve pas.
V16 → V17 → V18 → V18.3
V17 ▶ 181 fichiers Python, 26 preuves Coq, DefenseGuard (17 Qed), AVA-VAN5
V18 ▶ OTAN STANAG 4774, post-quantum crypto, 61 Coq Qed, 208+ tests, SGX
V18.3 ▶ Banque/OIV PRO+ M00, Ed25519, NIS2/ACPR/ECB, 13 tests
Historique des commits (session C-Refine)
CFVL-DOC-003 · Journal R&D · Version 2.0 · Février 2026