2018 These Toublanc T
2018 These Toublanc T
2018 These Toublanc T
Directeur de thèse
Pascal Berruet Professeur, IUT de Lorient
Invité(s)
Romain Bévan Ingénieur de recherche, IRMATECH,
Lorient
Titre : Sécurisation de Capteurs Actionneurs sur Réseau Industriel
Mots clés : Système Cyber Physique, Détection, Réaction, Aide à la Conception, Simulation Conjointe
Résumé: De nos jours, les systèmes de production L'application des méthodes proposées entraîne
sont confrontés à leur 4e révolution. Celle-ci est naturellement un effort de conception
numérique avec des réseaux toujours plus denses et supplémentaire qui doit être réduit.
complexes s’ouvrant sur l’extérieur. Cette ouverture Nous avons donc mis au point une démarche
rend ces systèmes plus vulnérables. Les menaces permettant d’assister les concepteurs pour la
sur ces Systèmes Cyber-Physiques de Production configuration de notre SDRA.Cette dernière se base
(SCPP) ne sont plus seulement théoriques. L’attaque sur une approche hybride (composant/opération) et
sur l’aciérie allemande ou le cryptovirus Wannacry en étend un flot de conception existant. Plusieurs
sont de parfaits exemples. Ce travail propose un outil transformations raffinent des vues
contribuant à la sécurité des SCPP. Nos contributions surveillance/supervision des composants alors que
sont triples : d’autres génèrent la configuration du SDRA.
La conception d'un Système de Détection et Réaction Une troisième contribution propose un
aux Anomalies (SDRA) placé sur le réseau de terrain. démonstrateur réaliste basé sur un environnement
Celui-ci intègre des méthodes de détection virtuel de test. Ce dernier intègre la simulation
comportementales et informationnelles. Il comprend conjointe de la partie opérative et de la partie
également des capacités de réaction à la fois commande et permet de montrer les qualités
passives, mettant en œuvre de la remontée fonctionnelles des solutions face à des scénarios
d'information vers l'humain ou vers des systèmes de d’attaque ou de défaillance.
niveaux supérieurs, et actives intégrant du filtrage
d'ordre ou de la mise en repli.
Abstract: Today, production systems are facing their The application of the proposed methods naturally
4th revolution. This revolution is digital with entails an additional design effort which must be
increasingly dense and complex networks opening reduced.
on the outside. This openness makes these systems We have therefore developed an approach to assist
more vulnerable. The threats on these Cyber- designers in the configuration of our ADRS. It is
Physical Production Systems (CPPS) are no longer based on a hybrid approach (component / operation)
just theoretical. The attacks on the German steel mill and extends an existing design flow. Several
or the Wannacry crypto virus are perfect examples. transformations refine monitoring / supervision views
This work proposes a tool contributing to the security of the components while others generate the
of the SCPP. Our contributions are threefold: configuration of the ADRS.
The design of an Anomaly Detection and Response A third contribution proposes a realistic demonstrator
System (ADRS) placed on the field network. It based on a virtual test environment. It integrates the
integrates behavioral and informational detection joint simulation of the operative part and the control
methods. It also includes passive response part and makes it possible to show the functional
capabilities, implementing feedback to the human or qualities of the solutions in the face of attack or
to higher level systems, and active integrating order failure scenarios.
filtering or fallback.
Il me sera très difficile de remercier tout le monde car c’est grâce à l’aide de nombreuses per-
sonnes que j’ai pu mener cette thèse à son terme.
Mes premiers remerciements vont à mes encadrants le Professeur Pascal Berruet, HDR, ainsi
que le Docteur. Florent De Lamotte, MC, de l’université Bretagne sud, qui m’ont encadré tout au
long de cette thèse et qui m’ont fait partager leurs brillantes intuitions. Qu’ils soient aussi remer-
ciés pour leurs gentillesses, leurs disponibilités permanentes et pour les nombreux encourage-
ments qu’ils m’ont prodigués. Je remercie aussi le Dr. Sébastien Guillet et le Dr. Romain Bévan
pour leur aide précieuse.
J’adresse tous mes remerciements à Monsieur Eric Zamaï, MC, à l’INP de Grenoble, ainsi qu’à
Madame Mireille Bayart, Professeur à l’Université de Lille, de l’honneur qu’ils m’ont fait en accep-
tant d’être rapporteurs de cette thèse. Je tiens à remercier Armand Toguyeni pour avoir accepté
de participer à mon jury de thèse et pour sa participation scientifique ainsi que le temps qu’il a
consacré à ma recherche. Je remercie également Olivier Cardin, pour l’honneur qu’il me fait d’être
dans mon jury de thèse.
Un grand merci aussi à tous les membres de l’ENSIBS et du Lab-STICC et en particulier à Ie-
hann Eveno pour les discutions et l’énergie. Il m’est impossible d’oublier Salwa Alem pour son aide
précieuse pour ma recherche bibliographique. Elle a toujours fait tout son possible pour m’aider.
Je remercie toutes les personnes avec qui j’ai partagé mes études et notamment ces années de
thèse.
Je remercie MON PERE et MA MÈRE également pour tout ce qu’ils ont fait et ce qu’ils feront
encore pour moi.
Mes derniers remerciements vont à ma compagne Océane Jézéquel qui a tout fait pour m’aider,
qui m’a soutenu et surtout supporté dans tout ce que j’ai entrepris.
Introduction 2
2 État de l’art 25
2.1 Les protections industrielles pour l’IACS . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.2 Les approches académiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.3 Les approches bas niveau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.4 Comparatif des principales approches de sécurisation . . . . . . . . . . . . . . . . . . 39
2.5 Comparatif des principales plateformes de test . . . . . . . . . . . . . . . . . . . . . . 41
2.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3 La passerelle ASSECIN 44
3.1 La spécification du dispositif de sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.2 Le fonctionnement de la passerelle ASSecIN . . . . . . . . . . . . . . . . . . . . . . . . 50
3.3 La description fonctionnelle de la passerelle . . . . . . . . . . . . . . . . . . . . . . . . 53
3.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
5 Le démonstrateur 94
5.1 Présentation de la plateforme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
5.2 Présentation du cas d’étude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
5.3 Mise en œuvre du cas d’étude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
5.4 La génération . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
5.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Bibliographie 122
Annexes 128
1
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Introduction
Nous vivons la quatrième révolution industrielle de l’histoire des systèmes de production. L’in-
vention des premières machines à vapeur au 18e siècle, a permis la mise en place des premières
machines de production (machines à tisser). La découverte de l’électricité fournit une nouvelle
source d’énergie et aboutit à des équipements moins volumineux. Cela a fait émerger la produc-
tion en série avec ses nouvelles organisations (Fordisme/Taylorisme/Toyotisme), qui ont favorisé
le travail à la chaine. La troisième révolution "électronique et informatique" du 20e siècle est arri-
vée avec l’automatisme et la robotique. La révolution numérique arrive aujourd’hui avec la digita-
lisation des systèmes de production et leur mise en réseaux massive.
Les objectifs à atteindre par la numérisation sont variés. Historiquement l’objectif des sys-
tèmes de production était le remplacement de l’humain dans les tâches pénibles et/ou répétitives.
Ces systèmes devaient également exécuter des opérations impossibles à commander manuelle-
ment de par la cadence, la vitesse exigée et/ou le niveau de précision attendu. Ces exigences de
qualité de service, Quality of Services (QoS) ainsi que de Sûreté de Fonctionnement (SdF) ont ainsi
émergé. Les systèmes automatiques devaient permettre d’améliorer la productivité et les condi-
tions de travail ainsi que d’accroitre la sécurité. L’automatisation a permis la discrétisation de l’en-
vironnement en variable et a donc assuré une meilleure contrôlabilité des systèmes. De nos jours
la digitalisation n’est plus seulement sur l’environnement, mais aussi sur des comportements. En
effet les systèmes de production sont de plus en plus flexibles, ils peuvent maintenant réaliser
différentes opérations sur un ou plusieurs produits. Cette flexibilité entraine alors divers compor-
tements pour un même système de production que l’on cherchera à contrôler. Cette digitalisation
des systèmes de production, avec leur mise en réseaux sous forme de système contrôlé par le ré-
seau, Network Control System (NCS), engendre une augmentation de la surface d’attaque avec la
généralisation des systèmes de communication pour se rapprocher de l’IT. Les vulnérabilités ra-
joutées par cet état de fait mènent d’ores et déjà à la violation d’exigences de SdF. Ces exigences
devant être satisfaites pendant tout le cycle de vie du système, une surveillance de celles-ci est
nécessaire. Cette surveillance doit être établie durant le fonctionnement du système sans le per-
turber. Elle doit donc être indépendante des éléments à surveiller (contrôle, composant, supervi-
seur). Il est aussi nécessaire d’établir un modèle de sécurité permettant de détecter les violations
d’exigence et d’y remédier.
Les experts en sécurité ont en charge dès la conception du système de veiller au respect des
exigences de sécurité. Bien que reposant sur des normes communes au point de vue de la SdF, la
mise en réseau entraine l’ajout de nouvelles exigences dites de Cybersécurité. Or il n’y a pas vrai-
ment de référentiel commun à ce jour, à l’exception les premiers draft de la norme ISA 62443. Un
manque d’outil et de méthode apparait face à ces impératifs de sécurité et de vérification. De plus,
de nouvelles failles de sécurité sont utilisées chaque jour et ont déjà ciblé 50% des entreprises dont
77% sont des Petites ou Moyennes Entreprises, small medium entreprises (PME). Les répercutions
peuvent être dramatiques : -dégradation du produit -endommagement du système -atteinte du
personnel -détérioration de la QoS -etc ...
Il est donc nécessaire de disposer de méthodes et d’outils appropriés pour la sécurisation des
systèmes, adaptés à ces impératifs. Ceci peut se faire : en ayant une conception sûre avec (pare-feu,
réseau local virtuel, Virtual Local Area Network (VLAN) ...) pour éviter les attaques, ou au travers
l’ajout de dispositif de sécurité pour réduire ou neutraliser les effets.
2
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Introduction
Contexte
Les travaux présentés dans ce mémoire ont été réalisés dans le cadre d’une Allocation de RE-
cherche Doctorale (ARED). Avec un collaborateur professionnel historique du laboratoire, la so-
ciété Syleps (PME du groupe Fives de Lorient spécialisée dans la conception et l’implantation de
systèmes transitiques et de transtockage). Ils ont été effectués au sein du Lab-STICC de l’UBL.
Plusieurs projets ont déjà été réalisés au travers de cette collaboration. Notamment une méthode
d’obtention de commandes pour les systèmes complexes a été proposée à partir d’une approche
de conception par assemblage successif de composants et leurs caractérisations. Ce flot a été pro-
posé par [Lallican, 2007] et complété par un flot de simulation permettant la validation de la com-
mande simple d’un système. Ces flots ont été obtenus en utilisant les principes de l’Ingénierie
Dirigée par les Modèles, model driven engineering (IDM). Ils ont permis un transfert de compé-
tence au sein du Bureau d’Etude de la Syleps, par l’utilisation de l’environnement SimSED, afin de
concevoir et valider les parties commande et opérative d’un système avant l’implantation chez le
client. Dans un second temps une méthode pour la commande multi versions des systèmes tran-
sitiques reconfigurables, a été mise en œuvre au travers d’un flot de génération implémenté par
[Bévan, 2013]. Ce flot permet la génération du programme automate pouvant être chargé instan-
tanément dans celui-ci par les outils propriétaires (Straton, Unity). L’intégration d’outils comme
le Manufacturing Execution System (MES) pour piloter les systèmes de commande du système
de production a aussi été adressée. Ce nouveau flot a été outillé par ComGEM en respectant la
même méthode de conception et le même principe que le précédent. Expertisées avec succès ces
méthodes ont montré leur intérêt dans l’aide à la conception de programme de commande avec
validation avant implantation.
De nos jours, les problématiques de sécurité et SdF nous préoccupent. Nous souhaitons nous
inscrire dans la continuité des précédents travaux de façon à rendre plus robuste aux cyberat-
taques le système conçu. Les attaques peuvent affecter tous les niveaux de la pyramide CIM. Des
travaux, notamment sur les réseaux ont adressé les niveaux hauts (Le Système d’Information, in-
formation system (SI) de la technologie de l’information, Information Technology (IT)). Nous sou-
haitons les compléter en nous positionnant au niveau du réseau de terrain entre les capteurs ac-
tionneurs (n :0 du Computer-Integrated Manufacturing (CIM)) et l’automate (n :1 du CIM) Nous
donnons une représentation du positionnement dans la figure 1.
3
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Introduction TABLE DES MATIÈRES
Problématique
Les systèmes de production sont de plus en plus connectés et distribués à travers de denses
réseaux. Cette connectivité permet la remontée d’informations à des niveaux d’abstraction tou-
jours plus élevés et distribués (hiérarchiquement et géographiquement). Cet accroissement de la
densité, de la complexité et du nombre de points d’accès augmente la surface d’attaque de ces sys-
tèmes. Ces attaques sont de diverses natures, allant du déni de service jusqu’à la prise de contrôle
du système, en passant par l’exécution de "malware" ou "randsomware" et le vol ou la corruption
de donnée. L’une des interrogations que l’on pose est "comment sécuriser un Système Automatisé
de Production (SAP) face à ces attaques ?"
Des protections sont déjà présentes à haut niveau, cependant une fois celles-ci franchies le
système de contrôle automatisé industriel, Industrial Automated Control System (IACS), lui n’en
dispose pas ou celles-ci peuvent être contournées. Or l’IACS par nature induit des effets sur le
monde physique, allant de la détérioration de produit, jusqu’aux dommages corporels sur les hu-
mains, en passant par l’auto dégradation ou la détérioration de l’environnement. L’interface cyber
n’étant pas de confiance, une attaque sur celle-ci peut engendrer des retombées catastrophiques
sur l’interface physique. De plus l’interface physique peut ne pas être de confiance, car sujette
aux attaques physiques. Celles-ci peuvent engendrer des remontées d’informations pouvant cor-
rompre les systèmes de commande et/ou de supervision. Or ce genre d’anomalie n’est détectée
que trop tard et/ou reste difficile à diagnostiquer. Dans le monde IT, des stratégies de remédiation
existent comme : la neutralisation d’application malveillante ou la sauvegarde et la restauration
d’entité. Or dans l’IACS ces stratégies ne peuvent pas ou doivent être adaptées en raison de l’inter-
face physique. Cela nous a menés à poser nos verrous :
1. "Comment sécuriser un IACS ?"
2. "Comment faciliter l’intégration de la cybersécurité ?"
3. "Comment vérifier l’efficacité de la solution et nos apports ?"
Objectifs
Dans ce cadre, une approche globale partant de l’élaboration d’un dispositif de sécurité, puis
de la spécification d’une méthode de conception minimalisant le coût de développement de celui-
ci, jusqu’à la vérification de son intégration dans un système ainsi qu’une mesure des perturba-
tions que le dispositif occasionne a été proposée.
Nos travaux sont donc triples :
— la conception d’une solution permettant de détecter et réagir à des anomalies,
— l’élaboration d’une méthode pour faciliter la conception du dispositif de sécurité,
— la mise en place d’un environnement permettant de démontrer le fonctionnement et véri-
fiant les caractéristiques.
Pour ces objectifs :
1. la proposition d’une passerelle intelligente de sécurité sur le réseau de terrain, Field Bus
(FB), pouvant détecter et réagir à l’occurrence d’une anomalie, pour sécuriser le système
face aux effets indésirables de celle-ci.
2. la proposition d’une méthode permettant la génération automatique d’une configuration
pour la solution, à partir d’un langage décrivant les systèmes transitiques reconfigurables et
en l’étendant aux exigences de sécurité.
3. Enfin l’efficacité de la solution ainsi que de la méthode de configuration devront être confron-
tées à des cas concrets. Un cas d’étude simulé mettant en avant le besoin de sécurité dans
les IACS sera défini. Celui-ci sera mis en œuvre dans un démonstrateur composé d’un en-
vironnement de simulation outillé par SimSED, d’un environnement d’émulation reposant
sur par le toolkit Straton (IDE et Runtime)et d’un environnement de sécurisation avec la so-
lution. Il permettra d’évaluer la solution selon des métriques propres aux environnements.
4
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Plan
Ce mémoire s’organise en 5 chapitres
— Chapitre 1 : Présentation du contexte général de nos travaux de thèse, des problématiques
et besoins liés à la sécurisation de systèmes industriels.
— Chapitre 2 : État de l’art couvrant les moyens de sécurisation pour les SAP, les méthodes de
détection d’anomalie et les précédents travaux réalisés au Lab-STICC.
— Chapitre 3 : Présentation de la solution pour détecter et réagir face aux anomalies d’un sys-
tème (réponse au 1er verrou).
— Chapitre 4 : Proposition d’une méthode de configuration (réponse au 2ème verrou).
— Chapitre 5 : Mise en œuvre du cas d’étude dans un démonstrateur (réponse au 3ème verrou).
Enfin nous concluons ce mémoire et discutons de nos perspectives dans la dernière partie.
5
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
1 Les systèmes de production : principes et me-
naces
Albert Einstein
Sommaire
1.1 Les Systèmes de production . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.1.1 Les systèmes automatisés de production . . . . . . . . . . . . . . . . . . . . . 8
1.1.2 La dimension informationnelle dans les SAP . . . . . . . . . . . . . . . . . . . 9
1.1.3 Le référentiel CIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.1.4 Les systèmes transitiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.1.5 Les systèmes à événement discret . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.1.6 Synthèse et enjeux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.2 L’approche de conception du lab-STICC . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3 La menace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.3.1 Les attaques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.3.2 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.4 Problématique et besoins liés à la sécurité . . . . . . . . . . . . . . . . . . . . . . . 21
1.4.1 La sécurisation de l’IACS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.4.2 Faciliter l’intégration de la cybersécurité . . . . . . . . . . . . . . . . . . . . . 22
1.4.3 Vérifier l’efficacité de la solution et de nos apports . . . . . . . . . . . . . . . 23
1.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Figures
1.1 Les systèmes de production . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2 Le référentiel CIM pour l’industrie [Allot, 2014] . . . . . . . . . . . . . . . . . . . . . 9
1.3 Les SI d’une entreprise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.4 Exemple de système transitique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.5 Les typologies définies par J-L. Lallican . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.6 Méta modélisation du MES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.7 Flot de conception outillé avec ComGEM . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.8 Cartographie d’attaque sur les systèmes embarqués [Papp et al., 2015] . . . . . . . 16
1.9 Cartographie d’attaque ciblant les systèmes de production . . . . . . . . . . . . . . 17
1.10 Mapping de l’attaque Stuxnet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.11 Mapping de l’attaque de l’aciérie allemande . . . . . . . . . . . . . . . . . . . . . . . 19
1.12 Mapping de l’attaque Wanacry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.13 Répartition des incidents [CLUSIF, 1992] . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.14 Courbe du nombre d’incidents [CLUSIF, 1992] . . . . . . . . . . . . . . . . . . . . . . 20
1.15 Un cycle de développement avec la sécurité intégrée [Mabrouk, 2010] . . . . . . . . 21
6
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Tableaux
1.1 Tableau comparatif d’attaques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
7
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Les systèmes de production : principes et menaces
Ce chapitre propose une présentation du contexte de nos travaux de thèse ainsi que les concepts
de base de notre étude. La première section est consacrée aux systèmes de production. Dans un
premier temps, nous allons détailler les SAP, en introduisant le paradigme «CIM». Nous décrivons
ensuite la cible de nos travaux, le sous-système transitique. Cette description nous amène à carac-
tériser notre environnement d’étude, les Systèmes à Événement Discret (SED).
La section suivante présente les approches de conception du lab-STICC, aux quelle nous donnons
suite dans nos travaux.
La menace pesant sur les SAP est présentée dans la troisième section. Elle va nous permettre de
définir et caractériser la notion d’attaque dans notre environnement d’étude. Aussi elle fera émer-
ger un constat : "La cybersécurité est difficilement intégrable au système de production".
Enfin, nous aborderons les problématiques et besoins inhérents à la sécurisation de ces systèmes.
De nos jours, les objets et produits de notre quotidien sont passés partiellement ou totale-
ment par un système de production. Celui-ci a la charge de traiter de la matière d’œuvre pour lui
apporter de la valeur ajoutée de façon reproductible et rentable. Les traitements peuvent être du
déplacement, du stockage, de l’assemblage, de l’usinage ....
Les systèmes de production nécessitent de l’information provenant d’un système d’information
supérieur et de l’énergie, comme présentée en figure 1.1a
Plusieurs types de contrôle de production existent, ils sont présentés en figure 1.1b :
1) le batch répond à un type de procédé industriel semblable à celui de l’informatique. Le produit
fini est la résultante d’une série de tâches (transformations) faite par des systèmes sur un lot de
produits ex : ligne d’assemblage, préparation de commande ....
2) Le continu, ce second type de contrôle satisfait les besoins d’une production sans interruption
ex : textile, pétrochimique ....
3) Le discret, le dernier type de contrôle satisfait les besoins d’une production événementielle.
Le produit fini est la résultante d’une ou plusieurs opérations sur un produit ex : système transi-
tique, transtockage, usinage ....
8
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Cyber-Physiques, Cyber Physical Systems (SCP/CPS) [Lee, 2006]. La notion cyber vient de la di-
mension informationnelle qui s’ajoute à la précédente dimension physique, que l’on ce propose
d’introduire.
Le concept de CIM a été proposé par [Harrington, 1979] pour mieux structurer le système in-
formatique de l’entreprise, il accroit la productivité dans la fabrication de produit réalisé par une
entreprise, mais aussi la gestion et la conception par l’intégration des services de l’entreprise. Bien
que quelque peu "académique" vis à vis des réalités industrielles, celui-ci est la référence actuelle.
Ce concept peut être modélisé sous forme pyramidale 1.2a pour une représentation hiérarchique
ou à plat comme 1.2a afin de voir les modules et leurs interactions (opération). Ce modèle décom-
pose un SAP en 5 niveaux et est prôné notamment par la norme S95 [Brandl, 2000].
— Niveau 4 - Entreprise : Regroupement des services de l’entreprise dans un SI inter sites. À ce
niveau, l’outil le plus communément utilisé est l’ERP.
— Niveau 3 - Usine : Regroupement des services d’un site dans un SI intra site. C’est le MES qui
est communément utilisé.
9
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Les systèmes de production : principes et menaces
— Niveau 2 - Atelier : Supervision de la production pour un site. Divers outils peuvent être
implantés comme le SCADA dans un SI.
— Niveau 1 - Cellule : Regroupement d’équipements pilotant la production d’un ou de plu-
sieurs produits (gamme). Plusieurs architectures peuvent alors être utilisées pour ce SI(+/-
déterministe) : Hiérarchique, distribuée, centralisée.
Le choix de la "bonne" architecture est imposé par de multiples contraintes : budgétaire,
d’exploitation, fonctionnelle ou technologique [Zamaï et al., 2007].
— Niveau 0 - Machine : Regroupement de composants réalisant une opération ou des mesures
sur un produit. À ce niveau un SI est aussi présent, mais celui-ci est déterministe.
Cette décomposition fait émerger plusieurs SI que l’on peut regrouper selon leurs caractéristiques.
La figure 1.3a nous montre avec un point de vue de réseau, trois grandes catégories :
1) Le SI office IT (Nvx 4),
2) Le SI de gestion & supervision (Nvx 3 & Nvx 2),
3) Le SI de pilotage, contrôle & de terrain (Nvx 1 & Nvx 0).
Ce regroupement est le fruit d’une réflexion sur les caractéristiques des différentes informations.
Le premier disposera de bases de données volumineuses liant les différents services de l’entreprise
ainsi qu’un temps d’accès aux informations de l’ordre de la seconde. Le deuxième se compose de
base de données spécifique à la production et le temps d’accès aux informations est beaucoup
plus contraint (centaine de millisecondes). Le dernier quant à lui est déterministe avec une ga-
rantie d’accès aux informations de manière ordonnée et dans une plage de temps de l’ordre d’une
vingtaine de millisecondes.
Les systèmes de production sont de nos jours massivement connectés à travers de denses ré-
seaux, induits par leur étendue géographique et/ou logique. Le paradigme CIM bien que normali-
sant les flots d’information hiérarchique entre équipements pour la production, ne se préoccupe
pas des flots ne s’y rattachant pas ou non hiérarchiques (collaboration). Nos travaux sont princi-
palement dédiés a l’un des sous-systèmes, le transitiques, qui évoluent pour devenir de plus en
plus flexible et s’adapte aux productions personnalisables, qui intègre le pilotage par produit et la
reconfiguration.
10
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
La transitique est présente dans notre vie quotidienne et a tous les stades de la vie économique :
extraction, transformation, production, stockage, distribution, consommation, recyclage ... Aussi
elle représente 80% du parc d’équipements de toutes les industries, elle est donc omniprésente.
Certains SAP ajoutent de la valeur au produit uniquement avec la manutention et le stockage ex :
tri de bagage aéroportuaire, tri de courrier, stockage en entrepôt ...
Les tâches qui incombent à ces systèmes sont typiquement : du convoyage, du stockage, de l’iden-
tification.
— le convoyage, fait transiter de la matière d’un point A à un point B en respectant des contraintes
temporelles et à travers un réseau de manutention,
— le stockage, bloque sur ou en dehors du réseau de manutention de la matière,
— l’identification, gère et pilote les flux de matière et produits.
L’industrie de la manutention offre de nombreuses solutions qui ont pour vocation la gestion des
flux physiques et l’information qui les accompagnent. Les systèmes transitiques dont un exemple
est donné en figure 1.4 ont comme fonction première le déplacement du produit, mais au-delà de
ça ils optimisent les flux physiques. Ils sont constitués d’un nombre limité de composants. Ces
Les systèmes transitiques sont considérés comme des SED de par leur commande, essentielle-
ment discrète, et de par le flux physique sur lequel ils opèrent qui est relativement décomposable
[Mouchard, 2002]. Nous allons introduire les SED.
11
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Les systèmes de production : principes et menaces
La notion de SED [Cassandras and Lafortune, 2009] permet de modéliser des systèmes informa-
tiques, embarqués ou de production et des réseaux de communication ou de transport (logistique
-> transitique). Un SED doit satisfaire deux propriétés :
— l’espace d’état de celui-ci est discret,
— la transition entre deux états est déclenchée par un événement.
Nos travaux font suite à ceux de R. Bévan dans le cadre des approches de conception. Notam-
ment sur la génération et la simulation de contrôle et de configuration MES, pour les systèmes
transitiques, que nous présentons dans la section suivante.
12
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
(a) Typologie des composants
F IGURE 1.5 – les typologies pour les composants, les vues (non détaillé), les opérations
13
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Les systèmes de production : principes et menaces
Enfin il a intégré les résultats de F. Lamotte, avec la prise en compte d’une gestion de la pro-
duction (MES) pilotant les opérations. Il a donc créé un nouveau langage de spécification métier,
Domain Specific Language (DSL), modélisant le MES et ses fonctions comme montrées en figure
1.6.
14
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
MES
CONF
Configuration QCADOO
QCADOO
Step 4
NO Valide ?
Component Library
1.3 La menace
Les systèmes de production sont sujets aux attaques informatiques.
Cette menace est présente pour tous les équipements de l’entreprise. Cependant les tech-
niques classiques s’appliquent dans les hauts niveaux, car les entités sont protégées par des pare-
feu et d’autres dispositifs de l’IT.
Au niveau de l’IACS, très peu de solutions garantissant des exigences de sécurité face à cette
menace sont présentes, ou celles-ci ne prennent pas en compte l’environnement de la technologie
des opérations, Operation Technology (OT) des entités.
Or celui-ci permet de spécifier des comportements physiques pour notre système transitique.
L’effet d’une attaque conduit a un comportement anormal du système, mais cette attaque peut
aussi être physique (venant du terrain) que cyber (venant des réseaux). En effet les entités d’un
IACS disposent de ces deux interfaces qui peuvent les engendrer.
Cette disparité de la protection à travers les niveaux hiérarchiques. Entraine des anomalies
symptomatiques des attaques à bas niveau. Analysons donc les caractéristiques des attaques.
Une attaque selon l’Agence Nationale pour la Sécurité des Systèmes d’Information (ANSSI)
est : «une tentative d’atteinte à des systèmes d’information réalisée dans un but malveillant. Elle
peut avoir pour objectif de voler des données (secrets militaires, diplomatiques ou industriels,
données personnelles bancaires, etc.), de détruire, endommager ou altérer le fonctionnement nor-
mal de systèmes d’information (dont les systèmes industriels)» [ANSSI, 2013]
C’est aussi : «l’emploi de capacités cyber dans le but 1er d’atteindre des objectifs dans ou par le
cyberespace [. . . ], utiliser des ordinateurs en réseau dans le but de perturber, interdire, dégrader,
manipuler ou détruire des informations dans le système d’information cible»
Sur les systèmes cyber l’impact est plus ou moins important selon l’information contenue. Mais
sur les systèmes transitiques, les effets sont bien plus catastrophiques, car ils sont en interaction
avec les flux de matière et les systèmes de transformation.
Une attaque sur un Opérateur d’Importance Vitale (OIV) comme une centrale nucléaire, une grande
industrie du CAC40, une industrie sévézo, peut engendrer des pertes humaines, matérielles et im-
15
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Les systèmes de production : principes et menaces
La méthode d’évaluation des risques la plus utilisée en France est [EBIOS, 2010] créée en 1995 par
la DCSSI et remise au goût du jour par l’ANSSI en 2010. Cette démarche outillée instrumente les
caractéristiques afin d’évaluer le risque et les conséquences d’une attaque sur l’entreprise.
Un travail de classification réalisé par [Papp et al., 2015] permet d’établir des cartographies
d’attaques. Celles-ci nous montrent lorsque l’on y superpose des attaques recensées quelles sont
les voies les plus couramment utilisées. Comme nous le montre la figure 1.8.
F IGURE 1.8 – Cartographie d’attaque sur les systèmes embarqués [Papp et al., 2015]
16
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Nous avons repris la cartographie de la figure 1.8 en l’adaptant de manière spécifique à l’envi-
ronnement OT donnée en figure 1.9. Nous nous intéressons plus particulièrement aux effets phy-
siques induits par le vol, la modification ou le blocage de donnée. Une attaque s’établit sur un
support cyber et induit un effet sur une cible qui provoquera un effet physique sur une entité en
interaction avec la cible.
On se propose d’analyser trois cas d’attaque dans le domaine manufacturier, afin de les map-
per sur notre cartographie, mais aussi chiffrer leurs caractéristiques pour les comparer et établir
des catégories d’attaques.
L’attaque Stuxnet [Falliere et al., 2011] a été l’une des plus complexes à ce jour. Sans pour autant
causer de victimes ou de dommage, elle a fortement diminué la production du système visé. Aussi
cette attaque était la première du genre qui ne cible qu’un seul système malgré une contamination
première étendue. Les étapes de l’attaque ont été :
1. la propagation d’un ver par des médias USB
2. l’identification par celui-ci du système visé ou la poursuite de la contagion
3. l’ouverture d’un canal de communication dans le système visé
4. la mise en place d’un malware modifiant les informations remontées et reçues par la Partie
Opérative, operational part (PO) (chemin plein rouge sur l’image 1.10)
Le résultat a été une augmentation de la vitesse de rotation localisée à certaines ressources, mais
qui se propageait aléatoirement. Le résultat fut un système de production globalement perturbé,
par la mise en maintenance programmée des ressources et un service de maintenance inapproprié
(chemin en pointillé rouge sur l’image 1.10). Comme on peut le constater, cette attaque nécessi-
tait une grande connaissance de la cible ainsi que de grandes compétences en développement et
stratégie. D’ailleurs l’entité à l’origine de cette attaque n’a toujours pas été clairement identifiée et
ne le sera sans doute jamais.
17
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Les systèmes de production : principes et menaces
L’attaque du four d’une aciérie allemande [Robert M. Lee, 2017] fut la plus coûteuse dans le
domaine industriel. Elle a détruit un four sidérurgique, d’une valeur estimée à plusieurs millions
d’euros, à cela il faut ajouter la perte de production engendrée. Bien qu’ayant causé plus de dom-
mage cette attaque fût moins complexe que la première. L’attaque était ciblée et localisée sur les
contrôleurs du four qui étaient connectés comme illustré en figure 1.11.
Wanacry [CERT, 2017] ne ciblait pas spécifiquement les industries cependant, ce sont elles qui
ont été les plus lésées. En effet ce crypto virus exploitait une faille de sécurité dans le système
d’exploitation, Operating System (OS) lui permettant de se propager. Mais surtout de crypter l’in-
formation de l’entité infectée. Or les automates, ordinateurs, l’IIoT et même les robots (toutes les
entités d’un CPS) y étaient sensibles. Donc beaucoup de ressources d’entreprise ont été cryptées
comme illustré en figure 1.12. Les entreprises alors disposaient de plusieurs solutions non exclu-
sives : Payer les pirates pour avoir la clef de décryptage. Attendre le patch permettant de combler
la vulnérabilité. Attendre une solution de décryptage. Remplacer tous leurs équipements infectés.
Faire fonctionner les équipements sains sans réseau (Internet).
1.3.2 Synthèse
Nous allons comparer les attaques avec un niveau supérieur d’abstraction : Notre évaluation
va porter sur la sévérité d’une attaque, qui est difficile à évaluer, car plusieurs critères doivent être
pris en compte : l’effet de l’attaque, la stratégie, la discrétion, l’étendue. Nous avons analysé les
rapports et distribué des points en prenant comme paramètre : le coût de l’attaque, le nombre de
cibles infectées dans différents SI, le plan d’attaque globale, la durée avant détection.
On constate dans le tableau 1.1 que Stuxnet et Wannacry ont un total bien plus élevé que l’attaque
TABLEAU 1.1 – Tableaux comparant des attaques selon : la stratégie, la discrétion, les effets, l’étendue
18
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
F IGURE 1.11 – Mapping de l’attaque de l’aciérie allemande
19
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Les systèmes de production : principes et menaces
de l’aciérie allemande. Nous faisons une distinction donc entre des attaques majeures qui ont un
total supérieur/égale à 20 et les mineures avec un total inférieur. Cette distinction est principale-
ment due au niveau de connaissance en informatique et du système ciblé.
En effet pour Stuxnet et Wannacry, les deux connaissances ont été mobilisées par les attaquants
en trouvant une faille 0-day ou par la stratégie mise en œuvre. Pour l’aciérie allemande, l’attaque
bien qu’ayant causé des dommages considérables n’a pas nécessité une grande connaissance du
système ou de l’informatique, car les équipements de sécurités étaient connectés.
Le CLUb de la Sécurité de l’InFormation (CLUSIF) a analysé plusieurs incidents cybernétiques et
les a aussi classés comme montrés en figure 1.13, mais selon deux axes la gravité et la complexité.
La gravité étant représentée par l’effet dans notre analyse et la complexité par les trois autres cri-
tères. Un autre constat est que le nombre d’incidents augmente malgré la mise en place de solution
de sécurité comme nous le montre la courbe de la figure 1.14.
Dans cette section nous avons établi un constat, les attaques sont en augmentation. Mais aussi
qu’elles n’ont pas besoin d’être complexes pour être grave et cause des effets physiques catastro-
phiques. C’est ce qui a motivé nos travaux sur la problématique de sécurisation de la partie opé-
rative des systèmes de production, que l’on détaillera dans la section suivante.
20
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
1.4 Problématique et besoins liés à la sécurité
Plusieurs experts sont en charge de la conception d’un système :
l’ingénieur process fait correspondre les besoins de transformation d’un processus à un cahier
des charges ; l’intégrateur trouve des solutions techniques satisfaisant le cahier des charges ; l’ins-
tallateur réalise l’implantation des machines spatialement et en tenant compte de tous les flux ;
l’automaticien se charge de concevoir les commandes et programmes pour les API. Comme on
peut le constater dans la figure 1.15, la sécurité est le plus souvent distribuée entre tous les acteurs
de la conception. Cependant de nos jours des experts de la sûreté de fonctionnement et du mana-
gement du risque voient le jour. Ils se chargent de fédérer tous les points de vue tout en proposant
des solutions de sécurité.
Ces experts interviennent dès la phase de spécification. Ils doivent relever un défi majeur, le
calcul des risques : Trouver l’adéquation entre le risque que le procédé soit : stoppé, dégradé ou
corrompu (que le processus s’effectue, mais pas de la bonne manière) et le coût engendré par une
solution de sécurité par rapport à celui des pertes estimées. Le risque prend en compte la probabi-
lité d’occurrence et l’impact d’une anomalie sur celui-ci. Cela permet de spécifier temporellement
et spatialement où il faut sécuriser le système ainsi que l’investissement qui doit être fourni par
rapport au coût si on ne le fait pas. Parallèlement la validation d’une solution de sécurité doit être
faite au plus tôt dans le cycle de conception. Il y a donc ici un besoin d’intégrer des méthodes pour
les experts en sécurité dès la conception ainsi que fournir des solutions configurables de sécurité.
Actuellement les moyens ((prévention, prévision, tolérance aux pannes ...) s’avèrent insuffisants.
Dans nos travaux nous cherchons à fournir des moyens supplémentaires.
Dans le paradigme actuel du "toujours plus vite, toujours plus personnalisable et toujours
moins cher", les concepteurs de système doivent faire face à plusieurs challenges :
— La complexité : les systèmes de production industrielle sont de plus en plus complexes tant
au niveau matériel que logiciel
— L’étendue de la flexibilité : la personnalisation et/ou les gammes étendues de produits né-
cessitent des processus adaptables voire des usines flexibles. Elles doivent être les plus per-
missives possible en diminuant les coûts.
21
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Les systèmes de production : principes et menaces
— L’hyper connectivité : les systèmes sont de plus en plus connectés entre eux et vers le monde
extérieur
— Les impératifs de sûreté de fonctionnement : les systèmes doivent être sûrs, s’auto diagnos-
tiquent et réagissent lors de détection.
Ces constatations ainsi que les différents points de vue d’industriels ont fait émerger une pro-
blématique concernant la sécurité des systèmes de production. En effet ceux-ci se rapprochant
des SCP/CPS, ils deviennent de plus en plus complexes et connectés. Leur sensibilité aux attaques
n’en est que plus augmentée. Les sections suivantes mettent en exergue nos verrous face à la sé-
curisation des systèmes industriels. La première partie 1.4.1 : traite de la définition de méthodes
et d’outils pour sécuriser un système de production.
La deuxième partie 1.4.2 : porte sur la facilitation l’intégration de la cybersécurité.
Pour conclure, la troisième partie 1.4.3 : aborde la vérification de l’apport de nos propositions.
.
Aussi des méthodes de détection et réaction devront être adaptées aux ressources informa-
tionnelles que le dispositif exploitera. Celles-ci devront être efficaces pour détecter et réagir aux
attaques ainsi qu’aux défaillances. Plusieurs approches ou domaines peuvent être exploités, mais
nous nous plaçons volontairement au niveau des effets (dans l’environnement OT), comme étant
le dernier rempart et le premier observateur.
L’environnement OT permet le rapprochement avec la SdF qui est selon [Laprie et al., 1995] :
"une propriété permettant aux utilisateurs d’une entité de placer leurs confiances en elle par rap-
port à son comportement/service qu’elle délivre."
Ainsi nous sommes complémentaires des méthodes de l’IT, permettant une plus grande cou-
verture des attaques. En effet nous l’avons introduit en section 1.3 les objectifs d’une attaque sont
dénombrables, mais pas les moyens d’y arriver.
L’ensemble de méthode étant ciblé, nous devons spécialiser le dispositif de sécurité par rap-
port à la cible. Les méthodes devront donc s’adapter à la fois aux anciens et nouveaux systèmes.
Notre constat est que la cybersécurité est difficilement intégrable dans les systèmes indus-
triels. En effet les anciens systèmes ont été conçus sans ces préoccupations et avec une longévité
conséquente. Il est difficile maintenant d’y intégrer la cybersécurité, cela peut avoir un coût finan-
cier et nécessite des compétences supplémentaires.
Les travaux de ce mémoire vont présenter un dispositif de sécurité adaptatif pour les systèmes
industriels. Cependant comme dit précédemment ce dispositif s’appuie sur des méthodes et des
ressources afin de protéger un système de production. Or l’une des difficultés est de spécialiser le
dispositif pour un système.
22
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Il serait intéressant de proposer une méthode simplifiant l’intégration de la cybersécurité pour
les industriels. Ainsi qu’une méthode permettant la génération ou la configuration des solutions
de sécurité.
1.5 Conclusion
La sécurisation des systèmes de production est un enjeu mondial de notre époque. Il com-
mence à se faire sentir de par la recrudescence d’attaque ciblée ou non. Comme celle présentée
en section 1.3, le futur est incertain, mais l’évolution inévitable. Les politiques actuelles du "tou-
jours plus" (rapidement et de manière sûre) et du "toujours moins" (coûteux, d’actifs immobi-
lisés), s’ajoutent à la complexification des gammes de produits et des systèmes. Cela renforce le
constat suivant : la sécurisation d’un système de production est vitale, elle doit détecter des com-
portements anormaux et y remédier, elle doit être spécifiée en aidant l’homme à concevoir des
systèmes sûrs. Ce chapitre a décrit le contexte général de nos travaux de thèse. Nous avons pré-
senté notre cible le système transitique d’un SAP. Ensuite nous avons présenté un état de l’art local
sur les approches de conception. Puis nous avons détaillé la menace qui pèse sur ces systèmes et
leurs conséquences. Ce qui nous a amenés à formuler la problématique de la sécurisation de sys-
tème de production, d’où nous en avons tiré des besoins principaux :
— Définir des méthodes et un dispositif permettant de sécuriser les IACS
— Faciliter l’intégration de la cybersécurité
— Permettre la vérification / validation de l’apport des propositions
23
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Les systèmes de production : principes et menaces
Mais avant de vous présenter notre solution ainsi que l’approche permettant de la configurer
et sa vérification. Nous allons dresser un état de l’art sur la sécurité, les réseaux et les plateformes
de test.
24
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
2 État de l’art
André Ampere
Sommaire
2.1 Les protections industrielles pour l’IACS . . . . . . . . . . . . . . . . . . . . . . . . 27
2.1.1 La gestion des accès . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.1.2 La connaissance et gestion des systèmes d’information . . . . . . . . . . . . 29
2.1.3 La mise en place de zones et conduits . . . . . . . . . . . . . . . . . . . . . . . 29
2.1.4 La connaissance des communications . . . . . . . . . . . . . . . . . . . . . . 31
2.1.5 La connaissance des événements . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.1.6 La gestion des sauvegardes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.2 Les approches académiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.2.1 Panorama de la détection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.2.2 Panorama des contres mesures . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.3 Les approches bas niveau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.4 Comparatif des principales approches de sécurisation . . . . . . . . . . . . . . . . 39
2.5 Comparatif des principales plateformes de test . . . . . . . . . . . . . . . . . . . . 41
2.5.1 Plateforme SENAMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.5.2 Factory IO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.5.3 Plateforme TAIGA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.5.4 Comparatif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.5.5 Synthèse des plateformes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Figures
2.1 Les modèles d’intercommunication . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.3 les solutions pour la connaissance ou la gestion des SIs . . . . . . . . . . . . . . . . 29
2.4 Réseau local virtuel (VLAN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.5 Réseau privé virtuel (VPN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.6 DeMilitarized Zone DMZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.7 L’inspection profonde de paquet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.8 Le gestionnaire d’événement ou d’information de sécurité . . . . . . . . . . . . . . 32
2.9 Exemple d’un système de sauvegarde redondante . . . . . . . . . . . . . . . . . . . . 33
2.11 Une synthèse des méthodes, outils et recherches . . . . . . . . . . . . . . . . . . . . 40
25
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
État de l’art
Tableaux
2.1 comparaison des approches de sécurisation . . . . . . . . . . . . . . . . . . . . . . . 40
2.2 Synthèse des plateformes de test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.3 Comparatif des plateformes de test . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
26
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Le chapitre précédent a exposé notre contexte avec l’environnement de recherche et les me-
naces qui pèsent sur celui-ci. Une attaque est une malveillance intentionnelle et orientée. Dans
le monde cyber elle aura comme finalité : le blocage, le vol ou la modification des données. Dans
le monde physique pour la partie opérative elle est considérée comme un événement portant at-
teinte à : la fiabilité ou la disponibilité de l’IACS, l’intégrité physique du système qui la subit ou
la sécurité physique des biens et personnes qui interagissent avec le système. Aussi les probléma-
tiques et besoins liés à la sécurisation d’un IACS ont été pourvus.
Fort de ce contexte, on se propose ici de dresser un état de l’art couvrant les approches visant
à sécuriser un système de production, puis les différents outils ou plateforme de test. Chacun de
ces deux axes sera suivi d’une analyse comparative. Afin de déterminer notre placement en terme
de protection, de recherche, et de plateforme de test.
L’approche basée sur le flot d’information (informationnelle) est massivement utilisée dans
les solutions de sécurité pour les SI industriels. Elle pourvoit des méthodes et outils pour détecter
des anomalies par le réseau via l’information qui y transite. L’avantage de cette approche est que
l’on ne s’intéresse pas à l’information en elle-même, mais plutôt à ses caractéristiques pour tran-
siter sur le réseau. En effet toute communication va nécessiter des mécanismes, on parle de pro-
tocoles. Ils vont décrire comment l’information va passer du détenteur de celle-ci aux différents
acquéreurs et sous qu’elle forme (comment la comprendre et l’interpréter). Ces différents acqué-
reurs sont des entités du flot qui peut être modélisé : Le plus connu, générique et historique est
F IGURE 2.1 – Les modèles OSI à 7 couches et TCP-IP à 4 couches pour l’intercommunication.
le modèle Open Systems Interconnection (OSI) proposé en 1978 [OSI, 2017]. Celui-ci découpe en 7
couches une intercommunication entre des entités ouvertes (dont l’adjonction ou la suppression
ne modifie pas le comportement global du réseau). Ce modèle devait logiquement mener à une
normalisation internationale des protocoles pour tous les constructeurs d’équipement réseau par
la définition des fonctions de chaque couche. Puis l’International Standards Organisation (ISO)
propose le sien en 1984. La complexité du modèle OSI dans son implémentation ainsi que d’autres
paramètres ont fait de lui un modèle de description plutôt que d’exécution. Par ailleurs, grâce à sa
simplicité, le modèle Open Transmission Control Protocol/Internet Protocol (TCP-IP) [TCP, 2017],
27
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
État de l’art
à donné naissance aux protocoles TCP et IP, aujourd’hui utilisés de manière massive grâce à l’éclo-
sion d’Internet.
On peut catégoriser deux types de protocoles :
— ceux de couche basse TCPIP {hôte réseau, Internet} ou OSI {physique, liaison de donnée,
réseau}, qui décrivent les mécanismes servant à faire transiter l’information.
— ceux de couche haute TCPIP {transport, application} ou OSI{transport, session, présenta-
tion, application}, qui décrivent les mécanismes servant à sécurisé et traiter l’information.
Les méthodes de sécurité employées seront donc différentes selon les types de protocoles et
d’interfaces ciblés.
La norme [ISA/IEC 62443-3-1, 2009] ainsi que le guide [Stouffer and Falco, 2006] du National Insti-
tute of Standards and Technology (NIST) présentent l’ensemble de ces méthodes. Cependant nous
allons lier les solutions industrielles de sécurité, aux préconisations du guide de l’ANSSI [ANSSI-
GT-SI, 2014] qui en est un sous ensemble. Ces préconisations permettent de conseiller et guider
des responsables dans l’élaboration et le maintien de leurs SI.
Ces bouchons [Rotronic, 2014] dont un exemple, est donné en figure 2.2a, bien que rudimen-
taire ils sont la première ligne de défense. Ils neutralisent l’ajout de solution servant de support
à une attaque, sur des ports d’accès physique du réseau ou des équipements. Les bouchons per-
mettent principalement la diminution de la surface d’attaques d’un SI par prévention.
Les bastions [WALLIX, 2018] sont présentés en figure 2.2b, ils sécurisent l’accès à des services
ou de l’information par de l’authentification multicritère et d’autres méthodes décrites dans les
prochaines sections. Leur rôle est de protéger les parties privées d’un SI, d’attaques venant de
l’extérieur en fournissant une ou plusieurs barrières. L’authentification multicritère et le pot de
miel neutralisent ou détectent des méthodes exploratoires. Tandis que des barrières comme les
pare-feu avec la redirection de port sont aussi mis en place pour réagir. Les bastions diminuent
aussi la surface d’attaque, mais face à la menace extérieure en combinant de la prévention ainsi
que de la détection réaction.
Cette préconisation sur la gestion des accès est liée à la prochaine, car c’est en connaissant et
gérant sont SI, que l’on peut mieux sécuriser les accès physiques et/ou cyber.
28
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
2.1.2 La connaissance et gestion des systèmes d’information
La deuxième préconisation de l’ANSSI concerne toute la cartographie du SI. En effet nous
avons pu le constater dans la section précédente qu’une attaque a comme précondition un moyen
d’accès. Cependant toute entité du SI peut être considéré comme un moyen d’accès. Il faut donc
connaitre et gérer toutes ces entités.
La cartographie [Sentryo, 2000] illustrée en figure 2.3a permet d’acquérir de la connaissance
sur les entités et les flots. Aussi elle permet de les représenter graphiquement. Les switchs mana-
geables 2.3b et les pare-feu 2.3c sont des solutions permettant la gestion des flots d’informations.
F IGURE 2.3 – les solutions pour la connaissance ou la gestion des systèmes d’informations
Une fois toutes les entités d’un système connues, un regroupement et une hiérarchisation de
ceux-ci sont nécessaires.
Un VLAN [Stormshield, 2019] est présenté en figure 2.4, c’est une solution faisant transiter des
flots d’information indépendants sur un même média physique avec comme intérêts :
— une meilleure gestion du réseau,
— la segmentation, qui augmente la sécurité avec des ensembles logiques isolés (zones).
Un réseau privé virtuel, Virtual Private Network (VPN) [VPN, 2017] est décrit en figure 2.5.
Cette solution est dédiée principalement aux communications entre entités distantes (conduits).
29
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
État de l’art
Mais aussi elle permet de superposer les réseaux afin de s’abstraire de la topologie sous-jacente.
L’un des avantages est la mise en place du chiffrement sur ce support.
30
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
F IGURE 2.6 – DeMilitarized Zone DMZ
L’inspection profonde de paquet est illustrée en figure 2.7. C’est une méthode utilisée pour clas-
sifier des communications. Elle traite et classe par rapport aux protocoles utilisés en dépilant les
entêtes d’un paquet selon les couches du modèle OSI. Puis elle analyse les informations conte-
nues dans les paquets. Cette méthode est une référence pour de nombreux "system de détection
d’intrusion, Intrusion Detection System (IDS)" ou "system de prévention d’intrusion,Intrusion Pre-
vention System (IPS)", car elle est la "pierre de Rosette des réseaux". De nombreux outils l’ont op-
timisé par des implémentations matérielles [Cho and Mangione-Smith, 2004] ou algorithmiques
[Dharmapurikar et al., 2003] [Yu et al., 2006] Elle peut maintenant cibler des réseaux denses faisant
transiter plusieurs gigabits/secondes d’information. la DPI est même utilisée par certains four-
nisseurs d’accès pour fournir une sécurité amont [Smallwood and Vance, 2011], mais aussi pour
détecter de mauvaises utilisations d’Internet par l’utilisateur comme le piratage de contenu.
Cependant elle doit être couplée avec d’autres pour sécuriser réellement un système, car la
DPI est une méthode de lecture et de classification de trafic. D’autres méthodes utiliseront cette
classification pour prendre des décisions de sécurité. cependant un troisième point de vue relatif
au temps est aussi disponible notamment avec la solution des "baselines"
Les baselines sont utilisées dans l’outil industriel Sentryo par exemple. Cet outil permet de sur-
veiller des réseaux avec des sondes physiques qui observent l’ensemble du trafic. Ces sondes en-
voient des rapports à une application (le center) qui a une connexion avec une base de données
constructeur, cette base de données permet de reconnaitre et interpréter tous les protocoles de
transport ou de réseau et même certains applicatifs (DPI). Ainsi les sondes fournissent une carto-
graphie du réseau qui est observé. En combinant la cartographie et les rapports, le "Center" peut
alors lier toutes les entités avec leurs communications. C’est là que les baselines jouent un rôle, car
la cartographie des communications est historisée. L’utilisateur à partir du "Center" va configurer
des références temporelles de communication exemple : "l’hôte 1 peut recevoir des requêtes : File
Transfert Protocole (FTP) des machines 5 à 10 entre 6 h et 7 h". Cette règle assez semblable à celle
31
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
État de l’art
d’un pare-feu a pour but de contraindre l’observation des communications. Ainsi si une commu-
nication déroge à cette règle ( une autre machine tente d’y accéder ou il y a un accès sur une plage
horaire différente. Alors cela sera détecté comme une communication anormale et signalé. Cette
méthode utilise le résultat de la DPI en le calquant sur une cartographie et en la comparant avec
des contraintes fixées par l’utilisateur. Elle réclame donc une configuration par l’utilisateur qu’il
devra la faire évoluer au besoin.
La communication engendre des événements sur les différentes entités qui interagissent avec.
Or ces événements peuvent eux aussi fournir des connaissances.
32
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
2.1.6 La gestion des sauvegardes
La gestion des sauvegardes du système est la dernière préconisation de l’ANSSI. Elle est dédiée
à la remédiation d’une attaque visant à manipuler l’information du SI. En effet une fois l’attaque
neutralisée, le système d’information doit reprendre son fonctionnement avec des informations
de confiance. Le réseau de stockage, Storage Area Network (SAN) est une solution dédiée à cette
méthode et présentée en figure 2.9. La mutualisation des ressources de stockage permet la remé-
diation en retrouvant les informations de confiance stockées.
Les protections industrielles tirent partie des avancées et standardisation sur la technologie de
l’information. Cependant bien que permettant d’éviter l’attaque ou sa propagation, la détection
d’attaques avec une méthode inédite est ardue et nécessite encore aujourd’hui des travaux.
33
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
État de l’art
Ce type d’approche vise à détecter les mauvais comportements d’un système par observation
du comportement des utilisateurs (humains ou machines). Elle a été introduite par [ANDERSON,
1980] et reprise par [Denning, 1987] et [Lunt et al., 1989]. Dans l’environnement OT, les ordres/-
informations nous permettent de déterminer l’état courant (t) d’un système et l’état suivant (t+1).
Les variables de contrôle comme les ordres sont relatifs à l’état courant ; les informations sont re-
latives aux changements d’état. Elles sont données par des entités de même niveau hiérarchique
ou inférieur : Automate, capteur ou actionneur. À cela s’ajoutent les niveaux hiérarchiques avec
des variables de commande, données par des entités de niveaux hiérarchiques supérieurs : Four-
nies par l’homme via des Interfaces Homme-Machine (IHM) ou par des services du MES. Toutes
ces variables sont des informations transitant sur le SI de l’IACS et représentent l’état du système
selon plusieurs points de vue :
— Supervision : ensemble d’informations transitant sur les interfaces cyber du MES ou du
SCADA par exemple.
— Commande : ensemble d’informations transitant sur l’interface cyber des PLC par exemple
et provenant du niveau supérieur exemple les variables globales de commande.
— Contrôle : ensemble d’informations transitant sur l’interface cyber/physique des PLC par
exemple et provenant du même niveau ou inférieur exemple les IO/les variables globales
inter automates.
— Physique : ensemble d’informations transitant sur l’interface des acteurs du processus et
provenant du niveau supérieur exemple les IO.
34
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
La méthode fait appel à la modélisation mathématique d’un système ainsi que sa simulation. La
modélisation décrit le comportement en liant par équation les sorties aux entrées. La simulation
permet d’avoir les sorties résultantes aux entrées par la résolution des équations à différents pas
de temps temporels. Ainsi en caractérisant avec des paramètres pour borner le fonctionnement
normal du système, on détectera une divergence ainsi que son échéance avant même l’envoi de
l’information. Une réaction qui sera détaillée dans une autre section 2.2.2.1 peut être déclenchée.
Bien que très intéressante en termes de détection cette méthode à deux gros inconvénients : 1)le
décalage de tous les envois d’informations dans le temps. En effet, il faut le temps de simuler avant
d’envoyer l’information quand elle est valide. Cela pose un problème pour les réseaux de terrain,
car ils deviennent non déterministes. Cependant pour sécuriser un réseau hiérarchiquement su-
périeur (au-dessus du premier niveau d’intelligence), cette solution est tout à fait appropriée. 2)la
non-prise en charge d’anomalie provenant du premier niveau d’intelligence (le robot) ou de la par-
tie physique. En effet, les informations à valider sont majoritairement pour commander à hauts
niveaux le système. Cela pose un problème, car les informations de bas niveau provenant des ac-
teurs du procédé ne sont elles pas validées. Donc des anomalies issues d’un mauvais comporte-
ment physique ne sont pas détectées.
D’autres méthodes plus spécifiques au bas niveau d’un SAP, avec cette même approche seront
détaillées dans la prochaine section 2.3. Cependant une autre approche vous est introduit qui
complète la première.
La comparaison avec signature détecte en comparant l’état du système avec une modélisation
comportementale et temporelle (les Signature Temporelle Causale, causale temporal signature
(STC)). Une STC est une contrainte fixant un comportement du système dans le temps. La com-
paraison entre l’évolution du système dans le temps et le déroulement d’une STC précédemment
activée, permet la détection et le diagnostic de mauvais comportements dans un SED. Cette mé-
thode décrite dans [Saddem and Philippot, 2014] synthétise les deux premières. Elle valide l’exé-
cution d’une fonction en vérifiant tous les comportements que la fonction occasionne. Aussi en
cas d’anomalie elle permet son diagnostic. 3 grands types d’anomalies peuvent donc être détectés.
Cependant le diagnostic quant à lui se fera sur les défaillances de la partie opérative.
— corruption d’information
— corruption d’entité
— défaillance de composant
Dans cette section nous avons présenté deux approches de détection pour les IACS. Cepen-
dant pour une sécurité optimale la détection doit s’accompagner de réaction (contre mesure). Le
lien entre les deux se fera par des moteurs décisionnels, qui en fonction des différents rapports de
détection décideront de la réaction appropriée.
35
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
État de l’art
Les réactions actives vont avoir une influence sur le système en interagissant avec ses inter-
faces. Elles peuvent garantir un fonctionnement minimal, mais leur exécution a l’obligation de
garantir la sécurité du système par rapport :
— à son environnement
— aux personnes qui interagissent avec lui
— aux autres systèmes qui dépendent de lui
— à lui même
Le cloisonnement d’un système consiste à neutraliser le média ou son interface, afin de le pri-
ver d’échange d’information vers l’extérieur. Elle sera définie selon la temporalité par rapport à
l’attaque.
— avant, c’est l’isolation logiciel et/ou physique des réseaux par exemple avec VLAN ou pare-
feu. Elle permet de ne pas propager les attaques d’un réseau à un autre [Chowdhury and
Maier, 2010].
— pendant, c’est l’isolation commandée soit par un dispositif tiers comme TAIGA [Lyn et al.,
2015].Elle permet d’éviter la propagation lorsque la cible est infectée, mais aussi de mainte-
nir un fonctionnement autonome si elle ne l’est pas.
— après, l’isolation peut être une solution à long terme, pour une entité qui n’a pas la nécessité
de communiquer avec d’autres.
Le sectionnement où l’isolation des réseaux peut être faite physiquement avec l’emploi de ma-
tériels comme les pare-feu, ou d’architectures DMZ, mais aussi virtuellement avec des VLAN ce
qui n’exclut pas la DMZ, celle-ci sera virtuelle. Cette méthode de réaction est efficace, cependant
l’isolation peut être impossible du point de vue des impératifs de production Aussi le système
isoler devient autonome sans contrôle des niveaux hiérarchiques supérieurs, ce qui entraine une
rupture dans la chaine de l’information.
Les réactions passives n’ont pas d’influence sur le système. Elles ne font que générer de l’in-
formation, cependant ces informations peuvent ensuite être analysées afin de déclencher d’autre
protection ou trouver les causes de l’anomalie.
36
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
La remontée d’information consiste à transmettre en détail les résultats des méthodes de dé-
tection ou du monitoring comme présenter dans [Terai et al., 2017], en rendant compte de l’état
du système selon différents points de vue, afin d’alimenter un moteur de prise de décision par
exemple. C’est une réaction qui passe par des interfaces pour atteindre les entités de niveaux hié-
rarchiques supérieurs, elle a pour rôle de :
— générer de l’information relative à l’état de l’entité
— mettre en forme cette information en fusionnant des sous-ensembles et en l’adaptant à l’en-
tité qui la lira exemple :
— un SIEM, qui s’occupera de corréler les différentes informations de "log" pour trouver
la cause de l’anomalie (défaillance ou attaque cyber)
— un outil de diagnostic, qui s’occupera de trouver la cause d’une anomalie (défaillance
ou attaque physique)
— transmettre de l’information aux interfaces de niveaux hiérarchiques supérieures.
Cette remontée d’information est événementielle ou cyclique et elle est active durant toute la
phase d’utilisation d’un système.
L’alerte consiste à transmettre une synthèse des résultats des méthodes de détection, afin de
renseigner l’humain sur l’état anormal du système par des alarmes cette méthode est analyser
dans [Wang et al., 2016]. C’est une réaction qui passe par des interfaces pour atteindre l’humain.
elle a pour rôle de :
— générer de l’information relative à l’état de l’entité
— mettre en forme cette information en fusionnant des sous-ensembles et en l’adaptant à l’hu-
main. L’adaptation est ici importante, car deux paramètres sont limitants :
— le nombre d’informations qu’un homme peut interpréter.
— sa charge mentale lors de la résolution d’une anomalie
— transmettre de l’information aux IHM.
L’alerte permet d’inclure l’humain dans la boucle, afin qu’il puisse mettre à profit ses compétences
pour trouver une solution ou la cause de l’anomalie.
Nous avons présenté un ensemble de méthode et d’outil relatif à deux approches de la sécurité
la détection et la réaction. L’environnement des SAP industriels nous permet l’implémentation de
deux méthodes :
— la comportementale relative à la partie physique, le processus de production.
— L’informationnelle relative à la partie cyber, les informations ou mécanismes de communi-
cation.
Nous allons maintenant comparer ces méthodes et outils.
La comparaison avec des ensembles d’états détecte en comparant l’état du système et la dis-
tance avec des ensembles d’états définis comme dangereux ou interdits. [Sicard et al., 2017] en est
le parfait exemple en figure 2.10a. Ici ils cherchent à sécuriser le comportement d’un SED contre 2
grands types d’anomalies.
— corruption d’information
— corruption d’entité
37
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
État de l’art
38
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
La méthode utilisée passe par la modélisation des comportements du système. La modélisation est
l’ensemble des états d’un système, qui regroupe des sous-ensembles définis comme dangereux,
interdits et optimaux. Une mesure de la distance entre l’état actuel et les sous-ensembles définis à
chaque mise à jour d’une variable (↑1 ou ↓0) est réalisée. Cette mesure permet la prise de décision
sur la mise en place d’un filtrage.
La comparaison prédictive Une autre approche est celle de [Yaseen and Bayart, 2017] illustrer
en figure 2.10b, qui utilise un contrôleur prédictif généralisé intelligent pour le NCS.
Il est conçu pour résoudre des problématiques de tolérance aux fautes et de détection de cyber
attaques. Ce dispositif fait la différence entre des défaillances de la partie opérative et des attaques.
L’avantage de cette méthode est la prise de conscience qu’un système industriel peut subir des
défaillances et des attaques.
39
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
État de l’art
40
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
2.5 Comparatif des principales plateformes de test
2.5.2 Factory IO
Factory IO [Riera et al., 2017] est un outil de "virtual commissionning", il permet la simulation
de la partie opérative d’un système industriel piloté par une partie commande. Cet outil implé-
mente une solution de conception et de simulation :
— un designer de système par agrégation,
— un simulateur de partie opérative,
— une interface de communication avec la partie commande,
— une interface graphique pour l’utilisateur,
— un gestionnaire d’aléas,
41
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
État de l’art
2.5.4 Comparatif
TABLEAU 2.2 – Synthèse sur trois plateformes de test pour des mécanismes de sécurité
plateformes tests orientation architecture
scénarios d’attaque
SENAMI détections OT physique
corruption, prise de
contrôle
Factory IO fonctionnement/défaillance OT virtuelle corruption, prise de
contrôle
TAIGA détection/réaction OT (robotique) physique tous
Les points communs des trois plateformes sont : leur volonté de tester des mécanismes de détec-
tion et leur orientation les systèmes OT ou de production industrielle.
TABLEAU 2.3 – Comparatif des trois plateformes de test pour des mécanismes de sécurité
plateformes avantages inconvénients
SENAMI l’ICS est complet attaque simple, implémentation phy-
sique, niveaux 0 et 1 du CIM
Factory IO implémentation virtuelle, gestion des scénarios d’attaque, niveaux 0 et 1 du
aléas CIM
TAIGA scénario d’attaque spécifique robotique, implémentation
physique, pas d’aléa
La plateforme TAIGA est selon nous la plus aboutie bien qu’elle ne prend pas en compte les aléas.
Les scénarios d’attaques que l’on peut y jouer n’ont de limite que l’imagination des attaquants et
la plateforme.
La plateforme SENAMI est celle qui correspond le mieux au milieu industriel. Cependant les scé-
narios d’attaques pouvant y être jouées sont beaucoup plus simples. En effet il n’y a pas d’autre
point d’accès que celui proposé et le niveau 2 du CIM (la supervision) est manquant.
L’outil Factory IO offre un environnement virtuel pour l’observation des attaques sur un système.
Celui-ci une fois interfacée avec une partie commande virtuelle ou physique devient une plate-
forme de test cependant comme pour SENAMI les scénarios d’attaques pouvant y être jouées sont
simples.
42
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Nous mettons donc ici en avant un besoin de réalisation d’une plateforme hybride orientée cyber.
2.6 Conclusion
Dans ce chapitre nous avons fait un état l’art de sur trois domaines différents :
— Les méthodes de sécurisation pour les IACS avec deux approches :
— La comportementale ("boite blanche" connaissance du système)
— L’informationnel ("boite noire" connaissance de mécanismes générique exemple : la
communication)
— Les travaux antérieurs du laboratoire en conception de système et génération à partir de
modèle
— l’approche top/Down (définition du système par ses rôles)
— l’approche bottom/up (définition du système par ses composants)
— l’approchera hybride (définition du système par ses rôles et composants)
— les plateformes de test orientées sécurité pour les SAP
Nous avons pu constater que de nombreuses solutions existent, mais à bas niveau très peu
peuvent être déployées. Or ce positionnement est intéressant, car il protège le monde physique
face aux attaques.
Les chapitres suivants vont s’attacher à présenter notre démarche et nos contributions pour la
sécurité des SAP. Notre démarche tire profit des analyses effectuées dans ce chapitre. Aussi elle
s’appuiera sur les travaux antérieurs du laboratoire.
43
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
3 La passerelle ASSECIN
Stephen Hawking
Sommaire
3.1 La spécification du dispositif de sécurité . . . . . . . . . . . . . . . . . . . . . . . . 45
3.1.1 Les objectifs de sécurisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.1.2 Le concept de passerelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.1.3 Les différents niveaux temporels . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.2 Le fonctionnement de la passerelle ASSecIN . . . . . . . . . . . . . . . . . . . . . . 50
3.2.1 Le concept de détection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.2.2 Les concepts de réaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.3 La description fonctionnelle de la passerelle . . . . . . . . . . . . . . . . . . . . . . 53
3.3.1 La chaine de communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.3.2 La chaine de détection réaction safety . . . . . . . . . . . . . . . . . . . . . . . 57
3.3.3 La chaine de détection réaction opérationnelle . . . . . . . . . . . . . . . . . 60
3.3.4 La chaine de détection réaction d’intégrité . . . . . . . . . . . . . . . . . . . . 62
3.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Figures
3.1 Placement physique de la passerelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.2 Point de vue sur le réseau d’un SAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.3 Positionnement de la passerelle proche du PLC pour différentes topologies . . . . 47
3.4 Positionnement de la passerelle proche des équipements pour différentes topologies 48
3.5 Typologie des informations et mécanisme . . . . . . . . . . . . . . . . . . . . . . . . 49
3.6 Concept de la passerelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.7 Les chaines d’information de la passerelle . . . . . . . . . . . . . . . . . . . . . . . . 53
3.8 Décomposition chaine de communication . . . . . . . . . . . . . . . . . . . . . . . . 54
3.9 Séquences de la chaine de communication . . . . . . . . . . . . . . . . . . . . . . . . 55
3.10 Décomposition fonctionnelle pour garantir les exigences de SdF . . . . . . . . . . . 58
3.11 Séquences de la chaine pour les exigences de safety . . . . . . . . . . . . . . . . . . 58
3.12 Exemple de modèle d’arbre binaire de surveillance . . . . . . . . . . . . . . . . . . . 59
3.13 Exemple de modèle automate de supervision . . . . . . . . . . . . . . . . . . . . . . 60
3.14 Décomposition fonctionnelle pour garantir les exigences opérationnelles . . . . . 60
3.15 Séquences de la chaine pour les exigences opérationnelles . . . . . . . . . . . . . . 61
3.16 Représentation d’une chronique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.17 Décomposition fonctionnelle pour les exigences d’intégrité . . . . . . . . . . . . . . 62
3.18 Séquences de la chaine pour les exigences d’intégrité . . . . . . . . . . . . . . . . . . 63
44
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Le chapitre précédent a présenté un état de l’art sur les approches de sécurisation pour les SAP.
Aussi les problématiques et besoins liés à leurs sécurisation ont été justifiés dans le contexte.
Dans nos travaux nous nous intéressons tout particulièrement aux méthodes de détection com-
portementale. En surveillant un IACS durant son exploitation par ses variables et en le supervisant,
afin qu’il ne puise pas impacter son environnement ou détériorer la production.
Fort de ce contexte, on se propose ici de présenter notre outil de sécurisation pour l’IACS :
1. en donnant sa spécification.
2. puis en présentant les différentes fonctions du dispositif.
3. enfin nous donnerons la spécification de nos fonctions.
45
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
La passerelle ASSECIN
commande, l’interface cyber. La passerelle se charge de faire circuler l’information d’une inter-
face à l’autre tout en implémentant des méthodes de détection et réaction. Les informations se-
ront donc vérifiées dans un sens comme dans l’autre de la communication. Le placement de la
passerelle est illustré dans la figure 3.1.
Les Réseaux Locaux Industriels, industrial local area networks (RLI) sont denses et étendus
géographiquement et logiquement et ont plusieurs topologies [Penney and Baghdadi, 1979]. De
grands volumes d’information transitent par ces réseaux et de multiples protocoles interviennent
dans leur mécanique de communication. Les RLI partent du point d’accès de l’entreprise vis-à-vis
d’internet et s’étendent à travers les différents sites par des intranets comme montrés en figure 3.2.
Puis ils permettent la communication entre les équipements et dans l’équipement. On distinguera
ici deux niveaux :
— le niveau IT : qui est l’ensemble des réseaux partant du point d’accès d’une entreprise jus-
qu’aux entités du processus. Ils sont implémentés physiquement avec des bus hiérarchisés
par des switches et routeurs, ce qui privilégie les communications d’entité à entité.
— Le niveau OT : qui est l’ensemble des réseaux entre les entités du processus. Ils sont implé-
mentés physiquement avec des bus / ligne / anneau, ce qui privilégie les communications
en diffusion d’entité à ensemble d’entités.
Nous présentons les topologies qui nous intéressent : le bus, la ligne, l’étoile et le "mesh", elles
sont les plus représentatives des réseaux OT. Nous illustrons le placement de la passerelle selon
deux positions :
La première au plus proche de l’intelligence de processus en figure 3.3. Ce placement favorise la
sécurité inter équipement, mais nécessite un modèle de sécurité interne conséquent (toutes les
E/S de tous les équipements)
La deuxième au plus proche des blocs d’E/S ou des équipements en figure 3.4. Ce placement
favorise la sécurité des équipements et diminue/focalise la latence sur un équipement, mais
l’influence du pilotage des équipements les uns par rapport aux autres n’est pas prise en compte.
46
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Level 4-5 Enterprise
Office
Entreprise Resource
Planning Stations
Firewall
Level 3 Manufacturing
Operator
Process Execution
Stations
System
VPN
Safety
Level 1-2 Encrypted Engineering Safety Communications
Supervisory Control Stations Working
USB Key Safety Station
Login
Network Safety
Safety Remote
Controllers HMI Probe Router
Controller Controller
47
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
La passerelle ASSECIN
F IGURE 3.4 – Positionnement de la passerelle proche des équipements pour différentes topologies
Le placement de la passerelle est donc flexible, cela permet d’optimiser le déploiement de la solu-
tion par rapport à l’architecture du réseau et du système, mais aussi à la charge, au protocole de
communication employé ou à l’influence du pilotage des équipements. En effet s’il n’y a pas ou
peu d’influence dans le pilotage des équipements par rapport aux autres, la meilleure position est
proche des équipements, car elle allège le modèle de sécurité dans chaque passerelle.
Sinon c’est la proximité avec le PLC qui est préférable, car elle tient compte du pilotage de tous les
équipements les uns par rapport aux autres.
Ce choix de positionnement est laissé au concepteur, car il est indépendant du fonctionnement
de la passerelle seul le modèle de sécurité à configurer change. Lorsque plusieurs passerelles sont
présentes pour sécuriser un système, une communication entre celles-ci est envisagée en pers-
pective 6.2
Les informations du réseau de terrain sont typées et des mécanismes permettent de les tra-
duire, comme montrés dans la figure 3.5. Il y a 5 types d’informations qui circulent dans les équi-
pements sur le réseau de terrain :
— Les informations binaires, ou Tout Ou Rien (TOR)
— Les informations analogiques,
— Les informations numériques,
— Les trames,
— Les paquets,
Ces 5 types d’informations peuvent ensuite être transformés à travers des mécanismes orientés :
— Le seuillage, transformation d’un signal d’entrée analogique en signal de sortie TOR
— Les transistors, transformation d’un signal d’entrée Tout Ou Rien en signal de sortie ana-
logique. Exemple : les ponts en H qui transforme une modulation de largeur d’impulsions,
Pulse Width Modulation (PWM) en grandeur de tension dans un circuit.
— Les convertisseurs,
— le multiplexage et le démultiplexage,
— l’encapsulation et la désencapsulation,
— La paquetisation et la dépaquetisation,
48
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Un composant consomme, fournit ou transmet de l’information. Avec la révolution du numérique
et l’avènement de l’internet des objets industriels, Industrial Internet of Thing (IIoT), les compo-
sants présents sur le terrain sont de plus en plus intelligents. En effet, elle transforme directement
l’information en la fournissant ou en la consommant.
Pour conclure sur les informations du réseau, on trouve de nos jours les informations ba-
siques (binaire, analogique ou numérique) sur les bus internes aux composants. Les réseaux in-
ter(composant/équipement) mettent en œuvre des protocoles de communication, qui encapsu-
lent/empaquettent l’information sous forme de trames/paquets. Ce sont ces informations qui
maintenant circulent sur les réseaux de terrain de I4.0.
Le déterminisme du réseau de terrain induit des contraintes temps réel. Or notre passerelle s’y
place pour capter les différentes variables représentant l’état du système.
Le déterminisme des réseaux industriels Le déterminisme implique l’assurance que les infor-
mations seront envoyées aux destinataires en un temps déterminé. De cette façon, on s’assure que
l’occurrence d’un événement sera prise en compte, mais aussi que la prise en compte se fera dans
le bon ordre. Même si plusieurs composants mettent à jour leurs informations durant un même
cycle automate, on veut que celles-ci soient prises en compte dans l’ordre de leur occurrence.
De plus la communication à ce niveau est dans la majorité des cas cyclique. Elle a un cycle de
quelque ms, qui correspond à la durée d’un cycle automate. Or certaines méthodes de détection
réclament des analyses pouvant prendre du temps (plusieurs s) ou en dépendre. Nous avons donc
fait le choix d’implémenter des méthodes de détection et de réaction dans une passerelle avec
différents niveaux temporels, décrits dans la figure 3.6 :
49
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
La passerelle ASSECIN
Nos travaux se sont donc intéressés au concept de passerelle (nœud réseau) pour le réseau de ter-
rain, car il permet de s’insérer dans le flot de communication en coupure et de manière invisible.
Aussi la passerelle observe les ordres en dernier avant l’actionneur et les informations en premier
avant l’automate. Ce placement permettra la mise en place de réactions plus sécurisantes vis-à-vis
de l’environnement physique, ainsi que de meilleures détections, car les variables observées sont
plus significatives point de vue du comportement du système (elles font sens).
50
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
3.2.1 Le concept de détection
La perception, est l’activité "d’extraire de donnée collectée par acquisition des indicateurs, qui
seront utilisés pour déterminer si les évolutions constatées correspondent à un fonctionnement
normal ou non" [Niel and Craye, 2002]. La détection, "caractérise le fonctionnement du système
de normal ou d’anormale" [Niel and Craye, 2002] selon les indicateurs perçus.
Dans cette section, trois détections sont reprises et détaillées avec la perception qu’a la passerelle.
En effet en raison de son placement décrit précédemment, elle perçoit les informations du sys-
tème. Cela fournit différents indicateurs, qui renseignent différentes détections possibles. Deux
différentes approches pour la sécurisation des IACS sont donc possibles.
Nous avons entrepris d’utiliser l’approche comportementale qui se base sur l’observation du com-
portement réel. Une comparaison de celui-ci avec une référence permet la détection d’anomalie.
Le choix de la référence déterminera la méthode de détection. Deux méthodes sont ainsi présen-
tées :
La comparaison par contraintes logiques décrite dans la section 2.3 faite appel à un référentiel
figé. C’est un ensemble de règles permettant de vérifier si le comportement d’un système reste
dans son état nominal. À la mise à jour d’une variable, on observe l’état des autres variables afin de
déterminer si elle est normale. Les variables sont de deux types les ordres envoyés par l’intelligence
du processus et les informations de l’environnement remontées par les acteurs de celui-ci. Il y a
donc quatre ensembles de règles :
— par rapport aux ordres sur les autres ordres,
— par rapport aux ordres sur les informations,
— par rapport aux informations sur les ordres,
— par rapport aux informations sur les autres informations.
On peut ainsi déterminer si l’anomalie est issue de l’intelligence ou des acteurs du processus. En
effet, nous prenons comme hypothèse qu’aucune des entités n’est de confiance.
La comparaison à signatures temporelles décrite dans la section 2.2.1.2. Elle fait appel à un ré-
férentiel figé dans le temps. C’est une représentation du principe d’action réaction appliquée à un
système. C’est un ensemble de signatures qui décrit des séquences d’événements et leur tempora-
lité par rapport à un événement maître. En effet, le but de tout système de production est de trans-
former la matière d’œuvre. Or pour le faire, il utilise des acteurs du processus, les actionneurs qu’il
contrôle par des ordres. Ces actionneurs influent sur l’environnement du système, qui est mesuré
par les capteurs. Ils remontent sous forme d’information l’influence sur l’environnement c’est ce
que l’on appelle la "boucle de feedback". Ces informations sont induites par le comportement du
système. Donc elles sont causées par les actionneurs et leur occurrence à une temporalité plus ou
moins fixe dans le temps.
Ces deux méthodes peuvent être cumulées, car leurs références n’ont pas la même échelle tem-
porelle. La première est réflexe, son horizon temporel est T=0. La seconde détecte dans le temps
donc son horizon temporel est T=(1→ ∞)
Cette approche majoritairement répandue à haut niveau dans le SAP est aussi intéressante à bas
niveaux. En effet, c’est à ce niveau que les informations issues du monde physique sont les plus
"de confiance". Car aucune autre entité n’a pu les modifier ou les abstraire. Les informations sont
des variables mises à jour par le système pour l’intelligence du processus. Elles rendent compte
51
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
La passerelle ASSECIN
en partie de l’état du système et doivent être prises en compte dans le bon ordre. Les informa-
tions peuvent être de différents types et ce sont eux qui définiront le paramètre à surveiller. La
surveillance des informations peut se faire de plusieurs manières nous en présentons une :
L’historisation de variable permet de garder une trace des variables. Ainsi plusieurs paramètres
peuvent être extraits selon le type de variable :
— Booléenne, ces variables n’ont que deux états, mais leur fréquence d’update est souvent la
même ou dépendante de la production.
— Numérique, ces variables ont plusieurs états correspondants à la grandeur physique qu’elle
traduise, cependant l’hystérésis entre deux valeurs peut être seuillé et la fréquence d’update
est elle aussi souvent la même ou dépendante de la production.
— Message, ce sont des ensembles de caractère, on peut placer les communications réseaux
dans ce type. Pour ce type, on cherchera plus à vérifier les messages précédents et leur co-
hérence.
Ces paramètres fournissent de l’information supplémentaire déduite des informations physiques
historisées.
Les détections sont indispensables aux réactions, car ce sont elles qui vont les déclencher. En effet
c’est en détectant puis observant les effets que la passerelle identifie l’anomalie, c’est cette identi-
fication qui va permettre la mise en œuvre de réactions appropriées.
L’alerte est décrite dans le chapitre 2. Cette méthode permet d’inclure l’humain dans la boucle,
Cependant l’humain ayant des limitations dans l’analyse de l’information. Une synthèse des ré-
sultats de détection est formulée pour faciliter son diagnostic et/ou sa prise de décision. L’alerte
intervient à l’occurrence d’une anomalie en mettant en forme l’information pour atteindre l’hu-
main à travers les IHM.
La remontée d’information permet d’informer les entités cyber de haut niveau, elle se dé-
clenche de manière cyclique et/ou avec l’occurrence d’une anomalie.
Le système étant hiérarchique ces réactions permettent surtout d’informer le haut niveau du sys-
tème exemple un SIEM. Cette entité participe ensuite à la remédiation de l’anomalie en corrélant
les informations pour permettre la prise de décision. Le point de vue plus global sur tout le site
de production permet de décider quelle réaction déclencher et où dans le système. Tandis que
d’autres réactions locales cette fois-ci sont directement mises en œuvre dans la passerelle.
52
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
3.2.2.2 Les réactions actives
Le filtrage de commande est une méthode permettant de filtrer les ordres envoyés à la partie
opérative. Il intervient après une détection et selon une référence. La référence fournit un modèle
de supervision du système exemple automate à état, qui en fonction des résultats des détections
déterminera si l’ordre doit être filtré. L’objectif est de garantir les exigences de sécurité tout en
permettant un fonctionnement minimal, mais aussi d’interdire des anomalies typées physiques
d’interagir avec le monde physique. En effet, celles-ci peuvent causer des détériorations sur le
système, le produit ou les personnes.
La mise en repli est une méthode permettant de modifier tous les ordres envoyés aux équipe-
ments, pour forcer la totalité du système dans un état voulu sans tenir compte de l’intelligence
de processus [Toguyéni et al., 2003]. Ainsi on verrouille les interactions physiques de l’IACS sans
pour autant modifier les interactions cyber des équipements.
Les concepts de notre dispositif ayant été introduits, nous allons maintenant présenter les fonc-
tions mettant en œuvre nos méthodes et concepts.
53
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
La passerelle ASSECIN
Elles regroupent les différentes fonctions traitant l’information du réseau premièrement, mais
aussi des informations transformées ou générées par la passerelle en elle même.
Un diagramme de séquence est donné en figure 3.9, qui montre les flots d’information entre les
fonctions de cette chaine. Le diagramme montre neuf séquences :
— Les communications non filtrées sont représentées par deux séquences.
— Les communications filtrées de la partie commande (serveur) vers la partie opérative (client)
sont représentées par :
— une séquence sans réaction déclenchée.
— une séquence avec réaction déclenchée.
On constate ici l’incidence du parcours de la chaine réflexe sur la latence induite par la pas-
serelle, qui est augmentée par la mise en œuvre de réaction active.
— Les communications filtrées de la partie opérative (client) vers la partie commande (serveur)
sont représentées par :
— une séquence sans réaction déclenchée.
— une séquence avec réaction déclenchée.
On peut observer que le parcours des chaines d’information non réflexe n’a pas d’incidence
sur la latence induite par la passerelle.
54
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
— Les communications avec le haut niveau sont représentées par trois séquences.
— une séquence avec requête du haut niveau.
— une séquence avec un déclencheur temporelle.
— une séquence avec un déclencheur par la réaction.
Ce sont les fonctions de réaction des chaines d’information qui commandent le contrôleur de
données, celles-ci selon leurs résultats commandent l’envoi de la communication, sa réécriture
ou l’envoi d’information au haut niveau.
La passerelle est un équipement du réseau placé en coupure sur celui-ci. Elle capture donc toutes
les informations transitant sur le média de communication ce qui en fait un outil d’observation.
Plusieurs métriques en plus des informations peuvent ainsi être observées. Elles rendent compte
de l’état du réseau comme :
— la charge du réseau (nombre de communication / milliseconde),
— la taille des communications (nombre d’octets d’une trame ou d’un paquet),
— la perte de communication,
— les protocoles utilisés,
— la latence,
La fonction qui exploite ces métriques est le filtre. Il sélectionne par un algorithme les commu-
nications à prendre en compte. Nous avons étudié des protocoles applicatifs et observé les com-
munications avec l’outil Wireshark. Cela nous a permis de trouver les métriques et paramètres à
prendre en compte pour l’algorithme de filtrage. On a déterminé que l’identification des commu-
nications est la fonction principale de l’observation. Notre algorithme prend en compte la taille
55
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
La passerelle ASSECIN
des communications ainsi qu’un index de hachages. Le hachage des communications suit une
équation :
n ½ i
X Var i abl e ad r esse
+ 2i if Var i abl e vi al eur = 1
Hachag e Ind ex = (3.1)
i =1
0 if Var i abl e vi al eur = 0
Cette équation doit être adaptée au protocole se trouvant sur le réseau observé. Cependant, elle
ne se limite pas à un nombre ou un type de variable et est mise en œuvre dans l’algorithme 1 à
chaque nouvelle communication.
1: function COMPARAISON(x, u)
2: δ← x⊕y . ⊕ : 2nd niveau de filtrage 3.1
3: if δ 6= u then
4: δ←u
5: return TRUE
6: else
7: return FALSE
8: end if
9: end function
10: while x 0 = TRUE do
11: if y 6= l then
12: laisse passer la communication
13: else
14: σ ← COMPARAISON(x, u)
15: if σ = TRUE then
16: transmet la communication à l’Updater
17: else
18: laisse passer la communication
19: end if
20: end if
21: end while
Cette technique assure un filtrage des communications par la passerelle pour des protocoles cy-
cliques ou événementiels. Aussi elle diminue fortement le volume d’information à traiter pour les
chaines de détection et réaction. Nous apportons donc en partie une solution à l’un de nos verrous
"La passerelle ne doit pas perturber le réseau".
Nous avons pris comme hypothèse que la passerelle connaît le système qu’elle sécurise. Cette
connaissance est dynamique, car à chaque instant elle a la représentation du système par ses va-
riables. C’est le modèle des informations interne à la passerelle qui apporte cette connaissance.
Aussi nous avons décidé qu’elle aurait un double point de vue. Pour accomplir cela, nous avons
mis en place une séparation de l’état des variables :
— La partie réelle de l’état de la variable, elle correspond à l’état de la variable vue sur le réseau.
— La partie imaginaire de l’état de la variable, elle correspond à l’état de la variable une fois
celui-ci validé par la chaine assurant les exigences de la SdF. Cela nous permet de caractéri-
ser cette partie "de confiance".
Ce modèle d’information est géré par une fonction :
56
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Le contrôleur de données a pour rôle de servir d’interface entre les chaines d’information et le
modèle. Dans la chaine de communication, il s’interface avec :
— Le writer, le contrôleur de donnée déclenche la fonction du writter.
— le haut niveau du SAP, cette fonction implémente les méthodes de réaction passive, pour
la remontée d’information sur demande. Elle reçoit des requêtes de lecture du haut niveau
ou des autres passerelles et y répond. Elle le fait aussi de manière cyclique en prenant en
compte les mises à jour entre deux émissions de rapport.
Le dispositif ASSecIN doit sécuriser des systèmes par leurs réseaux. Il nécessite donc l’interpréta-
tion des communications qui y transitent. Certaines méthodes de réaction nécessitent de pouvoir
modifier les communications. Deux fonctions jouent ce rôle :
Le writer reforge les communications sélectionnées par le filtre. Son rôle est d’assurer que les
informations émises par la passerelle soient relatives à la partie "de confiance" du modèle d’infor-
mation. Cette réécriture des communications est directe, mais elle est déclenchée par le contrô-
leur de donnée.
La chaine de communication a donc pour rôle de faire transiter les communications à travers
la passerelle. Elle sélectionne celles qui doivent être sécurisées et met à jour la partie réelle du
modèle d’information. Cette chaine a donc une interface vers le haut niveau du SAP ou les autres
passerelles afin de les informer.
57
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
La passerelle ASSECIN
58
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
3.3.2.1 Le gardien de sécurité
Il implémente les méthodes de détection et de réaction et est illustré en figure 3.10. Pour cette
chaine, la détection consiste en une comparaison avec référence décrite dans la section 3.2.1.1.
Cette détection est binaire, elle viendra déclencher une réaction si détection il y a. La détection se
fait en comparant les parties réelles et imaginaires des variables du modèle interne à la passerelle,
avec un ensemble de contraintes. Celui-ci est dans un modèle de surveillance et sert de référence.
La réaction a pour rôle de corriger la conséquence d’une anomalie afin de garantir le comporte-
ment normal du système. Elle est déclenchée par une détection. C’est un moteur d’exécution qui
met en œuvre l’automate à état fini spécifique à la variable qui pose problème. Cet automate est
dans un modèle de supervision interne à la passerelle. Le moteur d’exécution mettra en œuvre
une remédiation en déclenchant le contrôleur de donnée
Le modèle de supervision contient un ensemble d’automates à état fini. Chacun d’eux décrit
les stratégies de remédiation possibles en fonction de la synthèse des validations. Un exemple est
donné figure 3.13. En effet le modèle de surveillance ayant plusieurs équations pour vérifier le
changement d’état d’une variable. La détection en fait une synthèse qui est mise en œuvre dans
l’automate à état. Chaque résultat de vérification de la synthèse est pris en compte au niveau des
transitions de l’automate. Les différents états de celui-ci correspondent à une solution de contrôle
pour le contrôleur de données ou d’alertes.
Dans cette chaine d’information, il joue le rôle de filtre commandable et est illustré en figure
3.10. Il autorise ou non la mise à jour d’une variable dans le modèle interne de la passerelle.
Celle-ci s’effectue en faisant passer la valeur de la variable de réel à imaginaire "sécurisé". Le filtre
est commandé par la réaction, mais aussi par la détection. La différence est que la détection ne
contrôle que le passage de la variable analysée. Alors que la réaction va aussi contrôler le passage
d’autres variables, selon le modèle de supervision. Cette chaine est mise en œuvre dans le flot de
communication. Ce flot étant déterministe nous devons le respecter et y instaurer le minimum
possible de latence. La comparaison et le moteur d’exécution avec automate à état sont des
solutions tout indiquées, car on peut connaitre ou paramétrer la latence qu’ils vont induire.
59
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
La passerelle ASSECIN
Les mécanismes d’analyse et décision doivent être rapides et fiables (déterminants). Cependant,
d’autres mécanismes peuvent être mis en place hors du référentiel pseudo temps réel du réseau.
Un diagramme de séquence est donné en figure 3.15, qui montre l’agencement des flots d’infor-
mation entre les fonctions de cette chaine. Deux séquences y sont présentées :
— Une première séquence sans détection, qui nous montre le déclenchement de la détection
par le contrôleur de données. Puis l’analyse par les chroniques en observant la mise à jour
des variables si aucune défaillance n’est observée l’analyse est stoppée
60
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
— Une deuxième séquence avec détection, qui nous montre l’analyse comme la première, mais
aussi le flot d’informations une fois une défaillance détectée. On voit ici que la réaction dé-
clenche le contrôleur de données. Puis après consultation du modèle de supervision, elle
prend une décision et l’impose par le contrôleur de données.
Elle permet le diagnostic des équipements qui subissent une anomalie et informe des mécanismes
haut niveau.
Il a pour rôle de détecter les défaillances du système. La défaillance d’un équipement est défi-
nie comme la non-occurrence des événements qu’il génère et donc comme une perte partielle ou
totale de ses fonctionnalités. Ce gardien met en œuvre la méthode de détection par signature dé-
crite dans la section 3.2.1.1. Elle se fait en comparant les temporalités des changements d’état des
variables, avec une chronique. Il met aussi en œuvre des réactions :
— la remontée d’information : En effet, ce gardien remonte directement les informations de
détection au haut niveau du SAP ainsi qu’aux autres passerelles. L’information remontée est
l’identification d’une défaillance.
— la mise en replis : En effet les conditions de ces contraintes sont aussi prises en compte dans
la réaction réflexe, sous certaines conditions la neutralisation d’une partie ou de la totalité
de l’équipement s’établit.
Le modèle de surveillance Ce modèle est basé sur le principe d’action réaction. Lors de la mise
à jour d’un ordre, un ensemble de variables changera d’état à différentes temporalités. Cet état de
fait est traduit en différentes chroniques pour chaque ordre du système.
Une chronique est une représentation des suites d’événement avec des temporalités menant à des
défaillances. Elle fixe des intervalles temporels entre des événements de référence et des événe-
ments à observer. Ces intervalles bornent la fenêtre d’observation d’un événement. Une représen-
tation est donnée en figure 3.16.
Le modèle de supervision Le modèle de supervision est composé d’une liste de log et de mes-
sage pré formaté, afin d’informer les entités haut niveau du système ou l’homme de l’occurrence
61
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
La passerelle ASSECIN
d’une défaillance. Il établit aussi une correspondance avec les différentes réactions possibles en
fonction des résultats de détection.
La chaine de détection réaction temporelle permet donc l’analyse comportementale du système
avec le temps comme référence. Elle permet d’observer les dérives ou de diagnostiquer les dé-
faillances de celui-ci et d’y réagir. Cependant, cette analyse s’appuie sur les variables ; or celles-ci
peuvent ne plus être intègres.
Un diagramme de séquence est donné en figure 3.18, qui montre l’agencement des flots d’infor-
mation entre les fonctions de cette chaine. Deux séquences y sont présentées :
— La première séquence est sans détection. Le contrôleur de donnée déclenche la détection,
qui s’établit avec le modèle de surveillance et l’historique de la variable. Puis la détection
62
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
déclenche la réaction et valide l’inscription des informations dans l’historique. La réaction
déclenche le contrôleur de données sans réaction à établir.
— La deuxième séquence est avec détection. Elle est similaire à la première au commence-
ment, mais la détection détectant une anomalie, elle ne met pas à jour l’historique et dé-
clenche la fonction de réaction. La réaction déclenche le contrôleur de données. Puis après
consultation du modèle de supervision, elle prend une décision et l’impose par le contrôleur
de données.
La détection réaction avec historique a pour rôle de garantir les exigences d’intégrité des informa-
tions. C’est la condition qui vérifie qu’une information relate la bonne mesure de l’environnement
sans altérations. Cette vérification est duale avec la variation de la valeur par rapport au temps.
Deux fonctions sont mises en œuvre dans cette chaine :
Il met en œuvre une méthode de détection typée information. La détection repose sur l’observa-
tion des valeurs des variables et leur fréquence de mise à jour. Il compare ses observations à une
référence dynamique interne à la passerelle, l’historique des I/O selon un algorithme 2.
63
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
La passerelle ASSECIN
1: function COMPARAISON(y, u, t , l )
2: δ ← y −u
3: if δ ≥ d (+mar g e) ⊕ δ ≤ d (−mar g e) then
4: δ ← t −l
5: if δ ≥ (mar g e) then
y−u
6: if t = dl then
7: return t
8: else
9: return NOK
10: end if
11: else
12: return t
13: end if
14: else
15: return t
16: end if
17: end function
18: while x = TRUE do
19: σ ← COMPARAISON(y, u, t , l )
20: if σ 6= NOK then
21: pas d’anomalie
22: else
23: anomalie détectée
24: end if
25: end while
Ainsi une comparaison entre l’hystérésis observée et la précédente variation plus un seuil est réa-
lisée, Puis selon le résultat de cette comparaison, on vérifie que l’évolution de cette valeur par
rapport au temps entre les deux observations est égale à la précédente variation par rapport à
la précédente période. Selon le résultat de cette comparaison, différentes réactions sont déclen-
chées.
Les réactions sont principalement passives (remontée d’information pour le haut niveau du SAP
et les autres passerelles). Cependant, une réaction active est présente, mais elle ne concerne que
la commande du contrôleur de donnée.
3.4 Conclusion
Ce chapitre nous a permis de présenter la passerelle ASSecIN. Nous avons introduit les concepts
et méthodes qui garantissent la sécurité de l’IACS, mais aussi les contraintes qu’il faut prendre en
compte. Aussi nous avons introduit son fonctionnement avec différentes chaines, qui garantissent
64
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
les exigences de sécurité pour le système. Ces chaines mettent en œuvre des méthodes de détec-
tion et réaction avec des références. Ces références étant complexes à formuler pour configurer
la passerelle, nous avons mis au point des méthodes pour aider les concepteurs à configurer la
passerelle. Elles sont présentées dans le prochain chapitre.
65
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
4 L’aide à l’intégration de la cybersécurité
Victor Hugo
Sommaire
4.1 Les besoins de la passerelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.2 Présentation du flot existant ComGEM . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.2.1 Introduction à l’IDM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.2.2 Présentation du modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.2.3 Les transformations du flot de conception . . . . . . . . . . . . . . . . . . . . 77
4.3 Notre démarche pour l’intégration de la cybersécurité . . . . . . . . . . . . . . . . 78
4.3.1 Le nouveau flot de conception . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.3.2 Les ajouts au modèle d’entrée du flot . . . . . . . . . . . . . . . . . . . . . . . 79
4.3.3 Le langage décrivant la configuration de la passerelle . . . . . . . . . . . . . . 82
4.4 La génération de la configuration de la passerelle ASSecIN . . . . . . . . . . . . . 87
4.4.1 L’enrichissement du modèle par auto génération . . . . . . . . . . . . . . . . 87
4.4.2 La migration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
4.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Figures
4.1 Le flot de conception historique du projet . . . . . . . . . . . . . . . . . . . . . . . . 69
4.2 La hiérarchie des modèles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.3 Les processus de transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.4 Présentation de l’élément composant . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.5 Présentation de la hiérarchie des composants . . . . . . . . . . . . . . . . . . . . . . 73
4.6 Le méta modèle de la vue partie opérative . . . . . . . . . . . . . . . . . . . . . . . . 74
4.7 Le méta modèle de la vue topologique . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.8 Le méta modèle de la vue contrainte . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.9 Le méta modèle de la vue contrôle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.10 L’élément opération du méta modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.11 Flot de conception actuel avec ASSecIN . . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.12 Les vues d’un composant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
4.13 Le méta modèle de la vue surveillance pour la sûreté . . . . . . . . . . . . . . . . . . 80
4.14 Le méta modèle de la vue surveillance pour l’opérationnelle . . . . . . . . . . . . . 80
4.15 Le méta modèle de la vue supervision . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
4.16 Le méta modèle de la référentiel physique . . . . . . . . . . . . . . . . . . . . . . . . 82
4.17 Le méta modèle de la détection de sûreté . . . . . . . . . . . . . . . . . . . . . . . . . 83
4.18 Le méta modèle de la détection opérationnelle . . . . . . . . . . . . . . . . . . . . . 84
4.19 Le méta modèle de la détection d’intégrité . . . . . . . . . . . . . . . . . . . . . . . . 84
4.20 Le méta modèle de la réaction pour la sûreté . . . . . . . . . . . . . . . . . . . . . . . 85
4.21 Le méta modèle de la réaction opérationnelle . . . . . . . . . . . . . . . . . . . . . . 86
66
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
4.22 Le méta modèle de la réaction pour l’intégrité . . . . . . . . . . . . . . . . . . . . . . 86
4.23 Description macroscopique des étapes de génération . . . . . . . . . . . . . . . . . 87
4.24 Représentation fonctionnelle de l’enrichissement pour la sûreté . . . . . . . . . . . 88
4.25 Représentation fonctionnelle de l’enrichissement opérationnel . . . . . . . . . . . 89
4.26 Représentation fonctionnelle de la migration . . . . . . . . . . . . . . . . . . . . . . 90
4.27 Exemple d’application de la règle 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
4.28 Exemple d’application des règles 2 & 3 . . . . . . . . . . . . . . . . . . . . . . . . . . 92
4.29 Exemple d’application de la règle 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
67
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
L’aide à l’intégration de la cybersécurité
Le chapitre précédent a introduit une solution de détection et de réaction déployée sur les réseaux
de terrain industriels. Il adresse notre premier verrou : Comment sécuriser un SAP ? Différentes
chaines d’information sont mises en œuvre pour atteindre cet objectif. Cependant elles se basent
sur des références qui sont spécifiques au système protégé et qui sont complexes à renseigner.
Nous avons donc décidé de traiter un second verrou : Comment faciliter l’intégration de la cyber-
sécurité dans les systèmes ?
Le Lab-STICC et notre partenaire industriel ont déjà collaboré sur différents projets. La dernière
collaboration a proposé une méthode générative pour la commande multi version de système
transitique reconfigurable. Cette méthode a une approche hybride originale qui fait la synthèse de
deux autres :
— l’ascendante, basée sur les composants d’un système.
— la descendante, basée sur les opérations d’un système.
Cette synthèse a été rendue possible par des travaux sur la génération conjointe de commande et
d’interface de supervision [Bignon, 2012]. Cependant la prise en compte de la sûreté de fonction-
nement ne s’établissait qu’au niveau du contrôle dans le code automate.
Or cela ne couvre pas nos problèmes. Les notions de surveillance et de supervision ont cependant
été abordées. Nos travaux vont donc s’inscrire dans la continuité de ces travaux, avec la nécessité
de fournir une vision orientée cybersécurité.
Dans ce chapitre, nous détaillons d’abord les besoins de la solution de sécurité. Puis nous présen-
tons le flot outillé servant de base à notre démarche. Nous allons ensuite introduire nos contribu-
tions sur le modèle en entrée de ce flot.
Enfin nous introduisons la représentation sous forme de modèle de la configuration de la solution.
Nous proposons une méthode de génération de configuration pour la passerelle. Ainsi qu’une mé-
thode originale d’obtention de modèle de supervision et de surveillance s’appuyant sur le modèle
en entrée du flot.
La référence de surveillance pour la sûreté est un ensemble d’arbres binaires sécurisant des
variables. Chacun d’eux représente les états dans lesquels peuvent être les variables du système
lors d’un événement sur la variable à sécuriser. La première version de ces arbres était avec plus
de 4 niveaux de profondeur ils étaient donc complexes à concevoir pour la configuration.
68
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
La référence de supervision pour la sûreté est un ensemble de comportements sous forme
d’automate à état fini. Chaque automate définit la réaction de la passerelle selon le résultat de
la détection. Les conditions des transitions sont pour la plupart des automates, les états de valida-
tion des arbres binaires.
MES
CONF
Configuration QCADOO
QCADOO
Step 4
Step 3
DESIGN Control STRATON Straton
MODEL Download
generation PROJECT Runtime
Straton IDE
Step 2 Initial
Design SimSED Designer
Step 1 Simulation SIMULATION SimSED
generation MODEL Simulator
Download
Design
NO Valide ?
Component Library
69
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
L’aide à l’intégration de la cybersécurité
Les modèles sont des représentations de ce qu’ils décrivent et sont hiérarchisés, comme mon-
trés en figure 4.2. Un modèle fils est conforme à son père le méta modèle qui définit le langage
d’expression de son fils. Le méta modèle est lui même un fils conforme à son père le méta-méta
modèle. La limite dans les ascendants d’un modèle est un modèle tautologique (qui se définit lui
même) [Fleurey, 2006] :
— Meta Object Facility (MOF) défini par l’Object Modeling Groupe (OMG) [MOF, 2006]
— EclipseMOF une variante de MOF définit pour l’Eclipse Modeling Framework (EMF) [Stein-
berg et al., 2008]
Cette organisation hiérarchique est l’un des piliers de l’IDM. Elle permet la mise en place de mé-
thode et d’outil rapidement et efficacement.
De grands formalismes existent comme les machines à état finis, l’algèbre (max, +) [Le Corronc
et al., 2017], les chaines de Markov, les réseaux de Petri, les bond graphs [Pichard et al., 2017].
70
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Chacun d’eux permet d’exprimer une problématique et de la résoudre avec des approches par
simulation ou formelles. Cependant, l’intérêt d’un modèle est qu’il soit le plus complet possible.
En effet ces formalismes étant décrit au niveau méta, plus un modèle est complet plus on peut
avoir de formalisme pouvant s’y prêter [Aliyu, 2016].
Les transformations de modèle sont un concept clef de l’IDM. Leur rôle est par parcours d’un
modèle source, de fournir un modèle cible. Cette opération peut être de 2 types dont les objectifs
sont différents [Allègre, 2012] :
— Endogène : les modèles sources et cibles sont conformes au même méta modèle. Le langage
étant le même entre les deux modèles la sémantique est conservée.
— Exogène : les modèles sources et cibles sont conformes à des méta modèles différents. Les
langages n’étant pas les mêmes entre les deux modèles, des règles syntaxiques doivent être
mises en place pour la traduction. Il est aussi fréquent d’employer un modèle ou un langage
transitoire "Glue", qui fait office de liant entre les deux modèles.
Chaque transformation à un coût qu’il soit temporel ou informationnel. Le processus général de
transformation est présenté dans la figure 4.3a
L’ATLAS Transformation Language (ATL) étant le langage de transformation que nous avons choisi
d’utiliser nous le présentons en 4.3b Le moteur de transformation interne à l’outil parcourt un mo-
dèle source Ma conforme à un méta modèle MMa. Il exécute ensuite des règles stockées dans le
modèle de transformation mma2mmb conforme au langage ATL. Ces règles utilisent MMa et MMb
comme base et décrivent le comportement du moteur pour le niveau M2. Le moteur de transfor-
mation applique les règles pour chaque élément de Ma fournissant ainsi Mb Il écrit ensuite le
modèle Mb conforme à MMb.
L’IDM est avant tout une approche permettant la mise en place d’outil et de méthode, pour repré-
senter et solutionner des problématiques. Nous allons maintenant présenter nos outils de modé-
lisation, qui posent les bases pour le flot de conception.
71
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
L’aide à l’intégration de la cybersécurité
4.2.2.1 Le composant
Cet élément du M2 est présenté en figure 4.4. Il représente les entités physiques d’un système
industriel. C’est donc la description de l’interface physique de l’IACS :
— Les entrées sorties de commande : ce sont les variables du composant, celle d’information
pour un capteur ou d’ordre pour un actionneur. Les variables globales servent d’interface
avec les composants de niveaux hiérarchiques supérieurs.
— Les entrées sorties du flux physique : c’est le flux de matière ou produit décomposer en zone.
Un composant peut être lié à plusieurs zones cela dépendra de l’opération qu’il réalise.
Le composant est aussi décrit selon des points de vue représentés par des vues détaillées en sec-
tion 4.2.2.2 :
— La vue partie opérative : décrit le point de vue physique du composant.
— La vue topologique : décrit le point de vue topologique ou positionnement.
— La vue contrôle : décrit le point de vue du pilotage.
— La vue contrainte : décrit les comportements vis-à-vis d’autres composants.
72
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Ces trois composant sont de niveau 0.
— les composants agrégés : sont des compositions de plusieurs composants de niveau hiérar-
chique inférieur. Ils sont déclinés en trois classes :
"Un composant est un élément paramétrable, réutilisable et modulaire modélisant une partie d’un
système. Il utilise un formalisme "boite noire" qui inclut des vues et des opérations pour le dé-
crire."[Bévan, 2013]
73
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
L’aide à l’intégration de la cybersécurité
4.2.2.2 La vue
Cet élément est spécifié sur l’hyper classe composant il est donc générique à toutes ses sous-
classes. Quatre types de vue vont être détaillés dans cette section :
— La vue partie opérative illustrée en figure 4.6, représente les différents ensembles paramé-
triques pour chaque CB au niveau M2. Elle caractérise donc le composant qui lui est associé
avec différents paramètres dans le niveau M1 :
— des paramètres dimensionnels : hauteur, longueur, largeur.
— des paramètres de position : position par rapport à un repère orthonormé (CSu)
— des paramètres particuliers : caractéristique dépendante du composant : vitesse, accé-
lération, décélération, longueur de course ....
— La vue topologique présentée en figure 4.7, donne un point de vue topologique pour le com-
posant. Seules deux sous-classes sont concernées par cette vue le CBE et le CCE. Le modèle
spécifie des positions pour le CBE et des zones pour le CCE. Les positions et les zones sont
virtuelles, mais elles aident dans l’expression des contraintes et la compréhension des opé-
rations.
— La vue contrainte illustrée en figure 4.8, décrit un modèle de contrainte comportementale
à haut niveau. Au niveau M1 c’est un ensemble de contraintes définissant le comporte-
ment du système, sous forme d’équation à condition pour l’activation ou la désactivation
d’une opération. Les conditions sont simples ou doubles, les conditions doubles sont liées à
d’autres conditions (doubles ou simples). Les conditions simples font référence à des opé-
rations et leur état ou à des temporisations. Cette vue ajoutée par Romain Bévan permet
par transformation d’enrichir la vue contrôle du modèle M1.
— La vue contrôle présentée en figure 4.9, décrit comment un composant peut être contrôlé
(programme automate pour le composant). Au niveau M1 on trouvera deux types de mo-
dèles de contrôle :
74
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
F IGURE 4.7 – Le méta modèle de la vue topologique
75
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
L’aide à l’intégration de la cybersécurité
4.2.2.3 L’opération
C’est le troisième élément qui nous intéresse. Il est présenté en figure 4.10. Il représente les fonc-
tions mises en œuvre par la ressource physique représentée par le composant de manière hiérar-
chique. Ces opérations sont commandables par des variables globales. C’est donc la description
de l’interface cyber de l’IACS. Celle-ci aussi a des attributs génériques pour sa classe et se décom-
pose en 2 types :
— l’Opération Basique, Basic Operation (OB/BO), c’est l’opération que réalise un CB elle est
principalement dépendante des entrées sorties de commande.
— les opérations agrégées : elle se décompose par niveau hiérarchique du composant.
— l’Opération Contextuelle, Contextual Operation (OC/CO), c’est l’opération que réalise
un CBE et qui est dépendante d’un contexte opérationnel.
76
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
— l’Opération Contextuelle Effective, Effective Contextual Operation (OCE/ECO), c’est
l’opération que réalise un CCE, elle est dépendante d’un contexte opérationnel et elle
effectue une action sur le produit.
77
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
L’aide à l’intégration de la cybersécurité
Les trois principaux éléments ont été illustrés au travers du méta modèle des composants. Les
transformations du flot ont aussi été décrites. Nous avons posé la base de nos travaux, qui vont
maintenant vous être présentés avec les ajouts de notre démarche. Ainsi que la définition d’un
nouveau langage décrivant la configuration de la passerelle.
Notre démarche vise à nous inscrire dans le flot de conception existant, outillé par ComGEM. Ce-
pendant elle ne doit pas interférer avec les précédentes réalisées sur le flot. Nous présentons en
section 4.3.2 les ajouts au modèle d’entrée pour la prise en compte de la cybersécurité. Aussi nous
introduisons en section 4.3.3 notre langage décrivant le modèle des références de la passerelle.
Mais premièrement nous présentons le nouveau flot de conception.
MES
CONF
Configuration QCADOO
ing
Monitor
QCADOO
View
characttion
Step 4 Control STRATON Straton
Download
generation PROJECT Runtime
Step 3 DESIGN Straton IDE
MODEL
NO Valide ?
Component Library
Dans l’étape de conception, le nouveau modèle enrichi par la prise en compte de la cybersécurité
est établi. Une méthode permettant l’auto-génération de cet enrichissement est donnée en sec-
tion 4.4.1. Dans l’étape de génération, une nouvelle méthode est mise en place afin de générer la
configuration de la passerelle. Cette génération du modèle des références est donnée en section
4.4.2. Dans l’étape de simulation, on y voit le placement de la passerelle dans le flot.
Cependant l’intégration de la cybersécurité nécessite des modifications dans le modèle en entrée
du flot. Ainsi que la définition d’un modèle de sortie pour la configuration de notre passerelle.
78
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
4.3.2 Les ajouts au modèle d’entrée du flot
L’approche hybride par composant et opération du flot permet la mise en place de point de vue
de sécurité. Ces points de vue vont nous permettre de renseigner les informations nécessaires à
l’intégration de la cybersécurité dans les systèmes. Le modèle composant existant a donc été mis
à jour, on a défini et précisé le contenu des vues surveillance et supervision comme montré en
figure 4.12.
La vue surveillance décrit pour chaque composant du système ce qui doit être observé, ainsi que la
condition de sécurité à vérifier. Nous avons pris en compte que les modèles peuvent être instanciés
par un concepteur, mais aussi par une transformation d’enrichissement.
Le modèle sûreté exprime les exigences de sûreté d’un composant et est présenté en figure 4.13.
C’est un ensemble hiérarchique de contraintes lié aux variables I/O de celui-ci et de ses fils. Les
contraintes sont des équations booléennes mises sous forme d’arbre binaire. Cependant celles-ci
sont hiérarchisées selon la hiérarchie des composants. L’intérêt est que l’on peut définir le com-
portement selon le niveau hiérarchique. Ces contraintes sont instanciées par le concepteur ou
générées automatiquement par transformation 4.4.1.1 et validées par celui-ci.
Le modèle opérationnel est présenté en figure 4.14. Il exprime les exigences opérationnelles
d’un composant. C’est un ensemble de contraintes hiérarchique lié vérifiant la temporalité d’un
événement. Les contraintes sont exprimées selon des Signatures Temporelles Causales décrites
dans les travaux [Saddem et al., 2012]. Cependant celles-ci sont hiérarchisées selon la hiérarchie
des composants. L’intérêt est que l’on peut contextualiser les événements non observables. Ces
contraintes sont générées automatiquement par transformation 4.4.1.2 et validées par le concep-
teur. Elles sont aussi en partie imbriquées, car l’un des événements non observables n’est "Aucune
défaillance observée". Celui-ci sert dans le niveau hiérarchique supérieur.
79
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
L’aide à l’intégration de la cybersécurité
80
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
4.3.2.2 La vue supervision
La vue supervision décrit pour chaque composant du système, les différentes options possibles
pour la remédiation en cas de violations des contraintes. Elle est présentée sous forme méta dans
la figure 4.15
81
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
L’aide à l’intégration de la cybersécurité
Nous avons pris pour hypothèse que notre passerelle connait le système qu’elle protège. Une par-
tie du modèle de référence servant à la configuration représente donc la partie opérative du sys-
tème. Cette représentation se fait sous forme de variables dans le référentiel physique. Elle a en-
suite été méta modélisée comme montré en figure 4.16.
On y constate plusieurs éléments, tout d’abord l’élément variable qui correspond aux informa-
tions et à leur regroupement point de vue cyber. Aussi on y trouve l’élément IOs, qui fait référence
à l’architecture du FB et à comment recueillir l’information sur le FB. Le référentiel physique est
donc la configuration pour le modèle I/O présent dans toutes les chaines d’information.
Ces références servent à la configuration des modèles de surveillance présents dans les chaines
d’information. Elles ont ensuite été méta modélisées :
La référence point de vue de la sûreté est utilisée dans la chaine de détection et réaction ré-
flexe présenté en section 3.3.2. Cette chaine détecte la violation des contraintes de sûreté pour
un système. La référence formalise ces contraintes en graphe de liaison quantitative, décrite dans
les travaux de [EL OSTA, 2005]. Nous les avons formulées en arbre binaire comme montré dans
82
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
la figure 4.17, ce choix a été principalement motivé par la vitesse d’analyse et l’exactitude du ré-
sultat. En effet la vitesse d’analyse dépend de la profondeur de l’arbre, du nombre d’arbres et de
la méthode de parcours. Le résultat d’analyse est l’ensemble des états des arbres. La chaine de
détection réaction réflexe mettant en œuvre cette référence est exécutée pendant le flot de com-
munication. Donc la vitesse d’analyse est indispensable pour ne pas engendrer de latence. Aussi
cette chaine vérifie la sûreté du système. Donc l’exactitude du résultat est indispensable. En effet
une contrainte de sûreté évalue si le système est dans un état permettant la mise à jour de la va-
riable. Or s’il ne l’est pas, il faut le détecter de façon certaine, pour éviter que le système blesse un
opérateur ou se détériore ou détériore le produit ou l’environnement.
La référence point de vue opérationnel est utilisée dans la chaine de détection et réaction pré-
sentée en section 3.3.4. Cette chaine détecte une STC relatant une défaillance. Elle formalise ses
STC en chroniques présentées dans la figure 4.18. Pour les modéliser, nous avons choisi un graphe
avec place et arc semblable aux réseaux de Petri.Les places représentent des événements relatifs à
une variable et son changement d’état. Les arcs quant à eux sont des intervalles temporels durant
lesquels l’événement peut arriver. Les chroniques permettent principalement de vérifier la bonne
exécution des opérations du système et d’aider au diagnostic lorsque ce n’est pas le cas.
La référence d’intégrité est formulée dans le modèle présenté en figure 4.19. C’est une liste de
différents ensembles de paramètres par type de variable. Au niveau M1 chaque variable aura un
ensemble de paramètres à vérifier dépendant de son type.
Les références de supervision définissent quelles réactions peuvent être entreprises, lorsqu’une
violation des exigences de sécurité est détectée. Elles sont décrites par catégories d’exigences au
niveau MM :
83
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
L’aide à l’intégration de la cybersécurité
84
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
La référence de sûreté est un automate à état décrit en figure 4.20. Celui-ci représente le com-
portement (les réactions) induit par la détection. trois types d’états sont définis : l’initial, le che-
cking, la réaction Les états sont liés entre eux par des transitions dépendantes du résultat d’analyse
ou d’une condition temporelle. La condition temporelle a pour but d’entrainer une réaction même
si l’analyse n’aboutit pas.
La référence avec un point de vue opérationnel décrit la remontée d’information induite par
la détection. Elle est présentée en figure 4.21. Elle décrit les différentes informations remontées :
les défaillances d’opération, de composant actif, de composant passif. La sélection de l’informa-
tion à remonter est faite par la chaine de détection réaction opérationnelle. Ici nous décrivons les
différentes informations à remonter en fonction de l’analyse des chroniques.
85
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
L’aide à l’intégration de la cybersécurité
86
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
4.4 La génération de la configuration de la passerelle ASSecIN
Le modèle d’information interne à la passerelle décrit les I/O du système, ainsi que les références
de détection et de réaction. À l’initialisation de la passerelle, le modèle interne est configuré pour
la cible à protéger. Comme dit précédemment nous nous sommes inscrits dans un flot de concep-
tion existant pour générer la configuration de la passerelle. Nous avons présenté dans la section
précédente le nouveau modèle en entrée du flot et le modèle en sortie. Dans cette section nous
allons détailler les étapes du flot ayant pour finalité de générer la configuration. Une vision macro
des étapes est donnée en figure 4.23. Deux types de transformation sont présents, celui d’en-
richissement qui auto-génère les modèles dans les vues du composant et celui de migration qui
génère la configuration. Les enrichissements pour le modèle de sûreté dans la vue surveillance des
composants sont hiérarchisés, mais indépendants les uns des autres, Une transformation instan-
cie le modèle de sûreté pour tous les composants d’un même niveau hiérarchique. Les enrichis-
sements pour le modèle opérationnel sont quant à eux hiérarchisés aussi, mais une séquence doit
être respectée. En effet des événements observables à un niveau sont des événements de référence
à un autre. Il faut donc réaliser les enrichissements selon une séquence, comme montré en figure
4.23. Après la validation du concepteur ainsi que l’instanciation du modèle de supervision, l’autre
type de transformation intervient. La migration est elle aussi séquentielle en effet une première
transformation réunie l’information et la met en forme conformément au modèle cible. Puis une
deuxième traduit ce modèle en format XML pour que la passerelle puisse le lire et se configurer.
Le flot de générations de la configuration ayant été présenté de façon macroscopique. Nous allons
maintenant détailler les transformations y prenant place.
87
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
L’aide à l’intégration de la cybersécurité
L’enrichissement est obtenu par une succession de transformations, celles-ci suivent toutes le
même fonctionnement illustré en figure 4.24.
Chacune s’établit sur un niveau dans la hiérarchie des composants, pour caractériser la vue sur-
veillance des composants de ce niveau, ce qui rend les transformations indépendantes. Les trans-
formations Refi.(CSys/CCE/CBE/CB) en figure, 4.23 peuvent donc être exécutées dans n’importe
quel ordre.
Ces transformations mettent en œuvre des règles dépendantes d’un contexte. Ce contexte permet
d’identifier si la règle peut être appliquée sur le composant en fonction :
— de ses fils
— des opérations
— des positions
— des zones
Les règles sont donc des paternes préétablies pour un certain contexte, elles ne sont pas effectives
pour tous les composants seulement ceux qui y correspondent.
Une fois la correspondance réglée, élément, contexte trouvé, la transformation se charge de rem-
plir le paterne avec les informations extraites du modèle source pour former l’arbre booléen. Puis
elle instancie le modèle auto-safety dans la vue surveillance du composant et continue son par-
cours du modèle source.
D’autres règles peuvent être ajoutées pour s’adapter au cas d’études que le concepteur désire sé-
curiser. Nous avons spécifié les règles relatives à notre cas d’étude, un exemple est donné en an-
nexe 1. Cet exemple présente la règle qui définit l’ensemble des contraintes de sûreté pour le vérin
88
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
d’un CCE, avec comme contexte : que le composant réalise un transfert avec vérin dans l’axe du
support, avec une butée en zone source et un capteur en zone source et destinataire. à ce niveau
hiérarchique, les règles donnent 2 types de contraintes :
— l’une est relative aux ordres commandant les composants fils de l’ECC (butée)
— l’autre est relative aux informations remontées par les composants fils de l’ECC (cellule zone
source et destinataire)
Le regroupement de ses règles est discuté dans les perspectives 6.2
Il est obtenu par transformations successives. Elles suivent toutes le même fonctionnement décrit
dans la figure 4.25.
Comme la première elles sont cloisonnées à un niveau hiérarchique. Avec des règles spécifiques
aux opérations de ce niveau et selon un contexte. Un exemple est donné en annexe 2.
Cet exemple traite de la génération des STC pour un vérin deux positions. Deux opérations contex-
tuelles servent ici de référence : les requêtes pour les deux positions du vérin. Dix défaillances sont
ici prises en compte :
1. la défaillance du capteur de position initiale de l’EBC pendant sa sortie
2. la défaillance du capteur de position initiale de l’EBC pendant sa rentrée
3. la défaillance du capteur de position finale de l’EBC pendant sa sortie
4. la défaillance du capteur de position finale de l’EBC pendant sa rentrée
5. la défaillance des capteurs de position finale et & initiale de l’EBC pendant sa sortie
6. la défaillance des capteurs de position finale et & initiale de l’EBC pendant sa rentrée
7. la défaillance de l’actionneur de l’EBC pendant sa sortie
8. la défaillance de l’actionneur de l’EBC pendant sa rentrée
89
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
L’aide à l’intégration de la cybersécurité
La vue supervision est instanciée manuellement par le concepteur, qui spécifie les contraintes
de supervision. Cependant les conditions et actions sont déjà établies auparavant, mais non confi-
gurées.
4.4.2 La migration
Cette transformation suit un algorithme présenté en 4.26.
90
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
La référence physique a le même formalisme pour le modèle source et le modèle cible, car elle
décrit les variables du système de la même façon avec les mêmes attributs. Ce sont d’ailleurs ces
attributs qui servent de paramètre pour la méthode de détection par intégrité d’une valeur.
La référence de détection de sûreté ayant le même formalisme pour le modèle source et le mo-
dèle cible, l’objectif est le regroupement ainsi que la liaison avec la référence physique du modèle
de configuration. Les règles sont données en annexe 5. Elle illustre le passage de l’élément du mo-
dèle source vers l’élément du modèle cible. Le résultat de cette transformation est présenté en
annexe 8
La référence de détection opérationnelle n’a pas le même formalisme, En effet dans le mo-
dèle source c’est un ensemble de STC hiérarchisé correspondant chacune à une ou plusieurs dé-
faillances, alors que dans le modèle cible c’est une chronique les réunissant toutes pour un com-
posant. Les chroniques ont un événement déclencheur, des événements de défaillance unitaire et
des événements à surveiller.
Plusieurs règles interviennent pour le changement de formalisme STC vers Chronique. Cepen-
dant nous avons constaté que des règles ne peuvent pas être exécutées durant la transformation
de migration, car elle exploite le modèle cible "SEC" et source "Design" de la migration. Cela est
montré en figure 4.23. Nous avons donc choisi de les placées dans la transformation permettant
l’obtention d’un fichier de configuration en XML ou en raffinement du modèle "SEC", en effet
celles-ci prennent en modèle source "SEC" et "Design". Nous allons détailler le principe des règles
permettant le changement de formalisme.
Une première règle transforme les triplets , leur événement de référence et à observer de-
viennent des places dans le sous-graphe. La contrainte temporelle quant à elle est transformée
en intervalle temporel, qui pondère l’arc reliant les deux places avec une marge de plus ou moins
10ms (le temps de cycle de notre automate). La règle est donnée en annexe 6 et décrite en figure
4.27.
Cette règle est exécutée durant la transformation de migration "ASSECIN", car elle transforme une
STC en sous-graphe décorrélé.
Une deuxième règle gère la cohérence des sous graphes , la précédente générant un sous
graphe par triplet, il faut rendre cohérent les sous graphes entre eux vis-à-vis de la STC qu’ils repré-
sentent. Les places identiques générées par la première règle de la transformation pour une même
STC sont fusionnées. Cette fusion fait émerger la première place qui n’est liée à aucune autre en
tant que destinataire d’un arc. Ce principe est illustré en figure 4.28
Une troisième règle gère la cohérence avec la STC , la précédente générant un sous graphe par
STC, il faut rendre cohérent celui-ci vis-à-vis de la STC qu’il représente. La prise en compte des
opérateurs de la STC permet de replacer les arcs tout en les recalculant. Cependant cette règle est
dépendante de la précédente.
Ces deux règles sont exécutées durant des transformations de raffinement "Refi fusion" & "Refi
flattening", car elles transforment les sous graphes décorrélés fournis par la transformation de
migration, en un sous graphe corrélé représentant la STC.
91
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
L’aide à l’intégration de la cybersécurité
La référence des réactions Les événements de défaillance sont traduits en log pour la partie
réaction du modèle cible. Le résultat est présenté en annexe 10
Cette transformation est le pivot de notre travail. Elle génère la configuration de la passerelle en
fonction de ce que le concepteur ou les transformations de raffinement ont spécifié.
4.5 Conclusion
Dans ce chapitre nous avons présenté une méthode orientée IDM, pour assister le concepteur
dans la phase de configuration de la passerelle. Nous avons introduit l’approche l’IDM ainsi que
les transformations, mais aussi ce sur quoi nous nous sommes basés pour construire la méthode.
Nous avons ensuite présenté la méta modélisation du modèle d’information interne de la passe-
92
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
relle. Puis nous avons introduit nos modifications sur le méta modèle de conception, ainsi que les
transformations permettant l’enrichissement automatique de celui-ci et la migration en modèle
de configuration. Cette contribution a permis de simplifier l’instanciation de notre cas d’usage,
afin de tester nos développements dans un démonstrateur. Celui-ci est présenté dans le prochain
chapitre.
93
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
5 Le démonstrateur
Léonard de Vinci
Sommaire
5.1 Présentation de la plateforme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
5.1.1 L’environnement d’émulation . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
5.1.2 L’environnement de sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
5.1.3 L’environnement de simulation . . . . . . . . . . . . . . . . . . . . . . . . . . 100
5.2 Présentation du cas d’étude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
5.2.1 La partie opérative . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
5.2.2 La partie commande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
5.2.3 La partie sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
5.2.4 Les scénarios de menace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
5.2.5 Autre cas d’étude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
5.3 Mise en œuvre du cas d’étude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
5.3.1 PO dans l’environnement de simulation . . . . . . . . . . . . . . . . . . . . . 111
5.3.2 L’intelligence de processus dans l’environnement d’émulation . . . . . . . . 112
5.3.3 Passerelle et résultat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
5.4 La génération . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
5.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Figures
5.1 Le visuel du démonstrateur ASSecIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
5.2 Le démonstrateur ASSecIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
5.3 Straton "workbench" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
5.4 Graphique dynamique de l’identification . . . . . . . . . . . . . . . . . . . . . . . . . 100
5.5 Présentation de l’outil SimSED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
5.6 Présentation d’un poste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
5.7 Présentation de l’architecture composant du cas d’étude . . . . . . . . . . . . . . . 103
5.8 Extrait du programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
5.9 Présentation des opérations du cas d’étude . . . . . . . . . . . . . . . . . . . . . . . . 105
5.10 Les arbres binaires pour le vérin 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
5.12 Présentation des effets du scénario d’attaque . . . . . . . . . . . . . . . . . . . . . . 109
5.14 Présentation des effets du scénario d’attaque . . . . . . . . . . . . . . . . . . . . . . 110
5.15 Présentation du cas d’étude 4 postes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
5.16 Présentation du cas d’étude dans le démonstrateur . . . . . . . . . . . . . . . . . . . 111
5.17 Le Runtime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
5.18 L’affichage des variables dans l’IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
5.19 Présentation du modèle interne de la passerelle par son interface . . . . . . . . . . 113
94
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
5.20 Flot du scénario d’attaque corruption de l’automate . . . . . . . . . . . . . . . . . . 114
5.21 Résultat sécurisation face au scénario d’attaque . . . . . . . . . . . . . . . . . . . . . 114
Tableaux
5.1 Synthèse de l’analyse de la communication . . . . . . . . . . . . . . . . . . . . . . . 99
5.2 La latence engendrée par l’outil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
5.3 Résultat de génération . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
5.4 Comparaison entre méthode manuelle et assistée . . . . . . . . . . . . . . . . . . . . 115
5.5 Valeur ajoutée des transformations de raffinement . . . . . . . . . . . . . . . . . . . 116
5.6 Comparaison entre méthode manuelle et autogénérée . . . . . . . . . . . . . . . . . 116
95
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Le démonstrateur
Le chapitre précédent a introduit une méthode assistant les concepteurs de système de produc-
tion pour l’intégration de la cybersécurité. Cette méthode est issue de l’IDM et s’inscrit dans un
flot de conception, fruit de précédents travaux. La méthode se décompose en quatre étapes :
1. l’instanciation des éléments primaires du système (Composant, Opération, Vue).
2. l’enrichissement semi-automatique du modèle.
3. la génération de la configuration.
4. la validation par simulation.
Les travaux décrits ici traitent du 3e verrou : Comment vérifier l’efficacité de la solution ?
Dans ce chapitre nous présentons le démonstrateur ASSecIN, il permet le test des méthodes de
détection et réaction, ainsi que de la configuration contenant les références de ces méthodes. Nous
présentons également le cas d’étude que nous avons conçu, le flot de conception, ainsi que les
analyses et paramètres que nous avons déduits. Enfin nous introduisons nos scénarios d’attaque
et/ou de défaillance et présentons nos résultats en termes d’aide à la génération et de sécurisation
par la passerelle.
Ce démonstrateur virtuel a plusieurs intérêts : Il permet d’observer les effets d’anomalies sur l’en-
vironnement du système et sur le système lui-même par simulation. Il est proche de la réalité, car
la décomposition respecte les niveaux hiérarchiques du CIM. Toutes les briques (niveaux hiérar-
chiques) sont présentes dans le démonstrateur : le MES, l’automate, les équipements, la station
d’ingénieur.
La communication est l’une des originalités de notre démonstrateur. L’utilisation d’un protocole
client-serveur se rapproche des implémentations cyberphysiques de l’I4.0. Aussi l’assemblage
d’environnements, les cloisonnent les uns par rapport aux autres tout en les liant par des canaux
96
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
de communication. L’assemblage permet de rendre compte au plus près de la propagation pos-
sible d’une attaque. En effet les trois environnements s’exécutent sur des machines virtuelles et
les communications passent par des interfaces réseau physiques. Une représentation est donnée
en figure 5.2
Qcadoo est l’outil de pilotage du système de production à haut niveau. Cet outil à la charge
d’ordonnancer la production par rapport aux ordres de fabrication qu’il reçoit. Aussi il veille au
respect de la recette permettant la réalisation du produit. Il représente le niveau 2 du CIM pour
notre démonstrateur [Laksmana et al., 2013].
5.1.1.1 Le toolkit
C’est une suite d’outil le workbench Straton proposé par la société Copalp, qui représente le ni-
veau 1 du CIM pour notre démonstrateur, avec le pilotage des équipements de production. L’IDE
représente la partie ingénierie et débogue des programmes et automates.
Cette suite d’outils utilisée par les industriels a les mêmes "vulnérabilités" classiques des outils
communément exploités.
97
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Le démonstrateur
La station d’ingénieur est la machine mettant en oeuvre l’IDE. Cet outil de conception ainsi
que de débogue permet de concevoir les programmes avec des langages normalisés IEC61131-3
(Sequential Functioning Chart (SFC), Functional Block Diagram (FBD), littérale structuré ...) pour
l’automate, ainsi que lier les entrées/sortie du programme à celle du monde physique ou cyber.
Cet ensemble d’informations et de programmes est envoyé à l’automate en utilisant l’API et le
protocole T5. L’IDE permet aussi un affichage et un contrôle de ses variables par ce même API et
protocole. On constate donc deux flots d’information illustrés en figure 5.3.
Le Runtime est l’outil exécutant le code précédemment conçu et mis en forme. Celui-ci est au-
tonome, il implémente aussi un serveur TCP avec l’API du protocole T5. Plusieurs clients peuvent
s’y connecter comme l’IDE, la passerelle ASSecIN, le simulateur, le MES ou un attaquant. Son cycle
se décompose en 5 phases :
— la lecture des entrées externe.
— l’acquisition des entrées externe et interne.
— le traitement des informations.
— l’écriture des sorties externe et interne.
— la mise à jour des sorties externe.
La lecture prend en compte les mises à jour des différentes variables inscrites dans des piles de
communication. L’acquisition met en exergue ces différentes mises à jour face au programme.
Les variables internes sont relatives aux temporisations internes du programme, mais aussi aux
variables globales mises à jour par la communication haut niveau (l’API du serveur). Les variables
externes sont quant à elle les variables du ou des réseaux de terrain.
Le protocole T5 est le protocole propriétaire des cibles Copalp. Sont API permet la communica-
tion avec d’autres entités : l’IDE, le MES, les autres automates .... Ce protocole n’est pas sécurisé, il
est donc attaquable une fois qu’on le connait.
5.1.1.2 Rôle
98
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
5.1.2 L’environnement de sécurité
La passerelle ASSecIn sécurise des IACS. Cet outil logiciel permet de capturer l’information tran-
sitant sur un réseau, de l’analyser et détecter des anomalies par des méthodes comportementales
ou informationnelles. La détection d’anomalie engendrera des réactions passives ou actives afin
de remédier à la situation. Ce dispositif implémente des chaines d’information avec différentes ré-
férences temporelles. La première étant celle du réseau où la passerelle capture les informations.
Le démonstrateur ASSecIN nous a obligés à faire des choix pour la passerelle au cours de son
implémentation. Le premier fut l’emploi de l’interface client-serveur TCP/IP, car c’est le protocole
de couche basse utilisé. Le second fut l’utilisation du protocole propriétaire de couches hautes T5
de Copalp, qui doit être pris en compte pour l’interprétation de l’information. Nous avons aussi
déduit par analyse de différentes captures, les paramètres du filtre présentés en section 3.3.1.1
L’analyse protocolaire nous a permis d’identifier les différentes communications. Nous avons
capturé avec l’outil Wireshark [Wir, 1990] la communication entre le simulateur et le Runtime.
Ces captures ont ensuite été traitées principalement dans Excel. L’identification de celle-ci nous a
fourni plusieurs résultats :
99
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Le démonstrateur
La passerelle ASSecIN doit être configurée avant de pouvoir analyser les communications. Cette
configuration prend place dès l’interprétation des communications jusqu’aux méthodes de sé-
curisation du système. Les références nécessaires sont générées à partir d’un flot de conception
précédemment introduit. Nous nous y inscrivons de différentes manières comme présentées en
figure 4.11 :
— dans l’étape de conception du système avec l’enrichissement automatique ou manuel 4.4.1.
— dans l’étape de génération avec la génération de la configuration de la passerelle 4.4.2.
— dans le flot de simulation avec l’intégration de la passerelle entre le Runtime et le simulateur.
Le démonstrateur ici présenté permet donc à la fois de tester les effets de défaillance et d’attaque
sur un système, et de valider les fonctions de détection et réaction de la passerelle.
Le démonstrateur étant modulaire chaque partie peut être remplacées par son homologue réel.
Une implémentation de la passerelle a d’ailleurs été réalisée sur une carte SAMA5D3 [ATMEL,
2014] avec un OS spécifique IOT YOCTO [YP, 2011] afin de tester l’outil dans un contexte réel.
Le designer est l’outil permettant la conception d’un site industriel en 3D. Il a son propre DSL in-
tégrant une bibliothèque de composants, afin qu’un utilisateur les instancie avec des paramètres
géométriques, des caractéristiques techniques comme la vitesse et l’accélération d’un moteur ....
L’outil s’occupe aussi de faire correspondre les ordres des composants avec ceux de l’automate, en
chargeant un fichier de configuration fourni par le toolkit Straton. L’instanciation de composants
utilitaires comme le générateur de produit ou l’opérateur est faite dans cet outil. Durant nos tra-
vaux nous avons conçu notre système sur ComGEM, qui n’a pas le même DSL et que nous avons
en plus modifié. Celui-ci génère un modèle pour le designer conforme à son DSL par migration.
100
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
F IGURE 5.5 – Présentation de l’outil SimSED
L’utilisateur n’a donc plus qu’à instancier les composants utilitaires et à faire correspondre les E/S
des composants avec celle de Straton. Puis le designer génère un fichier XML interprétable par le
simulateur.
Le simulateur permet de simuler le site préalablement réalisé dans le designer. Il récupère l’in-
formation du fichier XML ainsi que le fichier contenant le scénario que l’on veut y jouer. Les scé-
narios permettent notamment d’instancier des aléas (défaillance de composant), en spécifiant la
variable impactée et comment, le type d’aléa cyclique ou ponctuel et des paramètres temporels.
Nous pouvons donc jouer différents scénarios que notre passerelle devra les détecter. Le simula-
teur met en œuvre un environnement de réalité virtuelle avec un moteur physique Open Dynamic
Engine (ODE) [Smith et al., 2005]. Ce dernier s’approche au plus près de la réalité : il gère les col-
lisions, les différents mouvements, ainsi que les effets de force, vitesse et rigidité. La simulation
permet le test de programmes sur des cibles virtuelles ou réelles en les connectant en TCP/IP.
5.1.3.1 Rôles
101
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Le démonstrateur
La partie opérative est décomposée en composants de base. Leur agrégation forme le CBE/EBC
puis le CCE/ECC. C’est illustré dans la figure 5.7. On y constate la répartition des différents com-
posants ainsi que la hiérarchie.
— 1 CSys/SysC
— 3 CCE/ECC
— intercepteur
— traitement
— éjecteur
— 3 CBE/EBC
— vérin d’interception
— vérin de transfert
— vérin d’éjection
— 16 CB/BC
— 3 vérins de base
— 7 capteurs de position
— 6 capteurs de présence
— 7 CSu/SuC
— 3 convoyeurs, dont 2 motorisés
— 4 butées
Seuls les composants de base et support ont des informations physiques. Les autres classes de la
hiérarchie sont une abstraction de ceux de base, donc celles-ci ont leurs propres informations.
Cependant elles reçoivent ou donnent des informations et des ordres aux composants de niveau
hiérarchique inférieur.
102
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
F IGURE 5.7 – Présentation de l’architecture composant du cas d’étude
Ces composants sont instanciés dans SimSED Designer ils servent principalement à la bonne mise
en œuvre de la simulation. Ils permettent l’acquisition d’informations supplémentaires pendant
la simulation pour vérifier des propriétés du cahier des charges.
— le générateur de produit : c’est le composant paramétrable et/ou commandable générant le
produit.
— le chronomètre : c’est un composant permettant la capture précise d’un temps pour un
mouvement du produit.
La partie opérative durant la simulation est pilotée avec les variables par une intelligence de pro-
cédé réel ou virtuel. Cependant cette intelligence de procédé a son cycle d’exécution commandé
par le simulateur, garantissant ainsi le respect du cycle automate simulé.
103
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Le démonstrateur
La partie commande est décomposée en niveaux : les opérations basiques puis leur agrégation en
l’OC/CO puis l’OCE/ECO, comme illustré dans la figure 5.9.
— 5 Opérations du Système, System Operations (OSys/SysO)
— 2 transferts par convoyeur
— 3 transferts complexes
— 15 OCE/ECO
— 4 transferts par vérin
— 4 stockages actifs par butée
— 4 détections de zone occupée et 2 partiellement occupées
— 10 OC/CO
— 7 requêtes de position
— 3 demandes de position
— 19 OB/BO
— 3 ordres sortis et 3 ordres rentrés pour les vérins
— les détections de position : 3 initiales, 3 finales et 1 milieu
— 6 détections par cellule
— 10 Opérations Supports, Support Operations (OSu/SuO)
— 4 ordres sortis et 4 ordres rentrés pour les butées
— 2 ordres de marche pour moteur
On y constate que tous les composants ont des opérations. La navigation entre les niveaux hiérar-
chiques est établie par des variables globales qui sont les flèches sur la figure 5.9. Les informations
physiques (ordres/information) sont les derniers & premiers maillons de la chaine. Le haut niveau
hiérarchique est le point névralgique où tout converge, ce sont les contraintes de commande.
104
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
F IGURE 5.9 – Présentation des opérations du cas d’étude
L’ensemble des opérations est régi à haut niveau par ces contraintes. Elles donnent les conditions
d’activation et de désactivation des opérations. Les conditions sont les états d’autres opérations
ainsi que des temporalités.
Dans notre cas d’étude, l’objectif est de traiter un produit en le sortant de l’anneau d’alimentation,
puis l’y replacer sans perturber le flux de produit sur l’anneau.
L’anneau d’alimentation est composé de deux convoyeurs à moteur, deux opérations de trans-
fert commandent les variables qui les pilotent :
— T03 : Commence → 1 ; Termine → 0.
— T811 : Commence → 1 ; Termine → 0.
Les deux opérations s’activent, mais aucune contrainte n’est définie pour leur arrêt.
L’interception et l’éjection se font par l’intermédiaire d’un vérin. Deux opérations contextuelles
effectives de transfert commandent des variables pour les OC :
— T24 : Commence → IPZ2 * AS2 * AS4 ; Termine → !DOZ2.
— T910 : Commence → DZ9 * AS2 * !DPOZ2 * !DZ10 ; Termine → !DOZ9.
Les deux opérations s’activent une fois que les conditions DZ pour les zones sources sont validées.
Elles se désactivent avec les conditions DZO/DOZ pour les zones sources, en effet la DZO/DOZ est
relative à la détection de zone, mais aussi à la position du vérin. Des conditions relatives à la sécu-
rité d’exécution de l’opération sont aussi présentes. En effet les contraintes de commande spéci-
fient les opérations qui commandent, mais aussi l’état des opérations la sécurisant. (Exemple, le
verrouillage des zones sources et destination) :
— AS Zone 2 : Commence → DZ2 * !DPOZ2 ; Termine → !T24 + DPOZ2.
— AS Zone 4 : Commence → DZ2 * !DOZ4 ; Termine → DZ4.
105
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Le démonstrateur
Le transfert vers la zone de traitement est réalisé par un vérin trois positions, qui déplace le
produit sur un convoyeur non motorisé. La position milieux est une zone de travail dans laquelle
le produit doit rester 1s pour être traité. Les deux mouvements correspondent aux deux opérations
de transfert :
— T56 : Commence → ( !DZ6 + (DZ7 * DPOZ6 * !AS7) * !AS5 ; Termine → DOZ5.
— T67 : Commence → DPOZ6* !AS5 * !AS7 ; Termine → DZ7.
Ces contraintes fixent donc le comportement de notre système à haut niveau. Les opérations de
ce niveau fournissent et prennent l’information du niveau inférieur. ..., Ainsi de suite jusqu’aux
ordres et informations de la partie opérative.
Ces ordres et informations transitent et sont traités par la passerelle ASSecIN afin de détecter des
anomalies par rapport à des références.
La référence opérationnelle tire parti de la hiérarchie des opérations pour sa génération. Les chro-
niques sont mises sous forme de graphe à partir des STC décrites dans la section 4.3.2.1. L’état
des informations est pris en compte par les fronts, c’est une particularité de nos STC. Nous avons
constaté durant nos travaux que la hiérarchie des opérations permet une meilleure mise au point
pour les STC
106
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
F IGURE 5.10 – Les arbres binaires pour le vérin 1
En effet : une défaillance indéterminée à un niveau hiérarchique peut être déterminée à un niveau
supérieur. Nous allons exposer ce point avec l’exemple du vérin :
— STC de niveau (OC),
!(V1_GO & ↓PI_V1 & NCT) * (V1_GO & ↑PF_1 & (LV)) → Défaillance capteur position initiale
en sortie (DOPIV1)
(V1_GO & ↓PI_V1 & NCT) * !(V1_GO & ↑PF_1 & (LV)) → Défaillance indéterminée en sortie
(ED1)
!(V1_GO & ↓PI_V1 & NCT) * !(V1_GO & ↑PF_1 & (LV)) → Défaillance indéterminée en sortie
(ED2)
!(V1_R & ↓PF_V1 & NCT) * (V1_GO & ↑PI_1 & (LV)) → Défaillance capteur position finale en
rentrée (DOPFV1)
(V1_R & ↓PF_V1 & NCT) * !(V1_GO & ↑PI_1 & (LV)) → Défaillance indéterminée en rentrée
(ED3)
!(V1_R & ↓PF_V1 & NCT) * !(V1_GO & ↑PI_1 & (LV)) → Défaillance indéterminée en rentrée
(ED4)
— STC 1 de niveau (OCE),
(B2_GO & ↑CI & NCT) * (CI & ↑V1_GO & 40) * (V1_GO & ↓CI & 40) * (V1_GO & ↑C1 & (LV))
* (V1_GO & ↑ED1 & (LV)) * (C1 & ↓V1_GO & 40) + (C1 & ↑V1_R & 40) → Défaillance capteur
position finale en sortie (DOPFV1)
On constate que les STC peuvent fournir des résultats indéterminés à leurs niveaux au point de
vue du diagnostic, mais quand elles sont transmises sous forme d’Événement de Défaillance (ED)
au niveau supérieur le diagnostic est plus clair.
Cependant nous avons préféré orienter nos travaux vers les méthodes génératives en commençant
par les contraintes de sûreté. Afin d’avoir une solution complète pour une méthode de détection
et de réaction.
Les STC ne sont générées complètement que jusqu’au niveau contextuel. Les Chroniques ne le
sont que sous la forme d’ensembles de sous graphes.
La dernière référence correspond à l’ensemble des variables du système. Elle fait correspondre les
noms de variable aux index dans la communication et fait référence aux ensembles de contraintes
de sécurité.
107
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Le démonstrateur
(a) Mapping de l’attaque par corruption (b) Description du scénario d’attaque par corruption
108
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Lors de l’attaque en phase active ce fonctionnement est perturbé. La séquence de fonctionnement
anormale est illustrée en figure 5.11b avec l’indice 2.
1. la présence du produit est détectée et remontée à l’automate.
2. l’automate commande alors l’interception du produit, mais aussi le transfert (flèche en gras
superposée). Si l’un est commandé en sortie alors l’autre le sera aussi, cela est dû à la modi-
fication du programme automate.
3. une fois celles-ci réalisées l’automate commande deux fois le transfert, mais aussi l’inter-
ception(flèche en gras superposée).
4. l’automate enfin commande l’éjection du produit traité vers le tapis d’alimentation s’il est
présent (flèche fine).
La désactivation du déclencheur passe l’attaque en phase latente, elle fait reprendre au système
son fonctionnement normal, mais peut donc être déclenchée à plusieurs reprises.
L’effet de l’attaque est montré en figure 5.12 avec les deux vérins sortis en même temps, cela dété-
riore ou détruit le produit en l’éjectant du poste, mais aussi peut nuire à l’opérateur en comman-
dant le vérin pendant que celui-ci réalise la tâche.
Décomposition de l’attaque : L’attaque est visible sur l’entité dont on a pris le contrôle, mais
elle fait fonctionner le système correctement avec la séquence décrite dans la section précédente.
Cependant l’attaque s’établit avec une méthode différente. En effet c’est la station d’ingénierie
par l’intermédiaire de l’IDE qui y est déployé, qui va forcer des variables dans l’automate et qui
induisent un mauvais comportement. La séquence de fonctionnement anormal est illustrée en
figure 5.13b avec l’indice 3.
1. la présence du produit est détectée et remontée à l’automate.
2. l’automate commande alors l’interception du produit si la zone n’est pas déjà occupée.
3. une fois celles-ci réalisées l’automate commande le transfert si la zone n’est pas déjà occu-
pée.
109
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Le démonstrateur
4. l’éjection quant à elle est forcée depuis le départ de l’attaque (flèche large).
L’effet de cette attaque est illustré en figure 5.14. Il peut y avoir destruction de produit selon le
moment d’activation, mais le principal effet est le blocage du poste. En effet le poste ne pouvant
plus éjecter il intercepte les produits jusqu’à ce qu’il soit rempli puis est neutralisé.
La méthode d’attaque est différente et ne fera pas appel aux mêmes interfaces cybers. C’est ce
que l’on voulait démontrer par ces travaux, en effet il y a des méthodes de détection spécialisées
ou généralistes pour les réseaux de la IT. Pour les réseaux de la OT on peut utiliser des méthodes
basées sur l’observation des effets qui fournissent une protection plus large.
Les scénarios d’attaques présentés visent à tester les méthodes de détection et de réaction avec
des exigences de sûreté. Cependant certaines attaques comme Stuxnet [Falliere et al., 2011] ne
violerait pas suffisamment ces exigences pour pouvoir être détectée. Mais les méthodes avec des
exigences opérationnelles ou d’intégrités le peuvent.
110
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
F IGURE 5.15 – Présentation du cas d’étude 4 postes
De cette interface l’opérateur peut voir les effets d’une attaque sur le niveau 0 du CIM. Il peut aussi
commander la génération de produit afin de vérifier le comportement du système selon sa charge.
SimSEDs contrôle le cycle automate par l’interface de communication, ce qui induit le respect du
cycle automate quel que soit le temps d’exécution du simulateur dans le flot de simulation.
111
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Le démonstrateur
5.3.2.1 L’automate
C’est la première entité, elle émule un automate ainsi que son interface réseau. En effet comme
montré en figure 5.17, celui-ci implémente un serveur où l’on peut se connecter en T5.
Il exécute le programme de commande, qui lui a été fourni. Il lit les entrées qu’il reçoit et calcule
puis envoie les sorties, selon un fonctionnement cyclique.
Cette entité permet principalement de dialoguer avec l’automate pour lui charger des pro-
grammes, Elle affiche aussi l’état du programme parallèlement son exécution dans l’automate.
ainsi que l’état des variables comme montré en figure 5.18
112
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Cette entité se connecte à l’automate en tant que client sur son interface.
5.3.3.1 La configuration
Elle est présentée dans la figure 5.19 après interrogation par son interface. Les informations sur
les variables sorties vérin 1 et position initiale vérin 1 y sont montrées, notamment l’état réel et
sécurisé ainsi que le type. Les arbres binaires de niveau 2 pour le composant enrichi verni 1 sont
également présentés.
Elles ont été testées avec le scénario d’attaque de l’automate. Il évalue la capacité de la passerelle
à détecter les violations des exigences de sûreté et la réaction associée. Une description du flot de
l’attaque est donnée en figure 5.20
Ce flot est décomposé en plusieurs séquences selon le mode de la passerelle et sa présence. La sé-
quence avec réaction active est illustrée en figure 5.20 avec l’indice 4. On constate que la passerelle
filtre les ordres , qui perturbent le bon fonctionnement selon l’état du système (croix oranges). Ce
qui lui permet d’éviter un fonctionnement anormal aux conséquences désastreuses. Elle prévient
ainsi la destruction du produit ou l’atteinte de l’opérateur. La passerelle permet ainsi le maintien
en fonctionnement de l’IACS par cette filtration Elle alerte aussi le haut niveau du système sur
l’état du système qui est attaqué.
La séquence avec réaction passive est illustrée en figure 5.20 avec l’indice 5. La passerelle ne filtre
plus, mais informe toujours le haut niveau de l’occurrence d’une attaque. Cependant les effets ne
sont pas évités.
Les résultats de la protection sont illustrés en figure 5.21
Cette figure montre une partie de la référence de détection. Puis la remontée d’information de la
passerelle avec une vue de la simulation en fonctionnement nominale.
Elle présente ensuite la remontée d’information de la passerelle, qui est constituée des log de dé-
tection (la validation des différents arbres binaires), lorsqu’une attaque est détectée avec une vue
de la simulation.
Enfin elle montre les différentes réactions que la passerelle déclenche. On y constate que le filtrage
d’ordre de la passerelle pour un cas avec/sans produits est différent, mais pas pour l’alerte.
113
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Le démonstrateur
114
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
La détection des attaques pour les scénarios 1 & 2 est bien effective. Les réactions permettent
d’informer de manière passive, ou de filtrer afin de garantir la non-destruction ou le non-blocage
de produit.
5.3.3.3 La latence
Les IACS ont des exigences de temps de réponse. Nous avons voulu vérifier l’influence de la pas-
serelle sur le temps d’exécution Elle a été évaluée tout au long du développement de l’outil. Nous
avons fait cette analyse à chaque étape du développement pour les valider. Les derniers résultats
sont retranscrits dans le tableau 5.2. Il compare la mesure de la latence avec et sans la passerelle.
Cela nous a permis d’évaluer notre solution de démonstration ainsi que l’impact de notre outil.
Aussi une comparaison est réalisée sur notre cas d’étude simulé avec une charge légère de pro-
duction et une lourde. La charge est relative au nombre de produits à traiter (fréquence d’envois).
La lourde implique que certains produits ne seront pas traités du fait du temps d’attente sur le
poste.
TABLEAU 5.2 – Résultat pour l’objectif de non-perturbation avec la latence pour métrique
charge du cas d’étude légère lourde moyenne
sans la passerelle 32ms 42ms 37ms
avec la passerelle 37ms 43ms 40ms
latence induite 5ms 1ms 3ms
On y constate une diminution de la latence induite lorsque la charge du cas simulé augmente.
Nous n’avons pas pu trouver d’explication à ce phénomène. Cependant nos résultats sont encou-
rageants, car la latence correspond à 10
Nous avons présenté dans cette section la mise en œuvre du cas d’étude. Ainsi que les résultats
concernant la passerelle et le démonstrateur. Cependant nos travaux se sont orientés vers la pro-
blématique d’intégration de la cybersécurité dans les systèmes.
5.4 La génération
Notre passerelle a besoin d’être configurée pour répondre aux objectifs de détection et réaction.
La méthode élaborée permet de générer cette configuration pour un cas par l’IDM. Cette méthode
a ensuite été améliorée par la mise en place de l’auto génération. Nous allons synthétiser la mise
en œuvre des deux méthodes ainsi que leur bénéfice.
La génération des références est la méthode décrite en section 4.4. Elle a été outillée avec une
transformation ATL de 282 lignes permettant la génération automatique de la configuration. Le
tableau 5.3 chiffre les résultats de génération.
115
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Le démonstrateur
TABLEAU 5.4 – Comparaison entre une génération manuelle des références et une assistée
méthode définition des traduction total
contraintes
manuelle 3h 1h 4h
outillée 2h 1min 2h
Cependant, cette comparaison ne tient pas compte du temps de conception dans l’outil qui peut
être très réduit. En effet dans les précédents travaux une bibliothèque de composants était réali-
sée. La possibilité d’agrégation de composants pour en former de nouveaux était possible avec la
mémorisation de leurs caractéristiques. Cela permet donc par réutilisation de grandement dimi-
nuer le temps de définition des contraintes.
Nous avons réfléchi à une autre façon de diminuer, mais aussi simplifier la génération de
contraintes. Nous allons vous présenter les résultats du complément à cette méthode.
L’auto génération de la vue surveillance est le complément à la méthode précédente. Des trans-
formations élaborent automatiquement les contraintes par raffinement successif. Elles exploitent
les vues graphiques et matérielles des composants du modèle. Elle les instancie ensuite dans le
modèle adéquat "AutoSafety". Un exemple de l’auto génération est donnée en annexe 9. Notam-
ment le volume de codage des transformations d’enrichissement et le nombre de règles conçues
et mises en œuvre. Il y est aussi donné le volume d’arbre binaire (BT) généré par niveau et selon le
cas d’étude avec le nombre de nœud (N) et de feuille (F).
Le tableau 5.5 chiffre les résultats de l’auto génération.
TABLEAU 5.5 – Valeur ajoutée des transformations d’instanciation automatique des arbres binaires
transformations taille du code NB de règles ajout pour 1
ajout pour 4
poste
postes
raffinement CB 253 lignes 4 18BT 1F
76 BT 1F
raffinement 504 lignes 2 4BT 3N 4F, 2BT
16BT 3N 4F, 8BT
EBC 8N 9F, 4BT 1F,
8N 9F, 16BT 1F,
2BT 1N 2F
8BT 1N 2F
raffinement 1500 lignes 9 10BT 1N 2F,
40BT 1N 2F,
ECC 15BT 1F
60BT 1F
raffinement 254 lignes 3 2BT 3N 4F, 4BT
8BT 3N 4F, 24BT
CSys 1N 2F1N 2F
totaux 2511 lignes 18 256BT61BT 50N 111F
208N
464F
Nous avons ensuite comparé les temps de réalisation avec la méthode manuelle et la méthode
optimisée par raffinement dans le tableau 5.6.
TABLEAU 5.6 – Comparaison entre une génération manuelle des références et une avec auto génération
méthode et cas définition d’un site définition des traduction total
contraintes
manuelle 1 poste 1h 2h 1h 4h
outillée 1 poste 1h 10min 1min 1h.10min
manuelle 4 postes 4h 8h 4h 16h
outillée 4 postes 2h 40min 1min 2h.10min
On constate que le temps de génération de la configuration pour 1 poste est quasiment divisé par
4. Le temps de définition des contraintes n’est pas totalement réduit, car le concepteur doit valider
les contraintes générées.
Nous avons aussi pu constater que bien que le temps de définition augmente avec le nombre de
contraintes, ce n’est en rien comparable avec l’augmentation induite par la méthode manuelle
lors de la définition de cas complexe avec 4 postes. En effet le temps de génération est alors divisé
par 8 grâces notamment à la réutilisation des composants.
116
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
5.5 Conclusion
Dans ce chapitre nous avons présenté un démonstrateur permettant de vérifier nos méthodes de
détection et de réaction ainsi que leurs configurations. Nous avons introduit notre cas d’étude se-
lon une démarche outillé en donnant les différentes implémentations dans les outils : La PO avec
sa représentation générée par l’outil ComGEM pour le simulateur ; La Partie Commande, com-
mand part (PC) avec ses opérations et les contraintes de commande aussi générée par ComGEM
pour l’automate ; La partie sécurité avec les références de sécurité générée par notre outil Com-
SecGeM pour la passerelle. Enfin des scénarios d’attaque nous ont permis de valider la sécurité
offerte par notre approche. La sécurité étant réactive et passive selon l’effet induit par le scénario
et réalisé en ligne, elle est donc assurée face à des anomalies d’origine externe ou interne.
117
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
6 Conclusion générale
Albert Camus
Sommaire
6.1 Rappel des contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
6.2 Perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
118
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Les travaux présentés dans cette thèse ont abouti à différentes contributions, pour répondre à la
problématique de la sécurisation des SAP, notamment dans le cadre de la cybersécurité, appliqué
aux systèmes transitique.
Après avoir introduit la quatrième révolution "numérique" que subissent nos systèmes de produc-
tion, nous avons dressé un état de l’art sur ce sujet avec une vision sur la sécurité de ces systèmes.
En nous focalisant sur les effets, nous avons pu regrouper attaque et défaillance sous la notion
d’anomalie. Ce positionnement au niveau de l’effet d’une attaque cyber est intéressant, car il ré-
duit l’éventail des possibilités à explorer afin d’empêcher la finalité de cette dernière. En effet, les
techniques d’attaques évoluent sans cesse alors que la finalité (destruction ou détérioration d’une
partie du système ou du produit) reste dénombrable. Nos travaux se positionnent donc en com-
plément des travaux sur la détection d’intrusion et constituent le rempart ultime de protection du
système physique.
Nous avons ensuite présenté nos contributions en relation avec les objectifs que nous avons posés.
6.2 Perspectives
Les résultats obtenus dans nos travaux sont intéressants en matière de sécurité ainsi qu’en terme
de méthode. Ils ouvrent des perspectives tout aussi intéressantes notamment sur de nouvelles
méthodes de sécurisation, ou encore sur des aspects de modélisation de la sécurité et de l’envi-
ronnement d’un SAP.
119
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Conclusion générale
— à un historique d’information qui permettrait l’analyse du cycle de vie d’un composant par
analyse statistique.
— à la violation de permission, avec le point de vue de la communication d’un équipement
communicant sans permission avec un autre.
— au trafic réseau afin de remonter les métriques relatant la charge réseau pour ainsi identifier
des attaques DDOS.
Nous pourrions aussi poursuivre les travaux sur de nouvelles méthodes de réaction relative :
— à un index de confiance pour l’équipement et ses variables.
— au "firewalling" permettant de protéger l’équipement face à des communications violant
des permissions ou ayant un index de confiance bas.
— à l’isolation pour sécuriser les équipements autonomes (robot) ayant leurs propres intelli-
gences de processus, ainsi que les systèmes massivement distribués, composés d’équipe-
ment issu de l’IOT.
Cela exigera un effort d’implémentation pour le code de la passerelle, ainsi que des travaux dans
l’implémentation matérielle de certaines méthode ou partie de la passerelle [Lesjak et al., 2015]
ou [Yin et al., 2015] compte tenu de l’objectif de non-perturbation de la passerelle par rapport au
fonctionnement du système. Enfin un travail sur un moteur décisionnel synthétisant l’ensemble
des détections qui ne couvrent pas des exigences de sûreté semble une piste prometteuse. En effet
la mise en place d’une intelligence décisionnelle alliant la fusion d’information et les réseaux de
neurones est une piste pouvant être explorée. Une autre piste intéressante est la distributivité de
la sécurité avec un réseau de passerelles et une intelligence décisionnelle distribuée.
Point de vue de la méthode de configuration l’un des objectif serai la simplification du paramé-
trage de l’outil de sécurisation. La suite logique de nos travaux serait de continuer l’implémenta-
tion du flot afin de générer de nouvelles configurations pour de nouvelles méthodes. Pour cela il
faut modéliser les ressources nécessaires à la nouvelle méthode de sécurisation. Sans être exhaus-
tif, les travaux sur les méthodes de détection pourraient traiter de :
— l’analyse de l’information (un historique, des paramètres, un index de confiance [Franklin
et al., 2014])
— la vérification des permissions (liste des permissions, un index de confiance, une probabilité
d’attaque [Papp et al., 2015])
— l’analyse du réseau avec les méthodes de [Bhuyan et al., 2014] (des paramètres statistiques,
une probabilité d’attaque)
Les travaux sur les méthodes de réaction pourraient s’intéresser à :
— un listing de confiance multi niveaux (les variables, les entités)
— le "firewalling" (les pare-feu matériels [Cotret et al., 2012], les pare-feu intelligents [Zou et al.,
2002])
— l’isolation (une probabilité d’attaque)
Ce travail de modélisation des références de la passerelle doit être réalisé pour les nouvelles mé-
thodes. Enfin des travaux sur un mécanisme "plug and play" par apprentissage pour l’auto confi-
guration de l’outil serait intéressant.
120
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
— MES
— Gestionnaire de Maintenance Assisté par Ordinateur (GMAO)
— Gestionnaire de Production Assisté par Ordinateur (GPAO)
— SCADA
— serveur constructeur
Cela exigera un enrichissement du langage actuellement utilisé dans nos travaux, ainsi que des
travaux de transformation de modèles notamment pour le raffinement automatique, mais aussi
la génération des configurations pour les différentes passerelles. La finalité serait d’introduire la
notion de mode pour le système afin d’y adapter les réactions de la passerelle en conséquence.
Enfin des travaux seront à articuler autour de la norme IEC-62264, qui est spécialement conçue
pour la modélisation des systèmes de production, ou encore l’IEC61499 conçue pour les appli-
cations distribuées. Afin de générer un nouveau langage généraliste, qui permettrait la mise en
place de nombreuse transformation pour générer des configurations de commande, de sécurité,
ou même de jumeau numériques.
Point de vue du démonstrateur l’un des objectifs serait la virtualisation totale d’un site de pro-
duction. Elle permettrait à la fois un entrainement pédagogique pour des opérateurs face à diffé-
rentes anomalies, ainsi qu’un outil de test multi niveaux pour des solutions de cybersécurité. Les
recherches sur la charge mentale ou les systèmes sociotechniques y trouveraient également un
outil sur lequel s’appuyer pour leurs théories.
121
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Bibliographie
Romain Bévan. Approche composant pour la commande multi-version des système transitiques
reconfigurables. PhD thesis, Université de Bretagne Sud, 2013.
Dennis L Brandl. Isa sp 95 : The factory-to-business link. IND COMPUT, 19(6) :16–17, 2000.
Éric Zamaï, Fabien Rigaud, Jean-François Pétin, Pascal Berruet, and Armand Toguyeni. Architec-
tures de pilotage de procédés industriels. In Techniques de l’Ingénieur. Génie industriel - Concep-
tion et Production - Conduite des systèmes industriels, page AG3510. Editions Techniques de l’In-
génieur, July 2007. URL https://hal.archives-ouvertes.fr/hal-00156363.
Philippe Allot. SCADA et MES : les vérités qui dérangent. , L’usine nouvelle, 2014.
Jean-Sébastien Mouchard. Proposition d’une approche méthodique pour la conception des sys-
tèmes automatisés de production : application aux systèmes transitiques. PhD thesis, Universitée
de Bretagne Sud, 2002. URL http://www.theses.fr/2002LORIS014.
Christos G Cassandras and Stephane Lafortune. Introduction to discrete event systems. Springer
Science & Business Media, 2009.
Florent Frizon De Lamotte. Proposition d’une approche haut niveau pour la conception, l’analyse
et l’implantation des systèmes reconfigurables. PhD thesis, Université de Bretagne Sud, 2006.
Dorottya Papp, Zhendong Ma, and Levente Buttyan. Embedded systems security : Threats, vulne-
rabilities, and attack taxonomy. In Privacy, Security and Trust (PST), 2015 13th Annual Confe-
rence on, pages 145–152. IEEE, 2015.
Nicolas Falliere, Liam O. Murchu, and Eric Chien. W32. stuxnet dossier. , Symantec Corp, 2011.
Tim Conway Robert M. Lee, Michael J. Assante. German steel mill cyber attack. , SANS Industrial
Control Systems, 2017.
122
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
CLUSIF. Site web du club de la sécurité de l’information. https://clusif.fr, 1992.
Habib Hadj Mabrouk. Introduction à la sécurité et à l’analyse des risques technologiques et hu-
mains. In 3ème Symposium International sur la Maintenance et la Maîtrise des Risques, page
16p, 2010.
Jean-Claude Laprie, Jean Arlat, JP Blanquart, A Costes, Y Crouzet, Y Deswarte, JC Fabre, H Guiller-
main, M Kaâniche, K Kanoun, et al. Guide de la sûreté de fonctionnement. Cépaduès éditions,
1995.
Edmond M. Clarke and Jeannette M. Wing. Formal Methods : State of the Art and Future Direc-
tions. ACM Computing Surveys, 28(4) :626–643, 1995. URL https://hal.archives-ouvertes.
fr/hal-00444076.
Soraya Mesli Kesraoui. Integration of formal verification techniques into a control-command sys-
tem design approach : application to SCADA architectures. These, Université de Bretagne Sud,
May 2017. URL https://tel.archives-ouvertes.fr/tel-01738049.
Averill M Law, W David Kelton, and W David Kelton. Simulation modeling and analysis, volume 2.
McGraw-Hill New York, 1991.
Olivier Cardin. Contribution of online simulation to production activity control decision support –
Application to a flexible manufacturing system. These, Université de Nantes, October 2007. URL
https://tel.archives-ouvertes.fr/tel-00338761.
ISA/IEC 62443-3-1. Industrial communication network - network and system security : Security
technologies for industrial automation and control systems. , International Society of Automa-
tion, 2009.
Keith Stouffer and Joe Falco. Guide to supervisory control and data acquisition (SCADA) and in-
dustrial control systems security. National institute of standards and technology, 2006.
Sentryo. Site WEB. https://www.sentryo.net/fr/, 2000. Solution for cyber security for indus-
trial Internet.
123
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
BIBLIOGRAPHIE
Tatu Ylonen and Chris Lonvick. The secure shell (SSH) protocol architecture. , RFC 4251, 2005.
Tobias Heer and Samu Varjonen. Host identity protocol certificates. , RFC 8002, 2016.
Ronald L Rivest et al. The md5 message-digest algorithm. , RFC 1321, 1992.
Young H Cho and William H Mangione-Smith. Deep packet filter with dedicated logic and read
only memories. In Field-Programmable Custom Computing Machines, 2004. FCCM 2004. 12th
Annual IEEE Symposium on, pages 125–134. IEEE, 2004. doi : 10.1109/FCCM.2004.25.
Sarang Dharmapurikar, Praveen Krishnamurthy, Todd Sproull, and John Lockwood. Deep packet
inspection using parallel bloom filters. In High performance interconnects, 2003. proceedings.
11th symposium on, pages 44–51. IEEE, 2003.
Fang Yu, Zhifeng Chen, Yanlei Diao, TV Lakshman, and Randy H Katz. Fast and memory-efficient
regular expression matching for deep packet inspection. In Proceedings of the 2006 ACM/IEEE
symposium on Architecture for networking and communications systems, pages 93–102. ACM,
2006.
Daniel Smallwood and Andrew Vance. Intrusion analysis with deep packet inspection : increasing
efficiency of packet based investigations. In Cloud and Service Computing (CSC), 2011 Interna-
tional Conference on, pages 342–347. IEEE, 2011. doi : 10.1109/CSC.2011.6138545.
Sandeep Bhatt, Pratyusa K Manadhata, and Loai Zomlot. The operational role of security informa-
tion and event management systems. IEEE security & Privacy, 12(5) :35–41, 2014.
Manuel Cheminod, Luca Durante, and Adriano Valenzano. Review of security issues in industrial
network. IEEE TII, pages 277–293, February 2013.
Hervé Debar, Marc Dacier, and Andreas Wespi. Towards a taxonomy of intrusion-detection sys-
tems. Computer Networks, 31(8) :805 – 822, 1999. ISSN 1389-1286. doi : https://doi.org/
10.1016/S1389-1286(98)00017-6. URL http://www.sciencedirect.com/science/article/
pii/S1389128698000176.
J. P. ANDERSON. Computer security threat monitoring and surveillance. Technical Report, James
P. Anderson Company, 1980. URL https://ci.nii.ac.jp/naid/10014688737/en/.
Lee Wilmoth Lerner. Trustworthy embedded computing for cyber-physical control. PhD thesis,
Virginia Polytechnic institute and state university, 2015.
Sandeep KumarandEugene Spaord. Apattern matching model for misuse intrusion detection. In
17th National Computer Security Conference, 1994.
Ramla Saddem and Alexandre Philippot. Causal temporal signature from diagnoser model for
online diagnosis of discrete event systems. In Control, Decision and Information Technologies
(CoDIT), pages 551–556, Nov 2014.
124
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
D. Dzung, M. Naedele, T. P. Von Hoff, and M. Crevatin. Security for industrial communication
systems. Proceedings of the IEEE, 93(6) :1152–1177, June 2005. ISSN 0018-9219. doi : 10.1109/
JPROC.2005.849714.
Sarwarul Chowdhury and Martin Maier. Security issues in integrated epon and next-generation
wlan networks. In 2010 7th IEEE Consumer Communications and Networking Conference, pages
1–2. IEEE, 2010.
Kevin G Lyn, Lee W Lerner, Christopher J McCarty, and Cameron D Patterson. The trustworthy au-
tonomic interface guardian architecture for cyber-physical systems. In 2015 IEEE International
Conference on Computer and Information Technology ; Ubiquitous Computing and Communi-
cations ; Dependable, Autonomic and Secure Computing ; Pervasive Intelligence and Computing,
pages 1803–1810. IEEE, 2015.
Taher ElGamal. A public key cryptosystem and a signature scheme based on discrete logarithms.
IEEE transactions on information theory, 31(4) :469–472, 1985.
Pascal Lhoste. Contribution au Génie Automatique : Concepts, Modèles, Méthodes et Outils, Fe-
bruary 1994. URL https://hal.archives-ouvertes.fr/hal-00137246. Habilitation à Diri-
ger des Thèses.
Alexandre Philippot, Pascale Marangé, François Gellot, Jean-François Pétin, and Bernard Riera.
Fault tolerant control for manufacturing discrete systems by filter and diagnoser interactions.
In Annual Conference of the Prognostics and Health Management Society, PHM Conference 2014,
Dallas, United States, 2014. URL https://hal.archives-ouvertes.fr/hal-01094956.
A. Terai, S. Abe, S. Kojima, Y. Takano, and I. Koshijima. Cyber-attack detection for industrial control
system monitoring with support vector machine based on communication profile. In 2017 IEEE
European Symposium on Security and Privacy Workshops (EuroS PW), pages 132–138, April 2017.
doi : 10.1109/EuroSPW.2017.62.
J. Wang, F. Yang, T. Chen, and S. L. Shah. An overview of industrial alarm systems : Main causes
for alarm overloading, research status, and open problems. IEEE Transactions on Automation
Science and Engineering, 13(2) :1045–1061, April 2016. ISSN 1545-5955. doi : 10.1109/TASE.2015.
2464234.
Franck Sicard, Eric Zamaï, and Jean-Marie Flaus. Distance Concept Based Filter Approach for
Detection of Cyberattacks on Industrial Control Systems. In 20th World Congress of the Inter-
national Federation of Automatic Control (IFAC 2017), Preprints IFAC WC 2017 Toulouse., Tou-
louse, France, July 2017. IFAC. URL https://hal.archives-ouvertes.fr/hal-01562593.
GdR MACS Young PhD Researchers - Open Invited Track of Extended Abstract.
Amer Atta Yaseen and Mireille Bayart. Attack-tolerant networked control system : an approach
for detection the controller stealthy hijacking attack. In Journal of Physics : Conference Series,
volume 783, page 012022. IOP Publishing, 2017.
Romain Pichard, Alexandre Philippot, Ramla Saddem, and Bernard Riera. Safety of manufacturing
systems controllers by logical constraints with safety filter. IEEE Transactions on Control Systems
Technology, 2018.
William Jardine, Sylvain Frey, Benjamin Green, and Awais Rashid. Senami : Selective non-invasive
active monitoring for ics intrusion detection. In Proceedings of the 2nd ACM Workshop on Cyber-
Physical Systems Security and Privacy, pages 23–34. ACM, 2016.
Bernard Riera, Romain Pichard, Alexandre Philippot, Ramla Saddem, François Gellot, David Anne-
bicque, and Fabien Emprin. Home i/o et factory i/o : 2 logiciels innovants de simulation de po
pour la formation à l’automatique. In 12e Colloque consacré à l’Enseignement des Technologies
et des Sciences de l’Information et des Systèmes, 2017.
125
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
BIBLIOGRAPHIE
Abdoul Karim Armand Toguyéni, Pascal Berruet, and Etienne Craye. Models and algorithms for
failure diagnosis and recovery in fmss. International Journal of Flexible Manufacturing Systems,
15(1) :57–85, Jan 2003. ISSN 1572-9370. doi : 10.1023/A:1023905023772. URL https://doi.
org/10.1023/A:1023905023772.
Alain Bignon. Joint generation of controls and user interfaces for reconfigurable sociotechnical sys-
tems. These, Université de Bretagne Sud, July 2012. URL https://tel.archives-ouvertes.
fr/tel-00735869.
DL Kuhn. Selecting and effectively using a computer aided software engineering tool. In Annual
Westinghouse computer symposium, Pitsburg, USA, November, 1989 DOE Project, 1989
ID Landau and A Besançon-Voda. Identification des systèmes. traité ic2–section systèmes auto-
matisés. Hermès, Paris, 2001.
Joaquin Miller, Jishnu Mukerji, et al. Model driven architecture (mda). Object Management Group,
Draft Specification ormsc/2001-07-01, page 17, 2001.
Joaquin Miller, Jishnu Mukerji, et al. Mda guide version 1.0. 1, 2003. Object Management Group :
Needham, 2003.
Franck Fleurey. Langage et méthode pour une ingénierie des modèles fiable. These, Université
Rennes 1, October 2006. URL https://tel.archives-ouvertes.fr/tel-00538288.
OMG MOF. Omg’s metaobject facility. Object Management Group„. En ligne.< http ://www. omg.
org/mof>. Consulté le, 30(09) :2008, 2006.
Dave Steinberg, Frank Budinsky, Ed Merks, and Marcelo Paternostro. EMF : eclipse modeling fra-
mework. Pearson Education, 2008.
Hamzat Olanrewaju Aliyu. An Integrative Framework for Model-Driven Systems Engineering : To-
wards the Co-Evolution of Simulation, Formal Analysis and Enactment Methodologies for Dis-
crete Event Systems. These, Université Blaise Pascal - Clermont-Ferrand II, December 2016. URL
https://tel.archives-ouvertes.fr/tel-01539439.
Willy Allègre. Model-driven flow for assistive home automation systems control and supervision.
These, Université de Bretagne Sud, December 2012. URL https://tel.archives-ouvertes.
fr/tel-00803402.
Ramla Saddem, Toguyeni Armand, and Tagina Moncef. Algorithme d’interprétation d’une base de
signatures temporelles causales pour le diagnostic en ligne des systèmes à événements discrets.
In 9th International Conference on Modeling, Optimization & SIMulation, 2012.
126
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Wassim EL OSTA. Surveillabilité structurelle et platitude pour le diagnostic des modèles Bond Graph
couplés. These, Ecole Centrale Lille ; Université des Sciences et Technologies de Lille , December
2005. URL https://hal.archives-ouvertes.fr/tel-01737497.
Ganesha Nur Laksmana, Prianggada Indra Tanaya, and Yuki Indrayadi. Benchmarking and confi-
guration of opensource manufacturing execution system (mes) application. CommIT (Commu-
nication and Information Technology) Journal, 7(1) :1–6, 2013.
Thomas Toublanc, Romain Bévan, Florent de Lamotte, and Pascal Berruet. Assisting the configura-
tion of intelligent safety gateway. In IECON 2018-44th Annual Conference of the IEEE Industrial
Electronics Society, pages 5875–5880. IEEE, 2018.
Thomas Toublanc, Sébastien Guillet, Florent de Lamotte, Pascal Berruet, and Vianney Lapotre.
Using a virtual plant to support the development of intelligent gateway for sensors/actuators
security. IFAC-PapersOnLine, 50(1) :5837–5842, 2017.
Christian Lesjak, Daniel Hein, and Johannes Winter. Hardware-security technologies for industrial
iot : Trustzone and security controller. In Industrial Electronics Society, IECON 2015-41st Annual
Conference of the IEEE, pages 002589–002595. IEEE, 2015.
Rong Yin, Feng Zhang, Min Liu, Feng Gui, Fei Li, and Weiming Shen. Communication model of
embedded multi-protocol gateway for mro online monitoring system. In Computer Supported
Cooperative Work in Design (CSCWD), 2015 IEEE 19th International Conference on, pages 97–
102. IEEE, 2015.
Zane R. Franklin, Cameron D. Patterson, Lee Wilmoth Lerner, and Ron J. Prado. Isolating trust in
an industrial control system-on-chip architecture. In Resilient Control Systems (ISRCS), pages
1–6, Aug 2014.
Monowar Hussain Bhuyan, Dhruba K. Bhattacharyya, and Jugal K. Kalista. Network anomaly de-
tection : method, system and tools. IEEE CST, pages 303–336, "January"/"February"/"March"
2014.
Pascal Cotret, Jérémie Crenne, Guy Gogniat, and Jean-Philippe Diguet. Bus-based mpsoc secu-
rity through communication protection : A latency-efficient alternative. In Field-Programmable
Custom Computing Machines (FCCM), 2012 IEEE 20th Annual International Symposium on,
pages 200–207. IEEE, 2012.
Jun Zou, Kaining Lu, and Zhigang Jin. Architecture and fuzzy adaptive security algorithm in intel-
ligent firewall. In MILCOM 2002. Proceedings, volume 2, pages 1145–1149. IEEE, 2002.
127
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Annexes
1 transfert avec vérin sur axe support avec butées & capteur . . . . . . . . . . . . . . . . 129
2 requêtes de position d’un vérin 2 positions . . . . . . . . . . . . . . . . . . . . . . . . . 132
3 transfert par vérin avec capteur et butée en zone src et dst . . . . . . . . . . . . . . . . 137
4 transformation modèle ComGEM en Configuration pour ASSecIN . . . . . . . . . . . 141
5 Règle faisant correspondre le SMM à la DR . . . . . . . . . . . . . . . . . . . . . . . . . 143
6 Règle faisant correspondre le OMM à la DR . . . . . . . . . . . . . . . . . . . . . . . . . 144
7 génération de la références physique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
8 génération de la références de détection sûreté . . . . . . . . . . . . . . . . . . . . . . 146
9 auto-génération des contraintes pour l’intercepteur . . . . . . . . . . . . . . . . . . . 147
10 génération de la références supervision . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
11 Analyse détaillée des trames qui nous intéressent . . . . . . . . . . . . . . . . . . . . . 149
128
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Règle : 1 – transfert avec vérin sur axe support avec butées & capteur
rule binaryTreeT4T7{
from
s : MMComponent!Transfer(s.srcZone.comp −> exists(c | c.oclIsTypeOf(MMComponent!
Sensor))
and s.srcZone.comp −> exists(c | c.oclIsTypeOf(MMComponent!
DAStopper))
and not s.dstZone.comp −> exists(c | c.oclIsTypeOf(
MMComponent!DAStopper))
and if(s.srcZone.comp −> exists(c1 | c1.oclIsTypeOf(
MMComponent!DAJack)))
then
if(s.srcZone.comp −> select(e | e.oclIsTypeOf(
MMComponent!DAJack))−>first().views −> select
(e | e.oclIsTypeOf(MMComponent!MaterialView))
−>first().materialParameters.lenghtOfRace =
s.srcZone.comp −> select(e | e.oclIsTypeOf(
MMComponent!Conveyor))−>first().views −>
select(e | e.oclIsTypeOf(MMComponent!
MaterialView))−>first().materialParameters.width
)
then false
else true
endif
else false
endif
)
using{ sensSRC: MMComponent!Component = s.srcZone.comp −> select(e | e.oclIsTypeOf(
MMComponent!Sensor))−>first();
sensDST: MMComponent!Component = s.dstZone.comp −> select(e | e.oclIsTypeOf(
MMComponent!Sensor))−>first();
stoppSRC: MMComponent!Component = s.srcZone.comp −> select(e | e.oclIsTypeOf
(MMComponent!DAStopper))−>first();
compOP : MMComponent!Component = s.component.childs −> select(e | e.
oclIsTypeOf(MMComponent!EnrichedBaseComponent))−>first().childs −>
select(e | e.oclIsTypeOf(MMComponent!DAJack))−>first();
posIOP : MMComponent!Component = s.component.childs −> select(e | e.
oclIsTypeOf(MMComponent!EnrichedBaseComponent))−>first().childs −>
select(e | e.oclIsTypeOf(MMComponent!Sensor))−>first();
posFOP : MMComponent!Component = s.component.childs −> select(e | e.
oclIsTypeOf(MMComponent!EnrichedBaseComponent))−>first().childs −>
select(e | e.oclIsTypeOf(MMComponent!Sensor))−>last();
}
to
oc : MMComponent!Transfer (component <− thisModule.resolveTemp(s.component, ’
ecc’),
name <− s.name,
globalVariable <− s.globalVariable,
controlConstraint <− s.controlConstraint,
srcZone <− s.srcZone,
dstZone <− s.dstZone,
129
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
TABLES DES ANNEXES
130
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
binaryOperator <− ’OR’,
name <− ’LEAF1’ + ’−’ + ’OR’ + ’−’ + ’LEAF2’),
L1_bt4: MMComponent!Leaf (unaryOperator <− ’NOT’,
node <− N1_bt4,
logicEnvVar <− sensSRC.basicOperations −> select(e | e.oclIsTypeOf(MMComponent
!Detect)) −> first().iCommand,
name <− ’NOT−’ + sensSRC.basicOperations −> select(e | e.oclIsTypeOf(
MMComponent!Detect)) −> first().iCommand.name),
L2_bt4: MMComponent!Leaf (unaryOperator <− ’NOT’,
node <− N1_bt4,
logicEnvVar <− posFOP.basicOperations −> select(e | e.oclIsTypeOf(MMComponent!
Detect)) −> first().iCommand,
name <− ’NOT−’ + posFOP.basicOperations −> select(e | e.oclIsTypeOf(
MMComponent!Detect)) −> first().iCommand.name)
}
131
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
TABLES DES ANNEXES
rule vueMonitoringEBC2 {
from
s: MMComponent!EnrichedBaseComponent (if (s.childs −> select(e | e.oclIsTypeOf(
MMComponent!Sensor)) −> size() = 2)
then
true
else
false
endif
)
using{ compOP : MMComponent!Component = s.component.childs −> select(e | e.
oclIsTypeOf(MMComponent!DAJack))−>first();
posIOP : MMComponent!Component = s.component.childs −> select(e | e.
oclIsTypeOf(MMComponent!Sensor))−>first();
posFOP : MMComponent!Component = s.component.childs −> select(e | e.
oclIsTypeOf(MMComponent!Sensor))−>last();
speedOP : MMComponent!Component = s.component.childs −> select(e | e.
oclIsTypeOf(MMComponent!DAJack))−>first().views−>select(e | e−>
oclIsKindOf(Component!MaterialView))−>first().materialParameters.speed;
lenghtOP : MMComponent!Component = s.component.childs −> select(e | e.
oclIsTypeOf(MMComponent!DAJack))−>first().views−>select(e | e−>
oclIsKindOf(Component!MaterialView))−>first().materialParameters.
lenghtOfRace;}
to
ebc: MMComponent!EnrichedBaseComponent (name <− s.name,
father <− s.father,
io <− s.io,
views <− s.views,
childs <− s.childs),
sv: MMComponent!MonitoringView (name <− ’−’ + s.name,
component <− s),
aomm: MMComponent!AutoOperationalMonitoringModel (name <− ’AOMM−LVL1−’ +
s.name,
view <− sv),
cts1: MMComponent!CausalTemporalSignature (monitoringOperationalModel <− aomm
,
unobservableEvent <− ’Sensor PI faillure’),
O1_cts1: MMComponent!Operator (cTSignature <− cts1,
binaryOperator <− ’AND’,
name <− ’T1’ + ’−’ + ’AND’ + ’−’ + ’T2’),
T1_cts1: MMComponent!Triplet (unaryOperator <− ’NOT’,
cTSignature <− cts1,
referenceEvent <− compOP.basicOperations −> select(e | e.oclIsTypeOf(
MMComponent!GoOut)) −> first().oCommand,
frontEvent <− ’Falling’,
monitoredEvent <− posIOP.basicOperations −> select(e | e.oclIsTypeOf(
MMComponent!Detect)) −> first().iCommand,
contrainteTemporelle <− 0,
name <− ’NOT−’ + ’(’ + compOP.basicOperations −> select(e | e.oclIsTypeOf(
MMComponent!GoOut)) −> first().oCommand.name
132
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
+ ’, R’ + posIOP.basicOperations −> select(e | e.oclIsTypeOf(
MMComponent!Detect)) −> first().iCommand.name
+ ’, 0 )’),
T2_cts1: MMComponent!Triplet (unaryOperator <− ’ONE’,
cTSignature <− cts1,
referenceEvent <− compOP.basicOperations −> select(e | e.oclIsTypeOf(
MMComponent!GoOut)) −> first().oCommand,
frontEvent <− ’Rizing’,
monitoredEvent <− posFOP.basicOperations −> select(e | e.oclIsTypeOf(
MMComponent!Detect)) −> first().iCommand,
contrainteTemporelle <− speedOP."div"(lenghtOP),
name <− ’ONE−’ + ’(’ + compOP.basicOperations −> select(e | e.oclIsTypeOf(
MMComponent!GoOut)) −> first().oCommand.name
+ ’, R’ + posFOP.basicOperations −> select(e | e.oclIsTypeOf(
MMComponent!Detect)) −> first().iCommand.name
+ ’,’ + speedOP + ’/’ + lenghtOP + ’ )’),
cts2: MMComponent!CausalTemporalSignature (monitoringOperationalModel <− aomm
,
unobservableEvent <− ’ED1’),
O1_cts2: MMComponent!Operator (cTSignature <− cts2,
binaryOperator <− ’AND’,
name <− ’T1’ + ’−’ + ’AND’ + ’−’ + ’T2’),
T1_cts2: MMComponent!Triplet (unaryOperator <− ’ONE’,
cTSignature <− cts2,
referenceEvent <− compOP.basicOperations −> select(e | e.oclIsTypeOf(
MMComponent!GoOut)) −> first().oCommand,
frontEvent <− ’Falling’,
monitoredEvent <− posIOP.basicOperations −> select(e | e.oclIsTypeOf(
MMComponent!Detect)) −> first().iCommand,
contrainteTemporelle <− 0,
name <− ’ONE−’ + ’(’ + compOP.basicOperations −> select(e | e.oclIsTypeOf(
MMComponent!GoOut)) −> first().oCommand.name
+ ’, F’ + posIOP.basicOperations −> select(e | e.oclIsTypeOf(
MMComponent!Detect)) −> first().iCommand.name
+ ’, 0 )’),
T2_cts2: MMComponent!Triplet (unaryOperator <− ’NOT’,
cTSignature <− cts2,
referenceEvent <− compOP.basicOperations −> select(e | e.oclIsTypeOf(
MMComponent!GoOut)) −> first().oCommand,
frontEvent <− ’Rizing’,
monitoredEvent <− posFOP.basicOperations −> select(e | e.oclIsTypeOf(
MMComponent!Detect)) −> first().iCommand,
contrainteTemporelle <− speedOP."div"(lenghtOP),
name <− ’NOT−’ + ’(’ + compOP.basicOperations −> select(e | e.oclIsTypeOf(
MMComponent!GoOut)) −> first().oCommand.name
+ ’, R’ + posFOP.basicOperations −> select(e | e.oclIsTypeOf(
MMComponent!Detect)) −> first().iCommand.name
+ ’,’ + speedOP + ’/’ + lenghtOP + ’ )’),
cts3: MMComponent!CausalTemporalSignature (monitoringOperationalModel <− aomm
,
unobservableEvent <− ’ED2’),
O1_cts3: MMComponent!Operator (cTSignature <− cts3,
133
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
TABLES DES ANNEXES
134
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
monitoredEvent <− posIOP.basicOperations −> select(e | e.oclIsTypeOf(
MMComponent!Detect)) −> first().iCommand,
contrainteTemporelle <− speedOP."div"(lenghtOP),
name <− ’ONE−’ + ’(’ + compOP.basicOperations −> select(e | e.oclIsTypeOf(
MMComponent!Return)) −> first().oCommand.name
+ ’, R’ + posFOP.basicOperations −> select(e | e.oclIsTypeOf(
MMComponent!Detect)) −> first().iCommand.name
+ ’,’ + speedOP + ’/’ + lenghtOP + ’ )’),
cts5: MMComponent!CausalTemporalSignature (monitoringOperationalModel <− aomm
,
unobservableEvent <− ’ED3’),
O1_cts5: MMComponent!Operator (cTSignature <− cts5,
binaryOperator <− ’AND’,
name <− ’T1’ + ’−’ + ’AND’ + ’−’ + ’T2’),
T1_cts5: MMComponent!Triplet (unaryOperator <− ’ONE’,
cTSignature <− cts5,
referenceEvent <− compOP.basicOperations −> select(e | e.oclIsTypeOf(
MMComponent!Return)) −> first().oCommand,
frontEvent <− ’Falling’,
monitoredEvent <− posFOP.basicOperations −> select(e | e.oclIsTypeOf(
MMComponent!Detect)) −> first().iCommand,
contrainteTemporelle <− 0,
name <− ’ONE−’ + ’(’ + compOP.basicOperations −> select(e | e.oclIsTypeOf(
MMComponent!Return)) −> first().oCommand.name
+ ’, F’ + posFOP.basicOperations −> select(e | e.oclIsTypeOf(
MMComponent!Detect)) −> first().iCommand.name
+ ’, 0 )’),
T2_cts5: MMComponent!Triplet (unaryOperator <− ’NOT’,
cTSignature <− cts5,
referenceEvent <− compOP.basicOperations −> select(e | e.oclIsTypeOf(
MMComponent!Return)) −> first().oCommand,
frontEvent <− ’Rizing’,
monitoredEvent <− posIOP.basicOperations −> select(e | e.oclIsTypeOf(
MMComponent!Detect)) −> first().iCommand,
contrainteTemporelle <− speedOP."div"(lenghtOP),
name <− ’NOT−’ + ’(’ + compOP.basicOperations −> select(e | e.oclIsTypeOf(
MMComponent!Return)) −> first().oCommand.name
+ ’, R’ + posFOP.basicOperations −> select(e | e.oclIsTypeOf(
MMComponent!Detect)) −> first().iCommand.name
+ ’,’ + speedOP + ’/’ + lenghtOP + ’ )’),
cts6: MMComponent!CausalTemporalSignature (monitoringOperationalModel <− aomm
,
unobservableEvent <− ’ED4’),
O1_cts6: MMComponent!Operator (cTSignature <− cts6,
binaryOperator <− ’AND’,
name <− ’T1’ + ’−’ + ’AND’ + ’−’ + ’T2’),
T1_cts6: MMComponent!Triplet (unaryOperator <− ’NOT’,
cTSignature <− cts6,
referenceEvent <− compOP.basicOperations −> select(e | e.oclIsTypeOf(
MMComponent!Return)) −> first().oCommand,
frontEvent <− ’Falling’,
monitoredEvent <− posFOP.basicOperations −> select(e | e.oclIsTypeOf(
135
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
TABLES DES ANNEXES
136
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Règle : 3 – transfert par vérin avec capteur et butée en zone src et dst
rule RuleTransfert24 {
from
s : MMComponent!Transfer(s.srcZone.comp−>one(c1 |s.dstZone.comp−>one(c2| c1 = c2)
)
and (s.srcZone.eCCTopologicalModel.view.component.childs−>
one(c3 | c3.oclIsTypeOf(MMComponent!Conveyor)))
and (s.srcZone.eCCTopologicalModel.view.component.childs−>
one(c3 | c3.oclIsTypeOf(MMComponent!DAJack)))
and (s.srcZone.comp −> exists(c | c.oclIsTypeOf(MMComponent!
Sensor)))
and (s.dstZone.comp −> exists(c | c.oclIsTypeOf(MMComponent!
Sensor)))
and not (s.srcZone.comp −> exists(c | c.oclIsTypeOf(
MMComponent!BCReader)))
and not (s.dstZone.comp −> exists(c | c.oclIsTypeOf(
MMComponent!BCReader)))
and (s.srcZone.comp −> exists(c | c.oclIsTypeOf(MMComponent!
DAStopper)))
and (s.dstZone.comp −> exists(c | c.oclIsTypeOf(MMComponent!
DAStopper)))
and not (s.srcZone.comp −> exists(c | c.oclIsTypeOf(
MMComponent!DAJack)))
and (s.dstZone.comp −> exists(c | c.oclIsTypeOf(MMComponent!
DAJack))))
using{ compOP : MMComponent!Component = s.component.childs −> select(e | e.
oclIsTypeOf(MMComponent!Conveyor))−>first();
speedOP : MMComponent!Component = s.component.childs −> select(e | e.
oclIsTypeOf(MMComponent!DAJack))−>first().views−>select(e | e−>
oclIsKindOf(Component!MaterialView))−>first().materialParameters.speed;
lenghtOP : MMComponent!Component = s.component.childs −> select(e | e.
oclIsTypeOf(MMComponent!DAJack))−>first().views−>select(e | e−>
oclIsKindOf(Component!MaterialView))−>first().materialParameters.
lenghtOfRace;
compEBCCTS : MMComponent!Component = s.childs −> select(e | e.oclIsTypeOf(
MMComponent!EnrichedBaseComponent))−>first().views−>select(e | e−>
oclIsKindOf(Component!MonitoringView))−>first().monitoringModel−>select(e
| e−>oclIsKindOf(Component!AutoOperationalMonitoringModel))−>first();
sensSRC: MMComponent!Component = s.srcZone.comp −> select(e | e.oclIsTypeOf(
MMComponent!Sensor))−>first();
sensDST: MMComponent!Component = s.dstZone.comp −> select(e | e.oclIsTypeOf(
MMComponent!Sensor))−>first();
stoppSRC: MMComponent!Component = s.srcZone.comp −> select(e | e.oclIsTypeOf
(MMComponent!DAStopper))−>first();
−− stoppdst: MMComponent!Component = s.dstZone.comp −> select(e | e.oclIsTypeOf(
MMComponent!DAStopper))−>first();}
to
oc : MMComponent!Transfer (
component <− thisModule.resolveTemp(s.component, ’ecc’),
name <− s.name,
globalVariable <− s.globalVariable,
137
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
TABLES DES ANNEXES
138
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
MMComponent!Detect)) −> first().iCommand,
contrainteTemporelle <− 40, −− 2 x 20ms (Automation cycle time) to be sure
name <− ’ONE−’ + ’(’ + compOP.basicOperations −> select(e | e.oclIsTypeOf(
MMComponent!GoOut)) −> first().oCommand.name
+ ’, F’ + sensSRC.basicOperations −> select(e | e.oclIsTypeOf(
MMComponent!Detect)) −> first().iCommand.name
+ ’,’ + ’40’ + ’ )’),
T4_cts1: MMComponent!Triplet (unaryOperator <− ’ONE’,
cTSignature <− cts1,
referenceEvent <− compOP.basicOperations −> select(e | e.oclIsTypeOf(
MMComponent!GoOut)) −> first().oCommand,
frontEvent <− ’Rising’,
monitoredEvent <− sensDST.basicOperations −> select(e | e.oclIsTypeOf(
MMComponent!Detect)) −> first().iCommand,
contrainteTemporelle <− (speedOP."div"(lenghtOP))*1000,
name <− ’ONE−’ + ’(’ + compOP.basicOperations −> select(e | e.oclIsTypeOf(
MMComponent!GoOut)) −> first().oCommand.name
+ ’, R’ + sensDST.basicOperations −> select(e | e.oclIsTypeOf(
MMComponent!Detect)) −> first().iCommand.name
+ ’,’ + speedOP + ’/’ + lenghtOP + ’ )’),
O5_cts1: MMComponent!Operator (cTSignature <− cts1,
binaryOperator <− ’AND’,
name <− ’T5’ + ’−’ + ’AND’ + ’−’ + ’O6’),
T5_cts1: MMComponent!Triplet (unaryOperator <− ’ONE’,
cTSignature <− cts1,
referenceEvent <− compOP.basicOperations −> select(e | e.oclIsTypeOf(
MMComponent!GoOut)) −> first().oCommand,
frontEvent <− ’Rising’,
monitoredEvent <− compEBCCTS.causalTemporalSignature −> at(2),
contrainteTemporelle <− (speedOP."div"(lenghtOP))*1000,
name <− ’ONE−’ + ’(’ + compOP.basicOperations −> select(e | e.oclIsTypeOf(
MMComponent!GoOut)) −> first().oCommand.name
+ ’, R’ + compEBCCTS.causalTemporalSignature −> at(2).
unobservableEvent
+ ’,’ + speedOP + ’/’ + lenghtOP + ’ )’),
O6_cts1: MMComponent!Operator (cTSignature <− cts1,
binaryOperator <− ’AND’,
name <− ’T6’ + ’−’ + ’AND’ + ’−’ + ’T7’),
T6_cts1: MMComponent!Triplet (unaryOperator <− ’ONE’,
cTSignature <− cts1,
referenceEvent <− sensDST.basicOperations −> select(e | e.oclIsTypeOf(
MMComponent!Detect)) −> first().iCommand,
frontEvent <− ’Rising’,
monitoredEvent <− compEBCCTS.causalTemporalSignature −> at(4),
contrainteTemporelle <− (speedOP."div"(lenghtOP))*1000,
name <− ’ONE−’ + ’(’ + sensSRC.basicOperations −> select(e | e.oclIsTypeOf(
MMComponent!Detect)) −> first().iCommand.name
+ ’, R’ + compOP.basicOperations −> select(e | e.oclIsTypeOf(
MMComponent!GoOut)) −> first().oCommand.name
+ ’,’ + speedOP + ’/’ + lenghtOP + ’ )’),
T7_cts1: MMComponent!Triplet (unaryOperator <− ’ONE’,
cTSignature <− cts1,
139
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
TABLES DES ANNEXES
140
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Règle : 4 – transformation modèle ComGEM en Configuration pour ASSecIN
rule Sytem2GatewayRefModel{
from
c : MMComponent!System
to
s : ASSecIN!GatewayRefModel(version <− ’1.1’,
path <− ’TransformationsATL/models/ASSecIN.assecin’),
phys : ASSecIN!PhysicalReference(gatewayRefModel <− s),
variable: ASSecIN!Variables(physicalRef <− phys),
vg1 : ASSecIN!VarGroup(name <− ’%IX0’,
kind <− ’IO’,
variables <− variable),
vg2 : ASSecIN!VarGroup(name <− ’%QX1’,
kind <− ’IO’,
variables <− variable),
vg3 : ASSecIN!VarGroup(name <− ’(Global)’,
kind <− ’GLOBAL’,
variables <− variable),
DR : ASSecIN!DetectionReference(gatewayRefModel <− s)
RR : ASSecIN!ReactionReference(gatewayRefModel <− s)
}
rule CommandInput2AVar{
from
c : MMComponent!CommandInput(not c.component.oclIsTypeOf(MMComponent!
BCReader) and not c.component.oclIsTypeOf(MMComponent!RotaryEncoder))
using{compSys : MMComponent!System = MMComponent!System.allInstances()−>
asSequence()−>first();}
to
v : ASSecIN!Var(name <− if (MMComponent!CommandInput.allInstances().size()>1)
then c.name
else ’%IX0.’+thisModule.numbI(c).toString() endif,
type <− ’BOOL’,
−− addresse <− ’0x01’+’0000’+thisModule.numbI(c).toString(),
indexH <− ’0’,
indexL <− thisModule.numbI(c).toString(),
dir <− #INPUT,
groupName <− if (MMComponent!CommandInput.allInstances().size()>1)
then ’(Global)’
else ’%IX0’
endif,
varGroup <− if (MMComponent!CommandInput.allInstances().size()>1)
then thisModule.resolveTemp(compSys, ’vg3’)
else thisModule.resolveTemp(compSys, ’vg1’)
endif)
}
rule CommandOutput2Var{
from
c : MMComponent!CommandOutput(not c.component.oclIsTypeOf(MMComponent!
BCReader) and not c.component.oclIsTypeOf(MMComponent!RotaryEncoder))
using{ compSys : MMComponent!System = MMComponent!System.allInstances()−>
asSequence()−>first();
141
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
TABLES DES ANNEXES
142
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Règle : 5 – Règle faisant correspondre le SMM à la DR
rule SafetySurveyModel2SafetyDetectionReference{
from
c : MMComponent!SafetySurveyModel
using{compSys : MMComponent!System = MMComponent!System.allInstances()−>
asSequence()−>first();}
to
safe : ASSecIN!SafetyDetectionReference(name <− c.name,
detectionRef <− thisModule.resolveTemp(compSys, ’DR’))
}
rule BinaryTree2BT{
from
c : MMComponent!BinaryTree
to
BT : ASSecIN!BinaryTree(safetyDetectionReference <− c.safetySurveyModel,
var2Sec <− c.var2Sec)}
rule Node2Node{
from
c : MMComponent!Node
using{compByT : MMComponent!BinaryTree = MMComponent!BinaryTree.allInstances()−>
asSequence()−>first();}
to
N : ASSecIN!Node(binaryTree <− c.binaryTree,
name <− c.name,
bOperator <− c.binaryOperator,
node <− c.node)
}
rule Leaf2Leaf{
from
c : MMComponent!Leaf
using{compByT : MMComponent!BinaryTree = MMComponent!BinaryTree.allInstances()−>
asSequence()−>first();}
to
L : ASSecIN!Leaf(binaryTree <− c.binaryTree,
name <− c.name,
uOperator <− c.unaryOperator,
logicEnv <− c.logicEnvVar,
node <− c.node)
}
143
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
TABLES DES ANNEXES
rule OperationalMonitoringModel2OperationalDetectionReference{
from
c : MMComponent!OperationalMonitoringModel
using{compSys : MMComponent!System = MMComponent!System.allInstances()−>
asSequence()−>first();}
to
CH : ASSecIN!Chronicle(operationalDetectionReference <− ope,
name <− ’Chronicle’+c.view.component.name),
ET : ASSecIN!StartPlace(chronicle <− CH,
name <− ’Ptrigerring’,
trigerringVar <− c.causalTemporalSignature−>first().cTSElements−>select(e | e.
oclIsTypeOf(MMComponent!Triplet))−>first().referenceEvent),
ED : ASSecIN!Place(chronicle <− CH,
name <− ’Pfaillure’,
front <− ’Rizing’,
deffaillanceEvent <− c.causalTemporalSignature−>first().unobservableEvent)
}
rule Triplet2subsubgraphe{
from
c : MMComponent!Triplet(
using{compCTS : MMComponent!CausalTemporalSignature = MMComponent!
CausalTemporalSignature.allInstances()−>asSequence()−>first();}
to
P1 : ASSecIN!Place(chronicle <− thisModule.resolveTemp(compCTS, ’CH’),
name <− ’P−reference’+c.name,
front <− OclUndefined,
eventVar <− c.referenceEvent),
A : ASSecIN!Arc(chronicle <− thisModule.resolveTemp(compCTS, ’CH’),
name <− ’ARC’+c.name,
nodeChronicle <− P1 + P2,
minimalTime <− c.contrainteTemporelle−10,
maximalTime <− c.contrainteTemporelle+10),
P2 : ASSecIN!Place(chronicle <− thisModule.resolveTemp(compCTS, ’CH’),
name <− ’P−monitored’+c.name,
front <− c.frontEvent,
eventVar <− c.monitoredEvent)
}
144
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Résultat : 7 – génération de la références physique
<physicalReference>
<variables>
<varGroup name="%IX0" kind="IO"/>
<varGroup name="%QX1" kind="IO"/>
<varGroup name="(Global)" kind="GLOBAL">
<vars name="PI_J1_I_D" indexH="0"indexL="1"dir="INPUT"leaf="x"/>
<vars name="PF_J1_I_D" indexH="0"indexL="2"dir="INPUT"leaf="x"/>
<vars name="CI_I_D" indexH="0"indexL="3"dir="INPUT"leaf="x"/>
<vars name="CE_I_D" indexH="0"indexL="4"dir="INPUT"leaf="x"/>
<vars name="PI_J2_I_D" indexH="0"indexL="5"dir="INPUT"leaf="x"/>
<vars name="PM_J2_I_D" indexH="0"indexL="6"dir="INPUT"leaf="x"/>
<vars name="PF_J2_I_D" indexH="0"indexL="7"dir="INPUT"leaf="x"/>
<vars name="C1_I_D" indexH="0"indexL="8"dir="INPUT"leaf="x"/>
<vars name="C2_I_D" indexH="0"indexL="9"dir="INPUT"leaf="x"/>
<vars name="C3_I_D" indexH="0"indexL="10"dir="INPUT"leaf="x"/>
<vars name="PI_J3_I_D" indexH="0"indexL="11"dir="INPUT"leaf="x"/>
<vars name="PF_J3_I_D" indexH="0"indexL="12"dir="INPUT"leaf="x"/>
<vars name="CEj_I_D" indexH="0"indexL="13"dir="INPUT"leaf="x"/>
<vars name="CS_I_D" indexH="0"indexL="14"dir="INPUT"/>
<vars name="Conv_line_1_O_M"indexH="1"indexL="1"dir="OUTPUT"/>
<vars name="Conv_line_1_O_R"indexH="1"indexL="2"dir="OUTPUT"/>
<vars name="Jack1_O_GO" indexH="1"indexL="3"dir="OUTPUT"bTree="x"leaf="x"/>
<vars name="Jack1_O_R" indexH="1"indexL="4"dir="OUTPUT"bTree="x"leaf="x"/>
<vars name="Stopp_E_O_GO" indexH="1"indexL="5"dir="OUTPUT"bTree="x"leaf="x"/>
<vars name="Stopp_E_R" indexH="1"indexL="6"dir="OUTPUT"bTree="x"leaf="x"/>
<vars name="Stopp_Ai_O_GO" indexH="1"indexL="7"dir="OUTPUT"bTree="x"leaf="x"/>
<vars name="Stopp_Ai_O_R" indexH="1"indexL="8"dir="OUTPUT"bTree="x"leaf="x"/>
<vars name="Jack2_O_GO" indexH="1"indexL="9"dir="OUTPUT"bTree="x"leaf="x"/>
<vars name="Jack2_O_R" indexH="1"indexL="10"dir="OUTPUT"bTree="x"leaf="x"/>
<vars name="Stopp_A_O_GO" indexH="1"indexL="11"dir="OUTPUT"bTree="x"leaf="x"/>
<vars name="Stopp_A_O_R" indexH="1"indexL="12"dir="OUTPUT"bTree="x"leaf="x"/>
<vars name="Stopp_T_O_GO" indexH="1"indexL="13"dir="OUTPUT"bTree="x"leaf="x"/>
<vars name="Stopp_T_O_R" indexH="1"indexL="14"dir="OUTPUT"bTree="x"leaf="x"/>
<vars name="Conv_line_2_O_M"indexH="1"indexL="15"dir="OUTPUT"/>
<vars name="Jack3_O_GO" indexH="1"indexL="16"dir="OUTPUT"bTree="x"leaf="x"/>
<vars name="Jack3_O_R" indexH="1"indexL="17"dir="OUTPUT"bTree="x"leaf="x"/>
</varGroup>
</variables>
</physicalReference>
145
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
TABLES DES ANNEXES
146
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Résultat : 9 – auto-génération des contraintes pour l’intercepteur
<childs xsi:type="cpn:EffectiveContextualComponent" name="ECC1">
<views xsi:type="cpn:GraphicView" name="GraphicViewECC1">
<views xsi:type="cpn:ConstraintView" name="ConstraintViewECC1">
<views xsi:type="cpn:MonitoringView" name="Monitoring View-ECC1">
<monitoringModel xsi:type="cpn:AutoSafetyMonitoringModel" name="ASSM-LVL3-ECC1">
<binaryTrees var2Sec="O" name="Orders-Transfert-ECC-jack1_O_GO"/>
<binaryTrees var2Sec="O" name="Enviro-Transfert-ECC-jack1_O_GO"/>
<binaryTrees var2Sec="O" name="Enviro-Transfert-ECC-jack1_O_R"/>
<binaryTrees var2Sec="O" name="Orders-AS-ECC-Stopper_aiguilleurO_R"/>
<binaryTrees var2Sec="O" name="Enviro-AS-ECC-Stopper_aiguilleurO_GO"/>
<binaryTrees var2Sec="O" name="Enviro-AS-ECC-Stopper_aiguilleurO_R"/>
<childs xsi:type="cpn:Conveyor" name="Conv1" zone="x" baseComp="x" motor="true">
<views xsi:type="cpn:MaterialView" name="MaterialViewConv1">
</childs>
<childs xsi:type="cpn:DAStopper" name="stopper1" zone="x" supportComp="x">
<views xsi:type="cpn:MaterialView" name="MaterialViewstopper1">
<views xsi:type="cpn:MonitoringView" name="Monitoring View-stopper1">
<monitoringModel xsi:type="cpn:AutoSafetyMonitoringModel" name="ASSM-LVL1-stopper1">
</childs>
<childs xsi:type="cpn:EnrichedBaseComponent" name="EBC1">
<views xsi:type="cpn:GraphicView" name="GraphicViewEBC1">
<views xsi:type="cpn:MonitoringView" name="Monitoring ViewEBC1">
<monitoringModel xsi:type="cpn:AutoSafetyMonitoringModel" name="ASSM-LVL2-EBC1">
<binaryTrees var2Sec="O" name="BinaryTree EBC for 2 positions jack-Jack1_O_GO">
<binaryTrees var2Sec="O" name="BinaryTree EBC for 2 positions jack-Jack1_O_R">
<binaryTrees var2Sec="I" name="BinaryTree EBC for 2 positions jack-Sensor12_I_D">
<binaryTrees var2Sec="I" name="BinaryTree EBC for 2 positions jack-Sensor11_I_D">
</monitoringModel>
<childs xsi:type="cpn:DAJack" name="Jack1" position="x" supportComp="x">
<views xsi:type="cpn:MaterialView" name="MaterialViewJack1">
<views xsi:type="cpn:MonitoringView" name="SV-Jack1">
<monitoringModel xsi:type="cpn:AutoSafetyMonitoringModel" name="ASSM-LVL1-Jack1">
<binaryTrees var2Sec="O" name="BinaryTree-Jack1_O_GO">
<binaryTrees var2Sec="O" name="BinaryTree-Jack1_O_R">
</monitoringModel>
</childs>
<childs xsi:type="cpn:Sensor" name="Sensor12" position="x" supportComp="x">
<views xsi:type="cpn:MaterialView" name="MaterialViewSensor12">
</childs>
<childs xsi:type="cpn:Sensor" name="Sensor11" position="x" supportComp="x">
<views xsi:type="cpn:MaterialView" name="MaterialViewSensor11">
</childs>
</childs>
<childs xsi:type="cpn:Sensor" name="Sensor1" zone="x" supportComp="x">
<views xsi:type="cpn:MaterialView" name="MaterialViewSensor1">
</childs>
<childs xsi:type="cpn:DAStopper" name="stopper2" zone="x" supportComp="x">
<views xsi:type="cpn:MaterialView" name="MaterialViewstopper2">
<views xsi:type="cpn:MonitoringView" name="Monitoring View-stopper2">
<monitoringModel xsi:type="cpn:AutoSafetyMonitoringModel" name="ASSM-LVL1-stopper2">
</childs>
<childs xsi:type="cpn:BCReader" name="BCReader1" zone="x" supportComp="x">
<views xsi:type="cpn:MaterialView" name="MVBCReader1">
</childs>
<childs xsi:type="cpn:Sensor" name="Sensor5" zone="x" supportComp="x">
<views xsi:type="cpn:MaterialView" name="MaterialViewSensor5">
</childs>
</childs>
147
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
TABLES DES ANNEXES
148
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
figure 11 – Analyse détaillée des trames qui nous intéressent
149
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Acronymes
150
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
IT technologie de l’information, Information Technology.
MDA architecture dirigée par les modèles, Model Driven Architecture.
MES Manufacturing Execution System.
MOF Meta Object Facility.
NCS système contrôlé par le réseau, Network Control System.
NIST National Institute of Standards and Technology.
NTIC Nouvelle Technologie de l’Information et de la Communication.
OB/BO Opération Basique, Basic Operation.
OC/CO Opération Contextuelle, Contextual Operation.
OCE/ECO Opération Contextuelle Effective, Effective Contextual Operation.
ODE Open Dynamic Engine.
OF Ordre de Fabrication.
OIV Opérateur d’Importance Vitale.
OMG Object Modeling Groupe.
OS système d’exploitation, Operating System.
OSI Open Systems Interconnection.
OSu/SuO Opération Support, Support Operation.
OSys/SysO Opération du Système, System Operation.
OT technologie des opérations, Operation Technology.
PC Partie Commande, command part.
PLC automate programmable industriel, Programmable Logic Controler.
PME Petite ou Moyenne Entreprises, small medium entreprises.
PO Partie Opérative, operational part.
PWM modulation de largeur d’impulsions, Pulse Width Modulation.
QoS qualité de service, Quality of Services.
RFID radio identification, Radio Frequency IDentification.
RLI Réseau Locale Industriel, industrial local area network.
RTU Remote Terminal Unit.
SA/AS Stockage Actif, Active Storage.
SAN réseau de stockage, Storage Area Network.
SAP Système Automatisé de Production.
SCADA système d’acquisition et de contrôle de données, Supervisory Control And Data Acquisi-
tion.
SCP/CPS Système Cyber-Physique, Cyber Physical System.
SdF Sûreté de Fonctionnement.
SED Système à Événement Discret.
SFC Sequential Functioning Chart.
SI Système d’Information, information system.
SIEM gestionnaire d’événement et d’information de sécurité, Security Information and Event Ma-
nager.
SSH Secure SHell.
SSL Secure Sockets Layer.
151
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Liste d’acronymes
152
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018
Glossaire
0-day qualificatif décrivant la nouveauté pour une faille de sécurité ou une attaque, elle n’a jamais
été rencontrer auparavant donc la détection et la remédiation est ardue.
I4.0 acronyme utilisé par des constructeurs d’équipement pour dénommer le nouveau para-
digme de l’industrie du futur.
RAMI acronyme utilisé pour le modèle de référence pour l’architecture de l’industrie du futur.
SimSED outil de conception et de simulation pour la partie opérative d’un système (principale-
ment transitique).
UBL Université Bretagne Loire -COMUE : Université région Bretagne et Université région Pays de
Loire.
153
Sécurisation de Capteurs/Actionneurs sur Réseau Industrie Thomas Toublanc 2018