Logic Bomb PLC
otDéfinition
Une Logic Bomb PLC est un code malveillant inséré dans le programme d'un automate PLC (Programmable Logic Controller) ou d'un contrôleur DCS, conçu pour s'exécuter silencieusement en attente d'une condition déclenchante spécifique (une date, une heure, un état de processus particulier, un événement externe), puis exécuter une action malveillante (sabotage du processus, arrêt de l'équipement, effacement du programme, déclenchement d'un actionneur critique). La Logic Bomb PLC représente une forme particulièrement dangereuse de malware OT car elle peut rester dormante pendant des mois ou des années avant de se déclencher. La Logic Bomb PLC peut être implantée via plusieurs vecteurs : un attaquant qui a compromis une Engineering Workstation et qui modifie discrètement le programme PLC via les logiciels de programmation légitimes (Siemens TIA Portal, Rockwell Studio 5000), un prestataire malveillant qui insère une logic bomb lors d'une intervention de maintenance sur les automates, une compromission de la supply chain logicielle (le fichier de programme PLC livré par un fournisseur contient déjà la logic bomb), ou une backdoor dans le firmware du PLC exploitée par un attaquant pour modifier le programme à distance. Les conditions de déclenchement documentées ou supposées pour des Logic Bombs PLC incluent : une date spécifique (style "timer bomb" se déclenche le 1er janvier 2026), un compteur d'utilisation (se déclenche après N cycles de production), un état de processus spécifique (se déclenche quand la pression dépasse un seuil critique), un signal de déclenchement externe (un attaquant envoie un signal activateur via le réseau OT), ou une configuration de réseau spécifique (se déclenche lorsque le PLC observe une IP particulière communiquer). La détection des Logic Bombs PLC est difficile car le code malveillant est intégré dans le programme PLC légitime et ne génère aucune activité anormale avant son déclenchement. Les techniques de détection incluent l'analyse statique du code PLC (revue du code source pour identifier des blocs de code suspects, des conditions inhabituelles, des instructions non documentées) et la comparaison de checksum avec une baseline de référence.
Fonctionnement d'une Logic Bomb dans un programme PLC
Dans un programme Ladder Logic Siemens S7, une logic bomb simplifiée pourrait se présenter sous la forme d'un bloc de code conditionnel : (1) Un bloc caché vérifie la date/heure système du PLC à chaque cycle de scrutation, (2) Si la date est égale à une date cible spécifique ET si une certaine adresse mémoire a une valeur spécifique (double condition pour réduire les déclenchements accidentels), (3) Le bloc déclenche une séquence d'actions malveillantes : forçage d'une bobine déclenchant l'ouverture d'une vanne critique, modification d'une valeur de consigne vers une valeur dangereuse, écrasement d'une section du programme par des instructions NOP (No Operation) supprimant des fonctions de protection, ou envoi de commandes malveillantes à d'autres équipements via le réseau PROFIBUS. Ce code, intégré dans un programme PLC de plusieurs milliers de blocs, est extrêmement difficile à détecter visuellement.
Contexte OT/ICS et incidents supposés
Bien que peu d'incidents de Logic Bomb PLC confirmés soient publiquement documentés (les investigations OT restent souvent confidentielles), des scénarios sont régulièrement évoqués dans la communauté de cybersécurité industrielle. La découverte de PIPEDREAM/INCONTROLLER en 2022 - un framework d'attaque OT préparé mais non encore déployé offensivement - suggère que des adversaires étatiques préparent des Logic Bombs PLC ou des codes similaires en attente d'activation. Des experts en forensics OT rapportent avoir trouvé du code suspect dans des programmes PLC lors d'investigations, dont la nature malveillante ne peut être confirmée qu'avec des analyses approfondies.
Sécurité et mitigation
Détection des Logic Bombs PLC : maintenir des baselines cryptographiques (checksums) de tous les programmes PLC de production et vérifier régulièrement leur intégrité (tout changement non planifié est une anomalie), réaliser des revues de code PLC périodiques (audit manuel ou assisté par des outils d'analyse statique de code PLC) pour les équipements les plus critiques, intégrer la vérification de l'intégrité des programmes PLC dans les processus de gestion du changement (toute modification de programme doit être revue et approuvée), utiliser des solutions de monitoring OT capables de détecter des comportements PLC anormaux (actions inhabituelles sur les I/O, modifications de données en mémoire), et lors des interventions de maintenance fournisseurs, réaliser des comparaisons avant/après de l'intégrité des programmes des automates touchés.
Articles liés
Expert en cybersécurité offensive et intelligence artificielle. Pentest, audit et développement IA sur-mesure.
Services
- Audit Infrastructure
- Audit Kubernetes
- Audit Microsoft 365
- Audit Sécurité Réseau
- Analyse de Risques
- Audit Active Directory
- Audit Application Web
- Audit Cloud (AWS/Azure/GCP)
- Audit Messagerie
- Audit API (OWASP Top 10)
- Audit DevSecOps & CI/CD
- Audit Code Source (SAST)
- Audit Postes de Travail
- Audit Sauvegarde & Résilience
- Audit OT/SCADA (IEC 62443)
- Développement IA
- Formations
Ressources
Projets & Outils
© 2026 Ayi NEDJIMI Consultants. Tous droits réservés.
Un projet cybersécurité ?
Expert dispo · Réponse 24h