2022 Tithnara Nicolas Sun
2022 Tithnara Nicolas Sun
Par
Tithnara Nicolas SUN
Modélisation et Analyse Formelle de Modèles Système pour les
Menaces Persistantes Avancées
Composition du Jury :
Président : Régine LALEAU Professeur, Université Paris-Est Créteil
Examinateur : Joël CHAMPEAU Enseignant-chercheur, ENSTA Bretagne
Invité(s) :
Lionel VAN AERTRYCK DGA-MI
Remerciements
1
2
qui partage ma vie depuis déjà une décennie. Ton soutien indéfectible, ton sourire et ta
bonne humeur me permettent de traverser toutes les épreuves. Malgré la distance qui me
sépare de la région parisienne, vous restez tous les jours dans mon cœur et c’est à vous que
je dois cette réussite.
Enfin je tenais à dédier ces travaux à ma grand-mère Kuy Eng, décédée en 2020. Du fait
des conditions sanitaires récentes, je n’ai pas pu honorer sa mémoire en personne. Aussi
j’espère lui rendre hommage à travers ce manuscrit.
Table des matières
1 Introduction 9
1.1 Introduction générale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.1.1 Cyber-sécurité des systèmes industriels . . . . . . . . . . . . . . . . . . 9
1.1.2 Ingénierie des modèles . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2 Problématiques et contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3 Plan du manuscrit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2 État de l’art 13
2.1 Contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2 Menaces Persistantes Avancées . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2.1 Caractéristiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2.2 Mode opératoire et contre-mesures . . . . . . . . . . . . . . . . . . . . . 18
2.2.3 Limites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.3 Cyber Operational Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.3.1 Operational Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.3.2 Planification d’opérations cyber . . . . . . . . . . . . . . . . . . . . . . . 27
2.3.3 Pimca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.4 Ingénierie Dirigée par les Modèles . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.4.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.4.2 Interopérabilité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.4.3 Analyse basée sur les modèles . . . . . . . . . . . . . . . . . . . . . . . . 38
2.4.4 Synthèse et besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3
4 TABLE DES MATIÈRES
4 Validation de la méthodologie 89
4.1 Cas d’étude : Attaque d’une station de pompage d’eau . . . . . . . . . . . . . . 90
4.1.1 Spécification de la mission . . . . . . . . . . . . . . . . . . . . . . . . . . 90
4.1.2 Modélisation de l’attaque du réservoir . . . . . . . . . . . . . . . . . . . 92
4.1.3 Analyse de l’attaque du réservoir . . . . . . . . . . . . . . . . . . . . . . 100
4.1.4 Modélisation pour assurer la discrétion de l’attaque . . . . . . . . . . . 104
4.1.5 Analyse pour assurer la discrétion de l’attaque . . . . . . . . . . . . . . 108
4.2 Évaluation de la méthodologie et des outils . . . . . . . . . . . . . . . . . . . . 111
4.2.1 Bilan du cas d’étude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
4.2.2 Bilan général . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
4.2.3 Limites de l’approche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
4.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
5 Conclusion 117
5.1 Objectifs et problématiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
5.2 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
5.3 Perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Bibliographie 124
B.1 Diagramme de séquence d’une exécution du modèle BPMN global (1/5) . . . . 136
B.2 Diagramme de séquence d’une exécution du modèle BPMN global (2/5) . . . . 137
5
6 TABLE DES FIGURES
B.3 Diagramme de séquence d’une exécution du modèle BPMN global (3/5) . . . . 138
B.4 Diagramme de séquence d’une exécution du modèle BPMN global (4/5) . . . . 139
B.5 Diagramme de séquence d’une exécution du modèle BPMN global (5/5) . . . . 140
Liste des tableaux
7
8 LISTE DES TABLEAUX
Chapitre 1
Introduction
9
10 CHAPITRE 1. INTRODUCTION
État de l’art
Sommaire
2.1 Contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2 Menaces Persistantes Avancées . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2.1 Caractéristiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2.2 Mode opératoire et contre-mesures . . . . . . . . . . . . . . . . . . . . 18
2.2.3 Limites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.3 Cyber Operational Design . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.3.1 Operational Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.3.2 Planification d’opérations cyber . . . . . . . . . . . . . . . . . . . . . . 27
2.3.3 Pimca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.4 Ingénierie Dirigée par les Modèles . . . . . . . . . . . . . . . . . . . . . . 34
2.4.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.4.2 Interopérabilité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.4.3 Analyse basée sur les modèles . . . . . . . . . . . . . . . . . . . . . . . 38
2.4.4 Synthèse et besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
13
14 CHAPITRE 2. ÉTAT DE L’ART
La cyber-sécurité des systèmes industriels est l’enjeu que nous traitons dans ce manus-
crit. Aussi il est primordial de bien définir le cadre de notre étude. C’est pourquoi nous
définissons un système de la manière suivante :
Dans une première partie 2.1, nous présentons le contexte global de l’étude, c’est-à dire
les menaces cyber qui pèsent sur le monde industriel. Dans une deuxième partie 2.2, nous
définissons et illustrerons ce qui constitue une menace persistante avancée, nous détaille-
rons également les différentes techniques existantes pour se défendre contre le problème
des menaces persistantes avancées. Dans une troisième partie 2.3, nous étudions les mé-
thodologies de stratégies militaires et nous argumentons en faveur de leur apport pour la
cyber-sécurité contre les menaces persistantes avancées. Enfin, dans une quatrième partie
2.4, nous nous attardons particulièrement sur les problématiques de l’ingénierie dirigée
par les modèles afin de présenter et justifier les besoins de modélisation dans le contexte
des menaces persistantes avancées.
2.1 Contexte
Dans le contexte de la cyber-sécurité, les menaces sont définies par plusieurs orga-
nismes comme le National Institute of Standards and Technology américain (NIST) [79] et
l’Organisation Internationale de Normalisation (ISO) [2] :
— "Toute circonstance ou événement ayant le potentiel d’impacter négativement les opé-
rations de l’organisation (ceci inclut mission, fonctions, image, ou réputation), les
biens de l’organisation ou les individus dans le système d’informations à travers l’ac-
cès non-autorisé, la destruction, la divulgation, la modification d’informations et/ou
le déni de service. Ceci désigne également le potentiel d’un attaquant d’exploiter une
faille dans le système d’informations." [79]
— "Cause potentielle d’un incident qui peut résulter en des dommages sur un système
ou une organisation. " [2]
Dans le contexte des systèmes industriels, la menace cyber est un problème de plus en
plus vital à adresser. La Figure 2.1 montre un exemple d’architecture classique d’un sys-
tème de contrôle et d’acquisition de données (SCADA [48]) industriel inspirée de Ginter
[32]. Le système est composé de trois niveaux séparés par des pare-feux : un niveau de sys-
tème physique, un niveau de système de contrôle industriel (Industrial Control System ou
ICS) et un niveau de système d’information (Information Technologies ou IT). Les pare-feux
constituent les points d’échange entre les différents niveaux, ils filtrent les communications
afin de garantir la sécurité du système.
Système physique : Ce système correspond au niveau industriel physique. Il est com-
posé de plusieurs automates programmables industriels (Programmable Logic Controller
ou PLC) contrôlant divers actionneurs physiques en fonction de données relevées par des
capteurs et d’une commande, qui est un programme stipulant leur comportement. Les PLC
communiquent avec un centre de contrôle SCADA au travers d’un large réseau.
2.1. CONTEXTE 15
2.2.1 Caractéristiques
Menace persistante avancée ou plus communément Advanced Persistent Threat dans la
littérature internationale est un terme désignant une nouvelle classe de menace en cyber-
sécurité. Le National Institute of Standards and Technology (NIST) [73] définit Advanced
Persistent Threat (APT) comme suit :
Définition 2.2.1 (Menace persistante avancée). Adversaire possédant un niveau d’exper-
tise sophistiquée et une quantité significative de ressources qui lui permettent de créer des
opportunités pour accomplir ses objectifs en utilisant de multiples vecteurs d’attaque (e.g.,
cyber, physique, dissimulation). Ces objectifs incluent typiquement d’établir et d’étendre
des points d’ancrage dans l’infrastructure du système d’information de l’organisation visée
à des fins d’ex-filtration d’informations, d’affaiblissement ou de sabotage de biens critiques
pour une mission, un programme ou une organisation, ou simplement pour se position-
ner dans le système afin d’exécuter une opération d’attaque future. La menace persistante
avancée : (i) poursuit ses objectifs de manière répétée sur une période de temps étendue ;
(ii) s’adapte aux efforts de défenseurs du système ; et (iii) est déterminée à maintenir le
niveau d’interactions requis pour atteindre ses objectifs.
Tankard [95] explique que le terme avancée indique le haut degré de sophistication
d’une APT que ce soit en termes de compétences techniques qu’en termes de ressources
disponibles. Le terme persistant quant à lui fait référence à l’approche lente et furtive
typique des APT pour s’introduire dans le système et pour y établir puis y maintenir un
point d’ancrage.
Contrairement à des menaces classiques, les APT présentent quatre caractéristiques
distinctives identifiées par Chen et al. [13] : (i) des cibles spécifiques et des objectifs clai-
rement définis ; (ii) des attaquants hautement organisés et ayant accès à de nombreuses
ressources ; (iii) des campagnes sur le long terme avec des tentatives répétées ; et (iv) des
techniques de dissimulation et d’évasion.
Cibles spécifiques et objectifs clairement définis : Contrairement à des menaces
classiques, les APT sont connues pour se concentrer sur des cibles spécifiques. Cette focali-
sation implique un potentiel de dommages causés plus important pour la cible que dans des
cas de cyber-attaques classiques qui, elles, visent un grand nombre de cibles pour espérer
toucher un maximum de victimes. Les cibles d’APT sont variées et concernent de nom-
breux domaines tels que le service, le commerce, la finance, le divertissement, l’ingénierie,
les gouvernements, la justice, les hautes technologies, la santé, les transports et l’aérospa-
tial, pour citer les premiers secteurs d’activités concernés dans le rapport de Mandiant [70].
Quant aux objectifs définis, ceux-ci visent typiquement les biens critiques d’une entreprise
ou d’une organisation afin de prodiguer un avantage concurrentiel ou stratégique à l’APT,
comme par exemple le vol de propriété intellectuelle ou le vol de secrets militaires.
Attaquants hautement organisés et ayant accès a de nombreuses ressources :
Les acteurs d’une APT sont multiples, coordonnés et compétents en piratage informatique.
Ils font parfois partie de groupe gouvernementaux ou militaires [64]. D’autres sont sim-
plement des mercenaires engagés par des entités étatiques ou privées [53]. Ce sont donc
des menaces qui possèdent un haut niveau de compétences techniques et qui ont accès à
18 CHAPITRE 2. ÉTAT DE L’ART
des ressources financières importantes. Ceci leur permet de mettre en place des stratégies
d’attaque mettant en jeu une voire parfois même plusieurs vulnérabilités zero-day [59],
c’est-à-dire des failles n’ayant fait l’objet d’aucune publication jusqu’alors. Ces failles sont
notoirement difficiles à défendre puisqu’elles sont inconnues de la défense.
Campagnes sur le long terme avec des tentatives répétées : Une attaque APT est
une campagne de longue durée. L’APT peut rester plusieurs mois ou plusieurs années dans
le système avant d’être détectée. Les attaquants persistent et s’adaptent aux difficultés
éventuelles qu’ils rencontrent dans la défense de la cible.
Techniques de dissimulation et d’évasion : Les APT sont capables de contourner les
défenses du système pour rester furtives dans le réseau du système. Les actions de l’APT
sont discrètes et maintiennent le niveau d’interaction au minimum pour rester dissimulé.
D’autres classifications de types d’attaquants en cyber-sécurité existent dans la littéra-
ture. C’est le cas de Choo [14] qui propose une classification en trois types de groupes de
crime organisé en cyber-sécurité :
— L’organisation criminelle traditionnelle cherche à faire prospérer ses activités illicites
réelles par le biais des technologies d’information et de communication. Elle est es-
sentiellement motivée par le profit.
— Le groupe de pirates informatiques agit exclusivement par des moyens informatiques.
Le haut niveau de sophistication de certains de ses membres s’apparente à celui des
menaces persistantes avancées. Cependant, il s’agit généralement d’un groupe désor-
ganisé sinon un ensemble d’individus aux compétences et aux motivations variables.
— L’organisation criminelle politique ou idéologique est un groupe particulièrement mo-
tivé pour nuire à une cible désignée. De fait, elle est prête à mener une campagne de
longue durée pour parvenir à ses fins.
Dans cette classification l’APT est une organisation criminelle politique ou idéologique. Le
mode opératoire d’une APT sera discuté dans la Section 2.2.2.
Chen et al. [13] spécifient un modèle d’attaque ou cyber kill chain en six phases pour une
attaque d’APT typique : (i) reconnaissance et armement ; (ii) acheminement ; (iii) intrusion
initiale ; (iv) commandement et contrôle ; (v) mouvement latéral ; et (vi) ex-filtration de
données. Ce modèle est basé sur les travaux de Hutchins et al. [46] sur la cyber kill chain,
un framework de modélisation d’attaques inspiré des frameworks d’opérations militaires.
La cyber-sécurité contre les APT est un problème difficile à résoudre, notamment à
cause des méthodes complexes employées par ce type d’attaquant. De part leur multiples
vecteurs d’attaques, il n’y a pas de solution universelle pour la défense contre les APT.
Brewer [10] suggère de faire face à ce problème en orientant la défense séparément sur
chaque étape du mode opératoire des APT. Il est vrai que les outils de sécurité traditionnels
peinent à combattre la menace persistante avancée dans son ensemble. En revanche, ils
constituent un premier rempart qui peut être utilisé à bon escient pour contrer certaines
phases des APT. Selon cet axe de réflexion, cette partie détaillera les différentes techniques
de défense contre les APT.
2.2. MENACES PERSISTANTES AVANCÉES 19
utile est attachée au mail frauduleux et requiert une action de la cible (ouverture de pièce
jointe ou liens Internet) pour prendre effet. Ceci peut être prévenu en analysant les conte-
nus des mails dans ce qu’on appelle une sandbox [83, 107, 108] c’est-à-dire une machine
virtuelle isolée permettant d’expérimenter sur le contenu sans risquer de contaminer le
réseau du système.
Intrusion initiale : Cette phase correspond au moment où l’APT parvient à faire son
premier accès non-autorisé dans le système. C’est notamment lors de cette étape que l’APT
établit son point d’ancrage dans le système à partir duquel elle poursuivra ses opérations
dans le futur. L’APT a parfois recours à une exploitation de faille de type zéro-day pour y
parvenir, mais il arrive également que la faille vise une application qui ne serait simple-
ment plus à jour.
Lors de cette phase, l’APT exploite une vulnérabilité du système pour y établir un point
d’ancrage. L’application régulière de correctifs peut empêcher l’APT de réussir à cette
étape. Les systèmes de détection d’intrusion [66] peuvent également aider à cette tâche.
Toutefois, l’APT peut avoir recours à l’exploitation de faille zero-day ce qui est impossible
à détecter pour un système de détection d’intrusion basé sur les signatures de malwares
connus. Pour pallier cela, des systèmes de détection d’intrusion avancés se basent sur le
système de sandbox [83] pour détecter des comportements malveillants.
Commandement et contrôle : Cette phase consiste à établir un mécanisme de Com-
mand and Control, c’est-à-dire établir une liaison entre le point d’ancrage et l’extérieur du
système. À partir de cette liaison, l’APT prend le contrôle de la machine infectée lors de l’in-
trusion initiale sans avoir à opérer directement dans le système. Pour éviter la détection,
la liaison peut être établie en utilisant des services utilisés dans le système de manière
légitime.
Lors de cette phase, l’APT installe un mécanisme de contrôle à distance de son malware
à partir de l’extérieur du système. Ceci peut être prévenu par différents procédés comme le
blocage de certaines requêtes vers des IP suspectes détectées lors de l’étape de reconnais-
sance. Cependant, les méthodes utilisées par les APT sont discrètes et évasives, il n’existe
donc pas de pattern à détecter pour lutter systématiquement contre elles. Il faut donc al-
lier les systèmes de détection d’intrusion avec des systèmes de gestion de l’information et
des événements de sécurité (Security information and event management ou SIEM) [30].
Ceux-ci surveillent les événements dans le système et peuvent les corréler pour déterminer
des comportements anormaux. Ils déterminent qu’un événement est anormal lorsqu’il sort
de la limite acceptable d’un comportement d’un utilisateur normal du système.
Mouvement latéral : Cette phase, aussi appelée Pivoting, permet à l’APT de se dé-
placer dans le système pour étendre son contrôle sur d’autres machines et collecter/modi-
fier/détruire des biens critiques. Elle correspond à une phase d’exploration du système à
partir du point d’ancrage. Cette étape peut prendre du temps car l’APT cherche à rester
dissimulée le plus longtemps possible dans le système.
Lors de cette phase, l’APT cherche à élever ses privilèges et à étendre son influence dans
le système. Pour cela, elle scanne son environnement depuis son point d’ancrage et cherche
à déterminer de nouvelles vulnérabilités à exploiter. Les techniques classiques de système
de détection d’intrusion ainsi que les systèmes de gestion de l’information sont utilisés pour
se défendre contre cela. De plus l’implémentation d’une politique de sécurité efficace, c’est-
à-dire une politique de contrôle d’accès à l’information solide au sein du système [44, 57],
permet de limiter l’expansion de l’APT dans le système.
Ex-filtration de données : Cette phase permet d’accomplir l’objectif principal de l’APT
qui est, comme expliqué précédemment, le vol de données critiques. Divers moyens de com-
pression et de cryptage peuvent être utilisés lors de cette étape pour minimiser le risque
de détection [10].
2.2. MENACES PERSISTANTES AVANCÉES 21
Lors de cette phase, l’APT cherche à extraire les données qu’elle a recueillies dans le
système jusqu’à elle. Pour prévenir cette étape, l’utilisation de techniques de Data Loss
Prevention (DLP) [67] est préconisée. Ce terme regroupe toutes les techniques qui visent à
minimiser la fuite de données sensibles. Cela regroupe les techniques de sécurité classiques
comme les antivirus, les pare-feu, les systèmes de détection d’intrusion par signature mais
aussi les systèmes de détection avancés. De plus, il existe des solutions de DLP comme celle
proposée par Schmid et al. [87], qui surveille les flux de données dans le système et agit en
temps réel pour prévenir les fuites de données. La contre-mesure contre cette étape, bien
que très fournie, requiert une compréhension poussée des biens critiques du système afin
de définir une politique de sécurité adaptée au système.
La Table 2.1 résume les différentes techniques employées par les APT lors de chaque
étape de leur mode opératoire ainsi que les différentes contre-mesures de la littérature
contre elles. Faire face à un nombre restreint d’étapes à la fois est possible au moyen d’ap-
proches existant dans la littérature.
Certaines approches produisent des analyses d’impacts [80, 91]. Celles-ci considèrent la
dynamicité du modèle et permettent de capturer le comportement du système pendant une
attaque. Néanmoins, la modélisation de l’attaquant est insuffisante dans l’approche de Pe-
terson [80] pour capturer des scénarios d’attaques complexes. Dans l’approche de Sultan
et al. [91], le formalisme d’automates permet de représenter des impacts d’attaques plus
complexes au prix d’une modélisation intrusive aux composants (ajouts d’états et transi-
tions) ce qui demande une compréhension poussée du fonctionnement du système et pose
des problèmes de pérennité. Il est donc difficile d’appliquer ces approches dans le contexte
ad hoc des menaces persistantes avancées, où les attaquants n’ont qu’une connaissance
partielle du système ciblé.
D’autres approches sont basées sur le formalisme d’arbres d’attaque [58, 82]. Les arbres
d’attaques permettent de modéliser des scénarios d’attaque dans un formalisme expressif.
Ces outils mettent en jeu de multiples niveaux d’abstraction, ce qui requiert une compré-
hension poussée du fonctionnement système et de ses vulnérabilités. Ceci ne convient pas
non plus au contexte de modélisation ad hoc des menaces persistantes avancées.
Toutefois, la décomposition de la cyber kill chain peut être discutée. En effet, si le mo-
dèle de Chen et al. [13] comporte six étapes, le modèle de Hutchins et al. [46] sur lequel il est
basé en comporte sept, puisqu’il sépare la phase de reconnaissance et celle d’armement.
De plus, la dernière phase d’ex-filtration de données n’est pas toujours applicable dans
le cas où l’objectif de l’APT n’est pas de récupérer des données. Par exemple, dans le cas
22 CHAPITRE 2. ÉTAT DE L’ART
de la célèbre attaque Stuxnet [59], classifiée comme APT, l’objectif premier était d’endom-
mager prématurément des centrifugeuses. Ceci met en évidence certaines faiblesses du
modèle de la cyber kill chain pour comprendre le fonctionnement des APT.
le pont entre le niveau stratégique et le niveau tactique. En des termes plus généraux, le
niveau opérationnel détermine quoi faire, dans quel ordre, pendant combien de temps
et avec quelles ressources.
Niveau tactique de guerre : Ce niveau se concentre sur les opérations individuelles,
il s’échelonne sur une durée courte allant jusqu’à quelque jours. L’ensemble des actions
militaires concrètes se situe à ce niveau, bien qu’il puisse avoir des effets à un niveau opé-
rationnel ou tactique. En des termes plus généraux, le niveau tactique explique comment
combattre.
Il est intéressant de noter le parallèle qui existe entre les niveaux de guerre et le mode
opératoire des APT décrit par la cyber kill chain. En effet, la plupart des phases décrivent
un niveau tactique d’opérations militaires puisqu’elles stipulent les moyens concrets qui
permettent aux APT de passer à l’action. Cependant, on peut noter que la phase recon-
naissance et armement est plus difficile à classer dans le niveau tactique, car elle com-
prend un processus de réflexion de plus haut niveau, à savoir le niveau opérationnel. Afin
d’avoir une vue d’ensemble sur la méthodologie des APT, il est crucial de se placer au ni-
veau opérationnel qui englobe l’ensemble de la mission d’une APT.
2.2.3 Limites
De nombreuses approches de sécurité répondent déjà à la plupart des phases de la cyber
kill chain des APT. Toutefois, il apparaît que l’étude et les contre-mesures contre l’étape de
reconnaissance et armement soient encore peu développées. La seule solution proposée
est la prévention via correctifs et la sensibilisation aux contraintes cyber qui permettent
de pallier l’ingénierie sociale. Toutefois, cette solution ne considère pas la reconnaissance
et armement dans son entièreté. Cela s’explique par le fait que cette phase fait intervenir
des compétences relativement étrangères à la cyber sécurité : celles de la méthodologie
opérationnelle, notamment militaire. Il semble néanmoins crucial de mieux comprendre
cette phase de la cyber kill chain car elle précède toutes les autres et se situe en partie à
un plus haut niveau de réflexion stratégique.
Il est d’ailleurs notable que l’étape de reconnaissance et armement fasse en réalité
intervenir des processus issus de domaines de différentes natures, à savoir la reconnais-
sance, la réflexion et l’armement. Il paraît donc judicieux de l’étudier selon ces différents
axes pour proposer une contre-mesure plus complète et efficace. La Figure 2.3 représente
les trois procédés itératifs qui interviennent à cette étape.
Reconnaissance : lors de ce processus l’APT recueille des informations sur le système
ciblé par différents moyens : l’ingénierie sociale, l’OSINT, les techniques du renseignement
auquel elle a accès. Ces informations lui permettent de modéliser le système.
Réflexion : lors de ce processus l’APT construit une stratégie, c’est-à-dire un plan d’ac-
tion. Elle détermine une ou plusieurs cibles dans le système qu’elle imagine vulnérables
en fonction de diverses informations techniques (configurations de différents éléments du
24 CHAPITRE 2. ÉTAT DE L’ART
aspects distincts : (1) identifier la zone d’opération des forces alliées ; (2) analyser la mis-
sion et les intentions du commandant ; (3) déterminer les caractéristiques pertinentes de
l’environnement ; (4) identifier les limites des zones d’intérêt des forces armées ; (5) déter-
miner le niveau de granularité requis et possible dans le temps imparti ; (6) déterminer le
renseignement et les informations prioritaires, manquants et/ou incomplets ; et (7) collec-
ter les données et soumettre des requêtes pour obtenir des informations complémentaires
nécessaires aux analyses.
Définir le problème : ce processus a pour objectif de comprendre et de passer en
revue les tendances et potentielles actions des différents acteurs de l’environnement. Ce
faisant, il est possible de déterminer la cause première qui empêche l’OE d’atteindre l’état
désiré. La compréhension du problème requiert de multiples niveau de réflexion puisqu’il
faut : déterminer le contexte stratégique et la nature systémique du problème, synthétiser
les directives stratégiques, identifier les tendances stratégiques, identifier les informations
manquantes et les suppositions faites sur le problème et identifier le problème à un niveau
opérationnel [99].
Définir le DOE : ce processus a pour but de décrire comment l’OE doit être modifié pour
atteindre l’état désiré. Pour cela, il faut décrire les différents objectifs de la mission étape
par étape, c’est-à-dire expliciter pour chaque tâche : qui, quoi, quand, où et pourquoi [99].
Ainsi, le commandant formule une approche opérationnelle (Operational Approach) de la
mission. Celle-ci dépend largement du cadre de travail choisi. C’est pourquoi elle peut
prendre bien des formes que ce soit textuelles ou graphiques.
L’annexe B de Army Design Methodology [101] montre un exemple de la méthodolo-
gie d’Operational Design dans le contexte d’un réseau de trafic d’opiacés lié à une faction
rebelle. Les acteurs identifiés dans cet exemple ne sont proposés qu’à titre d’illustration.
L’objectif du concepteur est de développer un plan d’action, ou approche opérationnelle, afin
de perturber les relations entre les différents acteurs du réseau. L’environnement opéra-
tionnel est modélisé sous la forme d’un schéma présenté en Figure 2.5, accompagné d’expli-
cations narratives textuelles. Le concepteur formule son approche opérationnelle à partir
d’informations rassemblées au préalable.
La Figure 2.5 représente les différents acteurs de l’environnement sous la forme de
nœuds numérotés. Ces acteurs sont dans l’ordre : (1) producteur d’opium, (2) courtier
d’opium/marché local, (3) laboratoire, (4) réseau de contrebande, (5) chimiste, (6) marchés
étrangers (Europe), (7) barons de la drogue, (8) banques, (9) Hawaladeer (personne), (10)
dirigeant politique et (11) Taliban. Dans cet exemple, le concepteur modélise le réseau de
trafic de drogue à travers ces différents acteurs, dont il identifie les relations.
Plus précisément, les producteurs fournissent l’opium aux marchés locaux et des fonds
pour les Taliban. Les marchés locaux fournissent des fonds aux producteurs et aux Tali-
ban. Ils fournissent également de l’opium aux laboratoires, ainsi que des précurseurs de
l’héroïne.
Les laboratoires fournissent de l’héroïne aux réseaux de contrebande. Les réseaux échangent
des armes et du personnel avec les Taliban, fournissent les précurseurs aux marchés locaux
et fournissent les marchés étrangers en héroïne. Les chimistes travaillent dans les labora-
toires à transformer l’opium en héroïne à l’aide de précurseurs.
Les marchés étrangers fournissent des fonds aux banques et à Hawaladeer. Ces trois
entités fournissent également des fonds aux barons de la drogue. Les barons de la drogue
gèrent les laboratoires, leurs chimistes et les réseaux de contrebande. Ils fournissent des
fonds aux dirigeants politiques en échange d’une protection politique. Enfin, ils fournissent
des fonds aux Taliban.
À partir de cet environnement, le concepteur élabore différentes contre-mesures pour
perturber le réseau de trafic de drogues. Elles sont de quatre types différents :
2.3. CYBER OPERATIONAL DESIGN 27
— L’action diplomatique consiste à appliquer une pression sur les dirigeants politiques
pour interrompre la protection qu’ils offrent aux barons de la drogue, et à partager
des informations avec les banques internationales pour retracer les flux de capitaux.
— L’action informationnelle consiste à cibler les producteurs d’opium par des approches
de communication pour les pousser à accepter une alternative à la production d’opium.
— L’action militaire consiste à capturer les barons de la drogue ou les chimistes, à dé-
truire les laboratoires ou à démanteler les réseaux de contrebande pour empêcher
l’accès aux précurseurs.
— L’action économique consiste à geler les actifs des barons de la drogue auprès des
banques internationales et à travailler avec les pays de la région pour proposer des
alternatives économiques à la culture d’opium.
Cette analyse montre comment la méthodologie d’Operational Design peut aider à pro-
duire une stratégie opérationnelle pour un problème donné. Dans le contexte des APT,
l’Operational Design et la planification militaire sont pertinents pour mieux comprendre
la méthodologie des APT lors de l’étape de reconnaissance et d’armement. En effet, leur
sophistication leur permet de créer des stratégies complexes pour atteindre leur cibles. En
d’autres mots, la méthodologie d’une APT est semblable à une méthodologie d’opérations
militaires. Étudier l’Operational Design offre donc de nouvelles perspectives à la modélisa-
tion de sécurité dans le contexte des APT.
mer, l’air et l’espace : l’espace cyber. Ce nouveau front interagit avec les concepts plus
classiques manipulés en Operational Design, comme les aspects politiques, militaires, éco-
nomiques, sociaux ou les infrastructures [39, 40]. Il faut donc considérer l’espace cyber
comme étant une partie intégrante de l’environnement opérationnel.
Al-Ahmad [4] désigne comme "cyber guerre" le conflit qui prend place dans l’espace
cyber et qui a des répercussions dans la vie réelle. Ceci étend le théâtre des opérations
militaires au réseau et non plus simplement sur le champ de bataille [65].
Afin d’adapter l’Operational Design, Karaman et al. [52] reprennent des processus de la
méthodologie comme l’analyse de centre de gravité, c’est-à-dire l’identification des points
critiques dans le système ciblé. Cependant, cette méthodologie reste abstraite dans le sens
où elle n’est pas appliquée sur un exemple concret présent ou passé. La méthodologie pro-
posée repose essentiellement sur les compétences du concepteur. Ceci est problématique
car la planification d’opérations militaires requiert des compétences notoirement éloignées
des connaissances en technologie de l’information et de la communication. L’applicabilité
du Cyber Operational Design reste donc à prouver sur un cas concret.
À l’inverse, Williams [110] défend une approche basée sur l’Operational Design clas-
sique. Il suggère que le terme "cyber guerre" et le terme "cyber" en général ajoutent de la
confusion dans l’approche. Il préconise une méthodologie s’appuyant sur les compétences
stratégiques du commandant des opérations pour s’adapter aux contraintes cyber comme
il s’adapte aux autres environnements (aérien, terrestre, maritime et spatial).
Ce faisant, quatre axiomes sur lesquels il faut développer la méthodologie sont préco-
nisés :
1. Axiome 1 : il faut proscrire le terme "cyber guerre" car il est contre-productif. La
guerre ne change pas de nature dans l’espace cyber, seules quelques spécificités liées
au domaine s’ajoutent à la conception de stratégie. C’est pourquoi il n’est pas néces-
saire de distinguer la guerre dans ce domaine en particulier.
2. Axiome 2 : la doctrine actuelle s’accommode avec aisance des opérations dans l’espace
cyber. Il n’est pas nécessaire d’inventer une nouvelle méthodologie.
3. Axiome 3 : il faut former des opérateurs de l’espace cyber pour pouvoir traiter ce
nouveau front comme les autres fronts. Comme dans les autres espaces de conflit,
Williams [110] propose de former les officiers pendant au moins 10 ans à résoudre
des problèmes tactiques dans tous les aspects de l’espace cyber.
4. Axiome 4 : le mot "cyber" doit être utilisé avec parcimonie. Seul le terme "espace
cyber" est clairement défini, les autres combinaisons tendent à compliquer le discours.
Cette approche repose essentiellement sur les compétences du commandant des opéra-
tions. Cependant, l’axiome 3 souligne un manque d’effectifs qualifiés pour mettre en place
les opérations dans l’espace cyber. Cette approche semble donc trop immature à l’heure
actuelle et dans un futur proche pour combattre les menaces persistantes avancées par la
méthodologie de l’Operational Design.
2.3.3 Pimca
D’autres initiatives posent les fondations d’une approche concrète basée sur la planifi-
cation militaire dans un contexte de cyber-sécurité. C’est le cas du langage Pimca introduit
par la Direction Générale de l’Armement (DGA) en France.
La présente section introduit Pimca [92], un langage de modélisation de systèmes pour
la sécurité de l’espace cyber dont l’objectif principal est de souligner la surface d’attaque
du système. Prenons l’exemple simple, présenté en Figure 2.6, d’un technicien utilisant
une imprimante pour imprimer un document. Ce sous-système est situé dans le réseau
2.3. CYBER OPERATIONAL DESIGN 29
connects
prints connects
operates
[Link] Machinery
Une machinerie (Machinery) définit un élément actif du système. Les instances de ma-
chinery ont la capacité d’intéragir avec les autres éléments du systèmes au travers des
relations ; i.e., ils peuvent déclencher des actions et réagir à d’autres actions. Ce concept
est utilisé pour capturer les éléments pourvus de comportement dans le système. Il est
important de considérer les actions et les effets déclenchés par les comportements de ces
éléments comme des étapes d’attaques potentielles pour évaluer les opportunités d’attaque.
Une machinerie possède un attribut dimensionType i.e., physique, virtuel ou composite.
La dimension définit l’espace dans lequel les machineries peuvent interagir, c’est-à-dire
qu’une machinerie avec une dimension physique a une réalité tangible et ne peut interagir
directement qu’avec d’autres machineries physiques. À l’inverse, une machinerie virtuelle
n’a pas de réalité tangible et ne peut interagir qu’avec d’autres machineries virtuelles. Une
machinerie de dimension composite fait le lien entre les dimensions physiques et virtuelles.
Cette distinction est utile pour une APT car ses opérations dans le système commencent
par un nœud physique ou virtuel. Pour progresser dans une autre dimension du système,
l’attaquant est contraint de passer à travers une machinerie composite.
La machinerie est spécialisée pour représenter : des exécutants (performers), des inter-
faces (interfaces), des points de contrôle (checkpoints) et des réseaux (networks)
30 CHAPITRE 2. ÉTAT DE L’ART
[Link] Resource
Une ressource (Resource) définit un élément passif du système. Par opposition aux ma-
chineries, les ressources ne déclenchent pas d’actions. Elles peuvent simplement être les
cibles d’actions déclenchées par des machineries. Ce concept représente les biens critiques
du système qui peuvent constituer des cibles pour l’APT. Par exemple, l’eau d’une station
de pompage constitue une ressource.
Si une ressource peut être définie telle quelle, il existe deux spécialisations de res-
sources i.e. les passeports (passports) et les instructions (instructions). Ces ressources sont
définies de la manière suivante :
— Le passeport (Passport) représente la ressource directement liée à un point de contrôle
spécifique. L’accès au passeport est nécessaire pour passer le point de contrôle. Ce
2.3. CYBER OPERATIONAL DESIGN 31
concept est utile dans le contexte des APT car il capture les clés de passage de point
de contrôle qui constituent des objectifs secondaires pour l’attaquant.
— L’instruction (Instruction) représente la ressource utilisée par une machinerie pour
paramétrer son comportement. Ce concept symbolise le fait que le comportement
d’une machinerie soit potentiellement une cible pour l’attaquant. Si une instruction
est modélisée dans le système, elle peut être modifiée par l’attaquant. Par exemple,
la politique de sécurité du réseau LAN de l’exemple est une instance d’instruction.
[Link] Relation
Une des spécificités du langage Pimca réside dans la définition riche du concept de relation
afin de prendre en compte différentes sémantiques. Une relation (Relation) modélise les
interactions complexes entre différents knowledgeComponents. Un relation possède une
unique source et une unique cible, toutes deux étant de type knowledgeComponents. Une
relation utilise différents attributs pour caractériser sa nature complexe. Une relation peut
utiliser (employing) des machineries intermédiaires dont elle dépend. Dans l’exemple, c’est
le cas de la relation d’impression entre le technicien et l’imprimante qui dépend du poste de
travail et du réseau LAN. Une relation peut transporter (conveying) une ressource. Dans
l’exemple, c’est le cas de la ressource "document" dans la relation d’impression. Une rela-
tion peut passer au travers (passingThrough) d’autres relations concrètes. Dans l’exemple,
la relation d’impression est abstraite et s’exprime au travers des différentes relations
concrètes entre le technicien et son poste de travail (operates), entre le poste de travail
et le réseau (connected to et entre le réseau et l’imprimante (connects). Une relation peut
donc posséder en attribut des knowledgeComponents de tout type : des machineries via
employing, des ressources via conveying et des relations via passingThrough. Une relation
est un type abstrait qui doit être spécialisé dans un de ses multiples sous-types concrets :
échange (exchange), contrôle (control, utilisation (use), production (produce) et vérification
(check).
— L’échange (Exchange) est défini comme une relation bi-directionnelle entre deux ma-
chineries.
Dans l’exemple, le poste de travail échange des données avec le réseau LAN.
— Le contrôle (Control) est défini entre une machinerie source qui influence le compor-
tement d’une machinerie cible. Il représente un lien à travers lequel la machinerie
peut diriger la machinerie cible et déclencher ses différentes actions. Cette relation
peut être vue comme un accès en écriture de la source sur la cible. Cette relation ex-
pose l’aspect critique de la machinerie source, dans le sens où une corruption de la
source entraîne une corruption de la cible par la même occasion. Dans l’exemple, le
technicien contrôle son poste de travail.
— L’utilisation (Use) représente le fait qu’une machinerie source ait besoin d’un know-
ledgeComponent cible pour fonctionner. Cette relation expose la dépendance de la
source vis-à-vis de la cible, dans le sens où le blocage de l’accès à la cible perturbe le
comportement de la source. Dans l’exemple, le poste de travail utilise une alimenta-
tion électrique pour fonctionner.
32 CHAPITRE 2. ÉTAT DE L’ART
[Link] Application
obtenir suffisamment d’informations pour poursuivre. Dans le cas contraire, l’APT déter-
mine sa stratégie. Par exemple, elle décide de cibler le technicien car elle a étudié son
comportement en ligne via ingénierie sociale et peut donc fabriquer un mail frauduleux
crédible. L’APT peut ensuite concrétiser sa stratégie en mettant en place les différents
moyens qu’elle utilisera.
Le langage Pimca permet donc de faire de l’Operational Design dans un contexte de
cyber-sécurité. Il permet de visualiser la phase de réflexion qui permet à l’APT de formuler
son plan d’action. Cependant, à l’heure actuelle, Pimca n’est pas entièrement outillé pour
faciliter ce processus. En effet, les processus itératifs de l’Operational Design demandent
une réflexion itérative ce qui implique de pouvoir faire évoluer le modèle au fil de la ré-
flexion.
Par exemple pour illustrer les trois exemples issus de Ginter [32] présentés au début
de ce chapitre, Pimca atteint ses limites. En effet, chaque attaque révèle un raisonnement
itératif sur l’architecture du système ciblé. La connaissance que l’attaquant a du système
évolue avec le temps. Dans le cas de l’insider, il serait intéressant de modéliser le système
du point de vue de l’attaquant. En première phase, sa connaissance se limite au réseau
IT, puis elle progresse à une partie du réseau ICS. Enfin le réseau ICS est exploré jusqu’à
ce que l’attaquant obtienne suffisamment d’informations pour causer des dommages. Ceci
requiert de construire un modèle de système dynamique qui évoluerait donc à mesure que
l’attaquant progresse. Dans le cas du ransomware, le mode opératoire n’est pas transpo-
sable à celui d’une APT. Il ne sera donc pas traité par le langage Pimca. Il est néanmoins
possible de représenter le scénario de propagation du ransomware du réseau IT au réseau
ICS à travers Pimca. Enfin pour le cas de Stuxnet [59], il est clair que les concepteurs de
l’attaque ont utilisé une méthodologie similaire à l’Operational Design. En effet, la cible
principale était le site industriel de raffinement d’uranium de Natanz. Pourtant l’APT a
choisi une cible différente pour pénétrer dans le système. Le fournisseur de service externe
au site industriel a été déterminé comme cible première spécifiquement aux termes d’une
réflexion opérationnelle. Ceci a permis d’enclencher une seconde phase de reconnaissance
sur le système ciblé. Ces nouvelles informations ont déclenché une nouvelle phase de ré-
flexion opérationnelle. L’APT a ainsi pu mettre au point un malware complexe qui évite
la détection des systèmes de sécurité et parvient à ses objectifs de dysfonctionnement. La
mise au point de cette attaque a demandé une réflexion itérative et opérationnelle, elle
semble difficile à représenter dans le langage Pimca à l’heure actuelle.
Pour traiter ces problématiques d’évolution opérationnelles temporelles, un aspect dy-
namique à Pimca pourrait être intégrer au langage. De plus si Pimca est un support pour
l’Operational Design, il ne prodigue pas d’outil d’aide à la décision pour orienter la réflexion
du concepteur.
34 CHAPITRE 2. ÉTAT DE L’ART
2.4.1 Principe
L’ingénierie dirigée par les modèles (IDM), ou Model Driven Engineering (MDE) en
anglais est une sous-branche de l’ingénierie logicielle. Elle se pose en successeur du para-
digme de la programmation orientée objet (POO) [90] dans le domaine logiciel pour aug-
menter le niveau d’abstraction. Mais l’IDM est aussi une formidable opportunité pour créer
un lien entre le logiciel et le niveau système. La POO suit le principe du "tout est objet",
c’est-à-dire qu’elle repose sur le concept de classe. Une classe représente une catégorie
d’objets possédant des caractéristiques communes (méthodes et attributs). De ce concept
découlent les deux relations fondamentales de la POO : l’instanciation et l’héritage. L’ins-
tanciation est la relation qui lie un objet à sa classe. L’héritage est la relation qui lie une
classe fille (ou sous-classe) à une classe mère (ou super-classe). La classe fille "hérite" de
toutes les caractéristiques de la classe mère, elle permet de spécifier de nouvelles caracté-
ristiques en conservant celles de la classe mère.
En IDM, le concept principal est la notion de modèle : "Un modèle est une abstraction
d’un système, modélisé sous la forme d’un ensemble de faits construits dans une intention
particulière. Un modèle doit pouvoir être utilisé pour répondre à des questions sur le sys-
tème modélisé" [16]. L’IDM permet de résoudre le problème de la complexité grandissante
des systèmes d’information. Le recours à une modélisation du système est une simplifica-
tion de la réalité pour répondre à une préoccupation précise. Le modèle est décrit dans un
langage de modélisation spécifique, ou Domain Specific Modeling Language (DSML), conçu
spécifiquement pour répondre au besoin. Par exemple, le langage Pimca est un langage de
modélisation de systèmes pour conduire des analyses de sécurité. Ce faisant, il capture
les caractéristiques pertinentes du système pour ce type d’analyse en suivant le principe
de substituabilité [71]. Le principe de substituabilité stipule qu’un modèle "doit être suf-
fisant et nécessaire pour permettre de répondre à certaines questions en lieu et place du
système qu’il est censé représenter, exactement de la même façon que le système aurait
répondu lui-même" [16]. Au regard d’une problématique précise, le modèle répond de la
même manière que le système : on dit que le modèle est une représentation du système. Le
modèle fait ensuite l’objet d’analyses partiellement voire entièrement automatisées comme
la validation, la vérification ou l’exécution pour répondre au besoin.
Le langage de modélisation est lui-même défini par ce qu’on appelle un méta-
modèle [78]. Le méta-modèle est, comme son nom l’indique, un modèle du DSML. La méta-
modélisation est l’activité qui consiste à modéliser le langage qui sera utilisé pour répondre
à un besoin précis. Le langage est défini par deux concepts : la syntaxe et la sémantique.
La syntaxe décrit la forme du langage. Elle spécifie la manière d’écrire ou de représen-
ter le DSML en termes de symboles, mots-clés et formes. La syntaxe décrit les différentes
règles de construction du langage. En informatique, on distingue généralement deux as-
pects différents de syntaxe : la syntaxe concrète et la syntaxe abstraite. La syntaxe concrète
est le langage manipulé par l’utilisateur, elle peut être textuelle ou graphique. La syntaxe
abstraite est la représentation interne manipulée par la machine, elle prend la forme d’un
2.4. INGÉNIERIE DIRIGÉE PAR LES MODÈLES 35
arbre abstrait. Ces deux aspects sont liés par une relation d’abstraction définie dans le
langage.
La sémantique stipule la signification du langage. En d’autres termes, elle donne un
sens aux concepts définis par la syntaxe. La sémantique permet de traduire un système
en modèle de syntaxe concrète. Le domaine sémantique représente l’ensemble des états
possibles du système dans le DSML.
La méta-modélisation revient donc à décrire la syntaxe abstraite, la syntaxe concrète et
la sémantique du langage. La Figure 2.8 illustre les liens entre le système réel, le modèle
et le méta-modèle. Plus particulièrement en ingénierie dirigée par les modèles, la syntaxe
abstraite prend un rôle prépondérant. Pour répondre à des questions d’un domaine spé-
cifique, l’ingénieur conçoit tout d’abord une syntaxe abstraite. Il fait ensuite le lien entre
le domaine sémantique et les concepts de la syntaxe abstraite pour définir la sémantique
du langage. C’est ce qu’on appelle le mapping. Le concepteur peut ensuite définir une ou
plusieurs syntaxes concrètes, c’est-à-dire qu’un même modèle abstrait peut avoir plusieurs
représentations concrètes (textuelle et graphique par exemple). Cette opération permet de
faire le lien entre le langage et l’utilisateur.
Le principe de l’ingénierie dirigée par les modèles est de résoudre les problématiques
sur le système en concevant un DSML pour chaque préoccupation. Le système est repré-
senté par des modèles sur lesquels peuvent s’appliquer des analyses de vérification et de
validation formelles [82]. C’est dans ce contexte que le langage Pimca a été conçu [92].
Il s’attache à identifier la surface d’attaque du système modélisé et permet de conduire
d’autres analyses de sécurité. Usuellement en IDM, les analyses de modèles sont conduites
à la main par le concepteur. L’analyse du concepteur est conduite sur l’espace séman-
tique du langage. Cependant, dans un environnement où le fonctionnement du système est
amené à évoluer avec le temps et à cause des interactions de l’attaquant, il devient difficile
de conduire les analyses à la main. Aussi il devient nécessaire de prodiguer au concepteur
des techniques d’analyse assistée par la machine. Cependant, l’état de l’art montre que
ce langage n’est pas suffisant pour représenter le raisonnement des menaces persistantes
avancées sur un système ciblé.
Il se pose en effet plusieurs problématiques avec en premier lieu, comment modéli-
ser les objectifs des APTs pour pouvoir les prendre en compte dans notre analyse ? Com-
ment également enrichir le langage Pimca pour décrire l’évolution dynamique des entités
Pimca ? Comment modéliser et capitaliser les modèles du système pour prendre en compte
la découverte progressive du système ? Et enfin, comment modéliser les relations entre ces
différents modèles pour assurer une cohérence durant tout le processus d’établissement de
la stratégie de l’APT ?
Ces différentes questions soulèvent que l’expression de ces différents modèles requière
une modélisation hétérogène par préoccupation et de manière sous-jacente introduit le pro-
blème de l’interopérabilité entre les modèles, que nous analysons dans le section suivante.
36 CHAPITRE 2. ÉTAT DE L’ART
2.4.2 Interopérabilité
Dans le cadre de cette thèse, il est nécessaire de manipuler des modèles de systèmes dé-
crits dans le langage préexistant Pimca [92]. Étant donné que le langage Pimca est spécifié
par la DGA selon un cahier des charges spécifique, nos travaux ne peuvent pas modifier
le méta-modèle Pimca en lui-même. Cependant, notre étude bibliographique montre que le
langage Pimca n’a pas vocation à être un langage dynamique, ce qui est pourtant une néces-
sité pour modéliser le mode de fonctionnement des menaces persistantes avancées par la
méthodologie d’Operational Design. Il est donc nécessaire de proposer un nouveau langage
dynamique pour modéliser les aspects dynamiques du système. De plus, il faut également
adapter la méthodologie d’Operational Design pour les besoins des menaces persistantes
avancées. Bien qu’il soit conçu pour le langage Pimca, il est crucial de ne pas simplement
étendre le langage Pimca par des concepts dynamiques. En effet, ceci limiterait la réuti-
lisabilité de l’approche de l’Operational Design conjointement avec d’autres approches de
modélisation de systèmes cyber. Aussi, il est clair que le problème de l’interopérabilité se
pose, à minima, entre les deux aspects de modélisation statique et dynamique. Nous pou-
vons également étendre cette problématique aux différents modèles qui seront mis en jeu
dans notre approche et décrits dans le chapitre 3.
L’interopérabilité est une problématique identifiée par Wegner [109] en 1996. Elle dé-
crit la capacité de plusieurs composants logiciels à fonctionner ensemble malgré les diffé-
rences de langage, d’interface et de plate-forme d’exécution. L’Association Francophone des
Utilisateurs de Logiciels Libres (AFUL) [42] donne la définition suivante :
Résoudre cette problématique est complexe car celle-ci possède plusieurs niveaux [21] :
— L’interopérabilité politique porte sur le partage de visions, orientations et stratégies
globales des différentes parties prenantes.
— L’interopérabilité juridique repose sur un cadre légal commun entre les différents
systèmes.
— L’interopérabilité organisationnelle porte sur les organisations et les processus mis
en œuvre pour favoriser les échanges entre les différents systèmes.
— L’interopérabilité sémantique porte sur la signification des mots pour chacun des com-
posants logiciels. En effet, certains termes en commun peuvent être utilisés et com-
pris de manière différentes par les composants. L’interopérabilité sémantique fixe le
sens des données échangées pour qu’il n’y ait qu’une interprétation possible.
— L’interopérabilité syntaxique assure que le format des données échangées entre les
différents composants est le même. Elle assure que la communication entre les com-
posants suive un format commun bien défini.
— L’interopérabilité technique assure que les interfaces des données échangées entre les
différents composants sont les mêmes. Elle rend possible l’échange des informations
définies au niveau sémantique selon le format défini au niveau syntaxique entre les
composants.
Dans le cadre de la modélisation de la stratégie des menaces persistantes avancées,
seuls les niveaux sémantique, syntaxique et technique sont pertinents. On peut décrire
plus précisément ces trois aspects pour l’ensemble de nos travaux de la manière suivante :
2.4. INGÉNIERIE DIRIGÉE PAR LES MODÈLES 37
flexibilité que l’intégration de manière générale, mais au prix d’un compromis entre une
définition trop abstraite ou trop précise du langage pivot.
La fédération est une approche qui consiste à modéliser la sémantique des liens entre
les concepts des différents DSML [24, 43, 74, 88]. Ces liens définissent ensuite la correspon-
dance entre les différents concepts des langages sans l’usage d’un langage pivot. L’objectif
principal de la fédération est de spécifier l’interopérabilité sans modifier les concepts des
DSML et en s’axant plutôt sur les définitions sémantiques des relations entre les concepts.
Ce faisant, les transformations ne se font plus de modèle à modèle mais simplement de
concept à concept lorsque c’est nécessaire. Les approches de fédérations ont l’avantage de
marquer une séparation entre les éléments sources issus des DSML et la modélisation de
la sémantique de fédération. Ceci permet notamment d’assigner plusieurs sémantiques dif-
férentes à un même concept de DSML ou bien une seule sémantique à plusieurs concepts
de DSML différents.
L’état de l’art montre que le domaine de la recherche sur les menaces persistantes avan-
cées connaît une expansion graduellement croissante. Du point de vue de l’ingénierie diri-
gée par les modèles, il semble donc raisonnable de prévoir la création de nombreux DSML
pour résoudre différents aspects de la problématique des APT. Afin de proposer une ap-
proche pérenne et interopérable avec ces futurs DSML, nous adoptons une approche de
fédération dans la suite de nos travaux.
État de l’art
Méthodologie ~
Syntaxe abstraite ~
Modèle de systèmes
Syntaxe concrète X
Sémantique ~
Méthodologie ~
Syntaxe abstraite X
Modèle de stratégie
Syntaxe concrète X
Sémantique X
Approche
Interopérabilité
Outillage X
Approche
Analyse
Outillage ~
En d’autres termes, du point de vue de l’ingénierie dirigée par les modèles, il est néces-
saire de créer un DSML complet également. Le DSML de stratégie doit avoir une syntaxe
abstraite ainsi qu’une sémantique bien définie. Il faudra également proposer une syntaxe
concrète pour le langage dynamique afin qu’il puisse être manipulé par un utilisateur. La
Table 2.2 montre donc que ces trois éléments manquent dans la littérature.
2.5 Conclusion
Le contexte des systèmes industriels introduit dans la Section 2.1 est un domaine en
pleine expansion. De fait, il devient de plus en plus vital de se prémunir contre les menaces
qui pèsent sur des systèmes de plus en plus complexes et de plus en plus sensibles. Notre
étude bibliographique montre que les APT sont une menace pour la sécurité des systèmes
industriels dans la Section 2.2. Leur caractéristiques et leur mode opératoire en font des
adversaires contre lesquels il est difficile de défendre un système. Malgré les efforts entre-
pris pour adapter la cyber-sécurité à cette nouvelle problématique, il semble que la phase
de reconnaissance et armement de la kill chain des APT ne soit pas complètement
comprise.
En effet, les techniques de sécurité ne cherchent pas à défendre contre cette phase
dans son intégralité. Des solutions partielles existent mais l’APT est considérée comme
une boîte noire dont on ne cherche pas à comprendre le fonctionnement ou la méthodo-
logie. Pour mieux comprendre comment les APT développent leurs plans d’actions, il est
pertinent d’étudier les travaux militaires qui théorisent déjà l’élaboration de stratégies
dans la Section 2.3. La méthodologie de l’Operational Design en particulier est adaptée
à cette problématique puisque des efforts ont déjà été entrepris pour l’adapter aux problé-
matiques cyber. Par exemple le langage Pimca permet de faire de l’Operational Design
dans ce contexte.
Toutefois, le langage Pimca connaît des limites. Il demande au concepteur, c’est-à-dire
le commandant opérationnel de l’APT, de tout faire "à la main". C’est pourquoi il est im-
portant d’enrichir Pimca en proposant un outillage autour du langage Pimca d’une
part et une extension dynamique d’autre part. Cet outillage doit par ailleurs répondre à
un ensemble d’exigences concernant les technologies d’ingénierie dirigée par les
modèles mises en lumière dans la Section 2.4.
Compte tenu de l’ensemble des problématiques soulevées par l’état de l’art, les travaux
de thèse s’attarderont précisément sur la modélisation de la phase de reconnaissance
et armement des APT en appliquant la méthodologie de l’Operational Design. La
suite de ce manuscrit tente de répondre à ces problématiques à travers nos contributions
dans le Chapitre 3.
Chapitre 3
Sommaire
3.1 Méthodologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.1.1 Méthodologie d’Operational Design . . . . . . . . . . . . . . . . . . . . 45
3.1.2 Méthodologie générale . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.1.3 Préoccupations techniques & Méthodologie détaillée . . . . . . . . . . 57
3.1.4 Bilan et positionnement de CyberOD . . . . . . . . . . . . . . . . . . . 61
3.2 Spécification de la mission . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.2.1 Besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.2.2 Fédération documentaire . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.2.3 Implémentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.3 Modélisation de systèmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3.3.1 Besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3.3.2 Syntaxe concrète du langage Pimca . . . . . . . . . . . . . . . . . . . 69
3.3.3 Extension Dynamique de Pimca . . . . . . . . . . . . . . . . . . . . . . 71
3.4 Modélisation d’objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.4.1 Besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.4.2 Propriétés de sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.4.3 Logique temporelle linéaire . . . . . . . . . . . . . . . . . . . . . . . . 77
3.5 Modélisation des obstacles . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
3.5.1 Besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
3.5.2 Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
3.5.3 Implémentation & Discussion . . . . . . . . . . . . . . . . . . . . . . . 81
3.6 Analyse formelle de la stratégie . . . . . . . . . . . . . . . . . . . . . . . . 83
3.6.1 Besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
3.6.2 Model Checking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
3.6.3 Scénario d’Attaque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
3.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
43
44 CHAPITRE 3. DÉFINITION D’UNE MÉTHODOLOGIE DE STRATÉGIE
Définition 3.0.1 (Mission). Le but à atteindre sur un système cible spécifique comprenant
un ou plusieurs objectifs et rencontrant possiblement plusieurs obstacles.
Ensuite, l’APT élabore sa stratégie d’attaque pour parvenir à ses objectifs sur le système
cible. Lorsqu’elle considère que sa stratégie est réalisable, elle peut passer à la mise-en-
œuvre de la mission. La mise en œuvre de la mission peut aboutir à l’atteinte des objectifs
ou à une remise en cause de la stratégie selon la découverte du système et des opportunités
découvertes ou estimées. Dans ce cas l’APT ré-établit sa stratégie pour prendre en compte
les changements constatés.
Dans le cadre de nos travaux, nous nous concentrons spécifiquement sur le processus
d’élaboration de la stratégie, autrement dit : "Comment l’APT établit-elle sa stratégie ?"
Dans un premier temps, la Section 3.1 détaille la méthodologie globale de notre ap-
proche. Ensuite, dans la Section 3.2 nous passons en revue l’outillage qui a été mis en
place pour prendre en charge le langage Pimca. Le framework que nous avons construit
permet la création et l’analyse de modèle Pimca. Nous abordons notamment l’extension dy-
namique du langage Pimca. Celle-ci a pour but de modéliser le comportement des éléments
du système au cours du temps d’une part du point de vue d’un comportement nominal du
système et d’autre part du point de vue de l’attaquant APT. Enfin la Section 3.3 précise le
point de vue de l’APT sur le système. Cette section explique comment l’APT est modélisée
3.1. MÉTHODOLOGIE 45
puis connectée au modèle de système Pimca. Elle détaille les interactions entre les deux
modèles ainsi que les différentes analyses qu’il est possible de mener.
3.1 Méthodologie
L’approche globale de nos travaux s’articule autour de la question suivante : "Comment
une menace persistante avancée procède-t-elle pour attaquer le système ?".
Pour répondre à cette question, nous adoptons le point de vue d’Operational Design.
Notre méthodologie consiste donc à modéliser le processus de conception dans lequel l’APT
construit son approche opérationnelle pour attaquer le système.
Dans cette section nous détaillons comment nous avons adapté la méthodologie d’Ope-
rational Design au contexte de la cyber-sécurité. Dans un soucis de clarification, nous pré-
sentons notre méthotologie en deux temps, une méthodologie générale qui se veut réutili-
sable dans différents contextes et une méthodologie détaillée qui s’appuie sur une chaine
d’outils utilisable par les APT.
a supposément exploité la venue d’un fournisseur de service externe aux centrales de raffi-
nement d’uranium pour accomplir sa mission. Il paraît donc nécessaire de pouvoir capturer
le comportement du système d’un point de vue dynamique pour exposer des faiblesses liées
à un comportement normal du système. Nous appelons cet aspect dynamique du système
le comportement nominal du système. Pour capturer le comportement nominal du
système, nous proposons une extension dynamique du langage Pimca. Les spécifications
du langage Pimca précisent que les machineries sont des composants actifs. Ce sont des
éléments pourvus de comportements et capables de modifier l’état du système. Cette ex-
tension attache aux machineries du modèle Pimca des comportements capturés dans un
formalisme de commandes gardées. Ce formalisme sera détaillé dans la Section 3.3.
La modélisation de l’environnement courant construit un modèle Pimca capturant la
structure et le comportement nominal de la cible. Ce faisant, le concepteur capture sa
compréhension du système ciblé avec le langage Pimca. Notre framework, qui sera détaillé
dans la Section 3.2, propose un aspect graphique à la conception de modèle Pimca. Ceci
permet de faciliter la communication entre le concepteur et d’autres experts de la cyber-
sécurité afin de perfectionner le modèle.
Pour modéliser les objectifs de la mission (à droite dans la Figure 3.2), c’est-à-dire
l’environnement opérationnel souhaité, notre méthodologie s’appuie sur la modélisation
système proposée lors de la modélisation de l’environnement opérationnel courant. Elle
capture l’état dans lequel le système doit être pour valider la mission. Dans ce cadre de
modélisation, l’APT cherche à décrire ou obtenir l’évolution temporelle du système qui va
conduire à cet état du système recherché. Cette évolution temporelle va capturer tous les
états du système, un ou plusieurs chemins dans un graphe d’états du système, qui vont
conduire à l’état attendu. L’expression des objectifs sur le système cherche donc à exprimer
3.1. MÉTHODOLOGIE 47
un avenir possible du système sur les états d’un ensemble ou sous-ensemble des entités du
système modélisé avec le langage Pimca. Ce processus revient à spécifier les objectifs de la
mission sous forme de propriétés de logique temporelle linéaire (LTL) à vérifier sur le mo-
dèle Pimca. À travers une modélisation adéquate du comportement nominal du système,
le concepteur identifie les différentes entités impliquées dans les objectifs de la mission.
Et ensuite, les objectifs conceptuels de la mission sont traduits en propriétés LTL en se
basant sur ces mêmes entités et variables d’état de ces entités, ceci en se reposant sur
les travaux de Abadi et Lamport [3]. Ces différents aspects du framework seront discu-
tés en Section 3.3. De même que précédemment, le concepteur capture sa compréhension
des objectifs de la mission vis-à-vis du système. Ces objectifs ainsi modélisés peuvent être
présentés et discutés avec d’autres experts de la cyber-sécurité afin d’améliorer ce modèle.
Mis à part le cas très spécifique où le système est déjà dans son état d’environnement
opérationnel désiré, le système ne vérifie pas les propriétés LTL spécifiées lors de la modé-
lisation des objectifs de la mission. Un ou plusieurs obstacles empêchent l’accomplissement
de la mission. Pour modéliser cet obstacle (en haut dans la Figure 3.2), le concepteur identi-
fie les machineries du modèle Pimca dont le comportement entrave la mission. Dans notre
framework, ce processus est guidé par le model-checking. Les propriétés LTL sont véri-
fiées par nos outils, qui seront détaillés en Section 3.3. Si une propriété est violée, notre
framework retourne un contre-exemple de scénario d’évolution du système pouvant aider
le concepteur à identifier les éléments du système qui posent problème de manière systé-
matique. En se basant sur les connaissances, les ressources auxquelles l’APT a accès, les
capacités de l’APT et l’expérience, le concepteur identifie alors des opportunités d’interac-
tion avec des éléments problématiques qui peuvent lui permettre d’accomplir ses objectifs.
Les trois processus d’Operational Design sont itératifs et ils influent les uns sur les
autres pour parvenir à une approche opérationnelle. Ce faisant, notre méthodologie s’ap-
puie sur trois mécanismes qui apparaissent au centre de la Figure 3.2 :
1. La satisfaction d’objectifs représente l’étape de vérification formelle des objectifs dans
le modèle de système courant grâce au model-checking. Ce mécanisme est automa-
tisé dans notre framework. Si les objectifs ne sont pas satisfaits, notre outil produit
un contre-exemple qui correspond à un scénario dans lequel le système résiste à l’at-
taque. Ce contre-exemple permet de guider le concepteur dans l’identification de l’obs-
tacle. Si les objectifs sont satisfaits, le concepteur peut passer à l’étape de concrétisa-
tion du plan.
2. L’élaboration d’influence consiste à raffiner le modèle du système de l’environnement
pour prendre en compte les différentes opportunités imaginées par le concepteur. Ces
opportunités induisent des comportements différents pour les machineries du mo-
dèle Pimca ciblé par l’APT. Il est donc nécessaire d’altérer le modèle en conséquence.
Cette altération utilise le formalisme de comportement que nous spécifions pour le
modèle Pimca. Le concepteur peut ajouter, supprimer ou modifier des comportements
de machineries dans ce même formalisme pour créer un nouveau modèle Pimca cor-
respondant au système ciblé enrichi des opportunités d’interaction imaginées par le
concepteur.
3. La concrétisation du plan est le mécanisme qui finalise l’approche opérationnelle. Une
fois que les objectifs sont réalisables à partir de l’environnement courant, le concep-
teur analyse les différentes interactions mises en jeu pour satisfaire les objectifs. Ces
interactions concrètes sont alors organisées en une stratégie, un plan d’action global
qui constitue l’approche opérationnelle de l’APT.
La méthodologie que nous adoptons est directement adaptée de l’Operational Design
pour le domaine de la cyber-sécurité. Les problématiques que nous traitons sont donc très
48 CHAPITRE 3. DÉFINITION D’UNE MÉTHODOLOGIE DE STRATÉGIE
vastes. Bien que la thèse s’oriente tout particulièrement sur les menaces persistantes avan-
cées, il nous semble judicieux de proposer deux aspects à notre méthodologie : une métho-
dologie générale et une méthodologie détaillée. La méthodologie générale présente le pro-
cessus global indépendamment de la menace que nous souhaitons modéliser. Cela permet
notamment sa réutilisation dans des contextes différents, avec d’autres types de menaces.
La méthodologie détaillée, quant à elle, met en application notre méthodologie spécifique-
ment dans le contexte des APT. Elle s’appuie sur une chaîne d’outillage concrète et permet
d’exécuter entièrement l’approche dans le cadre spécifique des menaces que nous avons
traitées dans le Chapitre 4.
Enfin on peut voir sur la Figure 3.3 un dernier processus d’analyse à l’issue duquel
l’APT formule sa stratégie. L’objectif de l’analyse de nos modèles est de formuler une stra-
tégie opérationnelle pour que l’APT parvienne à ses fins. Si l’analyse montre que la mission
ne peut être accomplie dans les conditions proposées par les modèles, il est nécessaire de
réitérer le processus de modélisation des obstacles. Ce faisant, les trois processus subissent
une nouvelle itération. Nous détaillons dans la suite de cette partie les sous-processus in-
ternes à chacun de ces processus.
Les objectifs des missions d’APT relèvent généralement de l’ex-filtration de données sen-
sibles ou de modification, ou destruction, de données vitales au système. De plus, les APT
se démarquent par leur mode opératoire furtif. Les missions d’APT sont des opérations qui
usent de discrétion afin de parvenir aux objectifs.
Les besoins de la mission peuvent être exprimés de manière abstraite et partielles, tant
que les informations permettent de déduire les détails nécessaires à la méthodologie de
l’Operational Design. Cette étape du processus a lieu dans la première tâche présentée
dans la Figure 3.3. Elle comprend une identification des différents besoins de la mission.
Pour ce faire, le concepteur doit agréger un ensemble d’informations issues de sources va-
riées, comme des documents de spécifications du système, ou de description sous différents
points de vue, ou même des documents de type publicitaires. Il s’agit de traduire les inten-
tions données à la mission et les connaissances sur le système cible en termes de concepts
d’Operational Design. Comme présentés dans la Figure 3.2, il est crucial de pouvoir iden-
tifier clairement le système ciblé et les objectifs pour engager les trois processus suivants.
La spécification de la mission définit l’ensemble des concepts et des spécificités du sys-
tème cible qui seront manipulés au cours de l’analyse. C’est pourquoi il est primordial de
capturer précisément les différents éléments nécessaires au développement de la stratégie
de la mission.
Ces éléments peuvent être classifiés selon cinq concepts inspirés de la méthodologie
de l’Operational Design [12, 26, 41, 102, 105, 101] : l’environnement, les éléments consti-
tuants, les objectifs, les obstacles et les solutions.
Les données sur lesquelles se basent la méthodologie sont de plusieurs types différents
et des relations complexes relient ces différentes données. Par exemple, un objectif peut
faire référence à différents éléments du système cible. De même, un obstacle posé par un
élément du système peut avoir plusieurs solutions techniques différentes.
Il est donc nécessaire de construire un modèle de données qui permet d’établir ces re-
lations diverses. Notre méthodologie impose d’utiliser un modèle de données adapté au
domaine et donc sémantiquement riche. De plus, il est également crucial d’optimiser les
concepts manipulés afin de faciliter les processus de modélisation à venir dans la métho-
dologie.
Une ontologie [23, 28, 7] nous permet de représenter ces besoins. L’ontologie est un mo-
dèle de connaissances dédié à un domaine particulier. Elle permet donc de gérer des liens
sémantiques riches entre les différents concepts du domaine. De plus, elle est conçue pour
être extensible ce qui permet d’ajuster précisément le niveau d’abstraction des données
modélisées à un ensemble nécessaire et suffisant.
Les relations entre les concepts sont stockées dans une ontologie sous la forme de triples
sémantiques. Un triple est constitué de trois éléments : sujet, prédicat et objet. Il repré-
sente une assertion dans le modèle de données, de sorte que le sujet exerce le prédicat
sur l’objet. Par exemple l’assertion "Alice connaît Bob" se décompose en triple avec comme
sujet "Alice", comme prédicat "connaît" et comme objet "Bob". La Figure 3.4 représente la
structure d’un triple dans une ontologie. Le sujet et l’objet sont des instances de concepts
dans l’ontologie alors que le prédicat est une relation entre ces deux instances. L’ontologie
est un ensemble de concepts, d’instances de ces concepts et de triples représentant leurs
relations.
3.1. MÉTHODOLOGIE 51
l’intervention de la menace persistante avancée sur le système ciblé. Ce processus fait par-
tie de la boucle de développement itératif de notre méthodologie. L’objectif de ce processus
est de formuler différentes opportunités d’interactions de l’attaquant sur le système afin
de suffisamment altérer le comportement du système et de parvenir à l’accomplissement
de sa mission.
Lors de ce processus, le concepteur doit identifier les éléments qui l’empêchent d’orien-
ter le système vers les objectifs. Ceux-ci sont identifiés à partir de la spécification de la
mission et doivent se retrouver dans le modèle de système créé lors de l’étape de modéli-
sation de l’environnement opérationnel courant. Cette étape est cruciale car elle identifie
les éléments du système avec lesquels l’APT souhaite interagir pour parvenir à ses fins.
Il faut donc identifier suffisamment d’éléments pour que les objectifs de l’attaque soient
réalisables.
Une fois ces éléments identifiés, le concepteur doit imaginer des opportunités d’attaque
contre ces éléments en s’appuyant sur la réalité. Par exemple, si un élément problématique
est un employé dans l’entreprise du système ciblé, les vecteurs d’attaque de l’ingénierie
sociale comme le spear phishing peuvent être envisagés. S’il s’agit d’un élément utilisant
un système d’exploitation, les différentes failles de ce système peuvent être exploitées.
La Figure 3.8 présente le processus de modélisation des obstacles. À partir de la spéci-
fication de la mission et du modèle de système créé auparavant, le concepteur tente d’iden-
tifier les éléments problématiques. Si le concepteur envisage des obstacles qui ne sont pas
modélisés dans le système, alors il est nécessaire de raffiner le modèle pour les prendre
en compte. Si le modèle comporte ces éléments, alors il est possible d’envisager des oppor-
tunités d’attaques contre ces éléments. Ces possibilités amènent des modifications dans
la structure ou dans le comportement du système qu’il faut donc modéliser en raffinant le
modèle d’environnement opérationnel courant. Lorsque le concepteur est satisfait des diffé-
rentes possibilités d’attaque qu’il a modélisées, il est possible de passer à l’étape d’analyse.
Notre approche propose une méthodologie d’analyse en trois étapes représentées dans
la Figure 3.2 :
— satisfaction d’objectifs,
— élaboration d’influence,
— concrétisation du plan.
3.1. MÉTHODOLOGIE 55
Ces étapes capturent la réflexion de l’APT sur le système cible. Elles utilisent les mo-
délisations de l’environnement opérationnel courant, l’environnement opérationnel désiré
et des obstacles afin de proposer une stratégie remplissant les objectifs de la mission.
La stratégie, ou approche opérationnelle, est une séquence ordonnée d’opérations dites
"atomiques", c’est-à-dire que le concepteur estime que ces actions sont directement réali-
sables dans l’environnement sans requérir de réflexion supplémentaire.
Satisfaction d’objectifs
L’étape de test de satisfaction d’objectifs fait partie de la boucle de développement ité-
ratif de notre méthodologie. Lors de cette étape, le concepteur vérifie si l’environnement
opérationnel souhaité est atteignable à partir de l’environnement opérationnel courant.
En d’autres termes, l’APT vérifie si elle peut orienter le comportement du système pour
vérifier les propriétés désirées. Si c’est le cas, le concepteur peut passer à la concrétisation
du plan et construire son approche opérationnelle finale. Dans le cas contraire, le concep-
teur doit modéliser les obstacles posés par le système.
Élaboration d’influence
Une fois les opportunités identifiées dans le processus de modélisation des obstacles,
le concepteur doit les inclure dans l’environnement opérationnel courant. Autrement dit,
le concepteur doit modifier la structure et/ou le comportement du système afin de prendre
en compte ces opportunités. Il s’agit de la dernière étape de la boucle de développement
itératif de notre méthodologie.
Une fois ces nouvelles opportunités ajoutées au modèle, le concepteur peut de nouveau
tester si le modèle d’environnement opérationnel désiré est atteignable à partir du modèle
d’environnement opérationnel courant et des opportunités de l’attaquant.
Concrétisation du plan
Si l’environnement opérationnel désiré est atteignable à partir de l’environnement opé-
rationnel courant et des opportunités, le concepteur détermine le scénario le plus favorable
pour parvenir aux objectifs de la mission. Ceci peut être fait selon différents critères comme
par exemple le scénario qui fait intervenir le minimum d’opportunités de la menace per-
sistante avancée ou le scénario qui minimise le risque en fonction d’une mesure de risque
allouée à chaque opportunité.
Enfin, dans le cas où le scénario d’attaque fait intervenir une opportunité abstraite sur
un composant dont la nature est incertaine, il est nécessaire de vérifier que l’opportunité
est bien réalisable par de nouvelles opérations de reconnaissance préalables.
La Figure 3.9 présente le point de vue de processus-métier sur l’analyse. En exécutant le
modèle, le concepteur détermine si la mission peut être accomplie. Si c’est le cas, le chemin
d’attaque est identifié puis analysé afin de savoir si le chemin est concrètement réalisable.
Dans la Figure 3.9 cette étape correspond au questionnement "Le chemin d’attaque est-il
actionnable ?" Dans le cas contraire, les traces d’exécution permettent d’orienter le concep-
teur vers les problèmes à résoudre pour accomplir la mission. Ceci permet de ré-engager
un processus de modélisation des obstacles.
Une fois le scénario d’attaque sélectionné et le plan concrétisé, le concepteur peut for-
muler la stratégie en des termes concrets et indépendants de la modélisation utilisée dans
la méthodologie. Il formule son approche opérationnelle en un plan actionnable pour mener
à bien sa mission.
La méthodologie que nous proposons a été formellement vérifiée au moyen de l’outil
Pragmadev Process [11] utilisé pour modéliser les différents diagrammes BPMN. La véri-
56 CHAPITRE 3. DÉFINITION D’UNE MÉTHODOLOGIE DE STRATÉGIE
fication montre notamment l’enchaînement des différentes tâches qui mènent à la complé-
tion du processus global. Le diagramme de séquences de l’Annexe B montre un exemple
de l’utilisation de notre méthodologie dans le cas d’étude que nous proposons dans le Cha-
pitre 4.
L’exploration des différentes séquences de tâches possibles met en évidence un aspect
crucial à prendre en compte lors de l’application de notre méthodologie sur un cas concret :
les trois processus que sont la modélisation de l’environnement opérationnel courant, la
modélisation de l’environnement opérationnel désiré et la modélisation des obstacles re-
posent sur la manipulation et la modification d’un modèle de système qui évolue par itéra-
tions successives. Ceci introduit une problématique technique de synchronisation du mo-
dèle de système entre les trois processus avant de conduire les analyses. En effet, les ob-
jectifs exprimés dans l’environnement opérationnel désiré doivent être en adéquation avec
le modèle de système courant proposé et les obstacles rencontrés.
En résumé, notre méthodologie globale permet à l’APT de concevoir une stratégie à
partir d’une mission définie. Cette stratégie est formulée en termes de plan actionnable, ce
qui permet à l’APT de mettre à exécution sa mission conformément à la Figure 3.1.
Pour ce faire, nous proposons une méthodologie itérative basée sur trois processus pa-
rallèles conformément à la méthodologie d’origine d’Operational Design. La méthodologie
repose essentiellement sur une démarche itérative sur les différents processus qui inter-
agissent par feedback mutuel.
Cette méthodologie générale peut être suivie de différentes manières en fonction de
la mission à modéliser et des outils disponibles. Toutefois, nous pouvons affirmer que la
méthodologie doit respecter les problématiques techniques suivantes :
— Spécifier la mission en termes d’environnement opérationnel, d’objectifs et d’obstacles
rencontrés.
— Modéliser le système d’un point de vue structurel et comportemental.
— Modéliser les objectifs dans un formalisme compatible avec le modèle de système.
3.1. MÉTHODOLOGIE 57
Définition 3.1.6 (Concept inféré). Un concept inféré est la représentation abstraite d’un
objet ou d’une classe d’objets issue de l’agrégation et de l’organisation de ressources docu-
mentaires ou de modèles existants à des fins de modélisation.
[Link] Analyse
Les analyses de la méthodologie abstraite présentées en Figure 3.9 se basent sur l’exé-
cution conjointe des modèles de système, d’objectifs et de obstacles. Dans la pratique, en
Operational Design, ce processus est conduit "à la main" par le concepteur. Il est donc sujet
à une grande variabilité. Dans notre méthodologie, grâce aux modélisations du système,
des objectifs et des obstacles, les différentes étapes de ce processus peuvent être partielle-
ment automatisées pour aider le concepteur dans sa tâche et prodiguer un socle commun
d’analyse.
Concrètement, dans le cas d’une modélisation de système avec DyPimca et de modé-
lisation d’objectifs à travers la LTL, le concepteur peut utiliser des outils de vérification
formelle comme OBP2 pour vérifier automatiquement si le système peut atteindre son état
désiré.
Grâce à la vérification de modèles, le concepteur peut être guidé par des scénarios de
fonctionnement qui servent de contre-exemple à l’accomplissement de la mission pour ana-
lyser les obstacles posés par le système.
3.1. MÉTHODOLOGIE 61
Pour ce faire, les scénarios contre-exemples produits par l’étape de satisfaction d’objec-
tifs peuvent aider le concepteur à analyser le comportement du système et à identifier les
éléments problématiques. Nous développons ces aspects dans la Section 3.6.
[Link] Exigences
La méthodologie requiert d’employer une approche de fédération pour plusieurs raisons.
L’ensemble de la méthodologie est établi dans un environnement hétérogène compre-
nant plusieurs phases de développement et impliquant des artefacts technologiques de dif-
férentes natures. Gérer l’interopérabilité de l’ensemble des solutions technologiques choi-
sies pour chaque processus demande d’adopter une approche flexible. Il est donc inconce-
vable d’employer une approche rigide d’intégration, qui demanderait de définir un langage
global rassemblant l’ensemble des concepts à la fois inférés et opérationnels. L’hétéro-
généité de ces concepts empêche la définition d’un tel langage. Une approche d’unification
pourrait résoudre ces problèmes à l’aide de la définition d’un langage-pivot rassemblant les
concepts communs aux différents paradigmes de spécification, de modélisation et d’analyse.
Toutefois, la méthodologie que nous proposons peut s’outiller de manière flexible selon
les besoins du concepteur et de la mission à accomplir. Ceci introduit un besoin de capi-
talisation sur les outils implémentés dans des instances antérieures de la méthodologie.
En effet, l’APT peut avoir besoin d’utiliser une partie des solutions techniques mises en
place dans le cadre d’une autre mission en la combinant avec des solutions technologiques
nouvelles. De fait, l’approche d’unification n’est plus adaptée. La définition du langage-
pivot fixe les concepts communs une fois pour toutes, ce qui empêche la réutilisabilité et la
capitalisation des acquis de l’approche.
C’est pourquoi il est nécessaire d’adopter une approche de fédération pour gérer l’inter-
opérabilité de la méthodologie.
3.2.1 Besoins
La spécification de la mission est basée sur un ordre de mission explicité par la hié-
rarchie. À partir de cet ordre de mission, le concepteur identifie puis exprime les aspects
métiers de la mission au moyen de ressources documentaires. Ces ressources sont diverses
et hétérogènes. Par exemple, le concepteur peut étudier des documents de spécification du
système pour spécifier la configuration de l’environnement de la mission ou des bases de
vulnérabilités pour spécifier des opportunités d’attaques au cours de la mission.
Ceci introduit un besoin qu’on appelle, en ingénierie des connaissances, l’élicitation.
Définition 3.2.1 (Élicitation). L’action d’aider un expert à formaliser ses connaissances
pour permettre de les sauvegarder ou de les partager [1].
Dans notre contexte, l’élicitation décrit, d’une part, le besoin du concepteur d’explici-
ter l’ensemble des éléments nécessaires à la conduite de l’approche à partir de l’ordre de
mission donné. Ces éléments englobent les différents aspects métiers qui seront utilisés
dans les étapes de modélisation et d’analyses. D’autre part, l’élicitation décrit le besoin
du concepteur d’organiser ces différents aspects métiers de manière formelle, afin de per-
mettre de sauvegarder et de partager un ensemble cohérent de connaissances.
L’ensemble des aspects métiers nécessaires au bon déroulement de l’approche peut va-
rier en fonction de la mission en question. Toutefois, nous avons explicité dans la Sec-
tion 3.1.3 les concepts minimums indépendamment de la mission, à savoir : l’environne-
ment, les éléments constituants, les objectifs, les obstacles et les solutions. À l’issue de la
phase de spécification, le concepteur doit au minimum établir ces concepts inférés avant de
pouvoir poursuivre.
Les choix de conception de l’approche globale sont directement influencés par les res-
sources documentaires consultées et les concepts inférés par le concepteur. C’est pourquoi
il est nécessaire de conserver une trace de ces choix justifiés par des références aux res-
sources. La spécification de la mission introduit donc la problématique technique de la
traçabilité.
Définition 3.2.2 (Traçabilité). La capacité à suivre un produit tout au long de la chaîne,
de l’approvisionnement en matière premières à la mise au rebut [49, 55].
Dans le contexte de notre approche, la traçabilité désigne plus spécifiquement la ca-
pacité à suivre l’évolution des concepts au cours des différentes phases de l’approche. En
particulier, il est nécessaire de pouvoir retracer l’origine d’un concept opérationnel par
rapport au concept métier correspondant. De même, il est crucial de pouvoir retrouver la
source documentaire justifiant les choix de conceptions tout au long de l’approche.
La spécification de la mission est la première étape de notre méthodologie. À ce titre,
elle prédétermine l’ensemble des résultats de l’approche. Il est donc nécessaire de faire
preuve d’une rigueur particulière lors de cette phase. Cette rigueur se traduit en deux
besoins que nous venons d’expliciter : l’élicitation et la traçabilité.
3.2. SPÉCIFICATION DE LA MISSION 65
— L’environnement décrit le cadre des opérations qui seront conduites dans le cadre
de la mission. Il peut faire référence à des instances d’éléments contenus à travers la
relation "contient".
— Les éléments constituants de l’environnement sont des composants que le concep-
teur juge importants de spécifier.
— Les objectifs décrivent le but de la mission, ils font référence à l’environnement
dans son ensemble et/ou à des éléments spécifiques de l’environnement. Ils peuvent
faire référence à des instances d’environnement ou d’élément à travers la relation
"concerne".
— Les obstacles décrivent les éléments pouvant nuire à la réalisation d’un ou plusieurs
objectifs. Ils font référence aux objectifs qu’ils concernent à travers la relation "em-
pêche" et aux éléments ou environnement où ils trouvent leur origine à travers la
relation "a pour origine". Enfin ils peuvent faire référence à des instances de solu-
tions dédiées à résoudre le problème à travers la relation "a pour solution".
— Les solutions sont des actions envisagées par le concepteur pour résoudre les pro-
blèmes identifiés. Elles agissent sur des éléments ou l’environnement à travers la
relation "agit sur".
3.2.3 Implémentation
Concrètement nous avons implémenté la fédération documentaire dans le cadre de l’en-
vironnement de fédération OpenFlexo [35]. En effet, celui-ci propose un outillage permet-
tant la fédération documentaire [38].
Cette approche permet la spécification de la mission, c’est-à-dire la description rigou-
reuse et formelle de la mission à partir d’artefacts divers et informels issus de la documen-
tation et d’opérations de reconnaissance préalables. Ce faisant, l’outil OpenFlexo permet
de maintenir les liens entre les documents d’origine et la spécification dans le temps et à
travers différentes itérations des documents d’origine et de la spécification.
Après la phase de spécification de la mission, il est désormais possible de commencer
la phase de modélisation. Cette phase se décompose en trois processus (modélisation du
système, des objectifs et des obstacles) que nous aborderons dans cet ordre dans la suite de
ce chapitre.
68 CHAPITRE 3. DÉFINITION D’UNE MÉTHODOLOGIE DE STRATÉGIE
3.3.1 Besoins
Le langage Pimca modélise les systèmes pour permettre différentes analyses de sécurité
comme l’analyse de surface d’attaque ou le développement de modèles d’attaquant. Ceci
implique de faire intervenir d’autres types de modèles dans le cadre de ces analyses selon le
principe de l’ingénierie dirigée par les modèles. C’est pourquoi il est nécessaire de proposer
un framework adapté à l’interopérabilité de modèles Pimca avec des modèles d’analyses
de sécurité. Le framework que nous avons développé autour du langage Pimca gère ce
problème d’interopérabilité à travers une technique de fédération de modèles offerte par
l’environnement Openflexo.
Le langage Pimca possède d’ores et déjà une syntaxe abstraite définie par la DGA [92].
La Figure 3.13 rappelle sous la forme d’un diagramme de classe le méta-modèle du langage
Pimca, c’est-à-dire le modèle qui décrit les règles de construction du langage tel qu’il est
3.3. MODÉLISATION DE SYSTÈMES 69
manipulé par la machine. La sémantique du langage est également déjà définie par la
DGA au plus proche du domaine métier de la modélisation de systèmes pour les analyses
de sécurité.
Afin de concrétiser notre approche, il est néanmoins nécessaire d’ajouter une syntaxe
concrète au langage Pimca. Cette syntaxe doit également être compatible avec l’ensemble
de notre outillage.
De plus, comme l’a souligné le Chapitre 2.4, l’approche d’Operational Design nécessite
de modéliser l’évolution du système au cours du temps et des manœuvres de l’attaquant.
Cet aspect n’est pas pris en compte dans le langage Pimca à l’heure actuelle, il est donc
nécessaire de l’enrichir avec un aspect dynamique.
Pour les besoins de notre approche, nous employons le langage Pimca pour la modé-
lisation de systèmes. Ce langage est d’ores et déjà adapté à plusieurs exigences de notre
approche comme le montre l’état de l’art. Toutefois, il reste à combler deux besoins afin
d’utiliser le langage Pimca : formuler une syntaxe concrète du langage adaptée à notre
outillage et étendre le langage Pimca par un aspect dynamique.
De même que pour la syntaxe concrète graphique, nous définissons une syntaxe concrète
en arborescence en utilisant le format de fichier xml. Ce format est également supporté par
OpenFlexo à travers un adaptateur textuel.
La Figure 3.15 montre l’interface graphique du framework Pimca que nous avons mis
en place avec la technologie OpenFlexo :
70 CHAPITRE 3. DÉFINITION D’UNE MÉTHODOLOGIE DE STRATÉGIE
GC_name :
urgent ?
( channel ( ? | ! ) ) ?
[ guard] ? /
( command ; ) ∗
La notion d’urgence est ajoutée à certaines commandes gardées pour imposer un ordre
d’exécution lorsque différentes commandes peuvent être exécutées. Intuitivement, si une
commande gardée urgente dans A peut être exécutée, alors aucune commande gardée non-
urgente ne peut être exécutée lors de ce pas. Si plusieurs commandes gardées urgentes
peuvent être exécutées, n’importe laquelle d’entre elles peut être exécutée. On introduit
donc le terme hasU rgentA : valV → B pour dénoter une valuation ρ de l’ensemble des
variables valV pour laquelle il existe au moins une commande gardée urgente déclenchable,
c’est-à-dire que sa garde est vraie pour la valuation ρ. Formellement :
3.3. MODÉLISATION DE SYSTÈMES 73
[Link] Implémentation
Pour ce qui est de l’implémentation du langage DyPimca, nous avons expérimenté avec
plusieurs syntaxes concrètes à travers notre framework :
— Une syntaxe textuelle est utilisée pour illustrer les concepts dans ce manuscrit. Elle
n’est pas directement exécutable, ce qui ne remplit pas les exigences de nos travaux.
3.3. MODÉLISATION DE SYSTÈMES 75
— Une syntaxe en automate UPPAAL a été utilisée à des fins d’expériences prélimi-
naires pour démontrer la faisabilité de notre approche (le cas d’étude traité dans le
Chapitre 4 en utilisant cette syntaxe est disponible en Annexe A). Elle est directe-
ment exécutable dans UPPAAL.
— Une syntaxe concrète en Java exécutable est utilisée dans le cadre de la validation de
notre [Link] syntaxe est celle que nous choisissons pour remplir l’exigence
de l’exécutabilité du modèle. Une fois branchée avec le model-checker OBP2, elle per-
met de diagnostiquer un système et à terme de produire une approche opérationnelle
d’APT sur le système.
Par la suite, nous utilisons la syntaxe concrète en Java dans nos analyses formelles. Le
langage DyPimca nous permet de capturer le comportement du système. Conjointement
avec Pimca, ces deux langages nous permettent de simuler des scénarios d’exécution nomi-
nale du système.
Le processus de modélisation de systèmes produit un modèle d’environnement opéra-
tionnel courant sur lequel peut ensuite s’appuyer le développement des modèles d’objectifs
et d’obstacles. Comme souligné dans la Section 3.1, la phase de modélisation est un en-
semble de processus qui s’alimentent mutuellement. Aussi il n’est pas à exclure que le
concepteur doive faire évoluer le modèle de systèmes avec des besoins identifiés dans les
autres processus de modélisation. L’approche par fédération permet d’assurer la synchro-
nisation du modèle de système avec les autres modèles utilisés.
76 CHAPITRE 3. DÉFINITION D’UNE MÉTHODOLOGIE DE STRATÉGIE
3.4.1 Besoins
L’environnement opérationnel souhaité peut se modéliser en termes d’objectifs à at-
teindre pour remplir la mission. Les objectifs inférés lors de la phase de spécification
pointent vers des éléments inférés ou l’environnement inféré tout entier. L’APT doit mo-
déliser les objectifs opérationnels en lien direct avec ces concepts inférés. Ceci requiert de
maintenir les liens avec le modèle de données tout au long de la démarche.
Ce faisant, il est nécessaire de formuler un modèle d’objectifs compatible avec le mo-
dèle de système. En effet, le modèle de système est le point d’appui pour l’ensemble de la
réflexion du concepteur. Il faut donc que le modèle capture les objectifs de la mission en
faisant référence aux éléments modélisés dans le système.
Enfin, puisque le concepteur cherche à obtenir une stratégie opérationnelle concrète à
l’issue de la phase d’analyse de l’approche, il est nécessaire d’employer un formalisme d’ob-
jectifs adéquat. Pour parvenir à produire automatiquement une stratégie opérationnelle,
nous avons choisi les outils d’analyse formelle dans la mesure où nous sommes capables de
gérer l’explosion combinatoire, l’obstacle principal à l’application des méthodes formelles
à l’industrie. Nous détaillons cet aspect de la contribution dans la Section 3.6. C’est pour-
quoi le modèle d’objectifs doit suivre un formalisme qui se prête aux analyses formelles,
c’est-à-dire une modélisation formelle.
Dans l’ensemble, le modèle d’objectifs doit répondre à trois besoins : la compatibilité
avec le modèle de système, la synchronisation avec le modèle de données et le
besoin de modélisation formelle pour les besoins de la phase d’analyse.
Du point de vue du système cible, les objectifs de l’APT représentent des événements
redoutés pour le système définis dans la méthodologie EBIOS (Expression des Besoins et
Identification des Objectifs de Sécurité) [29]. Aussi, il est possible de traduire ces objectifs
en propriétés de sécurité [45]. Chaque propriété représente un objectif pour l’attaquant
et un événement redouté pour le système cible. Le Tableau 3.3 présente les deux points
de vue opposés des propriétés de sécurité. Ainsi, dans la phase d’analyse, déterminer si le
système peut vérifier ces propriétés avec les actions de l’attaquant permet de diagnostiquer
si l’attaque permet d’atteindre les objectifs de la mission ou non.
Pour écrire les propriétés de sécurité correspondant aux objectifs de la mission, le
concepteur utilise les objectifs inférés au préalable dans la phase de spécification. Les élé-
ments inférés du système concerné par les objectifs inférés sont reliés par fédération aux
éléments opérationnels du modèle de système. Ceux-ci capturent des états ou des com-
portements désirés par l’attaquant sous la forme de variables. Les propriétés de sécurité
peuvent donc s’écrire comme des assertions logiques sur ces variables. La vérification d’une
propriété de sécurité assure que le système ne permet pas à l’APT d’atteindre son objectif
dans l’état actuel. Cela signifie que le système est résistant à l’attaque de l’APT. L’échec de
la vérification d’une propriété de sécurité montre qu’il existe un chemin d’attaque permet-
tant à l’APT d’atteindre son objectif. Cela montre que le système peut être attaqué avec les
possibilités que l’attaquant se donne.
Ainsi, la modélisation d’objectifs consiste à formuler les objectifs opérationnels de la
mission en fonction des objectifs inférés au préalable et de l’environnement opérationnel.
Ce faisant, la fédération de modèles permet de garder un lien ténu entre les objectifs
inférés et opérationnels d’une part et entre l’environnement et les objectifs opéra-
tionnels d’autre part.
machineState = down
78 CHAPITRE 3. DÉFINITION D’UNE MÉTHODOLOGIE DE STRATÉGIE
reachedResource
Ces variables sont soumises à des prédicats pour capturer les propriétés voulues sur le
système. Par exemple si l’objectif est de faire déborder un réservoir la variable qui capture
le niveau de ce réservoir doit dépasser le niveau accepté par le réservoir, ce qui peut s’écrire
en prédicat LTL de la manière suivante :
À l’aide de ces prédicats, le concepteur peut écrire les propriétés de sécurité corres-
pondant aux objectifs de la mission en utilisant la logique temporelle linéaire. En LTL,
l’opérateur temporel "" (parfois noté "G" pour globalement) signifie "toujours". On peut
donc écrire " !(prédicat)" pour la propriété de sécurité signifiant "Jamais (prédicat)". En
effet, comme expliqué dans le Tableau 3.3, les propriétés de sécurité sont des assertions
qui montrent que le système est robuste vis-à-vis d’un état à éviter pour le système. Du
point de vue de l’attaquant, c’est précisément cet état que la mission cherche à atteindre.
Aussi l’objectif de la mission consiste à violer la propriété de sécurité, c’est-à-dire à trouver
un chemin d’attaque qui permet de mettre le système dans son état redouté. Un exemple
de chemin d’attaque est détaillé dans le Chapitre 4.1.4.
Si le modèle de système ne capture pas de variables correspondant aux objectifs, il faut
raffiner le système pour inclure ces variables. Par exemple, dans le cas du réservoir, il faut
implémenter un comportement interne au réservoir qui fait varier le niveau d’eau. Ceci
met en évidence une insuffisance dans la compréhension du système ciblé compte tenu des
objectifs de l’environnement opérationnel souhaité. Ce problème demande donc de raffiner
la compréhension de l’environnement opérationnel courant par l’APT.
La Figure 3.17 montre comment la fédération de modèles permet de relier les objectifs
inférés et opérationnels. L’objectif inféré issu du modèle de données (en jaune) est l’instance
de concept informel pointé par l’artefact de fédération "Objectif fédéré" (en bleu). L’artefact
de fédération pointe deux instances d’éléments de modèles opérationnels, l’objectif opéra-
tionnel et le système opérationnel (en vert). En effet, l’objectif inféré indique quels éléments
du système cible sont concernés par l’objectif en question. Ces éléments du système sont
modélisés dans le système opérationnel comme des unités d’exécution. C’est à partir de va-
riables issues de ces unités d’exécution que le concepteur va pouvoir formuler l’objectif sous
forme opérationnelle, c’est-à-dire en termes de propriété de logique temporelle linéaire. Sur
le schéma, cette propriété est représentée sous la forme d’un arbre syntaxique comprenant
des opérateurs logiques temporels et des références vers les variables issues du système
opérationnel.
La modélisation des objectifs a pour but de capturer les objectifs opérationnels de la
mission à partir des objectifs inférés lors de la phase de spécification. Pour cela, nous
employons le formalisme LTL pour formuler les objectifs en termes de propriétés sur les
variables des éléments du modèle de système. Ce formalisme permet d’assurer l’auto-
matisation de la phase d’analyse. L’ensemble des objectifs opérationnels sont liés aux
autres modèles à travers notre environnement de fédération explicité dans la Sec-
tion 3.2. Ainsi l’approche peut subir plusieurs itérations successives jusqu’à obtenir des
résultats satisfaisants tout en maintenant les liens entre les différents concepts inférés et
opérationnels.
3.4. MODÉLISATION D’OBJECTIFS 79
On note que ces propriétés n’ont pas nécessairement à être vérifiées dans l’environne-
ment opérationnel courant. En effet, elles représentent les objectifs de la menace persis-
tante avancée sur le système. Il est donc attendu que ces objectifs entrent en conflit avec
le comportement nominal du système. L’attaquant va devoir développer les moyens de par-
venir à ses objectifs en identifiant les obstacles posés par le système au préalable dans le
processus suivant, la modélisation des obstacles.
80 CHAPITRE 3. DÉFINITION D’UNE MÉTHODOLOGIE DE STRATÉGIE
Une fois le système cible et les objectifs de la mission modélisés d’un point de vue opé-
rationnel, l’APT modélise les obstacles qui l’empêcheront de réaliser sa mission. En effet,
la stratégie d’attaque de l’APT consiste à passer outre ces différents obstacles au moyen
d’opportunités que le concepteur envisage. Lors de cette étape, l’APT identifie les obstacles
au sein du système et formule un certain nombre d’opportunités qui lui permettraient de
parvenir à ses objectifs. Ainsi lors de la phase d’analyse, l’APT pourra formuler une ap-
proche opérationnelle pour remplir la mission sous la forme d’un ensemble d’opportunités
à exploiter.
3.5.1 Besoins
Modéliser les obstacles du système cible et formuler des opportunités pour contourner
ces obstacles est un des processus de la démarche d’Operational Design. En effet, ce sont
ces opportunités qui constituent les briques élémentaires de la stratégie d’attaque de l’APT.
Toutefois, il est important de noter le fossé qui existe entre la stratégie initiale et la
réalité du terrain. Les opportunités envisagées par le concepteur sont certes appuyées par
la phase de spécification mais elles ne reflètent que la compréhension que le concepteur
a du système cible. Aussi, il est probable que certaines opportunités ne soient pas réali-
sables sur le terrain. C’est pourquoi il est nécessaire de pouvoir raffiner la modélisation
d’obstacles en continu pour pouvoir prendre en compte la réalité du terrain. Ceci met en
lumière un besoin d’exprimer les obstacles et les opportunités en continu.
De plus, pour pouvoir formuler une stratégie efficace, le concepteur doit identifier un
maximum d’obstacles à la réalisation de la mission. Ces obstacles peuvent être de natures
très diverses comme par exemple des éléments humains ou des systèmes d’exploitation.
C’est pourquoi il est nécessaire de pouvoir modéliser un maximum d’obstacles de dif-
férentes natures et des opportunités variées.
Dans l’ensemble, le modèle d’obstacles doit répondre à deux besoins : la possibilité
de modéliser les obstacles et les opportunités en continu et la prise en compte
d’obstacles et d’opportunités de différentes natures.
3.5.2 Concepts
montre que la modélisation d’obstacles et d’opportunités est possible mais qu’elle nécessite
de fournir un effort de modélisation supplémentaire.
La modélisation des obstacles a pour but de capturer les obstacles opérationnels à la
réalisation de la mission et les opportunités envisagées par le concepteur pour résoudre
ces problèmes. Ce processus s’appuie sur la phase de spécification, en particulier sur les
obstacles et les opportunités inférés. Pour cela, nous nous appuyons sur la fédération de
modèles pour répondre aux besoins d’expression des obstacles et des opportunités en
continu et de diversité des obstacles.
Toutefois, il est encore nécessaire de fournir un effort de formalisation pour parvenir à
un modèle d’obstacles et d’opportunités complet. Dans la suite de ce manuscrit et notam-
ment sur le cas d’étude, nous utiliserons un modèle d’obstacles textuel sommaire dans un
but d’illustration.
Une fois l’ensemble des obstacles et des opportunités modélisé, le concepteur peut pas-
ser à la phase d’analyse et formuler une approche opérationnelle pour remplir sa mission.
3.6. ANALYSE FORMELLE DE LA STRATÉGIE 83
3.6.1 Besoins
Il est important de rappeler que l’approche que nous proposons est une approche à
haut niveau d’abstraction qui cherche à produire une stratégie prévisionnelle d’attaque
globale pour l’APT. En effet, les différents modèles produits lors de cette approche se basent
sur la compréhension que l’APT a de la réalité du terrain. Aussi, il est attendu que la
stratégie produite par cette approche soit amenée à évoluer à mesure que l’APT progresse
sur le système réel. Comme la stratégie est amenée à évoluer rapidement et se base sur
des hypothèses du concepteur, il est inutile de chercher à modéliser le plus précisément
possible les détails de la stratégie. Les priorités de notre approche sont la rapidité et
la fiabilité de diagnostic. C’est pourquoi il est nécessaire de proposer une technique
de diagnostic qui requiert le minimum de décision de la part du concepteur et qui reste
déterministe, c’est-à-dire une technique qui produit toujours le même résultat pour un
même jeu de données d’entrée. Nous choisissons donc d’adopter une technique d’analyse
automatique formelle présentée dans la Section 2.4.3.
Afin de capitaliser sur nos travaux de modélisation, il semble judicieux de choi-
sir une technique d’analyse s’appuyant sur nos modèles de systèmes, d’objectifs et d’obs-
tacles. Parmi celles qui ont été présentées dans la Section 2.4.3, notre choix s’oriente vers
le model checking. De plus, on constate que l’échelle des applications industrielles du mo-
del checking est plus proche de l’échelle des préoccupations de l’APT de notre approche
puisque le concepteur cherche à perturber le comportement du système pour parvenir à
ses objectifs. Il cherche donc à mettre en erreur le système, c’est à dire atteindre un état
redouté du point de vue du système mais où l’objectif de l’attaquant est atteint. C’est pour-
quoi la phase d’analyse utilise le model checking pour déterminer automatiquement une
stratégie d’attaque en capitalisant sur les travaux de modélisation.
conduire une analyse au niveau système sans prendre en compte des détails de spécialité
métier comme le réseau, les systèmes d"exploitation, etc. Les APT cherchent des scénarios
d’attaque sur tout le périmètre système sans prendre en compte des obstacles techniques-
scientifiques spécifiques, au moins dans un premier temps.
Le risque d’explosion combinatoire reste contenu par la taille des modèles système et
les analyses qui y sont effectuées.
L’architecture de model-checking que nous utilisons est présentée de manière concep-
tuelle dans la Figure 3.18. Le modèle que nous vérifions est le modèle de système DyPimca
conçu dans la phase de modélisation. Le modèle de système DyPimca est conforme à la
structure du système décrite dans le modèle Pimca qui est lui-même conforme à la syn-
taxe abstraite définie dans le méta-modèle Pimca. Le modèle de système contient le com-
portement décrit dans le modèle comportemental qui est lui-même conforme à la syntaxe
abstraite définie dans le méta-modèle de commandes gardées.
Contrairement à une approche de model-checking traditionnelle dans laquelle le model-
checker est conçu pour un langage particulier, le model-checker OBP2 1 est une solution
logicielle modulaire agnostique au langage vérifié. OBP2 fédère une sémantique d’exécu-
tion dédiée au langage et un ensemble d’artefacts de model-checking agnostiques et réutili-
sables. La sémantique d’exécution prend la forme d’un plugin à développer pour le langage
à vérifier. OBP2 utilise une architecture s’articulant autour d’un interpréteur de modèles
et d’un contrôleur d’exécution.
L’interpréteur de modèles encode une implémentation de la sémantique du langage Dy-
Pimca. Cet interpréteur manipule une instance du modèle de système. L’état courant du
système est capturé dans l’ensemble des variables d’état de l’instance du modèle mani-
pulée. Á partir de l’état courant, l’interpréteur calcule les différentes transitions déclen-
chables en évaluant les gardes de l’ensemble des commandes gardées. Ensuite il revient
au contrôleur d’exécution de déterminer quelle transition déclencher.
1. [Link]
3.6. ANALYSE FORMELLE DE LA STRATÉGIE 85
Le contrôleur d’exécution est une solution originale d’OBP2 pour pouvoir fédérer dif-
férentes activités utilisant le même interpréteur et la même sémantique d’exécution [34].
Dans notre cas, les deux activités que nous proposons sont :
— la simulation interactive pas à pas où l’utilisateur choisit les transitions à déclencher,
— l’algorithme d’exploration exhaustive de l’espace d’états pour les besoins d’automati-
sation du model-checking.
L’interface d’OBP2 permet de simuler pas à pas le comportement du système. OBP2
garde en mémoire la configuration courante ainsi que la trace d’exécution, ce qui permet
de recharger une configuration antérieure. L’interface permet également de visualiser et de
déclencher les transitions tirables depuis la configuration courante pour une exploration
manuelle. Par ailleurs, OBP2 permet de vérifier des propriétés LTL avec GPSL [6]. Lors
de l’exploration automatique impliquant la composition d’automates de Büchi, le model-
checker explore l’espace d’états du système et indique si une propriété est valide. Dans le
cas contraire, OBP2 retourne un contre-exemple qui viole la propriété, sous forme de trace
d’exécution.
Le model-checker OBP2 requiert les fonctionnalités suivantes au plugin du langage,
DyPimca dans notre cas :
— Charger le modèle.
— Charger l’ensemble des états initiaux.
— Définir la fonction de transition qui détermine les états du système directement at-
teignable à partir d’un état source.
— Évaluer les propositions atomiques pour générer un nouvel état du système.
Dans notre cas, nous utilisons un modèle de commandes gardées dont la sémantique
d’exécution a été définie au préalable dans la Section 3.3.3. Nous avons donc fourni toutes
les fonctionnalités requises pour le plugin OBP2.
le modèle. L’exécution globale est une composition synchrone d’une instance de modèle de
système et d’une propriété sous la forme d’un automate de Büchi. Par la suite, le contrôleur
d’exécution permet à l’utilisateur de dérouler des scénarios d’attaque à la main ou à un
algorithme d’effectuer une analyse exhaustive.
Objectifs globaux : La vérification des objectifs de la mission requiert de combiner
les opportunités de l’APT avec le modèle d’objectifs. Les prédicats capturant les objec-
tifs de l’APT vus en Section 3.4.3 et les variables booléennes de l’attaquant vues en Sec-
tion 3.5.3 permettent d’écrire des formules booléennes capturant les propriétés à vérifier
par le model-checking. Le model-checker vérifie si chaque combinaison de capacités d’inter-
actions résulte en l’accomplissement d’un des objectifs souhaités.
Par exemple pour la propriété qui vérifie si l’APT peut atteindre l’objectif 1 capturé par
le prédicat predicate1 en faisant usage des opportunités capturées par les booléens attack1 ,
... , attackn on écrit l’assertion suivante :
attack 1 ∧ . . . ∧ attack n ⇒ ♦ p r e d i c a t e 1
Informellement on peut lire cette assertion comme : "Si l’APT utilise les opportunités
attack1 , ..., attackn , éventuellement l’objectif est atteint". Toutefois, comme définie en Sec-
tion 3.4.2, la propriété de sécurité que nous voulons vérifier du point de vue de l’APT est la
négation de cette assertion. En effet, la propriété de sécurité vérifiée implique que l’objectif
de l’APT n’est pas atteignable alors que la propriété violée indique qu’il existe un chemin
d’attaque capturé par un scénario contre-exemple.
3.6. ANALYSE FORMELLE DE LA STRATÉGIE 87
3.7 Conclusion
Les menaces persistantes avancées possèdent un mode opératoire atypique. Elles sont
connues pour leurs campagnes de longue durée employant des techniques sophistiquées,
des ressources nombreuses et des tactiques de dissimulation. Pour mieux comprendre leur
mode opératoire, nous nous intéressons précisément aux mécanismes de conception d’une
attaque des APT. Pour cela, nous faisons le lien avec les opérations militaires plus clas-
siques, car les forces armées possèdent un mode opératoire très similaire.
Dans ce chapitre, nous avons détaillé les contributions théoriques permettant de mo-
déliser le processus d’élaboration de la stratégie des APT. Dans un premier temps, nous
avons expliqué la méthodologie de notre approche dans la Section 3.1. L’approche applique
la méthodologie militaire de l’Operational Design dans le cadre des APT. Elle se décom-
pose en trois phases : spécification, modélisation et analyse. Dans la première, la phase
de spécification, détaillée dans la Section 3.2, le concepteur agrège et organise les don-
nées pertinentes pour la mission à accomplir. Ce faisant, il construit un modèle de données
inférées. Dans la deuxième, la phase de modélisation, le concepteur modélise le système
cible (détaillé dans la Section 3.3), les objectifs de la mission (détaillés dans la Section 3.4),
les obstacles et opportunités (détaillés dans la Section 3.5). Cette phase met en jeu dif-
férents modèles dont on gère l’interopérabilité grâce à la fédération de modèles. De cette
façon, chaque modèle répond précisément aux besoins de son processus, ce qui permet de
proposer une implémentation concrète de l’approche. Dans la troisième phase, la phase
d’analyse, détaillée dans la Section 3.6, le concepteur analyse ses modèles afin de déter-
miner une stratégie d’attaque, ou approche opérationnelle, pour remplir la mission. Pour
cela, nous proposons d’utiliser le Model Checking, qui permet de capitaliser sur les efforts
de modélisation de la phase précédente tout en garantissant un résultat fiable et automa-
tique.
L’ensemble de ces contributions permettent de répondre à notre problématique de mo-
délisation de la phase de reconnaissance et d’armement des APT en appliquant
la méthodologie de l’Operational Design d’un point de vue théorique. Dans le Cha-
pitre 4, nous verrons une application concrète de notre méthodologie afin de valider notre
méthodologie sur un cas d’étude.
Chapitre 4
Validation de la méthodologie
Sommaire
4.1 Cas d’étude : Attaque d’une station de pompage d’eau . . . . . . . . . 90
4.1.1 Spécification de la mission . . . . . . . . . . . . . . . . . . . . . . . . . 90
4.1.2 Modélisation de l’attaque du réservoir . . . . . . . . . . . . . . . . . . 92
4.1.3 Analyse de l’attaque du réservoir . . . . . . . . . . . . . . . . . . . . . 100
4.1.4 Modélisation pour assurer la discrétion de l’attaque . . . . . . . . . . 104
4.1.5 Analyse pour assurer la discrétion de l’attaque . . . . . . . . . . . . . 108
4.2 Évaluation de la méthodologie et des outils . . . . . . . . . . . . . . . . 111
4.2.1 Bilan du cas d’étude . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
4.2.2 Bilan général . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
4.2.3 Limites de l’approche . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
4.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
89
90 CHAPITRE 4. VALIDATION DE LA MÉTHODOLOGIE
à un PLC (Programmable Logic Controller). Une vanne électrique d’entrée alimente le ré-
servoir en eau, tandis qu’une vanne manuelle de sortie, connectée à une pompe électrique,
vide le réservoir. La vanne manuelle est actionnable par un technicien. La vanne électrique
et la pompe sont directement contrôlées par le PLC qui relève le niveau d’eau du réservoir
au moyen d’un capteur. De plus, le PLC relaie régulièrement les mesures du niveau d’eau
à une centrale SCADA (Supervisory Control And Data Acquisition) sur le réseau du site
industriel. Le comportement du PLC suit les commandes suivantes : (i) ouvrir la vanne
d’entrée et éteindre la pompe si le niveau d’eau atteint un seuil bas, (ii) fermer la vanne
d’entrée et allumer la pompe si le niveau d’eau atteint un seuil haut, (iii) envoyer chaque
mesure de niveau au SCADA.
Ces informations sont reliées au modèle de données par le mécanisme de fédération
documentaire décrit en Section 3.2.2. Ainsi, le concepteur spécifie son modèle de données
au préalable, qu’il enrichit ensutie de référence documentaire comme le schéma de la Fi-
gure 4.2 et les ressources textuelles.
92 CHAPITRE 4. VALIDATION DE LA MÉTHODOLOGIE
Pour faire déborder le réservoir d’eau, l’APT décide de se concentrer spécifiquement sur
les composants physiques du système, c’est-à-dire le réservoir, la vanne d’entrée, la vanne
de sortie et la pompe. Dans le modèle de système initial, seule la vanne d’entrée électrique
semble capable d’augmenter le niveau d’eau du réservoir. Il est donc nécessaire qu’elle soit
en marche dans l’environnement opérationnel désiré. À l’inverse, la pompe et la vanne
manuelle sont directement responsables de la baisse de niveau du réservoir d’eau, il faut
donc fermer au moins l’un des deux dans l’environnement opérationnel désiré.
4.1. CAS D’ÉTUDE : ATTAQUE D’UNE STATION DE POMPAGE D’EAU 93
Les problèmes posés par le système pour accomplir l’objectif (i) sont le mécanisme de
régulation d’arrivée d’eau et le mécanisme d’écoulement d’eau du réservoir. Plusieurs élé-
ments peuvent empêcher le débordement du réservoir d’eau : le PLC qui contrôle la vanne
d’entrée et la pompe, le capteur qui relaie le niveau d’eau au PLC et l’opérateur qui peut
ouvrir ou fermer la vanne de sortie manuelle.
Cette identification des contraintes des objectifs et des obstacles permet à l’APT d’iden-
tifier les manques dans son modèle de système et d’enrichir son modèle Pimca d’environ-
nement opérationnel courant avec un aspect comportemental DyPimca. L’APT modélise
le comportement des éléments actifs, ou machineries Pimca, identifiés dans les problèmes
de l’environnement. Chacun d’entre eux est associé à une unité d’exécution stipulant son
comportement avec ses propres variables et ses propres commandes gardées. Le tableau 4.1
montre les différentes unités d’exécution mises en place et leurs commandes gardées res-
pectives pour constituer le modèle de système comportemental pertinent pour le premier
objectif. Ces commandes gardées sont les actions que les unités d’exécution peuvent en-
treprendre pour modifier l’état du système. Dans les tables de ce chapitre, les commandes
seront représentées par leur nom et leur code d’exécution sera explicité séparément.
PLC : Le rôle du PLC est de maintenir le niveau d’eau du réservoir entre deux bornes
prédéfinies, un seuil bas et un seuil haut. Pour cela, le PLC contrôle la vanne d’entrée
électrique qui permet de faire entrer l’eau dans le réservoir et la pompe qui permet de faire
sortir l’eau du réservoir. Concrètement, le PLC exerce son contrôle en envoyant deux types
94 CHAPITRE 4. VALIDATION DE LA MÉTHODOLOGIE
Table 4.1 – Unités d’exécution et leurs commandes gardées dans le modèle d’environne-
ment opérationnel courant pour l’objectif 1
highThres :
urgent
[ TriggerDecision ∧
plcWaterLevel ≥ plcUpperThreshold ] /
T r i g g e r D e c i s i o n : = false ;
TriggerCloseValve : = true ;
TriggerOpenPump : = true ;
4.1. CAS D’ÉTUDE : ATTAQUE D’UNE STATION DE POMPAGE D’EAU 95
lowThres :
urgent
[ TriggerDecision ∧
plcWaterLevel ≤ plcLowerThreshold ] /
T r i g g e r D e c i s i o n : = false ;
TriggerOpenValve : = true ;
TriggerClosePump : = true ;
valveOff :
urgent
commandValveOff ! -Canal de synchronisation (ici en émission)
[ TriggerCloseValve ] /
TriggerCloseValve : = false ;
valveOn :
urgent
commandValveOn !
[ TriggerOpenValve ] /
TriggerOpenValve : = false ;
pumpOff :
urgent
commandPumpOff !
[ TriggerClosePump ] /
TriggerClosePump : = false ;
pumpOn:
urgent
commandPumpOn!
[ TriggerOpenPump ] /
TriggerOpenPump : = false ;
Capteur : Le capteur suit un comportement plus simple. Dès que le niveau du réservoir
change, le capteur en est averti à travers le canal measure. Ceci déclenche une mise à jour
du niveau relevé par le capteur qui est ensuite transmis au PLC.
Formellement, l’unité d’exécution du capteur est définie dans le langage de commandes
gardées de la manière suivante :
update :
measure ? /
sensorWaterLevel : = value ;
TriggerSensor : = true ;
refreshPLC :
urgent
updateLevel !
[ TriggerSensor ] /
TriggerSensor : = false ;
Vanne manuelle : La vanne manuelle suit un comportement similaire à celui du capteur.
Dès que la pompe se met en marche et tente d’aspirer le contenu du réservoir avec sa com-
mande gardée flowIn, celle-ci notifie la vanne manuelle qui se synchronise avec la pompe
à travers sa commande gardée flowOut. La vanne manuelle transmet alors de manière
96 CHAPITRE 4. VALIDATION DE LA MÉTHODOLOGIE
urgente au réservoir d’eau l’aspiration, à travers sa propre commande gardée flowIn. Tou-
tefois, ce comportement n’est possible que si la vanne manuelle est ouverte, dans le cas
contraire, la pompe ne peut pas réduire le niveau d’eau du réservoir. La vanne manuelle
possède donc une variable booléenne interne isOpen qui tient compte de son état de fonc-
tionnement. Le technicien est capable de changer cet état de fonctionnement à travers deux
commandes gardées : open et close.
Formellement, l’unité d’exécution de la vanne manuelle est définie dans le langage de
commandes gardées de la manière suivante :
flowIn :
urgent
decrease !
[ TriggerDecrease ∧
isOpen ] /
TriggerDecrease : = false ;
flowOut :
flow ?
[ isOpen ] /
TriggerDecrease : = true ;
open :
manualInput ?
[ ! isOpen ] /
isOpen : = true ;
close :
manualInput ?
[ isOpen ] /
isOpen : = false ;
Vanne électrique : La vanne électrique peut être soit ouverte, soit fermée. Ceci est capturé
par une variable booléenne interne isOpen. Lorsqu’elle est ouverte, la commande flowOut
peut être déclenchée, elle injecte l’eau dans le réservoir ce qui fait monter son niveau.
L’ouverture et la fermeture de la vanne sont contrôlées par le PLC à travers des commandes
gardées synchronisées open et close.
Formellement, l’unité d’exécution de la vanne électrique est définie dans le langage de
commandes gardées de la manière suivante :
flowOut :
increase !
[ isOpen ] / ;
open :
commandIVOn?
[]/
isOpen : = true ;
close :
commandIVOff?
[]/
isOpen : = false ;
4.1. CAS D’ÉTUDE : ATTAQUE D’UNE STATION DE POMPAGE D’EAU 97
Pompe : De même la pompe peut être soit ouverte, soit fermée. Elle possède également
une variable booléenne interne isOpen. Lorsqu’elle est ouverte, la commande flowIn peut
être déclenchée, elle se synchronise avec la commande flowOut de la vanne manuelle pour
pomper l’eau du réservoir. L’ouverture et la fermeture de la pompe sont contrôlées par le
PLC à travers des commandes gardées synchronisées open et close.
Formellement, l’unité d’exécution de la pompe est définie dans le langage de commandes
gardées de la manière suivante :
flowIn :
flow !
[ isOpen ] / ;
open :
commandPumpOn?
[]/
isOpen : = true ;
close :
commandPumpOff?
[]/
isOpen : = false ;
Réservoir d’eau : Le réservoir gère l’évolution de son niveau d’eau avec la variable entière
waterLevel. Il se synchronise en réception de la vanne électrique à travers la commande
gardée flowIn pour faire augmenter le niveau d’eau waterLevel d’une part. Il se synchro-
nise en réception de la vanne manuelle à travers la commande gardée flowOut pour faire
diminuer le niveau d’eau waterLevel d’autre part. Ces deux commandes changent le niveau
d’eau, ce qui déclenche la commande gardée urgente refreshSens qui notifie le capteur du
nouveau niveau d’eau.
Formellement, l’unité d’exécution du réservoir d’eau est définie dans le langage de com-
mandes gardées de la manière suivante :
flowIn :
urgent
increase ?
[]/
TriggerRefresh : = true ;
waterLevel : = waterLevel +1;
flowOut :
urgent
decrease ?
[]/
TriggerRefresh : = true ;
waterLevel : = waterLevel- 1 ;
refreshSens :
urgent
measure !
[ TriggerRefresh ] /
TriggerRefresh : = false ;
98 CHAPITRE 4. VALIDATION DE LA MÉTHODOLOGIE
InflowValve Pump
forceOpen block
close* open*
Au niveau de la vanne électrique d’entrée d’eau, l’APT inclut une commande gardée
forceOpen synchronisée avec l’unité d’exécution de l’APT. Lorsque forceOpen est déclenchée,
la vanne reste indéfiniment ouverte, ce qui est capturé par une nouvelle variable booléenne
interne isForced. Il est donc nécessaire de modifier la garde de la commande close afin
d’empêcher son déclenchement. Puisque la commande close est une réception de message,
il est crucial que la réception soit possible même si la vanne se retrouve bloquée afin que
la simulation du modèle ne rencontre pas de deadlock. Il faut donc créer deux commandes
close séparées pour capturer le comportement nominal lorsque l’attaque n’a pas eu lieu
et le comportement bloqué lorsque l’attaque a eu lieu, ce qui s’écrit de manière formelle
comme suit :
forceOpen :
attackIV ?
[]/
isOpen : = true ;
isForce d : = true ;
close1 :
commandIVOff?
[ ! isF orced ] /
isOpen : = false ;
close2 :
commandIVOff?
[ isFo rced ] / ;
Au niveau de la vanne manuelle, l’ouverture et la fermeture sont contrôlées par le tech-
nicien. Si l’APT parvient à corrompre l’opérateur, alors elle obtient un contrôle sur la vanne
manuelle, ce qui ne demande aucune modification du modèle courant.
Au niveau de la pompe, de manière similaire à la vanne d’entrée, l’APT injecte une com-
mande block synchronisée avec une action d’attaque. Lorsqu’elle est déclenchée, la pompe
ne peut plus se mettre en marche. De même que précédemment, cet état est capturé par
une variable booléenne interne isBlocked à la pompe. Celle-ci permet de séparer l’ancienne
commande open en deux commandes open1 et open2 capturant le comportement nominal
et le comportement bloqué respectivement. Ceci est nécessaire pour assurer que le modèle
de système ne rencontre pas de deadlock à la simulation car la commande open est une
réception synchronisée avec le PLC. Formellement, les nouvelles commandes gardées de la
pompe s’écrivent de la manière suivante :
block :
attackPump ?
[]/
isOpen : = false ;
isBlocked : = true ;
open1 :
commandPumpOn?
100 CHAPITRE 4. VALIDATION DE LA MÉTHODOLOGIE
[ ! isBlocked ] /
isOpen : = false ;
open2 :
commandPumpOn?
[ isBlocked ] / ;
Enfin, l’unité d’exécution du technicien est désactivée puisque l’APT en prend le contrôle
pour agir directement sur le système. Le modèle d’obstacles permet à l’attaquant de définir
des opportunités qu’il pourra exploiter au cours de l’attaque pour parvenir à faire déborder
le réservoir : forcer la vanne électrique, bloquer la pompe et fermer la vanne manuelle.
blockPump :
attackPump !
[ ! hasAttackedPump ] /
hasAttackedPump : = true ;
closeMV :
manualInput !
[ ! hasAttackedMV ] /
hasAttackedMV : = true ;
Grâce à cette unité d’exécution, le model-checking permet de vérifier si l’objectif de faire
déborder le réservoir est réalisable compte tenu de ces trois opportunités. Pour cela, nous
construisons des propriétés intermédiaires qui représentent les différentes combinaisons
d’opportunités possibles utilisées par l’attaquant. Chaque combinaison est représentée par
un vecteur booléen de taille 3 indiquant pour chaque opportunité si elle est exploitée ou non
au cours de l’exploration de scénarios d’attaque. Par exemple, le vecteur (true, true, false)
autorise l’attaquant à forcer la vanne électrique et à bloquer la pompe mais pas à fermer la
vanne manuelle. La propriété intermédiaire correspondante impose cette valeur booléenne
lors de l’exécution afin de vérifier si l’objectif est atteignable dans ce cas de figure. On écrit
cette propriété de la manière suivante :
O b j e c t i f vanne_elec pompe
( ( ! hasAttackedMV ) ⇒ ! waterOverflow )
Cette propriété signifie en langage courant : "Tant que l’attaquant ne ferme pas la vanne
manuelle, l’eau ne déborde pas". Elle impose à l’attaquant de ne pas faire usage de l’oppor-
tunité liée à la vanne manuelle mais autorise celui-ci a utiliser les deux autres opportuni-
tés.
Pour prendre cela en compte, il faut implémenter ces règles de fonctionnement dans
le modèle pour obtenir un comportement cohérent avec la réalité. Ainsi, le model-checker
OBP2 pourra considérer des scénarios d’attaque réalistes et donc concrétisables pour l’APT.
On reconnaît les problématiques d’exclusion mutuelle lors de partage d’une ressource. C’est
pourquoi, pour ce faire [pour faire quoi ? pour reconnaître les problématiques ?], nous met-
tons en place l’algorithme de Peterson [81] entre la vanne électrique et la pompe. Cet al-
gorithme permet de gérer le partage d’une ressource (ici le réservoir d’eau) entre plusieurs
processus (ici la montée et la descente du niveau d’eau). Il permet notamment de gérer
l’alternance de l’allocution de la ressource entre deux processus qui doivent l’utiliser tour
à tour.
flowOut :
increase !
[ isOpen ∧ ( ! flagPump \vee turn ==TURN_IV ) ] /
turn : = TURN_PUMP; ;
4.1. CAS D’ÉTUDE : ATTAQUE D’UNE STATION DE POMPAGE D’EAU 103
open :
commandIVOn?
[]/
isOpen : = true ;
forceOpen :
attackIV ?
[]/
isOpen : = true ;
isForce d : = true ;
close1 :
commandIVOff?
[ ! isF orced ] /
isOpen : = false ;
f l a g I V : = false ;
close2 :
commandIVOff?
[ isFo rced ] / ;
Formellement la nouvelle unité d’exécution de la pompe est la suivante :
canflowIn :
urgent
[ isOpen ∧ ! flagPump ] /
flagPump : = true ;
flowIn :
flow !
[ isOpen ∧ ( ! f l a g I V ∨ turn ==TURN_PUMP) ] /
turn : = TURN_IV ;
close :
commandPumpOff?
[]/
isOpen : = false ;
block :
attackPump ?
[]/
isOpen : = false ;
isBlocked : = true ;
open1 :
commandPumpOn?
[ ! isBlocked ] /
isOpen : = false ;
open2 :
commandPumpOn?
[ isBlocked ] / ;
104 CHAPITRE 4. VALIDATION DE LA MÉTHODOLOGIE
Grâce à cet algorithme, le modèle est fidèle avec la réalité, ce qui permet à l’APT de
déterminer des scénarios réalisables dans lesquels son objectif 1 s’accomplit. L’approche
opérationnelle est vérifiée formellement avec OBP2. La Table 4.3 présente nos résultats.
Chaque colonne représente une combinaison d’opportunités utilisée par l’APT et le résultat
de l’attaque menée vis-à-vis des objectifs. On peut notamment voir dans la dernière colonne
le scénario dans lequel l’attaquant a accès a deux opportunités : forcer la vanne électrique
et bloquer la pompe. Dans ce cas de figure, l’attaquant arrive à faire déborder le réservoir.
Au cours de cette analyse, 3256 états et 3255 transitions uniques ont été explorés pour
vérifier 8 propriétés représentant différentes combinaisons d’opportunités considérées par
l’APT pour accomplir l’objectif 1. Le temps de calcul de cette analyse est de 6238 millise-
condes.
En ce qui concerne l’objectif 1, le model-checker OBP2 montre que l’APT doit exploiter
au moins deux des opportunités que le concepteur a identifiées. Il est nécessaire de forcer
l’ouverture de la vanne d’entrée et de fermer la vanne manuelle ou la pompe. À partir de
ces déductions, l’APT peut concrétiser un scénario en une stratégie opérationnelle concrète
sur le terrain. Toutefois la stratégie actuelle ne prend en compte qu’un seul objectif, l’APT
a un second objectif à accomplir.
PLC : Le PLC notifie la centrale SCADA à travers l’infrastructure réseau du système lors-
qu’une nouvelle mesure est prise par le capteur. Pour ce faire, la prise de décision du PLC
entre les commandes gardées regular, highThres et lowThres déclenche une nouvelle com-
mande gardée signal. Le signal transmis peut prendre deux valeurs : REGULAR si le
niveau d’eau du réservoir se situe entre les bornes acceptables, et DANGEROUS sinon.
La valeur du signal à envoyer est stockée dans une variable message interne au PLC.
La nouvelle valeur est assignée lors de la prise de décision. L’APT ajoute donc une com-
mande gardée signal au PLC et modifie trois commandes gardée déjà présentes (regular,
highThres et lowThres). Formellement les nouvelles commandes de l’unité d’exécution du
PLC sont définies de la manière suivante :
regular :
urgent
[ TriggerDecision ∧
plcWaterLevel < plcUpperThreshold ∧
plcWaterLevel > plcLowerThreshold ] /
T r i g g e r D e c i s i o n : = false ;
Trigge rSi gn al : = true ;
message : = REGULAR;
highThres :
urgent
[ TriggerDecision ∧
plcWaterLevel ≥ plcUpperThreshold ] /
T r i g g e r D e c i s i o n : = false ;
TriggerCloseValve : = true ;
TriggerOpenPump : = true ;
Trigge rSi gn al : = true ;
message : = DANGEROUS;
lowThres :
urgent
[ TriggerDecision ∧
plcWaterLevel ≤ plcLowerThreshold ] /
T r i g g e r D e c i s i o n : = false ;
TriggerOpenValve : = true ;
TriggerClosePump : = true ;
Trigge rSi gn al : = true ;
message : = DANGEROUS;
signal :
urgent
PLC2Network !
[ Trig ge rSi gn al ] /
Trigge rSi gn al : = false ;
Réseau : Le réseau joue le rôle d’intermédiaire entre le PLC et la centrale SCADA. Lorsque
le PLC envoie un signal avec sa commande gardée signal, le réseau la reçoit avec sa com-
mande gardée receive. Le réseau copie le message binaire du PLC à transmettre à la cen-
trale SCADA. Ensuite, le réseau déclenche de manière urgente la commande gardée send
pour transmettre le signal au SCADA. Formellement, l’unité d’exécution du réseau est dé-
finie de la manière suivante :
106 CHAPITRE 4. VALIDATION DE LA MÉTHODOLOGIE
receive :
PLC2Network ? /
message : = PLC. message ;
TriggerNetwork : = true ;
send :
urgent
Network2SCADA !
[ TriggerNetwork ] /
TriggerNetwork : = false ;
Centrale SCADA : La centrale SCADA reçoit et traite les informations envoyées par le PLC.
Si le SCADA mesure deux signaux DANGEROUS à la suite, alors il lance l’alerte. Sinon
le SCADA retourne dans son état normal lorsqu’il reçoit un signal REGULAR. L’alerte est
mesurée par la variable booléenne interne alert initialisée à faux. Lorsque la commande
send du réseau transmet un signal, le SCADA réceptionne avec une commande différente
en fonction du signal transmis précédemment. Le signal précédent est donc gardé en mé-
moire par le SCADA dans une variable interne message. Formellement, le comportement
de la centrale SCADA est modélisé par l’unité d’exécution suivante :
receiveRegular :
Network2SCADA?
[ message == REGULAR] /
message : = Network . message ;
receiveDangerous :
Network2SCADA?
[ message == DANGEROUS] /
i f { Network . message == DANGEROUS} {
a l e r t : = true ;
}
else {
message : = REGULAR;
};
Le second objectif de l’APT est de ne pas se faire repérer pendant ses opérations. L’alerte
est modélisée par la variable de la centrale SCADA alert qui devient vraie lorsque le niveau
du réservoir d’eau est anormal. Accomplir l’objectif 2 de l’APT revient donc à trouver un
scénario d’évolution du système dans lequel la variable alert reste indéfiniment fausse.
Concrètement, ceci est vérifiable par model-checking en cherchant un contre-exemple à la
propriété suivante :
Objectif 2
♦ alert
La mission est contrainte à la fois par l’objectif 1 et par l’objectif 2. La propriété globale
dont le model-checker OBP2 doit chercher le contre-exemple est la suivante :
Mission
( ! waterOverflow ) ∨ ( ♦ a l e r t )
4.1. CAS D’ÉTUDE : ATTAQUE D’UNE STATION DE POMPAGE D’EAU 107
Sensor Network
disable jam
refreshPLC* send*
Cette propriété se traduit en langage courant par "Jamais l’eau ne déborde du réservoir
à moins qu’une alerte finisse par se déclencher". Elle traduit le comportement attendu du
système par son propriétaire : le niveau d’eau doit être régulé dans le réservoir ou l’alerte
doit être sonnée. En tant qu’attaquant, l’APT cherche à compromettre ce comportement at-
tendu. À travers notre méthode d’analyse utilisant le model-checking, nous cherchons donc
un contre-exemple à cette propriété, c’est-à-dire un scénario dans lequel cette propriété est
violée. Dans ce scénario, l’attaquant sait que le réservoir déborde sans que l’alerte ne soit
sonnée. C’est donc un scénario d’attaque réussie. De manière générale, la propriété globale
de la mission se construit comme une propriété dont le contre-exemple montre que tous les
objectifs de la mission sont remplis. De ce fait, si on écrit au préalable des propriétés repré-
sentant l’accomplissement de chaque objectif particulier, comme c’est le cas ici, la propriété
globale de la mission P se construit simplement grâce à l’opérateur logique transitif OU
entre toutes les propriétés pn de la manière suivante : P = p1 ∨ ... ∨ pn .
Ainsi, si l’attaquant parvient à trouver un contre-exemple dans lequel P est violée, on
a alors simplement : !P =!p1 ∧ ...∧!pn . Ce qui signifie que les propriétés de chaque objectif
sont violées simultanément. Or les propriétés sont construites de telle manière que le fait
qu’une propriété soit violée équivaut à un objectif accompli. Il y a donc équivalence entre
la violation de la propriété globale P et l’accomplissement simultané de tous les objectifs.
send :
urgent
Network2SCADA !
[ TriggerNetwork ∧ ! isJammed ] /
TriggerNetwork : = false ;
108 CHAPITRE 4. VALIDATION DE LA MÉTHODOLOGIE
Au niveau du capteur, l’APT ajoute la commande gardée disable pour mettre le capteur
hors service. Lorsque le capteur est désactivé, celui-ci ne transmet plus le niveau d’eau au
PLC via la commande refreshPLC. Comme pour le réseau, cela se traduit par l’ajout d’une
condition dans la garde de la commande refreshPLC, qui ne lui permet de s’exécuter que si
le capteur est actif. Ce qui s’écrit de manière formelle comme suit :
refreshPLC :
urgent
updateLevel !
[ triggerSensor ∧ ! isDisabled ] /
t r i g g e r S e n s o r : = false ;
disable :
corruptSensor ? /
i s D i s a b l e d : = true ;
Le modèle d’obstacles permet de définir des opportunités supplémentaires pour l’atta-
quant. Pour remplir les deux objectifs de la mission, l’attaquant peut maintenant : brouiller
le réseau et désactiver le capteur.
s’il n’existe aucun contre-exemple. Dans le cas où la propriété est violée, cela signifie qu’il
existe un contre-exemple, c’est-à-dire un scénario dans lequel la propriété est violée. Ce scé-
nario représente un chemin d’attaque pour l’attaquant puisque son objectif est de trouver
une stratégie mettant en défaut le système. Chaque combinaison d’opportunités est repré-
sentée dans la partie supérieure, tandis que la partie inférieure montre si les objectifs sont
accomplis pour cette combinaison en particulier. À des fins de concision, les 44 propriétés
intermédiaires ne sont pas toutes représentées : seules les plus pertinentes sont représen-
tées, à savoir les combinaisons minimales d’opportunités exploitées permettant d’atteindre
les objectifs. La partie de gauche du tableau reprend les résultats du Tableau 4.3 alors que
la partie de droite met en jeu les deux nouvelles opportunités. Il est inutile de représenter
les combinaisons mettant en jeu plus d’opportunités car, s’il existe un chemin d’attaque
mettant en jeu moins d’opportunités, il est évident que plus d’opportunités permettront
d’arriver au même résultat. On voit notamment que plusieurs combinaisons d’opportunités
exploitées permettent d’atteindre les deux objectifs en même temps. Par exemple, forcer la
vanne électrique, fermer la vanne manuelle et brouiller le réseau (avant dernière colonne)
sont trois opportunités qui, ensemble, permettent d’accomplir la mission. Comme on peut
s’y attendre, brouiller le réseau ou désactiver le capteur permettent d’accomplir l’objectif
2 : ne pas se faire repérer au cours de l’attaque. Cet objectif de discrétion est un objectif
générique des attaquants de la cyber-sécurité. Par contre, brouiller le réseau n’influe pas
sur l’objectif 1. Il est donc impératif d’utiliser les opportunités déterminées précédemment
pour accomplir la mission dans son ensemble. En revanche [OKX cza s’oppose à quoi ?],
il est intéressant de noter que la désactivation du capteur à un moment précis permet
d’atteindre tous les objectifs en exploitant cette seule opportunité. À l’aide de cette mé-
thodologie, l’APT identifie l’opportunité unique minimum pour parvenir à ses fins. Elle
peut ensuite mettre son plan à exécution en le concrétisant. La stratégie opérationnelle à
adopter consiste à désactiver le capteur mesurant le niveau d’eau du réservoir au moment
opportun, c’est-à-dire quand la vanne d’entrée est ouverte et la vanne de sortie ou la pompe
est fermée.
Ce cas d’étude démontre comment notre méthodologie s’applique de manière concrète.
Ce faisant, elle s’appuie sur des ressources documentaires variées (textes, schémas, spéci-
fication de comportements) pour la phase de spécification de la mission. À l’issue de cette
première phase, l’APT a construit le modèle de données qu’elle utilisera tout au long de
l’approche. Ensuite, le concepteur procède en deux temps pour traiter les deux objectifs
110 CHAPITRE 4. VALIDATION DE LA MÉTHODOLOGIE
que les automates sont plus expressifs que les commandes gardées. Cependant, notre ap-
proche impose de faire évoluer le comportement du modèle en fonction des opportunités
identifiées par l’attaquant. De plus, la structure du système en différents éléments struc-
turels et comportementaux demande de prendre en compte la composition de ces éléments
afin de faire émerger un comportement global. Ces mécanismes sont lourds à maintenir
pour un ensemble d’automates, car chaque nouveau comportement peut induire des in-
compatibilités. En revanche, les commandes gardées s’adaptent mieux à ces contraintes
intrinsèques de notre approche. En effet, les commandes gardées reposent nativement sur
une logique de premier ordre, ce qui par nature permet une composabilité.
La seconde itération de modélisation montre les atouts de la fédération de modèles.
Les différents modèles sont facilement extensibles et réutilisables. De plus, la
fédération aide à maintenir la cohérence des différents modèles tout au long de
l’approche.
Avancée de la thèse
Méthodologie
Syntaxe abstraite
Modèle de systèmes
Syntaxe concrète
Sémantique
Méthodologie
Syntaxe abstraite ~
Modèle de stratégie
Syntaxe concrète ~
Sémantique ~
Approche
Interopérabilité
Outillage
Approche
Analyse
Outillage
ce qui prouve qu’il reste des efforts à fournir en termes d’exécutabilité sans intervention
du concepteur. Pour conclure, voici une évaluation globale de l’approche au regard de la
validation des exigences que nous avons identifiées. Le Tableau 4.7 résume les différentes
exigences introduites auparavant ainsi que leur avancement dans la thèse. L’ensemble po-
sitif, sera détaillé dans les paragraphes suivants.
4.3 Conclusion
La méthodologie que nous proposons adapte l’Operational Design au contexte de la
cyber-sécurité des systèmes industriels pour mieux comprendre comment une APT conçoit
sa stratégie d’attaque.
Pour valider notre méthodologie, nous étudions le cas d’étude d’une station de pompage
d’eau dans la Section 4.1. Lors de cette étude, nous mettons concrètement en application
la méthodologie pour montrer comment un attaquant conçoit sa stratégie d’attaque pour
atteindre ses objectifs.
Ensuite nous proposons une évaluation globale de notre méthodologie et de nos outils
dans la Section 4.2. Le cas d’étude illustre les différents points forts de la fédération de
modèles. Le bilan général est positif puisque la plupart des exigences introduites dans le
Chapitre 2 (modélisation de système, de stratégie, gestion de l’interopérabilité et analyse)
sont remplies. Il existe toutefois quelques pistes d’améliorations notamment au niveau de
la modélisation d’une stratégie plus fine (4.2.3).
Chapitre 5
Conclusion
117
118 CHAPITRE 5. CONCLUSION
fiés, puis on modélise et on analyse les travaux au regard de ces objectifs tout au long de la
démarche. Nous identifions différents objectifs liés à cette problématique :
— une méthodologie, c’est-à-dire une marche à suivre pour capturer le point de vue de
l’attaquant sur le système.
— une syntaxe abstraite, c’est-à-dire un ensemble structuré de concepts permettant de
modéliser le point de vue de l’attaquant.
— une syntaxe concrète, c’est-à-dire une représentation de ces concepts qui soit mani-
pulable par l’utilisateur.
— une sémantique bien définie, c’est-à-dire le sens qui est donné à chaque concept et l’in-
terprétation qu’il doit avoir pour le concepteur d’une part et pour la machine d’autre
part.
La seconde problématique de ce manuscrit est de comprendre la stratégie d’un at-
taquant de type APT. De même que pour la première problématique, nous répondons à
cette problématique avec un ensemble d’outils fonctionnels dans une démarche qui se veut
"agile".
Les différents objectifs liés à cette problématique que nous avons identifiés sont iden-
tiques aux objectifs de la première problématique à savoir : la définition d’une méthodolo-
gie, d’une syntaxe abstraite, d’une syntaxe concrète et d’une sémantique. Pour cet aspect de
sémantique, la définition d’une sémantique dynamique requiert une attention particulière.
Dans ce travail, notre solution de modélisation reposant sur la fédération de modèles,
nous nous appuyons sur OpenFlexo. Cet environnement permet de fédérer des modèles hé-
térogènes, ce qui est nécessaire pour mettre en place notre méthodologie qui fait intervenir
trois phases (spécification, modélisation et analyse) et de nombreux artefacts de modélisa-
tion différents.
Dans la suite de la conclusion, nous récapitulons les différentes contributions apportées
pour répondre à nos deux problématiques.
Les travaux exposés dans ce manuscrit ont fait l’objet de trois publications exposant le
point de vue de l’APT sur le système [92] et la stratégie de l’attaquant [93, 94].
— [92] Tithnara N. Sun, Bastien Drouot, Fahad Golra, Joël Champeau, Sylvain Gué-
rin, Luka Le Roux, Raúl Mazo, Ciprian Teodorov, Lionel Van Aertyck, and Bernard
L’Hostis. A domain-specific modeling framework for attack surface modeling. In Inter-
national Conference on Information Systems Security and Privacy, 2020.
— [93] Tithnara N. Sun, Luka Le Roux, Ciprian Teodorov, and Philippe Dhaussy. Explo-
ration de scénarios de systèmes cyber-physiques pour l’analyse de la menace. In Actes
des 19èmes journées sur les Approches Formelles dans l’Assistance au Développe-
ment de Logiciels, pages 17–24, 2020.
— [94] Tithnara N. Sun, Ciprian Teodorov, and Luka Le Roux. Operational design for
advanced persistent threats. In the 23rd ACM/IEEE International Conference on Mo-
del Driven Engineering Languages and Systems : Companion Proceedings, page 1-10,
2020.
5.2 Contributions
Ce manuscrit présente les trois contributions majeures de nos travaux : l’adaptation
de l’Operational Design au contexte de la cyber-sécurité, la création d’un framework de
fédération entièrement outillé pour la modélisation de stratégie d’APT et la création d’un
langage de système dynamique pour la modélisation du point de vue de l’attaquant sur le
système.
5.2. CONTRIBUTIONS 119
À partir de l’étude des menaces persistantes avancées, nous avons conclu que leur
mode opératoire nécessitait une phase de reconnaissance et d’armement préalable [13].
Pour mieux comprendre cette phase, nous avons considéré le point de vue de l’APT sur le
système ciblé. Le mode opératoire des APT est analogue à celui des stratégies militaires.
C’est pourquoi notre première contribution consiste à adapter la méthodologie militaire de
l’Operational Design pour adopter le point de vue de l’APT sur sa cible. Présentée dans le
Chapitre 3, la méthodologie que nous proposons est centrée autour de la mission de l’APT.
Nous définissons la mission de l’APT de la manière suivante : but à atteindre sur un système
cible spécifique comprenant un ou plusieurs objectifs et rencontrant possiblement plusieurs
obstacles.
À partir de cette définition, propre à notre contexte d’étude, nous identifions les trois
axes selon lesquels l’APT construit sa stratégie : le système ciblé, les objectifs et les obs-
tacles. Dans la Section 3.1, nous présentons en détail la méthodologie de l’APT pour conce-
voir sa stratégie. Celle-ci suit trois phases : spécification, modélisation et analyse. Dans la
phase de spécification, l’attaquant identifie les éléments de la mission selon les trois axes
(système, objectifs et obstacles). Il construit ensuite un modèle de données rassemblant
ces éléments reliés à différentes ressources documentaires qui l’aideront dans les phases
suivantes. Dans la phase de modélisation, l’attaquant modélise le système ciblé, les objec-
tifs de la mission et les obstacles qui l’entravent. Ces différents processus de modélisation
peuvent mettre en jeu différents artefacts de modélisation dont il est important de gé-
rer la synchronisation afin de développer des modèles cohérents entre eux. Dans la phase
d’analyse, à partir des modèles créés, l’attaquant conçoit la stratégie opérationnelle qui lui
permet de mener à bien sa mission. Nous proposons une méthodologie abstraite qui permet
de capturer la stratégie de l’attaquant, répondant ainsi au premier et deuxième objectifs
de notre seconde problématique, la méthodologie de modélisation de stratégie et sa syntaxe
abstraite. Dans l’esprit, cette méthodologie peut s’adapter à tous les niveaux d’abstraction
voulus par l’attaquant. Cependant, la force de la modélisation réside dans son abstraction
de la réalité pour simplifier les analyses. Aussi, il est intéressant de garder un haut niveau
d’abstraction dans les modèles utilisés dans cette méthodologie.
La méthodologie abstraite que nous proposons n’impose pas de langage de modélisation
particulier, cependant nous avons choisi de l’implémenter dans une méthodologie concrète
dans différents langages détaillés dans ce manuscrit. Pour cela, nous avons implémenté la
fédération de modèles afin de proposer un outillage complet permettant de mener concrète-
ment et entièrement la méthodologie sur des cas d’étude réels. Cette deuxième contribution
présentée dans le Chapitre 3 répond au troisième objectif de la seconde problématique, la
syntaxe concrète de stratégie. La fédération de modèles est mise en place dans l’environne-
ment OpenFlexo. Les concepts fédérés permettent de maintenir la cohérence entre les dif-
férents paradigmes de modélisation choisis. De plus, elle facilite l’extension de l’approche
à de nouveaux paradigmes ainsi que la réutilisation des travaux dans d’autres contextes.
Le Chapitre 3 détaille l’implémentation de chaque processus de la méthodologie dans le
framework. Nous proposons un framework de stratégie de l’APT mettant en œuvre la mé-
thodologie de l’Operational Design dans le contexte des APT.
Ce framework repose essentiellement sur le modèle de système tel qu’il est perçu par
l’attaquant. Aussi, le modèle de système ciblé est une contribution majeure de nos travaux.
Le langage Pimca modélise les systèmes pour permettre différentes analyses de sécurité,
comme l’analyse de surface d’attaque ou le développement de modèle d’attaquant. Cepen-
dant, il ne capture pas certains aspects dynamiques nécessaires au développement de stra-
tégie. De plus, il est dépourvu d’un outillage concret adapté à notre contexte de fédération
et d’exécution. C’est pourquoi notre troisième contribution, présentée dans la Section 3.3
consiste en la création du langage DyPimca comme extension du langage Pimca pour la
120 CHAPITRE 5. CONCLUSION
modélisation de systèmes du point de vue d’une menace persistante avancée. DyPimca est
un langage prenant en compte l’aspect structurel du système avec les concepts de Pimca
et l’aspect comportemental du système avec de nouveaux concepts. Nous définissons la
syntaxe abstraite et deux syntaxes concrètes intégrées à notre framework, ainsi qu’une
sémantique d’exécution. Cette contribution répond donc intégralement à la première pro-
blématique de la thèse, la modélisation du point de vue de l’APT sur le système.
Enfin le Chapitre 4 nous permet de valider notre approche sur un cas d’étude. Nous
illustrons l’ensemble de la méthodologie dans ce chapitre en liant toutes nos contributions.
La mission est de faire déborder le réservoir d’une station de pompage. Tout d’abord, nous
spécifions la mission au regard des trois axes du point de vue de l’attaquant : le système,
les objectifs et les obstacles. Ensuite, dans la phase de modélisation, nous construisons le
modèle de système conformément aux données rassemblées dans la phase de spécification.
Nous construisons conjointement le modèle d’objectifs et d’obstacles afin d’enrichir le mo-
dèle de système. A noter que l’objectif d’assurer une discrétion durant l’attaque est assez
générique pour être réutilisé dans d’autres cas d’étude. Enfin, la phase d’analyse utilise la
technique de vérification formelle de modèles pour aboutir à une stratégie opérationnelle
permettant à l’attaquant de remplir sa mission.
5.3 Perspectives
Les travaux présentés dans ce manuscrit répondent aux problématiques identifiées
dans l’état de l’art du Chapitre 2, à savoir comprendre le point de vue de l’APT sur le
système et l’élaboration de stratégie d’attaque. Nous avons cependant identifié certains as-
pects qui gagneraient à être approfondis dans des travaux futurs. Ces perspectives d’évo-
lution concernent la compréhension de la stratégie d’une menace persistante avancée et
l’évaluation de la méthodologie globale.
Nos travaux permettent de capturer la stratégie d’une APT. Toutefois, à des fins de dé-
fense, il semble judicieux de capitaliser davantage sur nos résultats et de poursuivre notre
démarche pour mieux comprendre les stratégies d’une APT. Aussi, la création d’un langage
de stratégie semble être la prochaine étape naturelle de nos travaux. Les stratégies que
notre méthodologie modélisent sont des exploitations successives d’opportunités pour pas-
ser au travers des obstacles. C’est pourquoi il peut être intéressant d’identifier des patrons
d’opportunités exploitant un obstacle. On constate d’ores et déjà dans le cadre de nos tra-
vaux qu’il existe plusieurs moyens de contourner un obstacle. Par exemple, l’attaquant peut
induire un comportement non-voulu du système ou empêcher un comportement normal du
système de se produire. L’identification de ces patrons amèneraient une compréhension
plus fine de la stratégie de l’attaquant, ce qui permettrait à terme de créer un langage
de stratégie et donc de modéliser des stratégies plus complexes. Nous avons engagé des
travaux [63] dans cette perspective.
Pour poursuivre l’évaluation de notre méthodologie, il semble également naturel de
traiter d’autres cas d’étude du domaine. En effet, la méthodologie concrète que nous avons
choisie s’adapte tout particulièrement à notre cas d’étude. Il serait intéressant d’évaluer
à quel point cette méthodologie concrète s’adapte à d’autres exemples. Il est également
crucial d’évaluer dans quelle mesure il est nécessaire de changer de paradigmes de mo-
délisation pour d’autres cas d’études. Ceci permettrait à terme de faire une étude compa-
rative avec d’autres approches plus classiques. En effet, la perspective à très haut niveau
d’abstraction de notre approche rend la comparaison avec les travaux existants difficile.
D’autant plus que nous nous focalisons exclusivement sur la phase de reconnaissance et
d’armement, qui reste très peu étudiée dans la littérature.
5.3. PERSPECTIVES 121
L’approche que nous présentons dans ce manuscrit offre potentiellement d’autres pers-
pectives. En effet, la cyber-sécurité contre les menaces persistantes avancées est un do-
maine en perpétuelle évolution à mesure que les techniques d’attaques se complexifient
et que la société dépend de plus en plus des systèmes à défendre. La défense parfaite et
exhaustive des systèmes contre ces menaces n’est pas atteignable. C’est pourquoi nous sou-
tenons que la modélisation à haut niveau d’abstraction est un nouvel outil indispensable à
la défense de tels systèmes critiques.
122 CHAPITRE 5. CONCLUSION
Liste des publications
Publications internationales
— [92] Tithnara N. Sun, Bastien Drouot, Fahad Golra, Joël Champeau, Sylvain Gué-
rin, Luka Le Roux, Raúl Mazo, Ciprian Teodorov, Lionel Van Aertyck, and Bernard
L’Hostis. A domain-specific modeling framework for attack surface modeling. In Inter-
national Conference on Information Systems Security and Privacy, 2020.
— [94] Tithnara N. Sun, Ciprian Teodorov, and Luka Le Roux. Operational design for ad-
vanced persistent threats. In the 23rd ACM/IEEE International Conference on Model
Driven Engineering Languages and Systems : Companion Proceedings, pages 1-10,
2020.
Autres publications
— [93] Tithnara N. Sun, Luka Le Roux, Ciprian Teodorov, and Philippe Dhaussy. Explo-
ration de scénarios de systèmes cyber-physiques pour l’analyse de la menace. In Actes
des 19èmes journées sur les Approches Formelles dans l’Assistance au Développe-
ment de Logiciels, pages 17–24, 2020.
— Poster. Tithnara N. Sun, Ciprian Teodorov, Joël Champeau, and Philippe Dhaussy.
Dynamic system modeling for threat analysis. Séminaire MOCS, 2018.
— Poster. Tithnara N. Sun, Bastien Drouot, Fahad Golra, Joël Champeau, Sylvain Gué-
rin, Luka Le Roux, Raúl Mazo, Ciprian Teodorov, Lionel Van Aertyck, and Bernard
L’Hostis. A domain-specific modeling framework for attack surface modeling. In Inter-
national Conference on Information Systems Security and Privacy, 2020.
— Présentation. Tithnara N. Sun. Pimca, modélisation système pour la cybersécurité.
14/05/2020.
123
124 CHAPITRE 5. CONCLUSION
Bibliographie
[3] Martín A BADI et Leslie L AMPORT : The existence of refinement mappings. Theoreti-
cal Computer Science, 82(2):253–284, 1991. ISSN 0304-3975.
[4] Walid A L -A HMAD : A detailed strategy for managing corporation cyber war security.
International Journal of Cyber-Security and Digital Forensics, 2(4):1–9, 2013.
[7] Sean B ECHHOFER, Frank van H ARMELEN, Jim H ENDLER, Ian H ORROCKS, Deborah
M C G UINNESS, Peter PATEL -S CHNEIJDER et Lynn Andrea S TEIN : OWL Web On-
tology Language Reference. Recommendation, World Wide Web Consortium (W3C),
février 2004. URL [Link]
[9] Valentin B ESNARD : EMI - Une approche pour unifier l’analyse et l’exécution em-
barquée à l’aide d’un interpréteur de modèles pilotable : application aux modèles
UML des systèmes embarqués. Thèse de doctorat, ENSTA Bretagne - École na-
tionale supérieure de techniques avancées Bretagne, décembre 2020. URL https:
//[Link]/tel-03371484.
[10] Ross B REWER : Advanced persistent threats : minimising the damage. Network
security, 2014(4):5–9, 2014.
125
126 BIBLIOGRAPHIE
[13] Ping C HEN, Lieven D ESMET et Christophe H UYGENS : A Study on Advanced Per-
sistent Threats. In Bart D ECKER et André Z ÚQUETE, éditeurs : 15th IFIP Inter-
national Conference on Communications and Multimedia Security (CMS), volume
LNCS-8735 de Communications and Multimedia Security, pages 63–72, Aveiro, Por-
tugal, septembre 2014. Springer. URL [Link] Part 2 :
Work in Progress.
[15] Edmund M. C LARKE, Jr., Orna G RUMBERG, Daniel K ROENING, Doron P ELED et
Helmut V EITH : Model checking. MIT press, 2018.
[16] Benoît C OMBEMALE : Ingénierie Dirigée par les Modèles (IDM) – État de l’art. URL
[Link] 2008.
[18] Nancy J. C OOKE : Knowledge elicitation. Handbook of applied cognition, pages 479–
509, 1999.
[19] Patrick C OUSOT et Radhia C OUSOT : Abstract interpretation : a unified lattice mo-
del for static analysis of programs by construction or approximation of fixpoints. In
Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of program-
ming languages, pages 238–252, 1977.
[20] Michael K. D ALY : Advanced persistent threat. Usenix, Nov, 4(4):2013–2016, 2009.
[23] Zdena D OBESOVA : Using the physic of notation to analyse modelbuilder diagrams.
volume 1, pages 595–602, juin 2013.
[25] Bastien D ROUOT et Joël C HAMPEAU : Model federation based on role modeling. In
MODELSWARD, pages 72–83, 2019.
[26] Dale C. E IKMEIER : Redefining the center of gravity. Rapport technique, NATIONAL
DEFENSE UNIV WASHINGTON DC, 2010.
[27] E. Allen E MERSON : Temporal and modal logic. In Formal Models and Semantics,
pages 995–1072. Elsevier, 1990.
[28] Anna F ENSEL et Uwe K ELLER : Choosing an ontology language. pages 47–50, jan-
vier 2005.
[29] Florent F ORTAT, Maryline L AURENT et Michel S IMATIC : Games based on active nfc
objects : Model and security requirements. In Proceedings of the 2015 International
Workshop on Network and Systems Support for Games, NetGames ’15. IEEE Press,
2015. ISBN 9781509000685.
[30] Ivo F RIEDBERG, Florian S KOPIK, Giuseppe S ETTANNI et Roman F IEDLER : Comba-
ting advanced persistent threats : From network event correlation to incident detec-
tion. Computers & Security, 48:35–57, 2015.
[31] Ibrahim G HAFIR et Vaclav P RENOSIL : Advanced persistent threat and spear phi-
shing emails. In Proceedings of International Conference on Distance Learning, Si-
mulation and Communication. University of Defence, pages 34–41, 2015.
[32] Andrew G INTER : The Top 20 Cyberattacks on Industrial Control Systems. Rapport
technique, Waterfall Security Solutions, 2017.
[33] Michael G LASSMAN et Min Ju K ANG : Intelligence in the internet age : The emer-
gence and evolution of open source intelligence (osint). Computers in Human Beha-
vior, 28(2):673–682, 2012.
[34] Fahad G OLRA, Joël C HAMPEAU et Ciprian T EODOROV : Early Validation Framework
for Critical and Complex Process-Centric Systems. janvier 2019.
[35] Fahad R. G OLRA, Antoine B EUGNARD, Fabien D AGNAT, Sylvain G UERIN et Chris-
tophe G UYCHARD : Addressing modularity for heterogeneous multi-model systems
using model federation. MODULARITY Companion 2016, pages 206–211, New York,
NY, USA, 2016. Association for Computing Machinery. ISBN 9781450340335.
[36] Fahad R. G OLRA, Antoine B EUGNARD, Fabien D AGNAT, Sylvain G UERIN et Chris-
tophe G UYCHARD : Addressing modularity for heterogeneous multi-model systems
using model federation. In Companion Proceedings of the 15th International Confe-
rence on Modularity, pages 206–211, 2016.
[37] Fahad R. G OLRA, Antoine B EUGNARD, Fabien D AGNAT, Sylvain G UERIN et Chris-
tophe G UYCHARD : Using free modeling as an agile method for developing domain
specific modeling languages. In Proceedings of the ACM/IEEE 19th Internatio-
nal Conference on Model Driven Engineering Languages and Systems, pages 24–34,
2016.
[38] Fahad Rafique G OLRA, Fabien D AGNAT, Jeanine S OUQUIÈRES, Imen S AYAR et Syl-
vain G UÉRIN : Bridging the Gap Between Informal Requirements and Formal Spe-
cifications Using Model Federation. In Ina Schaefer E INAR B ROCH J OHNSEN, édi-
teur : 16th International Conference on Software Engineering and Formal Methods
128 BIBLIOGRAPHIE
(SEFM 2018), volume 10886 de Software Engineering and Formal Methods 16th In-
ternational Conference, SEFM 2018, Held as Part of STAF 2018, Toulouse, France,
June 27–29, 2018, Proceedings, pages 54–69, Toulouse, France, juin 2018. Springer.
URL [Link]
[39] Kerim G OZTEPE : Designing fuzzy rule based expert system for cyber security. In-
ternational Journal of Information Security Science, 1:13–19, janvier 2012.
[40] Kerim G OZTEPE, Recep K ILIC et Alper K AYAALP : Cyber defense in depth : Desi-
gning cyber security agency organization for turkey. Journal of Naval Science and
Engineering, 10:1–24, novembre 2014.
[41] Thomas G RAVES et Bruce E. S TANLEY : Design and operational art : A practical
approach to teaching the army design methodology. Military Review, 93(4):53, 2013.
[43] Christophe G UYCHARD, Sylvain G UERIN, Ali K OUDRI, Antoine B EUGNARD et Fa-
bien D AGNAT : Conceptual interoperability through models federation. In Semantic
Information Federation Community Workshop, page 23, 2013.
[44] Thoufique H AQ, Jinjian Z HAI et Vinay K P IDATHALA : Advanced persistent threat
(APT) detection center, avril 2017. US Patent 9,628,507.
[45] Hiba H NAINI, Luka L E R OUX, Joël C HAMPEAU et Ciprian T EODOROV : Security
property modeling. In 7th International Conference on Information Systems Security
and Privacy ICISSP, pages 694–701, 2021.
[50] ISACA : Advanced persistent threat awareness study results. Rapport technique,
Trend Micro, 2013.
[53] K ASPERSKY : The icefog APT : A tale of cloak and three daggers. Rapport technique,
Kaspersky, 2013.
[54] David K ENNEDY, Jim O’ GORMAN, Devon K EARNS et Mati A HARONI : Metasploit :
the penetration tester’s guide. No Starch Press, 2011.
[59] Ralph L ANGNER : Stuxnet : Dissecting a cyberwarfare weapon. IEEE Security Pri-
vacy, 9(3):49–51, 2011.
[65] Qiao L IANG et Wang X IANGSUI : Unrestricted warfare. Foreign Broadcast Informa-
tion Service, 1999.
[67] Simon L IU et Rick K UHN : Data loss prevention. IT professional, 12(2):10–13, 2010.
[68] Peri L OUCOPOULOS et Roberto Z ICARI : Conceptual Modeling, Databases, and Case :
An Integrated View of Information Systems Development. John Wiley and Sons, Inc.,
USA, 1992. ISBN 0471554626.
130 BIBLIOGRAPHIE
[72] Mark A. M USEN : The protégé project : a look back and a look forward. AI Matters,
1(4):4–12, 2015.
[76] OMG : Business process model and notation (BPMN) version 2.0.2. Standard, Object
Management Group (OMG), décembre 2013. URL [Link]
2.0.2/PDF.
[77] Janis O SIS et Erika N AZARUKA : Model-driven domain analysis and software deve-
lopment : Architectures and functions. janvier 2010.
[78] Ing J. F. O VERBEEK : Meta object facility (MOF) : investigation of the state of the
art. Mémoire de D.E.A., Citeseer, 2006.
[79] Celia PAULSEN et Robert D. B YERS : Glossary of key information security terms,
2019.
[80] Elisha P ETERSON : Dagger : Modeling and visualization for mission impact situa-
tion awareness. In MILCOM 2016-2016 IEEE Military Communications Conference,
pages 25–30. IEEE, 2016.
[81] Gary L. P ETERSON : Myths about the mutual exclusion problem. 1981.
[83] M. Zubair R AFIQUE, Ping C HEN, Christophe H UYGENS et Wouter J OOSEN : Evolu-
tionary algorithms for classification of malware families through different network
behaviors. In Proceedings of the 2014 Annual Conference on Genetic and Evolutio-
nary Computation, pages 1167–1174, 2014.
[84] Stefan R ASS, Sandra K ÖNIG et Stefan S CHAUER : Defending against advanced per-
sistent threats using game-theory. PloS One, 12(1), 2017.
[86] Marco R OCCHETTO et Nils Ole T IPPENHAUER : CPDY : extending the dolev-yao
attacker with physical-layer interactions. CoRR, abs/1607.02562, 2016. URL http:
//[Link]/abs/1607.02562.
[87] Matthew S CHMID, Frank H ILL et Anup K. G HOSH : Protecting data from malicious
software. In 18th Annual Computer Security Applications Conference, 2002. Procee-
dings., pages 199–208. IEEE, 2002.
[88] Jean-Philippe S CHNEIDER : Les rôles : médiateurs dynamiques entre modèles système
et modèles de simulation. Thèse de doctorat, Université de Bretagne occidentale -
Brest, novembre 2015. URL [Link]
[89] Rupam Kumar S HARMA, Hemanta Kumar K ALITA et Biju I SSAC : Different firewall
techniques : A survey. In Fifth International Conference on Computing, Communica-
tions and Networking Technologies (ICCCNT), pages 1–6. IEEE, 2014.
[92] Tithnara N. S UN, Bastien D ROUOT, Joël C HAMPEAU, Fahad R. G OLRA, Sylvain
G UÉRIN, Luka L E R OUX, Raul M AZO, Ciprian T EODOROV, Lionel VAN A ERTRYCK et
Bernard L’H OSTIS : A Domain-Specific Modeling Framework for Attack Surface Mo-
deling. In Proceedings of the 6th International Conference on Information Systems
Security and Privacy - Volume 1 : ICISSP,, pages 341–348. INSTICC, SciTePress,
2020. ISBN 978-989-758-399-5.
[93] Tithnara N. S UN, Luka L E R OUX, Ciprian T EODOROV et Philippe D HAUSSY : Ex-
ploration de scénarios de systemes cyber-physiques pour l’analyse de la menace. In
Actes des 19èmes journées sur les Approches Formelles dans l’Assistance au Dévelop-
pement de Logiciels (AFADL 2020), pages 17–24, 2020.
[94] Tithnara N. S UN, Ciprian T EODOROV et Luka L E R OUX : Operational design for
advanced persistent threats. In Proceedings of the 23rd ACM/IEEE International
Conference on Model Driven Engineering Languages and Systems : Companion Pro-
ceedings, pages 1–10, 2020.
[95] Colin T ANKARD : Advanced persistent threats and how to monitor and deter them.
Network security, 2011(8):16–19, 2011.
[97] Ciprian T EODOROV, Luka L E R OUX, Zoé D REY et Philippe D HAUSSY : Past-free
[ze] reachability analysis : reaching further with dag-directed exhaustive state-space
analysis. Software Testing, Verification and Reliability, 26(7):516–542, 2016.
[101] US D EPARTMENT OF THE A RMY : ATP 5-0.1 Army design methodology, juillet 2015.
URL [Link]
[102] US J OINT O PERATION P LANNING : Joint publication (JP) 5-0, joint planning. Wa-
shington, DC : CJCS, 26, 2006.
[103] US J OINT O PERATION P LANNING : Joint publication (JP) 2-01.3 joint intelligence
preparation of the operational environment (JIPOE), 2014.
[104] US J OINT O PERATION P LANNING : Joint publication (JP) 1, doctrine for the armed
forces of the united states. Washington, DC : CJCS, 2017.
[106] Parvathy V INOD, Vijay L AXMI et Manoj S. G AUR : Survey on malware detection
methods. In Proceedings of the 3rd Hackers’ Workshop on computer and internet
security (IITKHACK’09), pages 74–79, 2009.
[107] Nikos V IRVILIS et Dimitris G RITZALIS : The big four - what we did wrong in advan-
ced persistent threat detection ? In 2013 International Conference on Availability,
Reliability and Security, pages 248–254, 2013.
[110] Brett T. W ILLIAMS : The joint force commander’s guide to cyberspace operations.
Joint Force Quarterly, 73(2):12–19, 2014.
[111] Spyros X ANTHAKIS, Pascal R ÉGNIER et Constantin K ARAPOULIOS : Le test des lo-
giciels. Hermes Science Publications, 2000.
Annexe A
A.2 PLC
A.3 Pompe
A.5 Capteur
A.6 SCADA
133
134 ANNEXE A. STATION DE POMPE À EAU TRAITÉE EN UPPAAL
Diagramme de séquences de la
méthodologie
135
136 ANNEXE B. DIAGRAMME DE SÉQUENCES DE LA MÉTHODOLOGIE
F IGURE B.1 – Diagramme de séquence d’une exécution du modèle BPMN global (1/5)
137
F IGURE B.2 – Diagramme de séquence d’une exécution du modèle BPMN global (2/5)
138 ANNEXE B. DIAGRAMME DE SÉQUENCES DE LA MÉTHODOLOGIE
F IGURE B.3 – Diagramme de séquence d’une exécution du modèle BPMN global (3/5)
139
F IGURE B.4 – Diagramme de séquence d’une exécution du modèle BPMN global (4/5)
140 ANNEXE B. DIAGRAMME DE SÉQUENCES DE LA MÉTHODOLOGIE
F IGURE B.5 – Diagramme de séquence d’une exécution du modèle BPMN global (5/5)
141
Titre : Modélisation et Analyse Formelle de Modèles Système pour les Menaces Persistantes
Avancées
Résumé : La criticité croissante des sys- carrer. Pour répondre à ce besoin, la métho-
tèmes industriels les expose davantage aux dologie d’Operational Design tirée des straté-
menaces du monde cyber. En particulier les gies militaires permet de mieux comprendre
menaces persistantes avancées ou Advan- l’établissement de stratégie de ces attaquants
ced Persistent Threats (APT) sont des at- sophistiqués. Cette méthodologie axée sur la
taquants sophistiqués dotés de ressources mission et adaptée au contexte des APT re-
conséquentes et ciblant spécifiquement les pose sur la fédération de plusieurs proces-
systèmes critiques. Les méthodologies de sus de spécification, de modélisation et d’ana-
cyber-défense actuelles permettent de proté- lyse pour produire une stratégie opération-
ger les systèmes contre les cyber-menaces nelle. Pour évaluer cette approche, un ou-
classiques mais elles peinent à contrer effica- tillage fédéré complet a été conçu et appliqué
cement les APT. En effet, les APT usent de à un cas d’étude d’une mission d’attaque de
stratégies complexes et de tactiques de dis- système de pompage d’eau.
simulation qui les rendent difficile à contre-
Title: Systems Modeling and Formal Analysis for Advanced Persistent Threats
Abstract: Critical industrial systems are prime methodology of military forces helps in bet-
targets of cyber threats. In particular the Ad- ter understanding how APTs devise their
vanced Persistent Threats (APT) are sophis- strategies. This mission-driven methodology
ticated and well-resourced attacks targeting adapted to the APT context relies on the fed-
valuable assets. For APTs both the attack eration of several processes of specification,
and the defense require advanced planning modeling and analysis in order to produce
and strategies similar to military operations. an operational strategy. To evaluate this ap-
The existing cyber-security-aware methodolo- proach, a complete federation framework has
gies achieve valuable results for regular cyber- been developed and applied to the case study
threats, however they fail to adequately ad- of a mission of attack on a water pumping sta-
dress APTs due to their refined strategies tion.
and evasive tactics. The Operational Design