Cybersécurité de la supervision
Dans ce billet, je vous propose un focus particulier sur la supervision, la pièce maîtresse de l’outil de production qui a l’œil sur tout ce qui passe sur le processus industriel mais qui est aussi dépendante de nombreuses contraintes opérationnelles qui l’oblige à être particulièrement difficile à sécuriser. Focus sur un composant qui suscite la convoitise de plus d’un hacker.
Rôle d’une supervision
Elle est généralement déployée sur la couche 2 du modèle CIM et a pour objectif de superviser l’ensemble du process industriel ou une zone particulière de l’infrastructure. La supervision communique avec le réseau de process et notamment avec tout ou partie des automates programmables. Elle contrôle la disponibilité des services/fonctions en faisant l’acquisition de données remontées par les automates : mesures, alarmes, retour d’état de fonctionnement. Ainsi à travers son IHM elle donne une vue globale et temps réel sur l’état de fonctionnement du process et ses alertes. Mieux qu’une tour de contrôle du système, elle peut aussi intervenir sur le déroulement des opérations et prendre la main sur le procédé en envoyant des commandes (marche/arrêt, consignes…). Enfin, la supervision est interfacée avec un serveur d’historique local (Historian) pour transmettre et archiver les mesures, alarmes et évènements du système. Elle est utilisée par l’opérateur, le mainteneur et l’exploitant du process. En résumé, la supervision recouvre les capacités de visualisation, pilotage et journalisation du processus.
Enjeux de sécurité liés à l’obsolescence des OS
Les systèmes industriels ont des durées de vie de plusieurs dizaines d’années. Cette longévité est principalement due à la dimension, aux coûts de l’installation, son ROI à atteindre, ainsi qu’à une difficulté opérationnelle à faire évoluer son système dans le temps. Dans ce contexte, les composants logiciels et matériels se confrontent à une certaine obsolescence et à des limites technologiques. Pour la supervision, cela se transcrit par l’utilisation d’OS vieillissants qui ne sont plus maintenus par l’éditeur (Microsoft pour ne pas le citer). Aujourd’hui, il peut encore arriver de voir une supervision tourner sous Windows XP. Ainsi, l’utilisation de vieux systèmes d’exploitation limite les possibilités de mise à jour ainsi que l’intégration de fonctions ou de logiciels de sécurité.
Maintenance de la supervision
Les environnements industriels en raison de leur nature, impliquent une continuité de service en 24/7, sans interruption. Ainsi les opérations de maintenance ou de mise à jour des programmes (automate, supervision, équipements de commutation…) devront être justifiées par la correction d’un défaut de fonctionnement opérationnel ou par l’optimisation fonctionnelle. Autrement dit, on ne mettra jamais (ou dans de rares cas) à jour l’OS ou l’application de supervision dans le seul but d’être à jour du système. La mise à jour peut impliquer un risque opérationnel (on n’est jamais sûr que tout va bien se passer) et on le sait, la disponibilité du service reste le « maître mot » pour ces systèmes. Sur bon nombre de process la fenêtre de maintenance annuelle est très courte. Elle se déroule parfois sur une journée par an. Dans ce cas de figure, inutile de penser à une mise à jour qui n’aurait pas d’intérêt fonctionnel. Cette contrainte de disponibilité du service implique d’envisager d’autres méthodes de cybersécurité que celles connues, évidentes et intégrées sur tous les systèmes d’information de l’IT. A noter que s’il est effectivement prévu une mise à jour du système, il faudra veiller à ce qu’un mécanisme de signature soit utilisé par la supervision afin de permettre la vérification par l’administrateur de l’authenticité et de l’intégrité des composants logiciels lors de leur installation.
Identification, authentification et rôles associés
Au sein d’une entreprise les PC de bureautique sont alloués à chaque collaborateur qui en est le responsable et l’unique utilisateur. A l’inverse, au sein des systèmes industriels, la supervision est utilisée par des équipes qui se relaient en 3/8. Chaque équipe est composée d’utilisateurs ayant des profils différents (opérateur de maintenance, exploitant…) et avec des besoins différents. Il faudra pouvoir créer des comptes uniques pour chacun de ces utilisateurs. On veillera à bien distinguer les comptes de session Windows, des comptes de l’application (les logiciels de supervision prévoient une gestion de comptes et des privilèges associés). En fonction du rôle de l’employé on attribuera les autorisations adaptées avec une attention particulière pour les administrateurs systèmes et administrateurs de l’application. La politique de création de profils de comptes et les privilèges associés seront documentés et intégrés à la PSSI. A noter, qu’il peut être de bon goût d’intégrer (quand c’est possible) un serveur d’authentification LDAP (par extension Active Directory) dans l’OT (pour la supervision mais aussi pour l’ensemble des postes). On privilégiera une synchronisation régulière du LDAP OT avec le serveur IT plutôt qu’une interconnexion directe avec le serveur IT pour éviter de ne plus pouvoir accéder aux postes de l’usine si la liaison IT/OT est coupée. Dans l’idéal on intégrera d’ailleurs le serveur d’authentification dans une DMZ qui lui est propre. Enfin, pour les process où l’authentification n’est pas possible il faudra mettre en œuvre des mesures compensatoires comme un contrôle d’accès physique, un cloisonnement logique de l’équipement ou une limitation de l’accès à la simple consultation quand cela est possible (on surveille le process mais on n’intervient pas).
Pilotage en temps réel ou presque
Les automates fonctionnent sur la base d’OS temps réel permettant une maîtrise fine des délais et une gestion des temps de cycle des programmes embarqués. Le fonctionnement du process tire parti de ces capacités. Ainsi, les échanges de données, les relevés de valeurs et les actions sur le processus sont orchestrés de manière minutieuse et totalement prévisible. Le dépassement d’une échéance pour un système temps réel dit « dur » peut être catastrophique. Pour éviter cela, on cherchera à être prévisible, déterministe et fiable. Pour la supervision, la contrainte n’est pas aussi extrême mais il est important d’éviter toute latence entre une commande d’un opérateur et la réaction de l’équipement : il faudra que la vanne s’ouvre instantanément si l’opérateur constate que la cuve est pleine et qu’il faut la vider. La supervision doit conserver toutes ses performances pour assurer son rôle de superviseur ainsi que pour pouvoir intervenir immédiatement sur le processus. C’est notamment pour cela qu’il faudra s’assurer que les fonctions de sécurité mises en œuvre ne soient pas gourmandes en performance et ne viennent pas perturber le bon fonctionnement applicatif.
Hygiène du poste et mise en place de fonctions de sécurité :
Il y a quelques années on a tenté de généraliser l'installation d'anti-virus dans les usines. Après quelques difficultés d’intégration, force est de constater qu’aujourd’hui les équipes métiers et cyber convergent vers une utilisation parcimonieuse de ces solutions, notamment sur les postes de supervision. Les dégâts collatéraux sont connus. En effet, une fois déployé l’anti-virus peut :
· Provoquer des faux positifs qui mettent en danger le système dans sa globalité ;
· Consommer des ressources informatiques qui pourraient perturber le déterminisme de l’installation (voir paragraphe juste au-dessus);
· Être un nouveau point de vulnérabilité lors de la mise à jour de la base antivirale qui nécessite une connexion vers l’extérieur.
Aujourd’hui on favorisera plutôt la mise en place de fonctions de sécurité de type white listing peu coûteux en ressource et permettant d’attribuer un fort niveau de confiance aux applications utiles et strictement nécessaires à la fonction de supervision. On interdira ainsi toute application qui ne serait pas nécessaire au système. Cette technique qui parait simple est la plus efficace et la plus sûre pour sécuriser son poste.
Gestion des clés USB
L’utilisation de la clé USB est encore très répandue en environnement industriel par les employés de l’entreprise mais aussi par les externes (intégrateurs, fabricants de machines). On connait tous cette facilité à utiliser une clé pour divers usages (personnel/professionnel) et divers clients. Bien qu’elle s’avère pratique elle peut se révéler être une vulnérabilité supplémentaire lorsqu’une politique de gestion de clés USB et des fonctions de sécurité associées sur les postes ne sont pas mises en place. Dans le cadre de la sécurisation de ce média, on privilégiera l’utilisation d’un poste de décontamination dédié à l’analyse de clé (avec un ou plusieurs anti-virus) à l’entrée de l’usine. Des clients logiciels installés sur les postes de l’usine pourront détecter si la clé insérée dans le poste est passée à l’anti-virus de la station de décontamination et si son contenu a été altéré depuis. En fonction, le poste autorise ou pas l’accès à la clé. Ce type de fonction est inclus dans les logiciels endpoint de durcissement de poste. Dans certains contextes très critiques, on privilégiera la condamnation pure et simple de l’utilisation des ports USB. Pour se faire, il existe plusieurs méthodes. Celle que j’ai pu rencontrer consiste à modifier la valeur de registre pour rendre inopérants les ports.
Maintenant que l’a aperçu les contraintes et les solutions à mettre en œuvre, regardons quels sont les menaces qui pèsent sur la supervision.
Les menaces essentielles pour la supervision :
On distingue un certain nombre de menaces potentielles pouvant porter préjudice aux logiciels de supervision et par extension au système industriel. En voici les éléments principaux :
- Altération et compromission des flux en entrée et en sortie. L’attaquant peut être en mesure par exemple de modifier la commande envoyée par l’opérateur et ainsi agir sur le process en cours de manière insidieuse. Il peut également tromper la vision de l’opérateur en donnant une vision erronée de ce qui se passe réellement sur le process.
- Corruption du logiciel et de sa configuration. Dans ce cadre, on peut imaginer de nombreux scénarios. L’attaquant peut modifier la configuration du process, supprimer les comptes de connexion, changer les droits…
- Accès au logiciel par vol d’identifiants ou contournement d’identifiants. Dans le deuxième cas, l’attaquant est en mesure de s’authentifier sur l’application sans forcément avoir les secrets de connexion. On voit bien ici l’intérêt de mettre en œuvre une vraie politique d’authentification avec une gestion des rôles ainsi que de former et sensibiliser les équipes à la gestion des mots de passe.
- Contournement de la politique de droits. L’attaquant parvient à obtenir des droits qui ne lui sont pas normalement dévolus.
Pour conclure, nous conviendrons que la supervision est un poste qui est encore aujourd’hui trop peu sécurisé au regard du risque et du service apporté pour l’outil de production. Il est vrai que très souvent les contraintes opérationnelles ne facilitent pas la tâche. Gageons tout de même que le niveau de maturité des industriels, en constante croissance, et la convergence des équipes IT et OT permettra aux supervisions d’être mieux sécurisées pour se prémunir des prochaines attaques.
Cybersecurity Risk & Compliance
4 ansMerci pour ce billet qui a le mérite d'éclairer le monde de la cyber des particularité de l'OT. Je suis surpris qu'on ne parle pas des IHM et PC pied de machines, souvent fournis par les vendeurs d'automatismes, en mode boite noire avec un OS non accessible et donc aucune gestion des vulnérabilités et patchs de sécurité. C'est pas vraiment la couche 2 dont parle ce billet, mais pas la couche 1 non plus (là il y aurait beaucoup à dire sur les mises à jour de firmware des PLC). Un peu étonné aussi qu'on ne parle pas plus de ségrégation réseau (qui était évidente il y a plus de vingt ans vu les technos utilisées), parce que la séparation des réseaux IT et OT est nécessaire mais pas toujours évidente pour toutes les entreprises. On doit aussi se poser la question de la segmentation des réseaux OT où la couche 2 est connectée par rapport aux réseaux machines où sont connectés tous les composants machines de couche 1 (automates, IHM, variateurs, ..) Maintenant pour revenir sur les antivirus, c'est toujours mieux que rien, dans la mesure où on patche régulièrement les OS (autant que faire se peut). Le principal problème des antivirus c'est qu'ils sont la plupart du temps pensés pour des postes de travail bureautiques et donc mal adaptés : bien sûr l'utilisation CPU/mem/IO est important (mais on peut les comparer, en trouver qui répondent à ce besoin) mais il y a deux points rédhibitoires: la réinstallation complète demandée tous les 2 ou 3 ans (à chaque nouvelle version) et bien sûr la nouvelle version n'est pas compatible avec les OS devenus obsolètes toujours utilisés coté OT. Et pour ces 2 problèmes, malgré les promesses de nouvelles générations de protection basées sur le comportement et plus sur des signatures, on retrouve le même écueil (déjà vécu) et rares sont les fournisseurs qui s'engagent à maintenir ces solutions une fois l'OS obsolète (je n'en connais qu'un seul en fait). Enfin, pour la convergence des équipes IT et OT, c'est un vrai challenge car il faut que ces deux mondes s'acculturent mutuellement. Alors, oui, autant commencer maintenant, parce que ça prend du temps...