Ouvrir le menu Fermer le menu

Application de la norme IEC 62443-4-1 aux IACS

trait de séparation
Temps de lecture : 6 min

Les systèmes de contrôle automatisés industriels (IACS) ne sont pas nouveaux. Dès la fin des années 1950, la troisième révolution industrielle (ou révolution numérique) a vu les débuts d'une tendance à s'éloigner des technologies électromécaniques et analogiques pour aller vers une intégration avec des technologies numériques. La complexité toujours croissante des systèmes industriels s'est rapidement traduite par exigences pour des niveaux de sécurité toujours plus élevés. Pour répondre à cette demande, des normes de sécurité fonctionnelle ont été rédigées afin de fournir des référentiels pour le développement de systèmes sûrs et dont le comportement en cas de défaillance soit prévisible. En 1998, la Commission Electrotechnique Internationale (CEI ou IEC) a publié la norme CEI 61508, « Sécurité fonctionnelle des systèmes électriques / électroniques / électroniques programmables relatifs à la sécurité », une norme de sécurité fonctionnelle universelle applicable à tout type d'industrie. Mise à jour en 2010, la norme CEI 61508 repose sur deux principes fondamentaux : un processus de développement ou « cycle de vie de sécurité » qui vise à éliminer les erreurs de conception en tirant parti des meilleures pratiques, et une approche de défaillance probabiliste qui tient compte de l'impact sur la sécurité des défaillances des équipements.

Contexte

S'appuyant sur ces technologies et principes établis, la « quatrième révolution industrielle » ou « Industrie 4.0 » concerne l'impact sismique que l'Internet des Objets et l’ajout de systèmes cyber-physiques ont sur la façon dont nous vivons, travaillons et interagissons. De tels changements ont clairement des implications sur les procédés de fabrication, les processus de développement et bien d’autres domaines de l’industrie. « Industrie 4.0 » (ou 140), une initiative stratégique nationale du gouvernement allemand, est un exemple frappant de la manière dont l'industrie aborde les contraintes et les défis qui en résultent.

Dans les usines intelligentes, les systèmes cyber-physiques (CPS) doivent être synchronisés entre eux et avec le monde extérieur pour partager des informations et déclencher des actions. Cette connectivité et les défis associés pour assurer des développements, des déploiements et des exploitations sécurisés de ces systèmes cyber-physiques sont des enjeux fondamentaux pour l'Industrie 4.0 où l’on peut retrouver sur le même réseau des systèmes embarqués allant des systèmes audio / vidéo domestiques aux systèmes de contrôle de supervision et d'acquisition de données (SCADA) contrôlant des usines de production entières.

En général, le public est beaucoup plus conscient des dangers des cyberattaques (virus, vers et logiciels malveillants) sur les ordinateurs personnels que ces appareils et infrastructures en réseau sur lesquels ils s'appuient. Ces systèmes doivent donc être résilients face aux attaques sans compter sur l'utilisateur pour les protéger en « faisant ce qu’il faut ». C'est la mission du CEI d'établir les standards permettant aux concepteurs d’utiliser au mieux ces nouvelles technologies pour améliorer la sureté de fonctionnement et la cybersécurité des systèmes d'automatisation et de contrôle modernes utilisés dans l'industrie et les infrastructures critiques. Leur comité ISA99 et associé au groupe de travail 10 du comité technique 65 du CEI (TC65WG10) ont créé la série de normes 62443 afin de répondre à ce besoin de concevoir la cybersécurité, la robustesse et la résilience dans les systèmes de contrôle d'automatisation industrielle (IACS).

Rôle de l’IEC 62443

L’IEC 62443 est une série de normes multi-industries définissant les méthodes et techniques de protection cyber classées et qui s'applique à toutes les parties prenantes, y compris les fabricants, les propriétaires d'actifs et les fournisseurs de services. La quatrième partie de ce standard, IEC 62443-4:2018, spécifie les exigences pour le développement sécurisé des systèmes utilisés dans le contrôle et l'automatisation industriel. Elle définit les exigences du cycle de vie du développement sécurisé liées à la cybersécurité pour les produits destinés à être utilisés dans l'environnement IACS et fournit des conseils sur la manière de répondre aux exigences décrites pour chaque élément. Les phases du cycle de vie du développement comprennent la définition des exigences de sécurité, la conception sécurisée, l’implémentation sécurisée (comprenant les règles de codage), la vérification et la validation, la gestion des défauts, la gestion des correctifs et la fin de vie du produit. Ces activités et tâches peuvent être appliquées à des processus de développement nouveaux ou existants, de maintenance et de retrait du matériel, des logiciels ou des micrologiciels.
Application de la norme IEC 62443-4-1 aux IACS.2-ISIT

Application des bonnes pratiques pour les IACS

Le domaine d'application de l’ IEC 62443-4-1 cible les développeurs et les responsable de la maintenance d’un équipement sécurisé devant être utilisé dans un environnement IACS. La norme encourage une résolution proactive des problèmes de sécurité et ce au plus tôt dans le cycle de vie du produit. La figure ci-dessous montre comment des produits fiables, dignes de confiance et résilients qui en résultent complètent d'autres sous-systèmes IACS.
Application de la norme IEC 62443-4-1 aux IACS.3_ISIT
  • Spécification des exigences de sécurité - Des exigences de sécurité minimales pour le développement et le déploiement du produit doivent être établies, de sorte qu'il y ait une compréhension commune entre les utilisateurs finaux et les fabricants de produits de leurs responsabilités respectives. L'analyse des menaces et l'évaluation des risques jouent un rôle important dans l'identification et la classification des risques de sécurité potentiels et impliquent la définition de limites de confiance pour les processus, les données et le flux de contrôle, y compris toute communication avec les périphériques internes et externes. L’atténuation des risques identifiés par ces processus fait partie des exigences techniques de sécurité du système.
  • Sécurité par la conception - Le produit doit être conçu pour mettre en œuvre les principes de sécurité, de fiabilité et de résilience. Il est recommandé de sécuriser la conception grâce à l'application des meilleures pratiques en viguer, y compris la défense en profondeur et la modélisation des menaces. Une vérification approfondie des fonctionnalités et de la sécurité du modèle doit être effectuée.
  • Vérification de la sécurité et tests de validation - Toutes les exigences de sécurité du produit doivent être respectées et la stratégie de défense en profondeur du produit doit être efficace lorsque le produit est déployé. Une approche de test basée sur les exigences est nécessaire pour montrer que les exigences fonctionnelles et de sécurité ont été correctement mises en œuvre.
Des tests de vulnérabilité sont nécessaires pour garantir qu'il n'y a pas de failles dans le code. Les normes de codage telles que CERT C / C ++, CWE et MISRA permettent d’éviter de tels problèmes et ce au plus tôt dans le cycle de développement.

Les tests de sécurité peuvent également inclure des activités de vérification supplémentaires, notamment des tests de performances, d'évolutivité et de robustesse. Similaire aux tests de données aléatoire (fuzzing test) pour les applications Web, les tests de robustesse sont conçus pour montrer que la fonctionnalité correcte est conservée face à un jeu de valeurs d'entrées, souvent dérivées de l'analyse de la valeur limite, de l'estimation d'erreur ou des techniques de semis-erreur.

L'analyse de la couverture structurelle aide à identifier la partie découverte du code et minimise ainsi les possibilités d'attaque de surface dans le code.

L'analyse de la couverture structurelle aide à identifier les parties du code non couvertes et minimise ainsi les possibilités de pénétration en réduisant la surface d’attaque du code.

Application des techniques de sécurité au cours du cycle de développement

Application de la norme IEC 62443-4-1 aux IACS.4_ISIT
Les défis inhérents au respect des directives IEC 62443-4-1: 2018 peuvent être facilités grâce à l'utilisation d'outils automatisés et intégrés. La vérification et la validation jouent un rôle important dans le processus, et plusieurs techniques de test sont nécessaires si l’on veut respecter pleinement la norme et notamment les tests basés sur les exigences.

La capacité d’analyse statique de la suite d’outils LDRA contribue à la détection des vulnérabilités en comparant le code utilisateur vis-à-vis des règles de codage standards et en signalant toute violation, tout en garantissant aussi que le code développé est conforme au niveau de qualité souhaité.

L'analyse dynamique, quant à elle, peut être utilisée à la fois pour vérifier le fonctionnel ainsi que pour démontrer la sécurité de l’équipement grâce à des tests de robustesse. L'analyse de la couverture du code avec pour objectif d’atteindre une couverture de code à 100% permet d’avoir l’assurance que la surface d'attaque est minimale.

Pourquoi adopter l’IEC 62443-4-1: 2018 pour garantir la sécurité vos dispositifs ?

L’adoption de l’IEC 62443-4-1: 2018 garantit la sécurité des dispositifs électriques / électroniques / électroniques programmables déployés dans les systèmes de contrôle d'automatisation industrielle, elle garantit non seulement que des mesures de sécurité sont intégrées au produit mais elle permet de s’assurer que le produit a été correctement testé et que les objectifs de sécurité ont été atteints

Utiliser des outils avec une expérience et un pedigree éprouvés pour automatiser le processus de développement logiciel permet de développer un produit avec l’assurance que sa sûreté de fonctionnement et sa sécurité sont bien conformes aux exigences, donne confiance aux autres parties prenantes et permet d’économiser temps et argent.
0