SlideShare une entreprise Scribd logo
1  sur  16
Nuit du Hack 2K16
Scénarios d’attaque sur
un système industriel
Mettre en place une maquette
proche des systèmes industriels en
production
Démontrer via des sensibilisations
les vulnérabilités et les impacts
en cas d’attaques
Comprendre le fonctionnement
de la logique et l’organisation d’un
environnement industriel
Objectifs
Un niveau de protection faible
Découverte des vulnérabilités
Les chercheurs et hackers se concentrent depuis 2009 sur la
cyber sécurité des composants industriels
9
0
6
1
7
7
17
31
28
43
172
240
180
222
0
50
100
150
200
250
2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015
Stuxnet
Projet Aurora
(INL)
Vulnérabilités ICS dévoilées/an (source scadahacker.com)
Présentation de la maquette
Automate
Siemens
Attaquant
Switch
Client lourd
sous Linux
Client Web sous
Windows
Topologie du réseau industriel
Interface de
supervision Serveur d’acquisition
Boite mystère
Accès illégitime au réseau industriel
Ressemble à un
boitier industriel sur
rail DIN
Connecté sur le
réseau industriel
Légitime ?
Et pourtant…
Altération de la logique programmée
Envoi de nouveaux blocs de fonction
PLC
SiemensServeur SCADA / client
lourd sous Linux
Client léger SCADA
(Windows)
Presse
+-24VS7commHTTP
Connexion SSH
Comment ça fonctionne ?
Exemple d’exécution cyclique d’un programme
Démarrage de
l'automate (mode RUN)
Lecture des états des
cartes d'entrées
Exécution du bloc OB1 :
CALL FC1
CALL FB2, DB2
Mise à jour des cartes
de sorties
A I5.0
R Q9.3
R DB1.DBX2.1
A I5.0
R #out
R #stat
FC1
FB2
0.0 in BOOL
2.0 out BOOL
DB2
0.0 STAT0 BOOL
0.1 STAT1 BOOL
DB1
Comment ça fonctionne ?
Blocs mémoires - Les différents rôles
Organization Block (OB)
 Appelé suite au déclenchement d’évènements particuliers
 Premier bloc (OB1) lancé au démarrage de l’automate
Function (FC) / Function Block (FB)
 Variables locales temporaires et paramètres en entrée/sortie
 Variables statiques possibles avec les FB grâce aux IDB
System Function (SFC) / System Function Block (SFB)
 Semblables aux blocs précédents
 Ensemble de fonctions systèmes non modifiables
Data Block (DB) / Instance Data Block (IDB) / System Data Block (SDB)
 Variables globales accessibles depuis différentes instances
 IDB lié à un bloc fonctionnel (FB)
 SDB contient des informations systèmes comme la configuration hardware
Comment ça fonctionne ?
Adressage et types de données
7 6 5 4 3 2 1 0
M3.0M3.4M3.7
MB0
MB1
MB2
MB3
MW0
MW2
MD0
Type Format Taille en bits
BOOL Bit 1
BYTE Octet 8
WORD Mot 16
DWORD Mot double 32
INT Entier 16
DINT Entier double 32
REAL Réel 32
CHAR Caractère ASCII 8
Langages de programmation
Définis par le standard IEC 61131-3
Simplicité d’utilisation
Instructions composées
de fonctions logiques
Langages plus proches
de l’électronique que
de la programmation
Ladder diagram
Function block diagram
Instruction List
Protocole S7
Structure d’un paquet
Partie variablePartie fixe
En-tête IP En-tête TCP En-tête TPKT En-tête COTP S7 (en-tête + PDU)
Version Réservé Longueur Longueur Type ParamètresChamps
Mode connecté (TCP) sur le port 102
Communications maitre/esclave
Ni chiffrement, ni authentification
Protocole basé sur le modèle OSI
 COTP : protocole de transport OSI
 En-tête TPKT : traducteur OSI <-> TCP/IP
Autres attaques
Man in the middle - Usurpation et contrôle des flux
PLC
SiemensServeur SCADA / client
lourd sous Linux
Client léger SCADA
(Windows)
Presse
+-24VHTTP
Connexion SSH
S7comm
Autres attaques
Branchement d’une clé USB directement depuis l’IHM
PLC
SiemensServeur SCADA / client
lourd sous Linux
Client léger SCADA
(Windows)
Presse
+-24VHTTP S7comm
S7comm :
STOP ou RESET
14
Risques liés à ce type d’attaques
Une fois que l’attaquant a accès au
SI industriel, il est en mesure de
réaliser tout type d’attaque :
Sabotage / Déni de service fatal
pour les chaines de production
Impact humain et/ou
environnemental
Espionnage industriel
Guerre économique : légers
défauts dans la production
Ouverture à de nombreuses possibilités
Références
Quelques liens utiles…
Moteurs de recherche :
 Shodan : https://www.shodan.io
 Censys : https://censys.io
Solutions logicielles :
 SCADA tools : https://github.com/atimorin/scada-tools
 PLC scan : https://github.com/sbilly/plcscan
 ICShell : https://code.opensource-security.de/brueggemann/icshell
 Snap7 : http://snap7.sourceforge.net
 Libnodave : http://libnodave.sourceforge.net
 GitHub & GitLab – ex : https://github.com/jseidl/virtuaplant
Veille :
 SCADA STRANGE LOVE : http://scadastrangelove.blogspot.fr
 ICS CERT : https://ics-cert.us-cert.gov/advisories
 SCADAhacker : https://scadahacker.com
 Digital Bond : https://www.digitalbond.com
Pour en savoir plus
Continuez à suivre les activités de Lexsi
Site officiel
https://lexsi.com
Blog
https://lexsi.com/securityhub
https://linkedin.com/company/lexsi
LinkedIn
https://twitter.com/lexsi
Twitter
Lexsi recrute... :-)

Contenu connexe

Similaire à Nuit du Hack 2K16 - Scénarios d'attaques sur un système industriel

Altera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitAltera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kit
Wassim Smati
 
Altera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitAltera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kit
Wassim Smati
 
Glossaire accompagner usager
Glossaire accompagner usagerGlossaire accompagner usager
Glossaire accompagner usager
Yassinho55
 
Emulateur d’application soc
Emulateur d’application socEmulateur d’application soc
Emulateur d’application soc
Wassim Smati
 

Similaire à Nuit du Hack 2K16 - Scénarios d'attaques sur un système industriel (20)

Toip slide
Toip slideToip slide
Toip slide
 
soft-shake.ch - Domotique et robotique avec le micro Framework .NET
soft-shake.ch - Domotique et robotique avec le micro Framework .NETsoft-shake.ch - Domotique et robotique avec le micro Framework .NET
soft-shake.ch - Domotique et robotique avec le micro Framework .NET
 
Mrnc n7 2019
Mrnc n7 2019Mrnc n7 2019
Mrnc n7 2019
 
Sca n instructorppt_chapter1_finalfr
Sca n instructorppt_chapter1_finalfrSca n instructorppt_chapter1_finalfr
Sca n instructorppt_chapter1_finalfr
 
TelCar : Solution de lecture des informations de bord de véhicule
TelCar : Solution de lecture des informations de bord de véhiculeTelCar : Solution de lecture des informations de bord de véhicule
TelCar : Solution de lecture des informations de bord de véhicule
 
Diapo zig bee_amin_jan11_final
Diapo zig bee_amin_jan11_finalDiapo zig bee_amin_jan11_final
Diapo zig bee_amin_jan11_final
 
Réutilisation de code entre Windows 8 et Windows Phone 8.
Réutilisation de code entre Windows 8 et Windows Phone 8.Réutilisation de code entre Windows 8 et Windows Phone 8.
Réutilisation de code entre Windows 8 et Windows Phone 8.
 
Type de communication allen bradley 500 et 5000
Type de communication allen bradley 500 et 5000Type de communication allen bradley 500 et 5000
Type de communication allen bradley 500 et 5000
 
Tour Horizont.Net
Tour Horizont.NetTour Horizont.Net
Tour Horizont.Net
 
Datalogger finale
Datalogger finaleDatalogger finale
Datalogger finale
 
Crouzet Automation - em4 Ethernet Brochure, version française
Crouzet Automation - em4 Ethernet Brochure, version françaiseCrouzet Automation - em4 Ethernet Brochure, version française
Crouzet Automation - em4 Ethernet Brochure, version française
 
STRATO Presentation
STRATO PresentationSTRATO Presentation
STRATO Presentation
 
Deploiement_Lora_exo.pdf
Deploiement_Lora_exo.pdfDeploiement_Lora_exo.pdf
Deploiement_Lora_exo.pdf
 
_JCVFr
_JCVFr_JCVFr
_JCVFr
 
IoT (M2M) - Big Data - Analyses : Simulation et Démonstration
IoT (M2M) - Big Data - Analyses : Simulation et DémonstrationIoT (M2M) - Big Data - Analyses : Simulation et Démonstration
IoT (M2M) - Big Data - Analyses : Simulation et Démonstration
 
Altera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitAltera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kit
 
Altera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitAltera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kit
 
Glossaire accompagner usager
Glossaire accompagner usagerGlossaire accompagner usager
Glossaire accompagner usager
 
Les sockets.pptx
Les sockets.pptxLes sockets.pptx
Les sockets.pptx
 
Emulateur d’application soc
Emulateur d’application socEmulateur d’application soc
Emulateur d’application soc
 

Nuit du Hack 2K16 - Scénarios d'attaques sur un système industriel

  • 1. Nuit du Hack 2K16 Scénarios d’attaque sur un système industriel
  • 2. Mettre en place une maquette proche des systèmes industriels en production Démontrer via des sensibilisations les vulnérabilités et les impacts en cas d’attaques Comprendre le fonctionnement de la logique et l’organisation d’un environnement industriel Objectifs Un niveau de protection faible
  • 3. Découverte des vulnérabilités Les chercheurs et hackers se concentrent depuis 2009 sur la cyber sécurité des composants industriels 9 0 6 1 7 7 17 31 28 43 172 240 180 222 0 50 100 150 200 250 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 Stuxnet Projet Aurora (INL) Vulnérabilités ICS dévoilées/an (source scadahacker.com)
  • 4. Présentation de la maquette Automate Siemens Attaquant Switch Client lourd sous Linux Client Web sous Windows Topologie du réseau industriel Interface de supervision Serveur d’acquisition
  • 5. Boite mystère Accès illégitime au réseau industriel Ressemble à un boitier industriel sur rail DIN Connecté sur le réseau industriel Légitime ? Et pourtant…
  • 6. Altération de la logique programmée Envoi de nouveaux blocs de fonction PLC SiemensServeur SCADA / client lourd sous Linux Client léger SCADA (Windows) Presse +-24VS7commHTTP Connexion SSH
  • 7. Comment ça fonctionne ? Exemple d’exécution cyclique d’un programme Démarrage de l'automate (mode RUN) Lecture des états des cartes d'entrées Exécution du bloc OB1 : CALL FC1 CALL FB2, DB2 Mise à jour des cartes de sorties A I5.0 R Q9.3 R DB1.DBX2.1 A I5.0 R #out R #stat FC1 FB2 0.0 in BOOL 2.0 out BOOL DB2 0.0 STAT0 BOOL 0.1 STAT1 BOOL DB1
  • 8. Comment ça fonctionne ? Blocs mémoires - Les différents rôles Organization Block (OB)  Appelé suite au déclenchement d’évènements particuliers  Premier bloc (OB1) lancé au démarrage de l’automate Function (FC) / Function Block (FB)  Variables locales temporaires et paramètres en entrée/sortie  Variables statiques possibles avec les FB grâce aux IDB System Function (SFC) / System Function Block (SFB)  Semblables aux blocs précédents  Ensemble de fonctions systèmes non modifiables Data Block (DB) / Instance Data Block (IDB) / System Data Block (SDB)  Variables globales accessibles depuis différentes instances  IDB lié à un bloc fonctionnel (FB)  SDB contient des informations systèmes comme la configuration hardware
  • 9. Comment ça fonctionne ? Adressage et types de données 7 6 5 4 3 2 1 0 M3.0M3.4M3.7 MB0 MB1 MB2 MB3 MW0 MW2 MD0 Type Format Taille en bits BOOL Bit 1 BYTE Octet 8 WORD Mot 16 DWORD Mot double 32 INT Entier 16 DINT Entier double 32 REAL Réel 32 CHAR Caractère ASCII 8
  • 10. Langages de programmation Définis par le standard IEC 61131-3 Simplicité d’utilisation Instructions composées de fonctions logiques Langages plus proches de l’électronique que de la programmation Ladder diagram Function block diagram Instruction List
  • 11. Protocole S7 Structure d’un paquet Partie variablePartie fixe En-tête IP En-tête TCP En-tête TPKT En-tête COTP S7 (en-tête + PDU) Version Réservé Longueur Longueur Type ParamètresChamps Mode connecté (TCP) sur le port 102 Communications maitre/esclave Ni chiffrement, ni authentification Protocole basé sur le modèle OSI  COTP : protocole de transport OSI  En-tête TPKT : traducteur OSI <-> TCP/IP
  • 12. Autres attaques Man in the middle - Usurpation et contrôle des flux PLC SiemensServeur SCADA / client lourd sous Linux Client léger SCADA (Windows) Presse +-24VHTTP Connexion SSH S7comm
  • 13. Autres attaques Branchement d’une clé USB directement depuis l’IHM PLC SiemensServeur SCADA / client lourd sous Linux Client léger SCADA (Windows) Presse +-24VHTTP S7comm S7comm : STOP ou RESET
  • 14. 14 Risques liés à ce type d’attaques Une fois que l’attaquant a accès au SI industriel, il est en mesure de réaliser tout type d’attaque : Sabotage / Déni de service fatal pour les chaines de production Impact humain et/ou environnemental Espionnage industriel Guerre économique : légers défauts dans la production Ouverture à de nombreuses possibilités
  • 15. Références Quelques liens utiles… Moteurs de recherche :  Shodan : https://www.shodan.io  Censys : https://censys.io Solutions logicielles :  SCADA tools : https://github.com/atimorin/scada-tools  PLC scan : https://github.com/sbilly/plcscan  ICShell : https://code.opensource-security.de/brueggemann/icshell  Snap7 : http://snap7.sourceforge.net  Libnodave : http://libnodave.sourceforge.net  GitHub & GitLab – ex : https://github.com/jseidl/virtuaplant Veille :  SCADA STRANGE LOVE : http://scadastrangelove.blogspot.fr  ICS CERT : https://ics-cert.us-cert.gov/advisories  SCADAhacker : https://scadahacker.com  Digital Bond : https://www.digitalbond.com
  • 16. Pour en savoir plus Continuez à suivre les activités de Lexsi Site officiel https://lexsi.com Blog https://lexsi.com/securityhub https://linkedin.com/company/lexsi LinkedIn https://twitter.com/lexsi Twitter Lexsi recrute... :-)

Notes de l'éditeur

  1. Installation physique du boitier de l’attaquant sur le système industriel Contrôle parfois non rigoureux  Passage de prestataires par exemple
  2. Temps d’apprentissage et d’étude du SI indus à prendre en compte !