Menu — Cortex ORIGIN™
← CFVL
Données vérifiées machine · CFVL-DOC-003

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.

27
THÉORIES
3 896
LIGNES
477
LEMMES
0
SORRY
29s
BUILD
# Reproduction :
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É ISABELLE

Consé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.

~480K
LIGNES PREUVE
~10K
LIGNES C
4
NIVEAUX PROUVÉS
2009
PREMIÈRE PREUVE

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.

#LEMMETHÉORÈMEQED
1 non_tcb_cannot_call_tcb Non-TCB → TCB bloqué
2 log_event_append_only PRISM append-only
3 no_unauthorized_channel Aucun canal non autorisé
4 policy_transition_preserves Politique préservée
5 TCB_SECURITY_THEOREM TCB isolé & auto-protégé
6 log_event_no_deletion PRISM : pas de suppression
7 log_event_no_modification PRISM : pas de modification
8 proof_O_NONINTERFERENCE Non-interférence forte (CC)

234/234 lemmes — 0 écart

Chaque invariant est prouvé formellement en Isabelle/HOL et lié à un fichier source identifié.

#INVARIANTFICHIERTHÉORÈME
I1 Non-TCB ne peut pas appeler TCB CortexWall_TCB.thy non_tcb_cannot_call_tcb
I2 TCB est isolé CortexWall_TCB.thy tcb_is_isolated
I3 TCB est auto-protégé CortexWall_TCB.thy tcb_self_protecting
I4 Invariant d’initialisation TCB CortexWall_TCB.thy initialized_tcb_invariant
I5 PRISM append-only CortexWall_Audit.thy log_event_append_only
I6 PRISM : pas de suppression CortexWall_Audit.thy log_event_no_deletion
I7 PRISM : pas de modification CortexWall_Audit.thy log_event_no_modification
I8 Chaîne d’audit intègre CortexWall_Audit.thy append_maintains_chain
I9 Non-interférence forte (unwinding) CortexWall_NonInterference.thy main_noninterference
I10 Pas de canal non autorisé CortexWall_PRISM_Model.thy no_unauthorized_channel
I11 Politique préservée à chaque transition CortexWall_Policy_Model.thy policy_transition_preserves
I12 Invariant FSM (P5_always) CortexWall_FSM_Properties.thy P5_always
I13 Capabilities CDL → DOM_HIGH CortexWall_seL4_Config.thy exhaustion complète
I14 Moniteur d’exécution sûr CortexWall_Runtime.thy monitor_safe

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.

INVARIANT
ABSTRAIT
CONCRET
C / CHAÎNE
INV-1 : Confinement irréversible
lockdown_forever
concrete_lockdown
full_chain ✓
INV-3 : Coffre-fort scellé
vault_sealed_forever
concrete_vault
full_chain ✓
INV-7 : Isolement irréversible
isolation_forever
concrete_isolation
full_chain ✓

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 ? »

Réponse : Non. Prouvé formellement.

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)

IDNOMFONCTIONTCB
seL4Micronoyau vérifié, capabilities, IPC① TCB
M00Kernel CortexRacine de confiance, fail-closed gate, bootstrap② TCB
M10OMEGA™ / PolicyForgePoint décisionnel unique, RBAC/ABAC③ TCB
M02PRISM™Journal crypto immuable, append-only④ TCB

Couche Safety-critical (hors TCB, confiné seL4)

M05Kernel exécutifFonctions critiques couvertes par seL4+M00
M09CircuitBreaker™Arrêt d’urgence, escalade automatique

Couche Sécurité & Orchestration (hors TCB)

M01SENTINEL™Sécurité active, qualification risque
M03ATLAS™Analyse et corrélation (proposition uniquement)
M08AEGIS™Exécution contrôlée, réponse graduée
M11TrustLink™Chaîne de confiance inter-composants
M17Scheduler™Ordonnancement déterministe
M26AVA™ / AVA-CPL™Analyse de vulnérabilités
M27InterfaceGateway™Passerelle d’interface, filtrage
M27bNAVI™Interface non décisionnelle

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.

COUCHE NIVEAU DE VÉRIFICATION MÉTHODE CFVL
TCB
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)
Safety-critical
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
Sécurité & Orchestration
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
Résilience & Conformité
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
Le TCB est prouvé formellement. Les modules hors-TCB sont testés rigoureusement. Mais aucun module n’échappe au CFVL — la différence est le niveau de rigueur, pas la présence ou l’absence de vérification.

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

THÉORIELIGNESLEMMESRÔLE
Abstract10415Spécification abstraite (nat, set, list)
Security7516Monotonie, non-interférence, security_preserved
Concrete12717Spec bornée uint16, mod 2³²
Refinement7111Simulation A→C via state_rel
CParser130AutoCorres2 C lift
C_Refine23032Preuves de tas C↔Isabelle

Phase 1 — 13 théories · 1 777 lignes · 270 lemmes

THÉORIELIGNESLEMMESDOMAINE
Phase1_Isar19941Préservation champ par champ
Phase1_Unwinding17632Unwinding style seL4
Phase1_NBC14724Modèle capabilities NBC-1→NBC-8
Phase1_Comp10814Compromission multiples, survie TCB
Phase1_Audit15424Hachage continu, intégrité audit
Phase1_Lattice12122Treillis phase KS, état domaine
Phase1_MultiStep13522Split, flood
Phase1_ConcreteExt13827Préservation champs concrets
Phase1_RefineExt11318Simulation étendue 4 opérations
Phase1_WellFormed9711Quarantaine invariante
Phase1_InfoFlow669BLP + Biba MLS simplifié (2 niveaux)
Phase1_Scenarios1081414 attaques formellement réfutées
Phase1_Invariants90125 invariants combinés

Isar structuré — 8 théories · 1 499 lignes · 144 lemmes

THÉORIELIGNESLEMMESDOMAINE
Isar_Security31023Confinement/coffre/isolement/nonce forever
Isar_Abstract27733Décomposition champ par opération
Isar_Refine14515Simulation à deux niveaux
Isar_Concrete18123Champs concrets, partition TCB
Isar_Invariants18315Invariants + 7 scénarios développés
Isar_Unwinding12811Équivalence réfl/sym/trans
Isar_MultiStep1029Split par induction et réplication
Isar_Audit17315Hash dépendance fonctionnelle, TRIPPED forever

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

ADV_* (Développement)
92%
AGD_* (Guides)
100%
ALC_* (Cycle de vie)
67%
ASE_* (Évaluation ST)
100%
ATE_* (Tests)
63%
AVA_* (Vulnérabilité)
30%
SAR TOTAL : 77% — 10 documents normatifs CC produits

Cibles de certification

CIBLECOMPOSANTSTATUT
ANSSI CSPN / CC EAL6-7CortexWall TCB (4 composants)Pré-certification
DGAApplications défense157 Coq + 477 Isabelle
NIS2 / ACPR / BCEBanque & OIV (V18.3)M00 + Ed25519 + matrice
OTAN STANAG 4774Interopérabilité OTAN (V18)31 Coq + post-quantique
France 2030Souveraineté IADossier complet

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.

ÉCARTDESCRIPTIONIMPACT
AVA_VAN.5 Analyse de vulnérabilités embryonnaire (14 scénarios formels, pas side-channel/fault injection) Méthodologie complète requise
ADV_IMP.2 Correspondance C→binaire non prouvée formellement CompCert ou justification GCC
ALC_TAT.3 GCC/Clang classe T3 (non vérifié formellement) Atténuation documentée
BLP+Biba MLS simplifié 2 niveaux statiques Pas un treillis dynamique complet
Org. Mono-développeur (pas de séparation des rôles) Séparation requise en évaluation
Tests 160 383+ non ventilés (unité/intégration/propriété) Ventilation requise pour CESTI
TCB LOC ~15 000 LOC indicatif LOC exact + hash SHA-256 à figer

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

V16  ▶  42 modules définis, architecture complète, 12 TLA+ specs
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)

COMMITDESCRIPTIONLIGNES
7e98d93Phase 1, lot 1 : Isar champ par champ — 41 lemmes+199
8d24f08Phase 1, lot 2 : Unwinding — 32 lemmes+176
b1c16a7Phase 1, lot 3 : Capabilities NBC — 24 lemmes+147
dc3e912Phase 1, lot 4 : Compromission multiples — 14 lemmes+108
e5fa3b1Phase 1, lot 5 : Audit + Treillis — 46 lemmes+275
f7a2c43Phase 1, lot 6 : MultiStep + ConcreteExt + RefineExt — 67 lemmes+386
89f061aPhase 1, lot 7 : Scénarios + Invariants — 28 lemmes+92
824a8bcIsar1 : Sécurité + Abstraction + Raffinement — 71 lemmes+732
826d766Isar2 : Concret — 23 lemmes+181
1ee4a14Isar3 : Invariants — 15 lemmes+183
5c23411Isar4 : Unwinding — 11 lemmes+128
c69a51cIsar5 : MultiStep — 9 lemmes+102
a6d78dcIsar6 : Audit — 15 lemmes+173
98216b3docs(cc-normatif) : 10 documents CC EAL7+10 docs
Ce que nous ne parvenons pas encore à prouver est aussi important que ce que nous prouvons. L’honnêteté scientifique l’exige.

CFVL-DOC-003 · Journal R&D · Version 2.0 · Février 2026