-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathot_ics_scada_interactive.html
More file actions
525 lines (515 loc) · 38.7 KB
/
Copy pathot_ics_scada_interactive.html
File metadata and controls
525 lines (515 loc) · 38.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>OT / ICS / SCADA — Guide interactif</title>
<style>
:root{--bg:#f8fafc;--card:#fff;--border:#e2e8f0;--text:#1e293b;--muted:#64748b;--acc:#9a3412;--acc2:#7c2d12;--blue600:#2563eb;--green:#16a34a;--red:#dc2626;--orange:#ea580c;--purple:#7c3aed;--grad1:#431407;--grad2:#7c2d12}
@media(prefers-color-scheme:dark){:root{--bg:#0d0d0d;--card:#1a1a1a;--border:#2a2a2a;--text:#e2e8f0;--muted:#94a3b8}}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Segoe UI',system-ui,sans-serif;background:var(--bg);color:var(--text);line-height:1.6}
header{background:linear-gradient(135deg,var(--grad1),var(--grad2));padding:2rem 1rem;text-align:center;border-bottom:2px solid var(--acc)}
header h1{font-size:2rem;font-weight:800;color:#fff}
header p{color:#fed7aa;margin-top:.4rem;font-size:.95rem}
nav{position:sticky;top:0;z-index:100;background:var(--card);border-bottom:1px solid var(--border);padding:.5rem 1rem;display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}
.tab-btn{padding:.4rem 1rem;border:none;border-radius:999px;cursor:pointer;font-size:.85rem;font-weight:600;background:var(--border);color:var(--muted);transition:all .2s}
.tab-btn.active{background:var(--blue600);color:#fff}
.tab-btn:hover:not(.active){background:var(--acc);color:#fff}
section{display:none;max-width:1100px;margin:0 auto;padding:1.5rem 1rem}
section.active{display:block}
h2{font-size:1.4rem;font-weight:700;margin-bottom:1rem;color:var(--acc)}
h3{font-size:1.1rem;font-weight:600;margin:1.2rem 0 .6rem}
.grid{display:grid;gap:1rem}.g2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.g3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.card{background:var(--card);border:1px solid var(--border);border-radius:.75rem;padding:1.2rem}
.card h4{font-size:1rem;font-weight:700;margin-bottom:.5rem;color:var(--acc)}
.codeblk{background:#1e1612;color:#fed7aa;border-radius:.5rem;padding:1rem;font-family:'Cascadia Code','Fira Code',monospace;font-size:.82rem;overflow-x:auto;margin:.5rem 0;line-height:1.7;white-space:pre-wrap}
.c-kw{color:#fb923c}.c-str{color:#fcd34d}.c-comment{color:#a8a29e;font-style:italic}.c-val{color:#86efac}.c-fn{color:#f0abfc}
table{width:100%;border-collapse:collapse;font-size:.85rem;margin:.5rem 0}
th{background:var(--acc);color:#fff;padding:.5rem .75rem;text-align:left}
td{padding:.4rem .65rem;border-bottom:1px solid var(--border)}
tr:hover td{background:var(--border)}
.info-box{background:var(--card);border-left:4px solid var(--acc);border-radius:.5rem;padding:.8rem 1rem;margin:.5rem 0}
.info-box.green{border-color:var(--green)}.info-box.red{border-color:var(--red)}.info-box.blue{border-color:var(--blue600)}.info-box.orange{border-color:var(--orange)}
.quiz-q{background:var(--card);border:1px solid var(--border);border-radius:.75rem;padding:1.2rem;margin:.8rem 0}
.quiz-q p{font-weight:600;margin-bottom:.7rem}
.quiz-opt{padding:.5rem .8rem;border:1px solid var(--border);border-radius:.4rem;margin:.3rem 0;cursor:pointer;transition:all .2s}
.quiz-opt:hover{border-color:var(--acc);background:rgba(154,52,18,.05)}
.quiz-opt.correct{background:#dcfce7;border-color:var(--green);color:#166534}
.quiz-opt.wrong{background:#fee2e2;border-color:var(--red);color:#991b1b}
@media(prefers-color-scheme:dark){.quiz-opt.correct{background:#14532d;color:#86efac}.quiz-opt.wrong{background:#450a0a;color:#fca5a5}}
.purdue-box{display:flex;flex-direction:column;gap:.4rem;margin:1rem 0}
.purdue-lvl{padding:.6rem .9rem;border-radius:.5rem;color:#fff;font-weight:600;font-size:.85rem;display:flex;justify-content:space-between;align-items:center}
.l5{background:#1e40af}.l4{background:#2563eb}.l35{background:#7c3aed}.l3{background:#9a3412}.l2{background:#a16207}.l1{background:#15803d}.l0{background:#166534}
.purdue-lvl small{font-weight:400;opacity:.85;font-size:.78rem}
#quiz-score{display:none;text-align:center;padding:1.5rem;background:var(--card);border-radius:.75rem;margin-top:1rem;font-size:1.1rem;font-weight:700}
</style>
</head>
<body>
<header>
<h1>OT / ICS / SCADA</h1>
<p>Modbus, PROFINET, OPC UA, IEC 62443, Purdue model, Stuxnet/Triton</p>
</header>
<nav>
<button class="tab-btn active" onclick="showTab('overview')">Vue d'ensemble</button>
<button class="tab-btn" onclick="showTab('purdue')">Modèle Purdue</button>
<button class="tab-btn" onclick="showTab('hw')">Composants HW</button>
<button class="tab-btn" onclick="showTab('proto')">Protocoles</button>
<button class="tab-btn" onclick="showTab('threats')">Menaces & incidents</button>
<button class="tab-btn" onclick="showTab('standards')">IEC 62443 & normes</button>
<button class="tab-btn" onclick="showTab('defense')">Défense & segmentation</button>
<button class="tab-btn" onclick="showTab('quiz')">Quiz</button>
</nav>
<section id="overview" class="active">
<h2>Vue d'ensemble</h2>
<div class="grid g2">
<div class="card">
<h4>Glossaire</h4>
<table>
<tr><th>Acronyme</th><th>Signification</th></tr>
<tr><td><strong>OT</strong></td><td>Operational Technology — l'ensemble des systèmes qui surveillent / contrôlent les processus physiques</td></tr>
<tr><td><strong>ICS</strong></td><td>Industrial Control System — sous-ensemble de l'OT pour l'industrie</td></tr>
<tr><td><strong>SCADA</strong></td><td>Supervisory Control and Data Acquisition — supervision centralisée, géographiquement étendue (énergie, eau, gaz)</td></tr>
<tr><td><strong>DCS</strong></td><td>Distributed Control System — contrôle décentralisé sur un site (raffinerie, usine chimique)</td></tr>
<tr><td><strong>PLC</strong></td><td>Programmable Logic Controller — automate (Siemens S7, Allen-Bradley, Schneider M340…)</td></tr>
<tr><td><strong>RTU</strong></td><td>Remote Terminal Unit — équivalent PLC pour sites distants</td></tr>
<tr><td><strong>HMI</strong></td><td>Human-Machine Interface — écran de supervision</td></tr>
<tr><td><strong>Historian</strong></td><td>Base de données temporelle (OSIsoft PI, Aveva Wonderware, AVEVA Historian)</td></tr>
<tr><td><strong>IED</strong></td><td>Intelligent Electronic Device — relais protection, transformateurs intelligents (énergie)</td></tr>
<tr><td><strong>IIoT</strong></td><td>Industrial IoT — capteurs connectés à des plateformes cloud</td></tr>
</table>
</div>
<div class="card">
<h4>IT vs OT — différences fondamentales</h4>
<table>
<tr><th>Aspect</th><th>IT</th><th>OT</th></tr>
<tr><td>Priorité 1</td><td>Confidentialité</td><td>Sécurité humaine (safety)</td></tr>
<tr><td>Priorité 2</td><td>Intégrité</td><td>Disponibilité (uptime 99,999 %)</td></tr>
<tr><td>Priorité 3</td><td>Disponibilité</td><td>Intégrité (puis confidentialité)</td></tr>
<tr><td>Durée vie</td><td>3-5 ans</td><td>15-30 ans — équipements legacy</td></tr>
<tr><td>Patch</td><td>Mensuel</td><td>1-2× par an, fenêtres rares</td></tr>
<tr><td>OS</td><td>Win/Linux récents</td><td>Win XP/7, RTOS, propriétaires (Stratus, VxWorks)</td></tr>
<tr><td>Reboot</td><td>Banal</td><td>Coût significatif (perte production)</td></tr>
<tr><td>Auth</td><td>AD, MFA</td><td>Login partagé, mdp défaut</td></tr>
<tr><td>Temps réel</td><td>Best effort</td><td>Hard (ms ou µs)</td></tr>
</table>
</div>
</div>
<div class="card" style="margin-top:1rem">
<h4>Pourquoi l'OT est devenu critique en cybersécurité</h4>
<ul style="font-size:.88rem;padding-left:1.2rem;line-height:1.9">
<li><strong>Convergence IT/OT</strong> — les réseaux industriels, autrefois air-gapped, sont massivement connectés à l'IT et parfois au cloud</li>
<li><strong>Stuxnet (2010)</strong> — premier malware ciblé OT, contre les centrifugeuses iraniennes (Natanz). Inflexion historique.</li>
<li><strong>Industrie 4.0 / IIoT</strong> — capteurs sans-fil, edge computing, intégration ERP</li>
<li><strong>Ransomware ICS</strong> — Colonial Pipeline (2021), JBS, Norsk Hydro</li>
<li><strong>Géopolitique</strong> — états ciblent les infrastructures critiques (énergie, eau, transport, santé) — Volt Typhoon (Chine), Sandworm (Russie)</li>
<li><strong>Régulation</strong> — NIS2, IEC 62443, NERC CIP (US), TSA SD (US pipelines)</li>
</ul>
</div>
</section>
<section id="purdue">
<h2>Modèle Purdue — référence</h2>
<p style="font-size:.88rem;margin-bottom:.5rem">Issu de la <strong>Purdue Reference Architecture</strong> (1990, université de Purdue). Référencé par ISA-95 et IEC 62443 pour segmenter les zones et conduits.</p>
<div class="purdue-box">
<div class="purdue-lvl l5">Niveau 5 — Enterprise zone <small>ERP, email, internet, business systems</small></div>
<div class="purdue-lvl l4">Niveau 4 — Site business <small>MES (Manufacturing Execution System), file servers, AD</small></div>
<div class="purdue-lvl l35">DMZ industrielle (3.5) <small>Historians, jump servers, antivirus, WSUS — proxy IT/OT</small></div>
<div class="purdue-lvl l3">Niveau 3 — Site operations <small>HMI/SCADA, historians locaux, engineering workstations</small></div>
<div class="purdue-lvl l2">Niveau 2 — Supervisory <small>HMI locales, contrôleurs SCADA, alarming</small></div>
<div class="purdue-lvl l1">Niveau 1 — Basic control <small>PLC, RTU, IED, contrôleurs</small></div>
<div class="purdue-lvl l0">Niveau 0 — Process <small>Capteurs, actionneurs, moteurs, vannes</small></div>
</div>
<div class="grid g2" style="margin-top:1rem">
<div class="card">
<h4>Principes</h4>
<ul style="font-size:.85rem;padding-left:1.2rem;line-height:1.9">
<li>Communication <strong>autorisée seulement entre niveaux adjacents</strong> en théorie</li>
<li><strong>Pas de communication directe</strong> entre Enterprise (L4/L5) et Control (L0-L3)</li>
<li>La <strong>DMZ industrielle (L3.5)</strong> est le pivot : push de données vers IT, pas l'inverse</li>
<li>Idéalement <strong>data diode</strong> (unidirectionnelle) ou pare-feu industriel</li>
<li>Les flux doivent être <strong>déterministes</strong> — pas de découverte spontanée</li>
</ul>
</div>
<div class="card">
<h4>Évolution — Purdue n'est plus suffisant</h4>
<p style="font-size:.88rem;margin-bottom:.5rem">Les nouveaux usages (cloud, IIoT, edge, jump servers) cassent le modèle strict :</p>
<ul style="font-size:.85rem;padding-left:1.2rem;line-height:1.7">
<li>Capteurs IIoT envoient directement à Azure IoT Hub / AWS IoT</li>
<li>Edge computing au niveau 2 communique au cloud</li>
<li>Maintenance vendor à distance via VPN/TeamViewer</li>
<li><strong>Évolutions modernes</strong> : Zero Trust adapté OT, microsegmentation, ZTNA, broker explicite IT/OT</li>
</ul>
<div class="info-box blue" style="margin-top:.4rem;font-size:.82rem">
Purdue reste un excellent point de départ pour <strong>cartographier les zones et les flux légitimes</strong>, puis appliquer des contrôles plus fins par-dessus.
</div>
</div>
</div>
</section>
<section id="hw">
<h2>Composants matériels</h2>
<div class="grid g2">
<div class="card">
<h4>PLC — Programmable Logic Controller</h4>
<p style="font-size:.88rem;margin-bottom:.5rem">L'automate, brique de base. Exécute un programme cyclique (scan time : 1-100 ms).</p>
<ul style="font-size:.85rem;padding-left:1.2rem;line-height:1.9">
<li><strong>CPU</strong> : exécute le programme</li>
<li><strong>I/O</strong> : entrées TOR (boutons, capteurs ON/OFF) + analogiques (4-20 mA, 0-10 V) + sorties (relais, électrovannes…)</li>
<li><strong>Communication</strong> : Ethernet (Modbus TCP, PROFINET, EtherNet/IP), série (Modbus RTU, PROFIBUS DP), bus de fond de panier</li>
<li>Programmé en <strong>langages IEC 61131-3</strong> : LD (Ladder Diagram), FBD (Function Block Diagram), ST (Structured Text), IL (Instruction List), SFC (Sequential Function Chart)</li>
</ul>
<h4 style="margin-top:.8rem">Vendors majeurs</h4>
<p style="font-size:.85rem">Siemens (S7-300/400/1200/1500), Rockwell/Allen-Bradley (ControlLogix, CompactLogix), Schneider Electric (Modicon M340/M580), Mitsubishi (MELSEC), Omron, Beckhoff, B&R, ABB, Hitachi, GE.</p>
</div>
<div class="card">
<h4>HMI / SCADA / DCS</h4>
<ul style="font-size:.85rem;padding-left:1.2rem;line-height:1.9">
<li><strong>HMI</strong> : pupitre / écran tactile / PC industriel qui affiche le procédé et permet à l'opérateur d'agir. Logiciels : Siemens WinCC, Wonderware InTouch, Schneider Vijeo Designer, Ignition, Rockwell FactoryTalk View</li>
<li><strong>SCADA</strong> : suite logicielle de supervision distribuée. Iconic, Wonderware System Platform, OSI Pi, ClearSCADA, WinCC OA</li>
<li><strong>DCS</strong> : architecture monolithique d'un vendor unique pour un site (raffinerie). Honeywell Experion, Emerson DeltaV, Siemens PCS 7, ABB 800xA, Yokogawa Centum</li>
</ul>
<div class="info-box blue" style="margin-top:.4rem;font-size:.82rem">
Différence DCS / SCADA : DCS pour un site, contrôle process complexe et continu. SCADA pour superviser des sites géographiquement distribués (puits, transformateurs, postes).
</div>
</div>
</div>
<div class="grid g2" style="margin-top:1rem">
<div class="card">
<h4>RTU, IED, gateways</h4>
<ul style="font-size:.85rem;padding-left:1.2rem;line-height:1.9">
<li><strong>RTU</strong> : Remote Terminal Unit — pour sites distants (postes électriques, stations pompage), souvent avec GSM/radio/satellite. SEL-3530, GE D20, ABB RTU500</li>
<li><strong>IED</strong> : relais de protection numériques, mesure (énergie). IEC 61850 pour l'automatisation des sous-stations. SEL-451, Schneider Sepam, Siemens SIPROTEC</li>
<li><strong>Industrial gateways</strong> : convertissent protocoles (Modbus RTU ↔ OPC UA, BACnet ↔ MQTT). Moxa, eWON, HMS Industrial Networks</li>
<li><strong>Industrial firewalls</strong> : Tofino, Belden Hirschmann EAGLE, Cisco IE3300/IC3000, Fortinet FortiGate Rugged 30D</li>
<li><strong>Switches industriels</strong> : IP67/IP65, fanless, large température (-40 à +75 °C), durcis vibrations. Hirschmann, Moxa, Cisco IE, Siemens SCALANCE</li>
</ul>
</div>
<div class="card">
<h4>Capteurs & actionneurs (L0)</h4>
<table>
<tr><th>Type</th><th>Exemples</th></tr>
<tr><td>Capteur</td><td>Température (PT100, thermocouple), pression, niveau, débit, position, vibration, qualité (pH, conductivité)</td></tr>
<tr><td>Actionneur</td><td>Vannes (TOR, modulantes), pompes, moteurs (avec variateur), électrovannes, vérins</td></tr>
<tr><td>Variateurs</td><td>VFD (Variable Frequency Drive) — Schneider ATV, Siemens SINAMICS, Rockwell PowerFlex</td></tr>
<tr><td>Bus de capteurs</td><td>IO-Link, AS-i, HART (mode hybride 4-20 mA + digital)</td></tr>
</table>
<div class="info-box red" style="margin-top:.4rem;font-size:.82rem">
Les capteurs et actionneurs étaient historiquement <strong>passifs</strong>. L'arrivée de l'IIoT (HART/IO-Link / capteurs Wi-Fi/LoRa) introduit des surfaces d'attaque jusqu'au niveau 0.
</div>
</div>
</div>
</section>
<section id="proto">
<h2>Protocoles industriels</h2>
<div class="grid g2">
<div class="card">
<h4>Modbus</h4>
<p style="font-size:.88rem;margin-bottom:.5rem">Le grand-père des protocoles industriels (Modicon, 1979). Master/slave, simple, ubiquitaire.</p>
<ul style="font-size:.85rem;padding-left:1.2rem;line-height:1.9">
<li><strong>Modbus RTU</strong> : série RS-485, binaire, CRC-16</li>
<li><strong>Modbus ASCII</strong> : série, lisible (rare)</li>
<li><strong>Modbus TCP</strong> : sur Ethernet, port 502, MBAP header (transaction id, protocol id, length, unit id)</li>
<li><strong>4 zones d'adresses</strong> : Coils (DO bit), Discrete Inputs (DI bit), Holding Registers (16 bits R/W), Input Registers (16 bits RO)</li>
<li><strong>Function codes</strong> : 01 Read Coils, 03 Read Holding Registers, 05 Write Single Coil, 06 Write Single Register, 15/16 Write Multiple</li>
</ul>
<div class="info-box red" style="margin-top:.4rem;font-size:.82rem">
<strong>Modbus n'a aucune sécurité</strong> : pas d'auth, pas de chiffrement, pas de protection intégrité. Modbus Secure (Modbus TCP Security RFC 8519) ajoute TLS — quasi non déployé.
</div>
</div>
<div class="card">
<h4>PROFINET & PROFIBUS</h4>
<p style="font-size:.88rem;margin-bottom:.5rem">Siemens — dominant en Europe.</p>
<ul style="font-size:.85rem;padding-left:1.2rem;line-height:1.9">
<li><strong>PROFIBUS DP</strong> : RS-485, déterministe, master/slave, 9,6 kbps à 12 Mbps</li>
<li><strong>PROFIBUS PA</strong> : pour zones ATEX (process)</li>
<li><strong>PROFINET</strong> : sur Ethernet, basé UDP/Ethernet, real-time</li>
<li>3 classes : <strong>NRT</strong> (Non Real-Time) sur TCP/IP standard, <strong>RT</strong> (Real-Time) en cycle ≤ 10 ms, <strong>IRT</strong> (Isochronous Real-Time) cycle ≤ 1 ms avec timing déterministe</li>
<li>Inclut PROFIsafe (sécurité fonctionnelle), PROFIdrive (variateurs)</li>
<li>Discovery : DCP (Discovery and Configuration Protocol) — fingerprintable</li>
</ul>
</div>
</div>
<div class="grid g2" style="margin-top:1rem">
<div class="card">
<h4>EtherNet/IP & autres</h4>
<ul style="font-size:.85rem;padding-left:1.2rem;line-height:1.9">
<li><strong>EtherNet/IP</strong> : Allen-Bradley/ODVA, basé CIP (Common Industrial Protocol). Dominant US. Port 44818/2222.</li>
<li><strong>CC-Link IE</strong> : Mitsubishi, Asie/Japon</li>
<li><strong>EtherCAT</strong> : Beckhoff, real-time hard, frame qui circule en chaîne (≤ 100 µs cycle)</li>
<li><strong>POWERLINK</strong> : B&R, real-time</li>
<li><strong>Sercos III</strong> : motion control</li>
<li><strong>Foundation Fieldbus, HART</strong> : process industries</li>
<li><strong>BACnet</strong> : building automation (HVAC, éclairage)</li>
<li><strong>KNX</strong> : domotique commerciale</li>
<li><strong>DNP3</strong> : utilities/énergie en Amérique du Nord — équivalent OT du SNMP. Port 20000. Existe en DNP3 Secure Authentication</li>
<li><strong>IEC 60870-5-104</strong> : utilities/énergie en Europe. Port 2404. TASE.2 (ICCP) pour interconnexions</li>
<li><strong>IEC 61850</strong> : automatisation sous-stations électriques — GOOSE multicast pour télédéclenchement</li>
</ul>
</div>
<div class="card">
<h4>OPC UA — l'avenir</h4>
<p style="font-size:.88rem;margin-bottom:.5rem"><strong>OPC Unified Architecture</strong> (IEC 62541) — moderne, sécurisé, multi-plateforme.</p>
<ul style="font-size:.85rem;padding-left:1.2rem;line-height:1.9">
<li>Successeur d'OPC Classic (DCOM, Windows-only)</li>
<li>Modèle d'information orienté objet (address space)</li>
<li>Auth via certificats X.509 + username/password</li>
<li><strong>Sécurité native</strong> : SignAndEncrypt avec ECC/AES/SHA256</li>
<li>3 modes : None / Sign / SignAndEncrypt — toujours utiliser le 3e</li>
<li>Binary (port 4840) ou HTTPS</li>
<li><strong>OPC UA over TSN</strong> (Time-Sensitive Networking) — convergence IT/OT déterministe Ethernet</li>
<li>Companion specs : PackML, AutoID, MDIS (oil & gas), MTConnect</li>
</ul>
<div class="info-box green" style="margin-top:.4rem;font-size:.82rem">
Recommandé par IEC 62443 et la <strong>NIS2</strong>. La plupart des projets greenfield (digital twin, MES) utilisent OPC UA.
</div>
</div>
</div>
<div class="card" style="margin-top:1rem">
<h4>Cybersécurité des protocoles — état de l'art</h4>
<table>
<tr><th>Protocole</th><th>Sécurité native</th><th>Notes</th></tr>
<tr><td>Modbus</td><td>Aucune</td><td>Modbus Secure existe — déploiement nul</td></tr>
<tr><td>PROFINET</td><td>Aucune (PROFINET Security en cours)</td><td>S'appuyer sur isolation réseau</td></tr>
<tr><td>EtherNet/IP</td><td>CIP Security (depuis 2019)</td><td>Adoption lente</td></tr>
<tr><td>DNP3</td><td>DNP3 Secure Authentication v5</td><td>Disponible mais peu déployé</td></tr>
<tr><td>IEC 60870-5-104</td><td>IEC 62351 (TLS)</td><td>Recommandé par NIS2</td></tr>
<tr><td>IEC 61850</td><td>IEC 62351-6 (GOOSE/SV authentication)</td><td>Requis pour les nouvelles installations</td></tr>
<tr><td>OPC UA</td><td>Native (X.509 + AEAD)</td><td>Référence moderne</td></tr>
<tr><td>MQTT</td><td>TLS + auth (config)</td><td>Très utilisé en IIoT</td></tr>
</table>
</div>
</section>
<section id="threats">
<h2>Menaces & incidents historiques</h2>
<div class="grid g2">
<div class="card">
<h4>Stuxnet (2010) — point d'inflexion</h4>
<ul style="font-size:.85rem;padding-left:1.2rem;line-height:1.9">
<li>Cible : centrifugeuses Natanz (Iran), enrichissement uranium</li>
<li>Worm sophistiqué attribué à USA/Israël (opération Olympic Games)</li>
<li>4 zero-days Windows + 2 certificats volés (Realtek, JMicron)</li>
<li>Cible spécifique : <strong>S7-315/417 PLCs + Profibus</strong> avec variateurs Vacon ou Fararo Paya à fréquences précises</li>
<li>Modifie le code ladder des PLCs en envoyant des fréquences erronées (1064 Hz) tout en envoyant des valeurs normales aux HMI</li>
<li>Aurait détruit ~1000 centrifugeuses, retardé le programme nucléaire iranien</li>
</ul>
</div>
<div class="card">
<h4>Autres incidents majeurs</h4>
<table>
<tr><th>Année</th><th>Incident</th></tr>
<tr><td>2014</td><td>Stahlwerk Allemagne — phishing, accès SCADA, dégât physique haut-fourneau</td></tr>
<tr><td>2015</td><td>Ukraine — BlackEnergy 3 + KillDisk, coupure électrique 230k clients (Sandworm/Russie)</td></tr>
<tr><td>2016</td><td>Ukraine 2 — Industroyer/CrashOverride — premier malware ICS modulaire, IEC 60870, IEC 61850, OPC</td></tr>
<tr><td>2017</td><td>Triton/Trisis — cible Triconex Safety Instrumented System (SIS) en Arabie Saoudite. PREMIER attaque SIS. Aurait pu causer explosion/morts</td></tr>
<tr><td>2017</td><td>NotPetya — Maersk, Merck, Mondelez. Pas ICS-targeted mais a paralysé OT (TNT, Reckitt…)</td></tr>
<tr><td>2019</td><td>Norsk Hydro — LockerGoga ransomware, switch en manuel des usines aluminium pendant des semaines</td></tr>
<tr><td>2021</td><td>Colonial Pipeline — DarkSide ransomware sur IT a forcé arrêt OT (pipeline 8000 km, USA East Coast). 4,4 M$ rançon payée.</td></tr>
<tr><td>2021</td><td>Oldsmar Florida — tentative empoisonnement eau via TeamViewer compromis</td></tr>
<tr><td>2022</td><td>Industroyer2 + INCONTROLLER/PIPEDREAM — toolkits ICS modulaires, sponsorisé étatique</td></tr>
<tr><td>2024</td><td>Volt Typhoon (Chine) — pré-positionnement dans infra critique US (eau, énergie, transport)</td></tr>
</table>
</div>
</div>
<div class="card" style="margin-top:1rem">
<h4>Acteurs & outils</h4>
<table>
<tr><th>Groupe</th><th>Sponsor</th><th>Cibles</th></tr>
<tr><td>Sandworm / Voodoo Bear</td><td>Russie (GRU 74455)</td><td>Énergie Ukraine, France, USA</td></tr>
<tr><td>Xenotime</td><td>Russie (TsNIIKhM)</td><td>Auteur de Triton — SIS, oil & gas</td></tr>
<tr><td>Volt Typhoon / VANGUARD PANDA</td><td>Chine (MSS)</td><td>Infra critique US, télécoms</td></tr>
<tr><td>Allanite / Palmetto Fusion</td><td>Russie</td><td>Reconnaissance ICS US</td></tr>
<tr><td>Lazarus</td><td>Corée du Nord</td><td>Crypto, finance, ponctuellement ICS</td></tr>
<tr><td>Hacktivists pro-Russie/pro-Ukraine</td><td>Non-étatiques</td><td>Eau, panneaux affichage, parfois ICS</td></tr>
</table>
<h4 style="margin-top:1rem">Frameworks pertinents</h4>
<ul style="font-size:.85rem;padding-left:1.2rem;line-height:1.9">
<li><strong>MITRE ATT&CK for ICS</strong> — 14 tactiques (Initial Access, Execution, Persistence, … Impair Process Control, Damage to Property, Loss of Safety…)</li>
<li><strong>Dragos Industrial Cyber Kill Chain</strong> — variant du Lockheed pour OT</li>
<li><strong>ICS Cyber Kill Chain</strong> (Assante/Lee, SANS) — 2 étapes (intrusion IT puis attaque ICS)</li>
</ul>
</div>
</section>
<section id="standards">
<h2>IEC 62443 & normes</h2>
<div class="grid g2">
<div class="card">
<h4>IEC 62443 — la référence</h4>
<p style="font-size:.88rem;margin-bottom:.5rem">Famille de normes ISA/IEC pour la sécurité des systèmes d'automatisation et de contrôle industriels (IACS). Organisée en 4 parties :</p>
<table>
<tr><th>Partie</th><th>Sujet</th></tr>
<tr><td>62443-1</td><td>Concepts, modèles, terminologie</td></tr>
<tr><td>62443-2 (2-1, 2-3, 2-4)</td><td>Politiques et procédures — pour les opérateurs IACS</td></tr>
<tr><td>62443-3 (3-1, 3-2, 3-3)</td><td>Système — niveaux SL (Security Level) 1-4, exigences techniques</td></tr>
<tr><td>62443-4 (4-1, 4-2)</td><td>Composants — exigences pour produits et leur cycle de développement</td></tr>
</table>
<h4 style="margin-top:1rem">Concepts clés</h4>
<ul style="font-size:.85rem;padding-left:1.2rem;line-height:1.7">
<li><strong>Zones & Conduits</strong> — segmentation logique. Une zone = group d'assets avec exigences sécurité similaires. Conduit = ce qui relie 2 zones.</li>
<li><strong>Security Level Target (SL-T)</strong> : niveau visé pour une zone, 1 à 4</li>
<li><strong>Security Level Capability (SL-C)</strong> : niveau atteignable par un produit</li>
<li><strong>Security Level Achieved (SL-A)</strong> : niveau réellement atteint après déploiement</li>
<li>7 <strong>Foundational Requirements</strong> (FR) : IAC, UC, SI, DC, RDF, TRE, RA</li>
</ul>
</div>
<div class="card">
<h4>Niveaux de sécurité</h4>
<table>
<tr><th>SL</th><th>Profil de l'attaquant</th></tr>
<tr><td>SL 1</td><td>Violation accidentelle / opportuniste</td></tr>
<tr><td>SL 2</td><td>Cybercriminel low-skill, opportuniste</td></tr>
<tr><td>SL 3</td><td>Attaquant motivé avec compétences modérées + connaissance spécifique IACS</td></tr>
<tr><td>SL 4</td><td>Attaquant étatique, ressources étendues, accès insider possible</td></tr>
</table>
<h4 style="margin-top:1rem">Foundational Requirements (FR)</h4>
<ol style="font-size:.85rem;padding-left:1.2rem;line-height:1.7">
<li><strong>IAC</strong> — Identification and Authentication Control</li>
<li><strong>UC</strong> — Use Control</li>
<li><strong>SI</strong> — System Integrity</li>
<li><strong>DC</strong> — Data Confidentiality</li>
<li><strong>RDF</strong> — Restricted Data Flow</li>
<li><strong>TRE</strong> — Timely Response to Events</li>
<li><strong>RA</strong> — Resource Availability</li>
</ol>
</div>
</div>
<div class="grid g2" style="margin-top:1rem">
<div class="card">
<h4>Autres normes & régulations</h4>
<table>
<tr><th>Norme</th><th>Portée</th></tr>
<tr><td><strong>NIST SP 800-82</strong> (rev 3, 2023)</td><td>Guide US Security ICS — exhaustif, gratuit</td></tr>
<tr><td><strong>NERC CIP</strong></td><td>Régulation US obligatoire pour le bulk electric system (BES) — 14 standards CIP-002 à CIP-014</td></tr>
<tr><td><strong>TSA Pipeline SD</strong></td><td>Security Directives post-Colonial Pipeline 2021</td></tr>
<tr><td><strong>NIS2</strong> (UE 2022/2555)</td><td>Inclut explicitement les opérateurs critiques OT. Transposition 17 oct 2024.</td></tr>
<tr><td><strong>CER</strong> (UE 2022/2557)</td><td>Critical Entities Resilience — complémentaire NIS2 pour les opérateurs essentiels</td></tr>
<tr><td><strong>LPM / OIV / OSE</strong> (France)</td><td>Loi de Programmation Militaire — 12 secteurs, contrôlés par ANSSI</td></tr>
<tr><td><strong>BSI Kritis</strong> (Allemagne)</td><td>Régulation Kritis pour infra critique</td></tr>
<tr><td><strong>ISO 27019</strong></td><td>Annexe énergie de ISO 27002</td></tr>
<tr><td><strong>IEC 61508 / 61511</strong></td><td>Sécurité fonctionnelle (SIL) — pas cyber mais souvent confondu</td></tr>
</table>
</div>
<div class="card">
<h4>NIS2 — secteurs OT concernés</h4>
<p style="font-size:.88rem;margin-bottom:.5rem">"Annexe I" entités essentielles avec composantes OT majeures :</p>
<ul style="font-size:.85rem;padding-left:1.2rem;line-height:1.7">
<li>Énergie (électricité, gaz, pétrole, hydrogène, district heating)</li>
<li>Transport (aérien, ferroviaire, routier, maritime)</li>
<li>Banque (focus IT mais data center physique compte)</li>
<li>Santé</li>
<li>Eau potable + eaux usées</li>
<li>Infra numérique + ICT B2B</li>
<li>Administration publique</li>
<li>Espace</li>
</ul>
<p style="font-size:.85rem;margin-top:.3rem">Pour ces opérateurs : obligations renforcées + notification incident 24h/72h + responsabilité dirigeants. Voir la <a href="nis2_interactive.html" style="color:var(--acc)">fiche NIS2 dédiée</a>.</p>
</div>
</div>
</section>
<section id="defense">
<h2>Défense & segmentation</h2>
<div class="grid g2">
<div class="card">
<h4>Principes de base</h4>
<ol style="font-size:.85rem;padding-left:1.2rem;line-height:1.9">
<li><strong>Asset inventory</strong> exhaustif — on ne protège pas ce qu'on ne connaît pas. Outils : Claroty, Nozomi, Dragos, Tenable.ot, Microsoft Defender for IoT, Forescout.</li>
<li><strong>Cartographier les flux légitimes</strong> (matrice source/destination/port/protocol)</li>
<li><strong>Segmentation</strong> selon Purdue + micro-segmentation pour les flux critiques</li>
<li><strong>Pare-feu industriel</strong> à chaque conduit avec règles strictes</li>
<li><strong>Pas d'accès direct IT → OT</strong> — passage par DMZ industrielle</li>
<li><strong>Patch management</strong> proportionné — fenêtres planifiées, tests préprod, virtual patching</li>
<li><strong>Hardening</strong> des HMI/EWS/SCADA (Win patches, AV compatibles OT, allowlist applicative)</li>
<li><strong>Backups</strong> immutables, testés, hors-ligne, des programmes PLC et configs</li>
<li><strong>Monitoring passif</strong> (sondes en mode SPAN, jamais inline) — Claroty/Nozomi/Dragos détectent les anomalies, dérives baseline</li>
<li><strong>IR plan</strong> incluant opérations manuelles si système compromis</li>
</ol>
</div>
<div class="card">
<h4>Cas d'usage de la DMZ industrielle</h4>
<p style="font-size:.88rem;margin-bottom:.5rem">Niveau 3.5 — entre IT et OT. Héberge typiquement :</p>
<ul style="font-size:.85rem;padding-left:1.2rem;line-height:1.9">
<li><strong>Replicated Historian</strong> — copie en push depuis OT Historian, lue par IT/BI</li>
<li><strong>Jump server</strong> avec MFA pour la maintenance vendor</li>
<li><strong>Update servers</strong> — WSUS, antivirus signatures, mises à jour propres</li>
<li><strong>Reverse proxy</strong> pour applications HMI accessibles en read-only</li>
<li><strong>File transfer</strong> sécurisé (Managed File Transfer)</li>
<li><strong>Data diode</strong> pour les flux strictement OT → IT (Owl, Waterfall, BAE)</li>
</ul>
<div class="info-box red" style="margin-top:.4rem;font-size:.82rem">
Le jump server est <strong>l'asset le plus à protéger</strong> de la DMZ — MFA obligatoire, monitoring, session recording (PAM), comptes éphémères.
</div>
</div>
</div>
<div class="grid g2" style="margin-top:1rem">
<div class="card">
<h4>Monitoring & détection OT</h4>
<p style="font-size:.88rem;margin-bottom:.5rem">Approche <strong>passive</strong> (SPAN port, TAP) — pas d'injection sur le réseau industriel (déstabilise les PLCs).</p>
<table>
<tr><th>Outil</th><th>Notes</th></tr>
<tr><td><strong>Claroty xDome / CTD</strong></td><td>Leader marché, asset discovery + monitoring</td></tr>
<tr><td><strong>Nozomi Guardian / Vantage</strong></td><td>Très bonne couverture protocoles</td></tr>
<tr><td><strong>Dragos Platform</strong></td><td>Threat intel ICS forte (rapports YIR annuels)</td></tr>
<tr><td><strong>Microsoft Defender for IoT</strong></td><td>Issu CyberX, intégré Defender XDR</td></tr>
<tr><td><strong>Tenable.ot</strong></td><td>Active + passive scanning</td></tr>
<tr><td><strong>Forescout eyeInspect</strong></td><td>Anciennement SilentDefense</td></tr>
<tr><td><strong>Cisco Cyber Vision</strong></td><td>Intégré aux switches IE Cisco</td></tr>
<tr><td><strong>Armis</strong></td><td>Visibility multi-environnements</td></tr>
<tr><td><strong>Kaspersky ICS Cybersecurity</strong></td><td>Endpoint + network</td></tr>
</table>
</div>
<div class="card">
<h4>Checklist priorisée — 10 actions OT</h4>
<ol style="font-size:.85rem;padding-left:1.2rem;line-height:1.9">
<li><strong>Inventaire complet</strong> assets, firmware versions, flux</li>
<li><strong>Segmentation Purdue</strong> avec pare-feu à chaque conduit</li>
<li><strong>DMZ industrielle</strong> stricte, pas d'accès direct IT-OT</li>
<li><strong>Jump server MFA</strong> + PAM (CyberArk, BeyondTrust)</li>
<li><strong>Désactiver protocoles non utilisés</strong> sur les PLCs (HTTP, FTP, Telnet, SNMP v1/v2c)</li>
<li><strong>Mots de passe par défaut</strong> changés — admin/admin sur HMI = catastrophe</li>
<li><strong>Monitoring passif</strong> avec une sonde OT</li>
<li><strong>Backups immuables</strong> testés régulièrement (programs PLC, configs HMI, BDD historian)</li>
<li><strong>Vendor remote access</strong> : VPN + MFA + sessions enregistrées, jamais TeamViewer/AnyDesk en exposition directe</li>
<li><strong>IR exercise</strong> annuel avec scénario OT (incl. manual fallback)</li>
</ol>
</div>
</div>
<div class="card" style="margin-top:1rem">
<h4>Cas concret — recommandations Volt Typhoon (CISA AA24-038A)</h4>
<p style="font-size:.88rem;margin-bottom:.5rem">CISA + NSA + FBI ont publié en février 2024 des guidances après détection de Volt Typhoon pré-positionné dans des infrastructures US :</p>
<ul style="font-size:.85rem;padding-left:1.2rem;line-height:1.9">
<li>Activer MFA partout, incl. comptes service</li>
<li>Restreindre PowerShell, audit "Living off the Land binaries" (LOLBins)</li>
<li>Réduire la surface RDP/SSH/VPN — exposition minimale</li>
<li>Hunting actif sur les comptes admin (création, élévation, persistance)</li>
<li>Centraliser logs (auth, dns, firewall) sur SIEM avec rétention 1 an+</li>
<li>Bug bounty / pentest réguliers sur le périmètre exposé</li>
</ul>
</div>
</section>
<section id="quiz">
<h2>Quiz — OT/ICS/SCADA</h2>
<div id="quiz-container"></div>
<div id="quiz-score"></div>
</section>
<script>
function showTab(id){document.querySelectorAll('section').forEach(s=>s.classList.remove('active'));document.querySelectorAll('.tab-btn').forEach(b=>b.classList.remove('active'));document.getElementById(id).classList.add('active');event.target.classList.add('active')}
const quizData=[
{q:"Quelle est la priorité #1 en OT (vs IT) ?",opts:["Confidentialité","Sécurité humaine (safety) puis disponibilité","Intégrité","Audit"],a:1},
{q:"Que représente un PLC ?",opts:["PC industriel","Programmable Logic Controller — automate cyclique exécutant LD/FBD/ST","Pare-feu","Capteur"],a:1},
{q:"Combien de niveaux compte le modèle Purdue (du process à l'enterprise) ?",opts:["3","6 (L0 process à L5 enterprise, avec L3.5 DMZ industrielle)","8","12"],a:1},
{q:"À quel niveau se trouvent les PLCs/RTUs/IEDs ?",opts:["L0","L1 (Basic Control)","L3","L4"],a:1},
{q:"Quel protocole industriel ancien (1979) n'a aucune sécurité native ?",opts:["OPC UA","Modbus (TCP/RTU)","PROFINET Secure","DNP3 SAv5"],a:1},
{q:"OPC UA implémente nativement...",opts:["Aucune sécurité","Sécurité par certificats X.509 + Sign/Encrypt avec AEAD","Mots de passe en clair","SNMP v1"],a:1},
{q:"Le premier malware historique ciblant des PLCs (Natanz, 2010) s'appelait...",opts:["BlackEnergy","Stuxnet","Industroyer","Triton"],a:1},
{q:"Triton/Trisis (2017) était unique car il ciblait...",opts:["Les HMIs","Les Safety Instrumented Systems (Triconex) — premier malware SIS","Les modems","Les imprimantes"],a:1},
{q:"Quelle norme est LA référence internationale pour la sécurité IACS ?",opts:["ISO 9001","IEC 62443 (zones & conduits, SL 1-4, FR)","NIST 800-53","ITIL"],a:1},
{q:"Combien de Foundational Requirements (FR) définit IEC 62443 ?",opts:["3","7 (IAC, UC, SI, DC, RDF, TRE, RA)","10","20"],a:1},
{q:"Le monitoring OT doit être...",opts:["Actif intrusif","Passif (SPAN port / TAP) pour ne pas déstabiliser les PLCs","Désactivé","Inline IPS"],a:1},
{q:"NIS2 (UE) couvre-t-il les opérateurs OT ?",opts:["Non","Oui — explicitement, secteurs essentiels énergie/eau/transport/santé avec composantes OT majeures","Uniquement IT","Pas avant 2030"],a:1},
{q:"À quoi sert une DMZ industrielle (L3.5) ?",opts:["Speed","Pivot sécurisé entre IT et OT — historian replicated, jump server MFA, update servers","Routage","DNS"],a:1}
];
let answers=new Array(quizData.length).fill(null);
function buildQuiz(){const c=document.getElementById('quiz-container');c.innerHTML=quizData.map((q,i)=>`<div class="quiz-q"><p>${i+1}. ${q.q}</p>${q.opts.map((o,j)=>`<div class="quiz-opt" onclick="answer(this,${i},${j})">${o}</div>`).join('')}</div>`).join('')}
function answer(el,qi,oi){const parent=el.parentElement;if(parent.querySelector('.correct,.wrong'))return;answers[qi]=oi;const correct=quizData[qi].a;parent.querySelectorAll('.quiz-opt').forEach((o,j)=>{if(j===correct)o.classList.add('correct');else if(j===oi&&oi!==correct)o.classList.add('wrong')});if(answers.every(a=>a!==null)){const score=answers.filter((a,i)=>a===quizData[i].a).length;const sc=document.getElementById('quiz-score');sc.style.display='block';sc.innerHTML=`Score : ${score}/${quizData.length} ${score>=10?'Excellent !':score>=7?'Bien !':'À revoir'}`}}
buildQuiz();
</script>
</body>
</html>