CORTEX Formal Verification Laboratory

Laboratoire interne de
vérification formelle

Cellule indépendante dédiée à la vérification formelle de systèmes logiciels critiques. Le CFVL ne développe pas de produit. Il analyse, valide ou invalide les systèmes qui lui sont soumis. Un avis négatif du CFVL bloque la validation du périmètre évalué.

« Preuve avant promesse »

Le CFVL exerce une mission
de vérification indépendante

Sa mission est méthodologique et normative. Un avis négatif du CFVL bloque la validation du périmètre évalué, indépendamment de toute contrainte commerciale ou calendaire.

Preuves machine

Produire des preuves formelles reproductibles, vérifiées mécaniquement par des noyaux de confiance.

Évaluation de couverture

Vérifier que chaque exigence de sécurité est couverte par au moins un théorème prouvé.

Documentation des lacunes

Identifier et publier explicitement ce qui n’a pas pu être vérifié, avec la même rigueur que les résultats.

Avis formel

Émettre un verdict : Conforme, Conforme avec réserves, ou Non conforme. Chaque avis engage le laboratoire.

Validation machine,
pas validation humaine

Le CFVL s’appuie sur des moteurs formels à noyau LCF (Logic for Computable Functions). Dans un système LCF, aucun théorème ne peut exister sans validation mécanique par un micro-noyau de confiance.

L’autorité du laboratoire ne repose pas sur une signature humaine. Elle repose sur un verdict machine reproductible.

Outils référencés par le CFVL — 21 outils, 6 catégories

Isabelle/HOL
Proof assistant
v2025-2
LCF KERNEL
Coq / Rocq
Proof assistant
v9.1.1
LCF KERNEL
Frama-C / WP
Vérification C
v32.0 Germanium
SMT
CBMC
Bounded model checker
v6.8.0
MODEL CHECK
SPARK / GNATprove
Vérification Ada
SMT
TLA+ / TLC
Model checker
MODEL CHECK
libFuzzer / LLVM
Fuzzing guidé par couverture
LLVM 22.1.0
FUZZING
ASan + UBSan
Sanitizers mémoire
clang runtime
DYNAMIC
dudect
Analyse side-channel (timing)
Welch t-test
DYNAMIC
llvm-cov
Couverture de code
Apple LLVM 15
DYNAMIC
CompCert
Compilateur vérifié
INTÉGRATION
ProVerif / Tamarin
Protocoles crypto
INTÉGRATION
Astrée
Interprétation abstraite
INTÉGRATION
Lean 4
Proof assistant (mathlib)
LCF KERNEL
F* / HACL*
Crypto formellement vérifiée
LCF KERNEL
Why3
Plateforme de preuve déductive
SMT
Z3 / CVC5
Solveurs SMT
SMT
KLEE
Exécution symbolique
DYNAMIC
AFL++
Fuzzer mutation coverage-guided
FUZZING
Cryptol / SAW
Vérification crypto bit-exact
Galois (DARPA)
INTÉGRATION
AutoCorres
Pont C → Isabelle/HOL
INTÉGRATION

Types de tests appliqués
en pré-évaluation CSPN

Le pipeline haute assurance du CFVL applique six familles de vérification complémentaires, couvrant les exigences AVA, ATE, ADV et ALC des Critères Communs (ISO 15408).

Compilation Analyse statique Preuves formelles Tests dynamiques Fuzzing massif Side-channel Build reproductible VERDICT
VÉRIFICATION FORMELLE

Preuves machine (ADV_SPM)

Modèle abstrait BLP Isabelle/HOL 48+ lemmes
Raffinement abstrait → concret Isabelle/HOL 3 théories
Bisimulation FSM Isabelle/HOL ✓ prouvé
Model checking borné CBMC 6.8 298 props
ANALYSE STATIQUE

Absence d’erreurs (ADV_IMP)

Interprétation abstraite (EVA) Frama-C 32 0 alarm
Compilation stricte clang 15 0 warning
Couverture de code llvm-cov 96.38% reg
TESTS DYNAMIQUES

Validation fonctionnelle (ATE_FUN)

Tests fonctionnels positifs ASan+UBSan 85 PASS
Tests négatifs (robustesse) ASan+UBSan 25 PASS
Tests d’endurance ASan+UBSan 10.8M ops
TESTS ADVERSARIAUX

Résistance aux attaques (AVA_VAN)

Scénarios d’attaque CSPN ASan+UBSan 12/12
Fuzzing guidé par couverture libFuzzer 26G+ inputs
Fuzzing PRISM + Manifest libFuzzer 0 crash
CRYPTOGRAPHIE

Conformité FIPS 202 (ADV_FSP)

Vecteurs NIST CAVP SHA3-256 gcc/clang 3 vectors
HMAC-SHA3-256 fonctionnel gcc/clang 8 tests
Intégrité du build (SHA-256) sha256sum ✓ chaîne
ANALYSE STATISTIQUE

Canaux auxiliaires (AVA_VAN)

Timing constant_time_compare dudect |t|<4.5
Timing HMAC-SHA3-256 dudect |t|<4.5
Timing policy_evaluate dudect |t|<4.5

Règles non négociables

P.01

Indépendance

Le CFVL peut déclarer un livrable non conforme, sans recours hiérarchique sur le périmètre formel évalué. Aucune release ne peut être publiée sous avis négatif.

P.02

Zéro compromis formel

Aucune preuve incomplète n’est acceptée. Aucune lacune n’est dissimulée. 0 sorry, 0 Admitted, 0 timeout, 0 FAIL — invariant vérifié à chaque évaluation.

P.03

Reproductibilité

Toute validation peut être reproduite par un tiers disposant des outils et versions documentés. Le CFVL fournit les commandes, les temps attendus, et les résultats attendus.

P.04

Transparence

Les hypothèses, les limites du modèle et les lacunes de couverture sont explicitement publiées dans chaque rapport. Un rapport lucide est plus crédible qu’un rapport parfait.

Une évaluation standardisée

Lorsqu’un système ou un composant est soumis au CFVL, le processus suivant s’applique — indépendamment de la nature ou de l’origine du livrable.

1

Réception

Le livrable est soumis avec sa spécification, ses preuves, et l’identification de version (tag + hash).

2

Recompilation

Toutes les preuves sont recompilées avec les versions d’outils documentées. Vérification que les sessions terminent sans erreur.

3

Vérification des invariants

Tous les invariants déclarés sont vérifiés mécaniquement : 0 sorry, 0 Admitted, 0 FAIL, 0 timeout.

4

Couverture des exigences

Chaque exigence de sécurité (SFR) est tracée vers au moins un théorème prouvé. La cartographie est produite.

5

Documentation des lacunes

Ce qui n’est pas couvert est explicitement documenté : lacunes, hypothèses non vérifiables, simplifications.

6

Avis formel

Le CFVL émet son avis : Conforme, Conforme avec réserves, ou Non conforme.

7

Rapport signé

Rapport d’évaluation engageant le CFVL, version taggée, SHA-256 documenté.

Recherche appliquée en méthodes formelles

Le CFVL s’inscrit dans la continuité des travaux issus de la tradition LCF, du programme de vérification seL4, des frameworks de raffinement Isabelle/HOL, de CompCert (INRIA) et de HACL*/F* (MSR/INRIA).

AXE 01

Architectures gouvernées

Formalisation des propriétés d’isolation, non-interférence, non-contournement, gouvernance décisionnelle et survie à compromission partielle.

refinementunwindingnon-interferenceBLP/Biba
AXE 02

Bornage du TCB

Réduction du périmètre de confiance, exhaustion des capabilities, preuve de non-escalade de privilège, théorèmes de survie.

TCB minimalitycapabilitiesprivilege separation
AXE 03

Chaîne multi-niveaux

Spécification abstraite → raffinement concret → implémentation vérifiée → compilation vérifiée. Relation de simulation prouvée entre chaque niveau.

IsabelleCoqFrama-CCompCertAutoCorres
AXE 04

Programmes ouverts

Vérification protocolaire, extension MLS dynamique, propriétés décisionnelles IA gouvernée, analyse side-channel, modélisation adversariale.

ProVerifHACL*F*AstréeLean 4

Un modèle de maturité en trois phases

L’indépendance de validation est garantie dès la phase initiale par les moteurs formels LCF, indépendamment de la structure organisationnelle.

Phase 1

Cohérence fondatrice

Validation par noyaux LCF. Corpus formel consolidé. Indépendance machine garantie.

● EN COURS
Phase 2

Séparation fonctionnelle

Ingénieur formel senior. Revue croisée développement / validation. Élimination du biais de modélisation.

◯ PLANIFIÉ
Phase 3

Validation externe

Support à audit tiers (CESTI / ANSSI). Séparation complète développeur / évaluateur.

◯ PLANIFIÉ

Deux catégories distinctes

Les documents institutionnels décrivent le laboratoire. Les rapports d’évaluation évaluent les systèmes soumis. Cette séparation est un principe structurant.

Documents institutionnels
Charte — Identité, mission, principes, gouvernance
Méthodologie — Outils, critères, seuils de rejet
Journal R&D — Verrous scientifiques, résultats, échecs
Inventaire — Catalogue des publications
Rapports d’évaluation
Baseline — Version figée du périmètre évalué
Cartographie SFR — Exigences → théorèmes
Périmètre TCB — Frontières, interfaces, invariants
Couverture menaces — Modèle de menaces et couverture

Collaborations & partenariats

Le CFVL est ouvert aux collaborations académiques avec les laboratoires en méthodes formelles, sécurité systèmes, compilation vérifiée et cryptographie formelle.

CIFRE

Conventions industrielles de formation par la recherche

Co-encadrement

Doctorats et post-doctorats en méthodes formelles

Publications

Articles et communications conjoints

ANR / France 2030

Appels à projets recherche appliquée