Brevet FR3010202A1 — publié le 20150306

La présente invention se rapporte à des moyens de protection pour systèmes informatiques déployés dans un contexte industriel. Elle concerne plus particulièrement des moyens capables d'identifier des comportements anormaux au sein d'une infrastructure industrielle, sans connaissance a priori d'une quelconque signature d'un programme malveillant à l'origine de ces dysfonctionnements. Les infrastructures industrielles comportent de nombreux équipements supervisés, pilotés, et/ou interconnectés par des systèmes informatiques industriels. La vulnérabilité de ces installations à des attaques informatiques est bien réelle, et les risques encourus très significatifs. Parmi les menaces connues, on peut notamment citer les programmes destinés à intercepter, détruire et/ou modifier des données, ou encore les programmes informatiques destinés à modifier ou compromettre le comportement du système. Les solutions pour prévenir ces menaces fonctionnent sur un principe similaire à celui utilisé pour protéger les systèmes d'informations conventionnelles. Par exemple, il est connu d'utiliser, dans des systèmes informatiques industriels, des logiciels basés sur la reconnaissance d'une signature propre à un programme malveillant, appelé logiciel antivirus. Des systèmes de détection d'intrusion, communément désignés par l'acronyme anglais «IDS» pour «intrusion detection system», ont aussi été utilisés afin de repérer des activités suspectes au niveau de l'infrastructure de communication. Toutefois, ces solutions ne sont efficaces que pour les menaces connues et clairement identifiées, ou bien provoquent un taux de fausse alarme rédhibitoire lors de la mise en oeuvre, et nécessitent des mises à jour constantes. La solution, décrite dans le document de brevet WO 2009/128 905, repose sur l'utilisation de tels systèmes de détection conventionnels, en particulier sur l'utilisation d'un système antivirus et d'un système de détection d'intrusion pour remonter des alertes à une console centrale. Ainsi, seules les menaces connues de la base de données des signatures du système antivirus et du système de détection d'intrusion peuvent être interceptées. C'est pourquoi il existe un besoin pour des moyens de détection d'anomalies dans un système informatique industrielle utilisé pour superviser, piloter, et/ou interconnecter des équipements dans une infrastructure industrielle, lesdites anomalies résultant potentiellement de menaces inconnues des moyens de détection. Il existe aussi un besoin pour des moyens d'alerte et/ou de protection pour systèmes informatiques industriels efficaces contre des attaques inconnues a priori. Un des objets de l'invention est de fournir des moyens de détection d'anomalies dans un système informatique industriel, lesdites anomalies résultant potentiellement de menaces inconnues. Un autre objet de l'invention est d'identifier les comportements anormaux pouvant résulter d'une attaque ou des effets d'un programme malveillant. Un autre objet de l'invention est d'identifier les anomalies dans le comportement des équipements industriels, y compris lorsque ces derniers s'acquittent correctement de leurs fonctions. Un autre objet de l'invention est de permettre l'identification de symptômes précurseurs, en particulier les symptômes précédant l'apparition de dysfonctionnements dans les équipements industriels. Un autre objet de l'invention est d'identifier des anomalies pouvant mettre en cause la fiabilité et la sûreté de fonctionnement des équipements industriels. Un autre objet de l'invention est d'informer des anomalies identifiées et de proposer et/ou mettre en oeuvre automatiquement un traitement approprié. Un autre objet de l'invention est de fournir des moyens aptes à s'adapter aux évolutions et aux variations de l'infrastructure industrielle et du système informatique industriel dans lesquels les moyens sont déployés, tout en limitant les risques de fausse détection. Un ou plusieurs de ces objets sont remplis par le module et le procédé selon les revendications indépendantes. Les revendications dépendantes fournissent en outre des solutions à ces objets et/ou d'autres avantages. Plus particulièrement, selon un premier aspect, l'invention se rapporte à un module de protection, pour détecter des anomalies dans un système informatique déployé dans une infrastructure industrielle. L'infrastructure industrielle est par exemple une usine, un centre de gestion d'un réseau énergétique, etc. L'infrastructure industrielle comporte des éléments fonctionnels destinés à mettre en oeuvre des processus. Typiquement, les éléments fonctionnels sont destinés à mettre en oeuvre les processus permettant d'assurer la production de produits, de gérer des flux, et/ou de fournir des services. Les éléments fonctionnels sont par exemple des systèmes de supervision, des automates, et/ou des systèmes de télésurveillance et d'acquisition de données. Le système informatique peut comprendre en outre des capteurs ou actionneurs pilotés par des automates autonomes et exécutant des fonctions embarquées. Le système informatique est typiquement employé pour interconnecter, contrôler et automatiser la gestion des éléments fonctionnels permettant à l'infrastructure industrielle d'assurer sa mission. Le système informatique peut comporter un ou plusieurs réseaux de communication, par exemple un réseau de type «Ethernet», pour permettre l'échange d'informations entre les éléments fonctionnels. Le système informatique peut encore comporter des moyens de traitement, comme des équipements informatiques, des moyens de stockage et des serveurs, pour exécuter les logiciels nécessaires aux tâches d'interconnexion, de contrôle et d'automatisation de la gestion. Le module de protection comporte une interface d'entrée adaptée à être couplée au système informatique, ainsi qu'un module de collecte, couplé à l'interface d'entrée, et configure pour collecter des informations de comportement relatives à l'état et au comportement des éléments fonctionnels ainsi que des informations système relatives au système informatique. Le module de collecte peut acquérir lesdites informations au moyen: - de logiciels et/ou matériels de collecte de données sur le réseau de 10 communications du système informatique, par exemple un logiciel dit « espion » permettant d'intercepter l'activité sur les ports de communication ouverts, et d'identifier les protocoles de communication utilisés; - de moyens de réception de données relatives aux éléments fonctionnels, par exemple des logiciels capables d'envoyer ou d'intercepter des requêtes de gestion 15 par exemple des requêtes SNMP - ou des logiciels capables de collecter ou accéder à des fichiers d'historique et/ou des journaux; - de programme de supervision, - d'outils d'administration réseau. Les informations système collectées par le module de collecte 20 comprennent, par exemple, au moins l'une des informations suivantes: - une information relative à une charge, à un flux et/ou à un trafic de données; - une information relative à une topographie d'un réseau de communication du système informatique, par exemple, des listes de sous réseaux, des 25 adresses des membres du réseau, des numéros de ports utilisés, des protocoles utilisés. Les informations de comportement collectées par le module de collecte comprennent, par exemple, au moins l'une des informations suivantes: - une information relative à un état de fonctionnement et/ou à des ressources utilisées, pour un des éléments fonctionnels - par exemple en service/hors 30 service, en phase d'initialisation, en maintenance, en mode dégradé, les ressources utilisées, les tâches actives, les processus, des informations journalisées («log» en anglais); - une information relative à un évènement survenant lors de l'exécution des processus - par exemple la réception de commandes ou l'activation d'une 35 information particulière; - une information relative à un état et/ou à des caractéristiques de l'infrastructure industrielle - par exemple, l'activation d'équipements redondants, la présence ou l'absence d'un ou plusieurs équipements, l'état d'activation de modes particuliers comme des modes isolés; - une information relative à un utilisateur ou à un opérateur - par exemple la liste des opérateurs, les sessions ouvertes, les droits et autorisations des opérateurs, les équipements employés par les opérateurs; - une information relative à un des processus mis en oeuvre par les éléments fonctionnels - par exemple des mesures et/ou informations physiques 10 relatives aux processus. - une information relative à l'exécution des fonctions du système informatique - il peut être utile en particulier de collecter des informations sur les éléments du système qui fonctionnent, de façon nominale ou non ; en outre, il peut également être utile de collecter la signature dynamique d'une information, c'est-à-dire 15 les changements de valeurs typiques d'une activité dans le temps de cette activité. Le module de protection comporte un module d'analyse, couplé au module de collecte, et configuré pour: - déterminer, à partir des informations de comportement, un état de référence; 20 - identifier une déviation entre d'une part les informations de comportement et les informations système collectées et d'autre part des informations de référence de comportement et des informations de référence systèmes associés à l'état de référence. Ainsi le module de protection peut détecter des anomalies dans le système 25 informatique, en identifiant une déviation par rapport à un état de référence considéré comme sain. Si un logiciel malveillant est à l'origine de ladite déviation, le module de protection va identifier cette déviation, sans pour autant connaître les caractéristiques ou la signature dudit logiciel. En outre, la déviation par rapport à l'état de référence va pouvoir être repérée, même si les éléments fonctionnels remplissent encore leur 30 fonction. Par exemple, si un automate réalise la tâche demandée correctement, mais qu'une surtension est observée comparativement à la tension nominale correspondant à l'état de référence, cette déviation va pouvoir être identifiée. Le module d'analyse peut être configuré pour vérifier si la déviation identifiée correspond à une dérive acceptable, et le cas échéant, mettre à jour les 35 informations de référence de comportement et les informations de référence systèmes associés à l'état de référence, de sorte à prendre en compte cette déviation. Ainsi, il est possible de mettre à jour efficacement l'état de référence, notamment pour prendre en compte des dérives acceptables, dues par exemple à l'usure de composants ou encore à des modifications des équipements ou des processus. La vérification peut être faite en demandant, par l'intermédiaire d'une interface utilisateur, à un opérateur d'indiquer si cette déviation est acceptable. Le module de protection peut encore comporter un module d'apprentissage, couplé au module de collecte, et configuré pour, au cours d'une phase d' étude: - déterminer l'état actuel à partir des informations de comportement; - enregistrer, dans un ensemble d'états de référence, l'état actuel ainsi qu'au moins une partie des informations de comportement et des informations de systèmes collectés. Avantageusement, lors de la phase d'étude, le module d'apprentissage peut mettre en oeuvre des algorithmes d'intelligence artificielle, par exemple des 15 algorithmes utilisant des réseaux de neurones. Il est possible d'identifier les différents états de référence pour un système donné, y compris lorsque la complexité de ce dernier est grande. Le module de protection peut ainsi s'adapter à l'infrastructure industrielle et au système informatique industriel dans lequel les moyens sont déployés, ainsi qu'aux évolutions de ce dernier, 20 tout en limitant les risques de fausse détection. Le module de protection peut également comporter une interface de sortie et un module de réaction couplé à l'interface de sortie et au module d'analyse, le module d'analyse étant configuré pour transmettre la déviation identifiée au module de réaction, le module de réaction étant configuré pour transmettre, par l'intermédiaire de 25 l'interface de sortie, une alerte comportant des informations relatives à la déviation identifiée. Il est ainsi possible d'informer des opérateurs de sécurité et les exploitants du système des risques et anomalies identifiés et de proposer et/ou mettre en oeuvre automatiquement un traitement approprié. Le module de réaction peut comporter un module de recherche de réalité 30 configuré de sorte à autoriser l'envoi de l'alerte seulement après avoir vérifié si la déviation identifiée correspond à une anomalie en: - observant les processus mis en oeuvre par les éléments fonctionnels; et/ou, - comparant les informations de comportement collectées, à des 35 informations de comportement relatives aux éléments fonctionnels obtenues d'au moins un autre fournisseur d'informations. Le module de recherche de réalité permet ainsi d'augmenter le niveau de sécurité tout en limitant les risques de fausse détection. Le module de réaction peut comporter un module de mise en sécurité configure, lorsque l'alerte a été émise, de sorte à transmettre: - une demande de repli des processus mis en oeuvres par les éléments fonctionnels concernés par la déviation, pour arrêter lesdits éléments fonctionnels ou les mettre dans un mode dans lequel la déviation identifiée ne peut engendrer de dommages; et/ou, - une demande de redémarrage des éléments fonctionnels concernés par la 10 déviation. Le module de mise en sécurité permet ainsi de réagir dans les meilleurs délais à des menaces ou des risques imminents, mettant en danger les équipements et/ou l'infrastructure. Si le traitement des demandes est automatisé, il est encore possible d'améliorer la réactivité et de réduire encore les risques. 15 Selon un deuxième aspect, l'invention se rapporte à un procédé de protection pour détecter des anomalies dans un système informatique déployé dans une infrastructure industrielle, l'infrastructure industrielle comportant des éléments fonctionnels destinés à mettre en oeuvre des processus. Le procédé comporte les étapes suivantes: 20 - une étape de collecte d'informations de comportement relatives à l'état et au comportement des éléments fonctionnels ainsi que d'informations système relatives au système informatique; - une étape de détermination, à partir des informations de comportement, d'un état de référence; 25 - une étape d'identification d'une déviation entre d'une part les informations de comportement et les informations système collectées et d'autre part des informations de référence de comportement et des informations de référence systèmes associés à l'état de référence. Au cours de l'étape d'identification de la déviation, il peut être vérifié si la 30 déviation identifiée correspond à une dérive acceptable : le cas échéant, les informations de référence de comportement et les informations de référence systèmes associées à l'état de référence sont mises à jour de sorte à prendre en compte cette déviation. Le procédé peut encore comporter une étape de transmission d'une alerte 35 comportant des informations relatives à la déviation identifiée. Dans un mode de réalisation, l'étape de transmission de l'alerte est mise en oeuvre seulement si, au cours d'une étape de vérification il a été établi que la déviation identifiée correspond à une anomalie en: - observant les processus mis en oeuvre par les éléments fonctionnels; et/ou, - comparant les informations de comportement collectées, à des informations de comportement relatives aux éléments fonctionnels obtenues d'au moins une autre source d'informations. Le procédé peut aussi comporter une étape de mise en sécurité suite à l'émission de l'alerte, au cours de laquelle est transmise: - une demande de repli des processus mis en oeuvre par les éléments fonctionnels concernés par la déviation, pour arrêter lesdits éléments fonctionnels ou les mettre dans un mode dans lequel la déviation identifiée ne peut engendrer de dommages; et/ou, - une demande de redémarrage des éléments fonctionnels concernés par la 15 déviation. Selon un troisième aspect, l'invention se rapporte à un programme d'ordinateur comportant des instructions pour l'exécution des étapes du procédé selon le deuxième aspect, lorsque ledit programme est exécuté par un processeur. Chacun de ces programmes peut utiliser n'importe quel langage de 20 programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable. En particulier, il est possible d'utiliser des langages de script, tels que notamment tcl, javascript, python, perl qui permettent une génération de code « à la demande » et ne nécessitent pas de 25 surcharge significative pour leur génération ou leur modification. Selon un quatrième aspect, l'invention se rapporte à un support d'enregistrement lisible par un ordinateur sur lequel est enregistré un programme d'ordinateur comprenant des instructions pour l'exécution des étapes du procédé selon le deuxième aspect. 30 Le support d'informations peut être n'importe quelle entité ou n'importe quel dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD-ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple une disquette ou un disque dur. D'autre part, le support d'informations 35 peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé par un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier téléchargé sur un réseau Internet ou Intranet. Alternativement, le support d'informations peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question. Brève description des figures D'autres particularités et avantages de la présente invention apparaîtront, dans la description ci-après de modes de réalisation, en référence aux dessins annexés, dans lesquels: - la figure 1 est un schéma bloc illustrant un système 10 informatique industriel; - la figure 2 est un schéma bloc du module de protection; - la figure 3 est un schéma bloc du module de réaction ; - la figure 4 est un diagramme de séquence d'un procédé de protection. 15 La figure 1 illustre schématiquement un système informatique 10 industriel, selon un mode de réalisation de l'invention. Le système informatique 10 est par exemple déployé dans une infrastructure industrielle, comme une usine ou un centre de gestion d'un réseau énergétique. Il est typiquement employé pour interconnecter, contrôler et automatiser la gestion d'éléments fonctionnels permettant à l'infrastructure 20 industrielle d'assurer sa mission. Typiquement, les éléments fonctionnels sont destinés à mettre en oeuvre les processus permettant d'assurer la production de produits, de gérer des flux, et/ou de fournir des services, etc. Les éléments fonctionnels sont par exemple des systèmes de supervision 12, des automates 14, et/ou des systèmes de télésurveillance et d'acquisition de données 16 (généralement désigné par l'acronyme 25 anglais «SCADA» pour «supervisory control and data acquisition»). Le système informatique comporte en outre un réseau de communication 18, par exemple un réseau de type «Ethernet», pour permettre l'échange d'informations entre les éléments fonctionnels de l'infrastructure industrielle. Le système informatique 10 comporte encore des moyens de traitement 20, par exemple des équipements informatiques, des 30 moyens de stockage et des serveurs, pour exécuter les logiciels nécessaires aux tâches d'interconnexion, de contrôle et d'automatisation de la gestion. Le système informatique comporte aussi un module de protection 22, et un centre de sécurité 24. La figure 2 illustre, par un schéma bloc, le module de protection 22 selon un mode de réalisation de l'invention. Le module de protection 22 comporte une 35 interface d'entrée 30, pour permettre la collecte d'informations sur le système informatique 10 et sur les éléments fonctionnels de l'infrastructure industrielle, en particulier des informations relatives aux systèmes de supervision 12, aux automates 14, et aux systèmes de télésurveillance et d'acquisition de données 16. L'interface d'entrée 30 comprend par exemple une interface réseau apte à être couplée au réseau de communication 18. L'interface d'entrée 30 peut aussi comporter des moyens supplémentaires de couplage à des automates ou systèmes par l'intermédiaire d'une interface dédiée utilisant un protocole de communication partagé avec ces systèmes, en particulier lorsque ces derniers ne sont pas directement couplés au système informatique 10. Le module de protection comporte une interface de sortie 32 pour permettre l'envoi d'informations au centre de sécurité 24 et au SCADA 16. L'interface de sortie 32 comprend par exemple une interface réseau apte à être couplée au réseau de communication 18. Le module de protection 22 comporte un module de collecte 34 d'informations, couplé à l'interface d'entrée 34. Le module de collecte 34 est configuré de manière à obtenir des informations de comportement relatives à l'état et au comportement en fonctionnement des éléments fonctionnels de l'infrastructure industrielle, ainsi que des informations système relatives au système informatique 10 et au réseau de communication 18. Les informations système relatives au système informatique 10 et au réseau de communication 18 peuvent notamment comporter: - des informations relatives à la charge, au flux et au trafic des données; - des données relatives à la topographie du réseau de communication 18, 20 comme des listes de sous-réseaux, les adresses des membres du réseau, les numéros de ports utilisés, les protocoles utilisés. Les informations de comportement peuvent notamment comporter des informations relatives: - aux caractéristiques des éléments fonctionnels, par exemple leur état de 25 fonctionnement - en service/hors service, en phase d'initialisation, en maintenance, en mode dégradé -, les ressources utilisées, les tâches actives, les processus, des informations j ournalisées («log» en anglais); - aux évènements survenant lors de l'exécution des processus, tels que la réception de commandes ou l'activation d'une information particulière; 30 - à l'état et aux caractéristiques de l'architecture et de la topologie de l'infrastructure industrielle, par exemple l'activation d'équipements redondants, la présence ou l'absence d'un ou plusieurs équipements, l'état d'activation de modes particuliers comme des modes isolés; - aux opérateurs/utilisateurs, par exemple la liste des 35 opérateurs/utilisateurs, les sessions ouvertes, les droits et autorisations des opérateurs/utilisateurs, les équipements employés par les utilisateurs; - aux processus mis en oeuvre par les éléments fonctionnels, par exemple des mesures et/ou informations physiques relatives aux processus. Le module de protection 22 comporte un module d'apprentissage 36 configuré pour identifier un ensemble d'états de référence du système informatique 10 5 et des éléments fonctionnels, au cours d'une phase d'étude. Pour cela, il est par exemple possible d'utiliser les informations système et de comportements collectés. Chaque état de référence est par exemple fonction des activités du système informatique 10 et/ou des éléments fonctionnels, et d'un contexte d'exploitation. A chaque état de référence est associé des informations de référence de comportement et 10 des informations de référence systèmes. Au cours de la phase d'étude, certains états de référence peuvent être regroupés, afin de limiter le nombre total d'états de référence, en particulier en identifiant les états de référence dominants - c'est-à-dire notamment les états de référence qui se produisent systématiquement par rapport à d'autres états de référence 15 non dominants - et/ou en identifiant les états de référence dont l'influence sur l'infrastructure industrielle est limitée. Au cours de la phase d'analyse, lorsque des doutes existent sur l'influence effective d'un état de référence ou si l'aspect dominant est incertain, il est alors préférable de ne pas regrouper ces états de référence. Un exemple pour un système de supervision d'un poste électrique, va 20 maintenant être décrit. Le système de supervision comprend un dispositif de supervision PC, un terminal distant RTU, un dispositif de protection PROT et un réseau. Le dispositif de supervision PC, le terminal distant RTU, le dispositif de protection PROT peuvent être dans un état de fonctionnement fonctionnel ou non fonctionnel. Les utilisateurs du système de supervision peuvent être : un opérateur local 25 de conduite, un opérateur de téléconduite ou un personnel de maintenance. Les fonctions principales du système de supervision sont les suivantes: - le terminal distant RTU a pour fonction de piloter un automatisme (fonction ré-enclencheur); - le dispositif de protection PROT a pour fonction d'éliminer un éventuel 30 défaut; - le dispositif de supervision a pour fonction de permettre la mise en oeuvre de commandes volontaires, si le terminal distant RTU est fonctionnel. Au cours de l'exploitation du système de supervision, quatre séquences peuvent se 35 présenter: - une première séquence, au cours de laquelle le système de supervision est dans un état inactif; - une deuxième séquence d'élimination d'un défaut; - une troisième séquence de prise en compte de commandes volontaires; - une troisième séquence de ré-enclenchement. Ces séquences sont mutuellement exclusives, le système de supervision ne pouvant à un instant donné être que dans une seule de ces séquences. Typiquement, les séquences se présentent dans l'ordre suivant: deuxième séquence, troisième séquence, quatrième séquence, première séquence. Pour identifier l'ensemble d'états de référence du système de supervision d'un poste électrique, au cours de la phase d'étude, le module d'apprentissage 36 est configuré pour prendre en compte les séquences d'exploitation, les modes de fonctionnement des équipements (par exemple opérationnel/non opérationnel), l'utilisation du système par un opérateur local de conduite (détecté lors de l'ouverture d'une session par ce dernier) ou par un opérateur de téléconduite (supposé actif dès que la communication avec la téléconduite est établie) ou par un personnel de maintenance (exploitant ou constructeur, détecté lors de l'ouverture d'une session par ce dernier, localement ou à distance). Le tableau suivant représente un exemple d'un premier sous-ensemble 20 d'états de référence ER du système de supervision d'un poste électrique, sous une forme de matrice, en fonction des différentes séquences d'exploitation et de l'état de fonctionnement des éléments du système de supervision. Système fonctionnel Dispositif de terminal distant Dispositif de protection non fonctionnel supervision PC RTU non non fonctionnel fonctionnel Première séquence ER(1-1-1) ER(1-1-2) ER(1-1-3) ER(1-1-4) Deuxième séquence ER(1-2-1) ER(1-2-2) ER(1-2-3) Impossible Troisième séquence ER(1-3-1) Impossible ER(1-3-3) ER(1-3-4) Quatrième séquence ER(1-4-1) ER(1-4-2) Impossible ER(1-4-4) Le tableau suivant représente un exemple d'un deuxième sous-ensemble d'états de référence ER du système de supervision d'un poste électrique, sous une forme de matrice, en fonction des différentes séquences d'exploitation et des utilisateurs ayant ouvert une session dans le système. Personne opérateur opérateur local de conduite personnel de maintenance seulement opérateur de télé-conduite et personnel de maintenance opérateur local de conduite et personnel de maintenance de t é 1 é- conduite Première séquence ER(2-1-1) ER(2-1-2) ER(2-1-3) ER(2-1-4) ER(2-1-5) ER(2-1-6) Deuxième séquence ER(2-2-1) ER(2-2-2) ER(2-2-3) ER(2-2-4) ER(2-2-5) ER(2-2-6) Troisième séquence Impossible ER(2-3-2) ER(2-3-3) ER(2-3-4) ER(2-3-5) ER(2-3-6) Quatrième séquence ER(2-4-1) ER(2-4-2) ER(2-4-3) ER(2-4-4) ER(2-4-5) ER(2-4-6) Le tableau suivant représente un exemple d'un troisième sous-ensemble d'états de référence ER du système de supervision d'un poste électrique, sous une forme de matrice, en fonction de l'état de fonctionnement des éléments du système de 10 supervision et des utilisateurs ayant ouvert une session dans le système. personne opérateur opérateur local de conduite personnel de maintenance seulement opérateur de télé- conduite et personnel de maintenance opérateur de télé- local de conduite conduite et personnel de maintenance Système fonctionnel Impossible ER(3-1-2) ER(3-1-3) Impossible ER(3-1-5) ER(3-1-6) Dispositif de supervision PC non fonctionnel ER(3-2-1) ER(3-2-2) Impossible ER(3-2-4) ER(3-2-5) Impossible Terminal distant RTU non fonctionnel ER(3-3-1) ER(3-3-2) ER(3-3-3) ER(3-3-4) ER(3-3-5) ER(3-3-6) Dispositif de protection non fonctionnel ER(3-4-1) ER(3-4-2) ER(3-4-3) ER(3-4-4) ER(3-4-5) ER(3-4-6) L'ensemble d'états de référence ER du système de supervision d'un poste électrique correspond à la matrice réunissant le premier sous-ensemble, le deuxième 5 sous-ensemble et le troisième sous-ensemble. Le module d'apprentissage 36 peut en particulier être configuré pour valider, au cours d'une étape de validation, les états de référence, identifiés au cours de la phase d'étude. Pour cela, l'infrastructure industrielle est effectivement utilisée pour 10 créer des situations aboutissant à reproduire ces états de référence. Le module d'apprentissage 36 s'assure alors que les états de référence identifiés au cours de la phase d'étude sont effectivement reproduits et correctement identifiés. L'étape de validation peut en outre être conduite lors d'essais sur une plateforme avant déploiement dans l'infrastructure industrielle site pour un nouveau système, ou en situation pour une infrastructure industrielle existante. Lors des phases d'étude et/ou de validation, le module d'apprentissage 36 peut mettre en oeuvre des algorithmes d'intelligence artificielle, par exemple des algorithmes utilisant des réseaux de neurones, pour identifier les états de référence. Le module de protection 22 comporte un module d'analyse 38 configuré pour: - déterminer, à partir des informations de comportement collectées, un état de référence; - identifier une déviation entre d'une part les informations de comportement et les informations système collectées et d'autre part des informations de 15 référence de comportement et des informations de référence systèmes associés à l'état de référence. Ainsi le module d'analyse permet d'identifier les éventuelles déviations entre l'état de référence dans lequel les éléments fonctionnels et le système informatique sont supposés être en fonction du contexte actuel, et l'état effectivement 20 constaté. Dans un mode de réalisation, le module d'analyse 38 collecte des informations système et des informations de comportements, pour déterminer le contexte actuel dans lequel se trouve l'infrastructure industrielle. Le module d'analyse 38 cherche, dans une base de données d'analyse, l'état de référence 25 correspondant au contexte. Puis, le module d'analyse 38 compare les informations de comportement et les informations système collectées et d'autre part des informations de référence de comportement et des informations de référence systèmes associés à l'état de référence, pour identifier les déviations. Le module d'analyse 38 peut mettre en oeuvre des algorithmes d'intelligence artificielle, par exemple des algorithmes utilisant 30 des réseaux de neurones, notamment pour comparer l'état actuel à l'état de référence. Le module d'analyse 38 peut également comprendre un mode d'entrainement et un mode automatique. En mode entrainement, lorsqu'une déviation est constatée, le module d'analyse 38 est programmé de sorte à demander si la déviation est effectivement une anomalie à traiter ou si la déviation correspond à une 35 dérive normale de l'infrastructure industrielle. Si la déviation n'est pas une anomalie, mais une dérive normale, la base de données d'analyse est mise à jour. Dans un mode de réalisation, le module d'analyse 38 comporte une interface utilisateur adaptée pour afficher la déviation constatée et pour permettre à un opérateur d'indiquer s'il s'agit d'une anomalie ou une dérive normale. Le mode d'étude permet le réglage du module d'analyse 38, en particulier au cours du temps, pour pouvoir prendre en compte les évolutions et mises à jour. En mode automatique, lorsqu'une déviation est identifiée, une alerte est transmise au module de réaction 40. Comme illustré sur la figure 3, le module de réaction 40 comporte un module de recherche de réalité 42, un module d'alerte 44, un module de mise en sécurité 46. Lorsqu'une alerte est reçue du module d'analyse 38, le module de recherche de réalité cherche à déterminer si la déviation constatée correspond à une anomalie réelle. En particulier, le module de recherche de réalité peut s'assurer de l'existence d'un problème au niveau des processus mis en oeuvre par les éléments fonctionnels (surtension, débit nul ou trop important, vitesse hors gamme, etc.). Le module de recherche de la réalité peut encore vérifier si les informations de comportement reçues correspondent à celles utilisées par les éléments fonctionnels (la valeur d'une tension barre reçue par le module de protection 22 est-elle sensiblement égale à celle reçue par l'élément fonctionnel correspondant?). Pour procéder à ces vérifications, le module de recherche de réalité peut en particulier comparer les informations de comportement relatives aux caractéristiques des éléments fonctionnels, et les informations relatives aux processus mis en oeuvre par les éléments fonctionnels. Grâce à ces vérifications, le module de recherche de réalité peut s'assurer de la survenance d'une anomalie réelle, et éventuellement déterminer un niveau de gravité. Lorsqu'une anomalie réelle a été constatée par le module de recherche de réalité, le module d'alerte est configuré pour envoyer, par l'intermédiaire de l'interface de sortie 32, un message d'alerte comportant des informations sur l'anomalie constatée, en particulier les déviations constatées et le niveau de gravité estimé. Le message d'alerte est par exemple transmis au centre de sécurité 24 pour permettre à des opérateurs, des exploitants et/ou des personnels en charge de la sécurité informatique de prendre des dispositions d'urgence ou de déclencher des procédures de sauvegarde ou de mise en sécurité. Le message d'alerte peut aussi comporter des recommandations sur les actions à entreprendre en réaction à l'anomalie constatée. Lorsqu'une anomalie réelle a été constatée par le module de recherche de réalité, le module de mise en sécurité est configuré pour tenter de mettre fin à l'anomalie, et/ou de réduire sensiblement ou supprimer ces effets. Le module de mise 35 en sécurité peut par exemple être configuré de sorte à: - effectuer un repli des processus mis en oeuvre par les éléments fonctionnels concernés par l'anomalie; le repli correspond à des procédures existantes et normales, pour arrêter les équipements ou les mettre dans un mode dans lequel l'anomalie constatée ne peut engendrer de dommages; - ordonner un redémarrage des éléments fonctionnels concernés par l'anomalie, en particulier pour les éléments fonctionnels pilotés par un programme chargé au démarrage depuis une mémoire en lecture seule non réinscriptible. La figure 4 est un diagramme de séquence d'un procédé selon un mode de réalisation de l'invention. Le procédé permet de détecter des anomalies du système 10 informatique déployé dans l'infrastructure industrielle. Le procédé comporte les étapes suivantes: - une étape 110 de collecte d'informations de comportement relatives à l'état et au comportement des éléments fonctionnels ainsi que d'informations système relatives au système informatique; 15 - une étape 120 de détermination d'un état de référence à partir des informations de comportement; - une étape 130 d'identification d'une déviation entre d'une part les informations de comportement et les informations système et d'autre part des informations de référence de comportement et des informations de référence systèmes 20 associés à l'état de référence. Au cours de l'étape 130 d'identification de la déviation, il peut être vérifié, dans une étape 140, si la déviation identifiée correspond à une dérive acceptable: le cas échéant, les informations de référence de comportement et les informations de référence systèmes associées à l'état de référence sont mises à jour de sorte à prendre 25 en compte cette déviation. Le procédé peut encore comporter une étape 150 de transmission d'une alerte comportant des informations relatives à la déviation identifiée. Dans un mode de réalisation, l'étape 150 de transmission de l'alerte est mise en oeuvre seulement si, au cours d'une étape de vérification il a été établi que la déviation identifiée correspond à 30 une anomalie en: - observant les processus mis en oeuvre par les éléments fonctionnels; et/ou, - comparant les informations de comportement collectées, à des informations de comportement relatives aux éléments fonctionnels obtenues d'au moins 35 un autre fournisseur d'informations. Le procédé peut aussi comporter une étape 160 de mise en sécurité, au cours de laquelle est transmise: - une demande de repli des processus mis en oeuvres par les éléments fonctionnels concernés par la déviation, pour arrêter lesdits éléments fonctionnels ou 5 les mettre dans un mode dans lequel la déviation identifiée ne peut engendrer de dommages; et/ou, - une demande de redémarrage des éléments fonctionnels concernés par la déviation. 10 REVENDICATIONS1. Module de protection (22), pour détecter des anomalies dans un système informatique (10) déployé dans une infrastructure industrielle, l'infrastructure industrielle comportant des éléments fonctionnels (12, 14, 16) destinés à mettre en 5 oeuvre des processus, caractérisé en ce qu'il comporte: - une interface d'entrée (30) adaptée à être couplée au système informatique (10); - un module de collecte (34), couplé à l'interface d'entrée, et configuré pour collecter des informations de comportement relatives à l'état et au comportement 10 des éléments fonctionnels ainsi que des informations système relatives au système informatique; - un module d'analyse (38), couplé au module de collecte, et configuré pour: - déterminer, à partir des informations de comportement, un état de 15 référence; - identifier une déviation entre d'une part les informations de comportement et les informations système collectées et d'autre part des informations de référence de comportement et des informations de référence systèmes associés à l'état de référence. 20 2. Module de protection selon la revendication 1, dans lequel les informations système collectées par le module de collecte (34) comprennent au moins l'une des informations suivantes: - une information relative à une charge, à un flux et/ou à un trafic de données; 25 - une information relative à une topographie d'un réseau de communication (18) du système informatique (10). 3. Module de protection selon l'une quelconque des revendications 1 à 2, dans lequel les informations de comportement collectées par le module de collecte (34) comprennent au moins l'une des informations suivantes: 30 - une information relative à un état de fonctionnement et/ou à des ressources utilisées, pour un des éléments fonctionnels; - une information relative à un évènement survenant lors de l'exécution des processus; - une information relative à un état et/ou à des caractéristiques de 35 l'infrastructure industrielle; - une information relative à un utilisateur ou à un opérateur;- une information relative à un des processus mis en oeuvre par les éléments fonctionnels ; - une information relative à l'exécution des fonctions du système informatique. 4. Module de protection selon l'une quelconque des revendications 1 à 3, comportant en outre un module d'apprentissage (36), couplé au module de collecte, et configuré pour, au cours d'une phase d'étude: - déterminer un état actuel à partir des informations de comportement; - enregistrer, dans un ensemble d'états de référence, l'état actuel ainsi 10 qu'au moins une partie des informations de comportement et des informations de systèmes collectés. 5. Module de protection selon l'une quelconque des revendications précédentes, dans lequel le module d'analyse (38) est configuré pour vérifier si la déviation identifiée correspond à une dérive acceptable, et le cas échéant, pour mettre à 15 jour les informations de référence de comportement et les informations de référence systèmes associés à l'état de référence, de sorte à prendre en compte cette déviation. 6. Module de protection selon l'une quelconque des revendications précédentes, comportant en outre une interface de sortie (32) et un module de réaction (40) couplé à l'interface de sortie et au module d'analyse (38), le 20 module d'analyse (38) étant configuré pour transmettre la déviation identifiée au module de réaction, le module de réaction étant configuré pour transmettre, par l'intermédiaire de l'interface de sortie (32), une alerte comportant des informations relatives à la déviation identifiée. 7. Module de protection selon la revendication 6, dans lequel le 25 module de réaction comporte un module de recherche de réalité (42), le module de recherche de réalité (42) étant configuré de sorte à autoriser l'envoi de l'alerte seulement après avoir vérifié si la déviation identifiée correspond à une anomalie en: - observant les processus mis en oeuvre par les éléments fonctionnels; et/ou, 30 - comparant les informations de comportement collectées, à des informations de comportement relatives aux éléments fonctionnels obtenues d'au moins un autre fournisseur d'informations. 8. Module de protection selon l'une quelconque des revendications 6 à 7, dans lequel le module de réaction comporte un module de mise en 35 sécurité (46), le module de mise en sécurité (46) étant configuré, lorsque l'alerte a été émise, de sorte à transmettre:- une demande de repli des processus mis en oeuvres par les éléments fonctionnels concernés par la déviation, pour arrêter lesdits éléments fonctionnels ou les mettre dans un mode dans lequel la déviation identifiée ne peut engendrer de dommages; et/ou, - une de demande de redémarrage des éléments fonctionnels concernés par la déviation. 9. Procédé de protection pour détecter des anomalies dans un système informatique (10) déployé dans une infrastructure industrielle, l'infrastructure industrielle comportant des éléments fonctionnels (12, 14, 16) destinés à mettre en 10 oeuvre des processus, caractérisé en ce qu'il comporte les étapes suivantes: - une étape de collecte (110) d'informations de comportement relatives à l'état et au comportement des éléments fonctionnels ainsi que d'informations système relatives au système informatique; - une étape de détermination d'un état de référence (120) à partir des 15 informations de comportement; - une étape d'identification (130) d'une déviation entre d'une part les informations de comportement et les informations système collectées et d'autre part des informations de référence de comportement et des informations de référence systèmes associés à l'état de référence. 20 10. Procédé selon la revendication 9, dans lequel, au cours de l'étape d'identification (130) de la déviation, il est vérifié si la déviation identifiée correspond à une dérive acceptable ; le cas échéant, les informations de référence de comportement et les informations de référence systèmes associées à l'état de référence sont mises à jour de sorte à prendre en compte cette déviation. 25 11. Procédé selon l'une quelconque des revendications 9 à 10, comportant en outre une étape de transmission d'une alerte (150) comportant des informations relatives à la déviation identifiée. 12. Procédé selon la revendication 11, dans lequel l'étape de transmission de l'alerte (150) est mise en oeuvre seulement si, au cours d'une étape de 30 vérification (140) il a été établi que la déviation identifiée correspond à une anomalie en: - observant les processus mis en oeuvre par les éléments fonctionnels; et/ou, - comparant les informations de comportement collectées, à des 35 informations de comportement relatives aux éléments fonctionnels obtenues d'au moins une autre source d'informations. 13. Procédé selon la revendication 11 ou 12, comportant une étape de mise en sécurité (160) suite l'émission de l'alerte, au cours de laquelle est transmise: - une demande de repli des processus mis en oeuvres par les éléments fonctionnels concernés par la déviation, pour arrêter lesdits éléments fonctionnels ou 5 les mettre dans un mode dans lequel la déviation identifiée ne peut engendrer de dommages; et/ou, - une de demande de redémarrage des éléments fonctionnels concernés par la déviation. 14. Programme d'ordinateur comportant des instructions pour 10 l'exécution des étapes du procédé selon l'une quelconque des revendications 9 à 13, lorsque ledit programme est exécuté par un processeur. 15. Support d'enregistrement lisible par un ordinateur sur lequel est enregistré un programme d'ordinateur comprenant des instructions pour l'exécution des étapes du procédé selon l'une quelconque des revendications 9 à 13. 15