Sécurité informatique : parer à la vulnérabilité des systèmes industriels
L’attaque par le virus Stuxnet contre l’Iran en 2010 a fait prendre conscience de la vulnérabilité des systèmes industriels souvent connus sous le nom de SCADA (Supervisory Control And Data Acquisition ou télésurveillance et acquisition de données en français). Mise en place depuis des dizaines d’années dans de nombreuses industries, cette architecture a montré des failles sécuritaires. Dans cet "Avis d'expert", Eric Lemarchand, Ingénieur Système chez Fortinet explique comment, en 5 étapes, sécuriser ces environnements.
Voici l'avis d'expert d'Eric Lemarchand. Les intertitres sont de la rédaction.
Les environnements SCADA sont des systèmes de gestion et de contrôle industriel, généralement déployés à grande échelle, qui surveillent, gèrent et administrent ces infrastructures critiques dans des domaines divers et variés : transport, nucléaire, électricité, gaz, eau, etc. A la différence d’un réseau informatique d’entreprise classique, l’environnement SCADA permet d’interconnecter des systèmes propriétaires "métier" : automates, vannes, capteurs thermiques ou chimiques, système de commande et contrôle, IHM (Interface Homme Machine)… plutôt que des ordinateurs de bureau. Ces infrastructures sont principalement déployées en entreprise, mais sont désormais aussi présentes chez les particuliers.
Des systèmes qui n'ont pas été pensés en tenant compte de la sécurité réseau
Les environnements SCADA utilisent un ensemble de protocoles de communication dédiés, tels que MODBUS, DNP3 et IEC 60870-5-101, pour établir la communication entre les différents systèmes. Ces protocoles permettent de contrôler les API (Automates Programmables Industriels) par exemple, entrainant des actions physiques telles que l’augmentation de la vitesse des moteurs, la réduction de la température… Pour cette raison, l’intégrité des messages de contrôle SCADA est primordiale et les protocoles de communication devraient être entièrement validés.
Conçus pour fonctionner des dizaines d’années, à une époque où la cybercriminalité ciblant spécifiquement le secteur industriel n’était pas répandue, ces systèmes SCADA n’ont pas été pensés en tenant compte de la sécurité réseau. Très souvent, les principes de sécurité élémentaires n’ont pas été intégrés pour deux raisons principales: d’une part, l’architecture SCADA n’était pas intégrée au système informatique classique de l’entreprise, et d’autre part, le besoin d’interconnexion avec le réseau IP n’existait pas. Le besoin de sécurité était donc alors jugé non nécessaire.
Depuis, l’architecture SCADA a évolué et les automates, systèmes de mesure, outils de commande et de contrôle, télémaintenance…, sont dorénavant interconnectés via un réseau classique IP. Ils sont également administrés par des environnements potentiellement vulnérables, comme par exemple, la plateforme interface homme-machine équipée d’un système d’exploitation Windows non patché. Jugés hautement sensibles, ces environnements n’appliquent généralement pas les patchs des systèmes d’exploitation de peur de nuire à la production.
Cette crainte l’emporte d’ailleurs souvent sur celle des attaques informatiques potentielles. Les environnements SCADA, pourtant identifiés comme critiques, sont ainsi paradoxalement les moins sécurisés et devenus la cible potentielle des cybercriminels, comme nous avons pu le constater avec Stuxnet, premier ver découvert qui espionne et reprogramme des systèmes industriels. Ce virus a exploité des vulnérabilités Windows de type zero day (c’est-à-dire pour lesquelles il n’existait pas de patchs) pour compromettre des dizaines de milliers systèmes informatiques, à la fois des ordinateurs et une centrale d’enrichissement d’uranium.
Le cas de Stuxnet a déclenché une prise de conscience
Il aura fallu le cas d’attaque de l’ampleur de Stuxnet pour que la sécurité devienne l’une des préoccupations majeures des entreprises industrielles. Alors que les attaques informatiques traditionnelles engendrent généralement des dégâts immatériels, les industriels ont, dans le cas de Stuxnet, pris conscience de la capacité destructrice et bien réelle des vers et virus avancés, affectant non seulement les données d’une entreprise mais également les systèmes de gestion des eaux, des produits chimiques, de l’énergie…
Dorénavant, les industriels cherchent à intégrer la sécurisation de leurs équipements, et ce, de façon native. Même si les moyens commencent à être mis en œuvre pour sécuriser les industries, il est aussi nécessaire que les hauts dirigeants de ces entreprises soutiennent ce besoin de sécurisation, sans quoi, bon nombre de responsables informatiques ne trouveront pas d'échos positifs à leurs initiatives, et auront des budgets et ressources limités.
Cinq étapes à respecter pour appliquer une sécurité globale
De plus, à défaut d’un standard, il existe des guides de bonne conduite permettant d'appréhender les problématiques que pose ou impose SCADA, édités par exemple par NERC (North American Electric Reliability Corporation) ou l'ANSSI (Agence Nationale de la Sécurité des Systèmes d’Information) en France. Voici quelques étapes importantes à respecter pour appliquer une sécurité globale sur ces infrastructures jugées sensibles :
1- Des mises à jour régulières
Patcher régulièrement ses systèmes d’exploitation, applications et composants SCADA est une étape essentielle pour éviter les failles déjà connues par les fournisseurs de sécurité.
De plus, la mise en place d’un outil de détection et d’analyse des vulnérabilités permettant d’intercepter des menaces Internet malveillantes avant qu’elles n’impactent le réseau ou le serveur cible permettra de prendre des mesures proactives pour prévenir des attaques, éviter des interruptions de services, réagir rapidement et en temps réel face aux menaces émergentes.
2- Cloisonner son réseau SCADA
Il est indispensable d’isoler son réseau SCADA de tout autre réseau de l’entreprise. Pour cela, la définition de DMZ ou bastions permet de segmenter une architecture SCADA. Ainsi, le réseau de l’IHM sera dissocié des automates et dispositifs de mesures, des systèmes de supervision, des unités de contrôle à distance et des infrastructures de communications, permettant à chaque environnement d’être confiné et d’éviter des attaques par rebond.
En quelques mots, les réseaux SCADA doivent être protégés de la même manière que les réseaux d’entreprises des logiciels malveillants et intrusions, en utilisant des systèmes de prévention d’intrusions (IPS) et des solutions anti-malware.
3- Validation protocolaire
Après avoir partitionné et séparé les différents éléments d’une architecture SCADA, la prochaine étape logique est d’appliquer une validation et un contrôle protocolaire liés aux différents composants. En d’autres termes, il est nécessaire d’inspecter le protocole MODBUS pour être certain qu’il n’est ni mal utilisé ni vecteur d’une attaque. Egalement, assurez-vous que les applications qui génèrent des demandes MODBUS sont des applications légitimes et qu’elles sont générées depuis le bon poste de travail. Ainsi, la reconnaissance des applications prend son sens.
4- Contrôler et identifier les actions administrateurs-utilisateurs
En complément de la segmentation des réseaux, il devient nécessaire d’établir des règles d’accès par authentification pour que seules les personnes autorisées puissent accéder au réseau, données et applications et puissent interagir avec les systèmes SCADA, afin que ces derniers ne soient pas endommagés par un tiers. Ainsi, un administrateur sera identifié de façon différente d’un utilisateur lambda, ce qui lui permettra d’effectuer certaines configurations au travers d’IHM alors que l’utilisateur pourra uniquement avoir une visibilité sur des équipements de mesure.
5- Superviser l’ensemble des réseaux
Se doter d’un outil de corrélation et de gestion d’événements est indispensable. Cela permet d’obtenir une visibilité globale sur l’état sécuritaire de l’ensemble du réseau et permet par exemple à un administrateur de connaitre à la fois l’état d’un automate, le niveau de patch d’un IHM et sa relation avec un utilisateur ou un composant de l'architecture.
La remontée d'événements de sécurité est toute aussi importante. L'administrateur ainsi informé pourra mettre en place des actions ou contre-mesures adaptées en fonction du niveau de criticité de l'événement.
Adopter une stratégie de défense en profondeur
La mise en application de ces étapes est parfois fastidieuse mais la meilleure solution pour protéger ces systèmes critiques est d’adopter une stratégie de défense en profondeur avec une couche de sécurité à tous les niveaux, même au niveau des API, pour un contrôle précis des échanges et communications entre les composants de l’environnement SCADA et l’infrastructure réseau.
Avec des attaques de plus en plus sophistiquées de type APT, il devient urgent que les organisations industrielles prennent conscience que la sécurité des environnements SCADA est essentielle. Il en va de leur pérennité. Un contrôle précis sur leurs réseaux, utilisateurs et applications leur permettra de se prémunir d’éventuels risques qu’il est facile d’éviter. Enfin, il est important de bénéficier d’une protection en temps réel pour identifier rapidement les menaces potentielles et mettre en place les outils de protection adéquats conçus par des équipes spécialisées.
Eric Lemarchand