MandGardOASIS

OASIS — autorité de commande pour automates et régulateursOASIS — command authority for PLCs and controllers

Seules les commandes autorisées atteignent la machine.Only authorised commands reach the machine.

OASIS est un logiciel placé entre la supervision et les automates déjà installés. Il vérifie chaque ordre d'écriture et ne transmet que ceux qui sont autorisés et conformes aux limites fixées par l'exploitant. Les automates et le logiciel de supervision ne sont pas modifiés. OASIS is software placed between the supervision system and the controllers already in place. It checks every write command and only forwards those that are authorised and within the limits set by the operator. Neither the controllers nor the supervision software are modified.

NatureNature
Logiciel, sans matériel propriétaireSoftware, no proprietary hardware
PérimètreScope
Ordres d'écriture vers automates et régulateurs (Modbus TCP)Write commands to PLCs and controllers (Modbus TCP)
PositionnementPosition
Hors chaîne de sécurité : ne remplace aucune fonction de sécuritéOutside the safety chain: replaces no safety function
ExistantExisting Supervision IHM / SCADAHMI / SCADA
MandGard OASIS vérifie chaque ordre d'écriturechecks every write command
  • ✓conforme : transmiscompliant: forwarded
  • ×hors limites ou non autorisé : refusé et consignéout of bounds or unauthorised: refused and recorded
ExistantExisting Automate, régulateurPLC, controller programme inchangéprogram unchanged
Exemple : une chambre froide bornée par les limites de l'exploitant. Une consigne de −20 °C est transmise ; une consigne de +50 °C est refusée, quelle que soit son origine. Example: a cold room bounded by the operator's limits. A −20 °C setpoint is forwarded; a +50 °C setpoint is refused, whatever its origin.
01 — Contexte01 — Context

Les attaques récentes passent par l'interface légitime.Recent attacks go through the legitimate interface.

Les attaques industrielles récentes ne contournent pas les protocoles : elles prennent le contrôle de la supervision et envoient des ordres valides pour l'équipement, mais dommageables pour l'installation. En octobre 2026, le CERT-FR a signalé de nombreuses compromissions d'installations frigorifiques pilotables depuis Internet (alerte CERTFR-2026-ALE-012). Recent industrial attacks do not bypass protocols: they take control of the supervision system and send commands that are valid for the equipment but harmful to the installation. In October 2026, the French national CERT reported numerous compromises of refrigeration installations controllable from the Internet (alert CERTFR-2026-ALE-012).

  1. 01

    Le pare-feu ne sait pas qui donne l'ordre.The firewall does not know who issues the command.

    Il filtre des adresses et des protocoles. Un ordre émis depuis la supervision légitime vient de la bonne machine : il ne permet ni d'identifier l'opérateur, ni d'exiger l'accord d'un second.It filters addresses and protocols. A command from the legitimate supervision comes from the right machine: it can neither identify the operator nor require a second person's approval.

  2. 02

    Les plages du fabricant ne protègent pas l'installation.Manufacturer ranges do not protect the installation.

    Sur plusieurs régulateurs frigorifiques courants, les plages admises vont jusqu'à +50 °C pour une consigne ou une fin de dégivrage. Ce qui est valide pour l'appareil peut détruire un stock.On several common refrigeration controllers, accepted ranges go up to +50 °C for a setpoint or a defrost-end temperature. What is valid for the device can destroy a stock.

  3. 03

    La détection intervient après l'exécution.Detection comes after execution.

    Une sonde passive alerte une fois l'ordre exécuté. OASIS refuse l'ordre avant qu'il n'atteigne l'équipement.A passive probe raises an alert once the command has run. OASIS refuses the command before it reaches the equipment.

02 — Garanties02 — Guarantees

Quatre garanties, éprouvées sur équipement réel.Four guarantees, proven on real equipment.

Nous décrivons ce que le logiciel garantit, non la manière dont il est construit. Le détail technique est communiqué sous accord de confidentialité.We describe what the software guarantees, not how it is built. Technical detail is shared under a non-disclosure agreement.

01

Enveloppe de fonctionnementOperating envelope

Chaque consigne doit rester dans les limites fixées par l'exploitant et ne varier que par paliers autorisés. Un ordre falsifié, altéré ou rejoué est refusé.Every setpoint must stay within the limits set by the operator and change only in authorised steps. A forged, altered or replayed command is refused.

02

Double validationTwo-person rule

Les commandes critiques exigent l'accord de deux opérateurs distincts. Un attaquant qui contrôle la supervision ne peut pas fournir le second.Critical commands require the approval of two distinct operators. An attacker who controls the supervision cannot supply the second.

03

Journal infalsifiableTamper-evident log

Chaque ordre, transmis ou refusé, est consigné avec l'identité de son auteur lorsqu'elle est vérifiée. Toute modification du journal est détectable. Il constitue une pièce pour les audits NIS2 et les assureurs.Every command, forwarded or refused, is recorded with its author's identity when verified. Any alteration of the log is detectable. It provides evidence for NIS2 audits and insurers.

04

Cryptographie post-quantiquePost-quantum cryptography

Les ordres transmis à OASIS sont chiffrés avec une cryptographie post-quantique conforme aux standards du NIST, conçue pour résister aux ordinateurs quantiques.Commands sent to OASIS are encrypted with post-quantum cryptography based on NIST standards, designed to withstand quantum computers.

03 — Domaines d'application03 — Fields of application

Partout où une supervision écrit dans un équipement.Wherever a supervision system writes to equipment.

SecteurSector ÉquipementsEquipment Exemple d'ordre refuséExample of a refused command
Chaîne du froidCold chain ÉquipementsEquipmentAutomates de salle des machines, tableaux de compresseurs, régulateurs de chambre froideMachine-room PLCs, compressor panels, cold-room controllers Exemple d'ordre refuséExample of a refused commandConsigne portée à +50 °C ; dégivrage forcé hors procédureSetpoint pushed to +50 °C; forced defrost outside procedure
Eau et infrastructuresWater and infrastructure ÉquipementsEquipmentAutomates de pompage et de traitement, variateurs de pompes, servomoteurs de vannesPumping and treatment PLCs, pump drives, valve actuators Exemple d'ordre refuséExample of a refused commandVanne ouverte de 20 % à 100 % en un seul ordre ; consigne de pompe hors plageValve opened from 20 % to 100 % in a single command; pump setpoint out of range
ÉnergieEnergy ÉquipementsEquipmentContrôleurs de parc, onduleurs, automates de production et de stockagePlant controllers, inverters, generation and storage PLCs Exemple d'ordre refuséExample of a refused commandBridage de la production à 0 % non autorisé ; facteur de puissance hors plageUnauthorised curtailment to 0 %; power factor out of range
Industrie et pharmacieIndustry and pharma ÉquipementsEquipmentAutomates de ligne, traitement d'air des salles propres, refroidissement des salles serveursLine PLCs, cleanroom air handling, server-room cooling Exemple d'ordre refuséExample of a refused commandVariation brusque d'une consigne de pression, de température ou de vitesseAbrupt change of a pressure, temperature or speed setpoint

Compatibilité : Modbus TCP. Lors du cadrage d'un pilote, la compatibilité de chaque équipement est vérifiée et tous les autres accès à l'automate sont recensés : OASIS protège le chemin par lequel la supervision écrit.Compatibility: Modbus TCP. During pilot scoping, each device's compatibility is checked and every other access to the controller is listed: OASIS protects the path through which the supervision writes.

04 — Preuves04 — Evidence

Ce que nous affirmons a été mesuré.What we claim has been measured.

Équipement réelReal equipment
Essais devant un module logique Siemens LOGO! du commerce, relais physique compris : l'ordre autorisé le commande, l'ordre refusé le laisse immobile.Tests against a commercial Siemens LOGO! logic module, physical relay included: an authorised command drives it, a refused command leaves it still.
8 h
d'endurance devant l'automate réel : 5 652 cycles, aucun ordre refusé n'a atteint l'équipement.of endurance against the real controller: 5,652 cycles, no refused command reached the equipment.
4
coupures de courant réelles en pleine charge : après chaque reprise, le journal se vérifie intact.real power cuts under load: after each restart, the log verifies intact.
7 800+
pièces de preuve archivées.evidence items archived.

Les règles de décision centrales sont vérifiées formellement. Le dossier de preuves complet est consultable sous accord de confidentialité.The core decision rules are formally verified. The full evidence file is available under a non-disclosure agreement.

Siemens et LOGO! sont des marques de Siemens AG ; leur mention décrit l'équipement d'essai et n'implique aucun partenariat.Siemens and LOGO! are trademarks of Siemens AG; they are named to describe the test equipment and imply no partnership.

05 — Démonstration05 — Demonstration

Démonstration en direct sur automate réel Siemens LOGO! — 2 min 30.Live demonstration on a real Siemens LOGO! controller — 2 min 30.

Enregistrée le 5 novembre 2026 devant un module logique Siemens LOGO! du commerce, non modifié, relais physique compris. Scénario de chambre froide : consigne de −20,0 °C, limites d'exploitation de −25,0 à −15,0 °C, dégivrage soumis à deux approbations. Chaque valeur affichée est lue directement dans l'automate. Recorded on 5 November 2026 against a commercial Siemens LOGO! logic module, unmodified, physical relay included. Cold-room scenario: −20.0 °C setpoint, operating limits from −25.0 to −15.0 °C, defrost subject to two approvals. Every value shown is read directly from the controller.

Vidéo sans son, sous-titres anglais incrustés. En français, le texte s'affiche sous la vidéo pendant la lecture, ou dans le lecteur via le bouton de sous-titres.Silent video with English captions burned in. French subtitles are available from the player's caption button.

  1. 01Sans MandGard, une écriture non signée de +50,0 °C atteint l'automate.Without MandGard, an unsigned +50.0 °C write reaches the controller.×AppliquéeApplied
  2. 02MandGard devient le seul chemin : un opérateur rétablit −20,0 °C par un ordre signé.MandGard becomes the only path in: an operator restores −20.0 °C with a signed command.✓ExécutéExecuted
  3. 03La même écriture non signée, envoyée à MandGard. Rien n'atteint l'automate.The same unsigned write, now sent to MandGard. Nothing reaches the controller.×BloquéeBlocked
  4. 04Une supervision compromise signe +50,0 °C avec une clé d'opérateur valide : hors de l'enveloppe.A hijacked supervision signs +50.0 °C with a valid operator key: outside the envelope.×BloquéBlocked
  5. 05Un ordre signé avec une clé inconnue du site.A command signed with a key unknown to the site.×BloquéBlocked
  6. 06Un compte en lecture seule demande −18,0 °C, une valeur pourtant dans l'enveloppe.A read-only account asks for −18.0 °C, a value inside the envelope.×BloquéBlocked
  7. 07Travail normal : l'opérateur passe la consigne à −21,5 °C.Normal work: the operator adjusts the setpoint to −21.5 °C.✓ExécutéExecuted
  8. 08L'ordre −20,0 °C de l'étape 2 est envoyé une seconde fois.The −20.0 °C command of step 2 is sent a second time.×BloquéBlocked
  9. 09Dégivrage demandé avec une seule approbation sur les deux requises.Defrost requested with one approval out of the two required.×BloquéBlocked
  10. 10Dégivrage approuvé par les opérateurs A et B, deux clés distinctes : le relais se ferme.Defrost approved by operators A and B, two separate keys: the relay closes.✓ExécutéExecuted
  11. 11Le journal des décisions est copié et contrôlé par un vérificateur indépendant.The decision log is copied and checked by an independent verifier.✓IntactIntact
  12. 12Sur une copie, un refus est réécrit en « exécuté » : un seul octet. L'original reste intact.On a copy, one refusal is rewritten as "executed": a single byte. The original stays intact.✓DétectéDetected

Résultat : 3 ordres légitimes exécutés, 6 attaques bloquées avant l'automate, aucune modification non autorisée. L'automate n'a pas été modifié.Result: 3 legitimate commands executed, 6 attacks blocked before the controller, no unauthorised change. The controller was not modified.

Le journal de cette démonstration compte 12 enregistrements : 3 exécutions, 5 refus, 3 confirmations de l'équipement et un enregistrement de départ. L'écriture brute de l'étape 3 est rejetée avant toute décision et n'y figure donc pas.The log of this demonstration holds 12 records: 3 executions, 5 refusals, 3 device confirmations and one start record. The raw write of step 3 is rejected before any decision and therefore does not appear in it.

Siemens et LOGO! sont des marques de Siemens AG ; leur mention décrit l'équipement d'essai et n'implique aucun partenariat.Siemens and LOGO! are trademarks of Siemens AG; they are named to describe the test equipment and imply no partnership.

06 — Pilote06 — Pilot

Un pilote de 30 jours, sur un banc ou une ligne choisie.A 30-day pilot, on a test bench or a chosen line.

Le logiciel s'insère entre la supervision et l'automate, sans modifier le programme de l'un ni de l'autre.The software sits between the supervision and the controller, without modifying the program of either.

  1. Semaine 1Week 1Cadrage.Scoping. Équipements concernés, limites d'exploitation, recensement des accès à l'automate.Equipment in scope, operating limits, inventory of every access to the controller.
  2. Semaine 2Week 2Installation. Intervention courte, planifiée dans une fenêtre de maintenance.Short intervention, planned in a maintenance window.
  3. Semaines 3 – 4Weeks 3 – 4Démonstration.Demonstration. Ordres légitimes transmis, ordres hors limites refusés, journal vérifié avec vos équipes.Legitimate commands forwarded, out-of-bounds commands refused, log verified with your teams.
  4. Jour 30Day 30Rapport.Report. Critères de succès convenus au départ et mesurés. La suite est décidée par l'exploitant : licence annuelle ou arrêt.Success criteria agreed at the start and measured. The operator decides what follows: annual licence or stop.

RéversibleReversible

Retirer le logiciel rétablit la liaison d'origine ; rien n'est modifié dans les automates.Removing the software restores the original link; nothing is changed in the controllers.

Hors chaîne de sécuritéOutside the safety chain

Arrêts d'urgence et fonctions de sécurité restent ceux de la machine. OASIS s'ajoute et ne remplace rien.Emergency stops and safety functions remain the machine's own. OASIS adds a layer and replaces nothing.

ConfidentialitéConfidentiality

Architecture, dossier de preuves et démonstration approfondie sont partagés après signature d'un accord de confidentialité.Architecture, evidence file and in-depth demonstration are shared once a non-disclosure agreement is signed.

07 — Contact07 — Contact

Pour une démonstration ou un pilote.For a demonstration or a pilot.

[email protected]