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

16
Nuit du Hack 2K16 Scénarios d’attaque sur un système industriel

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

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

Nuit du Hack 2K16Scénarios d’attaque surun système industriel

Page 2: Nuit du Hack 2K16 - Scénarios d'attaques 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

ObjectifsUn niveau de protection faible

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

Découverte des vulnérabilitésLes chercheurs et hackers se concentrent depuis 2009 sur la cyber sécurité des composants industriels

2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 20150

50

100

150

200

250

90

61

77

1731 28

43

172

240

180

222

StuxnetProjet Aurora(INL)

Vulnérabilités ICS dévoilées/an (source scadahacker.com)

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

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

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

Boite mystèreAccès illégitime au réseau industriel

Ressemble à un boitier industriel sur rail DIN

Connecté sur le réseau industriel

Légitime ?

Et pourtant…

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

Altération de la logique programméeEnvoi de nouveaux blocs de fonction

PLCSiemensServeur SCADA / client

lourd sous LinuxClient léger SCADA

(Windows) Presse

+-24VS7commHTTP

Inst

alla

tion

nouv

eau

pro

gram

me

Connexion SSH

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

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 FC1CALL FB2, DB2

Mise à jour des cartes de sorties

A I5.0R Q9.3R DB1.DBX2.1

A I5.0R #outR #stat

FC1

FB2

0.0 in BOOL2.0 out BOOL

DB2

0.0 STAT0 BOOL0.1 STAT1 BOOL

DB1

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

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

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

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

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

Langages de programmationDé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

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

Protocole S7Structure 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 102Communications maitre/esclaveNi chiffrement, ni authentificationProtocole basé sur le modèle OSI

COTP : protocole de transport OSI En-tête TPKT : traducteur OSI <-> TCP/IP

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

Autres attaquesMan in the middle - Usurpation et contrôle des flux

PLCSiemensServeur SCADA / client

lourd sous LinuxClient léger SCADA

(Windows) Presse

+-24V

S7comm

HTTP

Connexion SSH

S7co

mm

S7comm

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

Autres attaquesBranchement d’une clé USB directement depuis l’IHM

PLCSiemensServeur SCADA / client

lourd sous LinuxClient léger SCADA

(Windows) Presse

+-24VHTTP S7comm

S7comm :STOP ou RESET

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

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 productionImpact humain et/ou environnementalEspionnage industrielGuerre économique : légers défauts dans la production

Ouverture à de nombreuses possibilités

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

RéférencesQuelques 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

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

Pour en savoir plusContinuez à suivre les activités de Lexsi

Site officielhttps://lexsi.com

Bloghttps://lexsi.com/securityhub

https://linkedin.com/company/lexsiLinkedIn

https://twitter.com/lexsiTwitter

Lexsi recrute... :-)