L’internet des objets (IoT) est une source sans fin d’opportunités pour le secteur de l’énergie. Malheureusement, des opportunités si diverses peuvent susciter la convoitise de personnes malveillantes. Les brèches de sécurité non anticipées ne risquent pas seulement d’entraîner une perte de chiffre d’affaires ou une réduction de la satisfaction des clients, elles menacent également la confidentialité des données des clients et, au final, la stabilité du réseau électrique.
Dans la technologie AMI, la cybersécurité doit aller au-delà de la sécurité technique de la solution, autrement dit, de la sécurité physique des appareils et de la sécurisation des communications, des applications dorsales et du stockage des données. Elle exige une approche holistique qui englobe la planification de la sécurité de l’infrastructure informatique dans son intégralité, de même que les personnes, les pratiques et les processus qui permettent de garantir cette sécurité. Cette approche holistique et la culture de la sécurité de l’entreprise sont également cruciales dans le développement de la technologie AMI. Tuomas Kepanen, responsable de la R&D architecture et plateformes chez Landis+Gyr, donne son point de vue concernant les piliers de la construction d’un logiciel sécurisé.
Des exigences de sécurité complexes
Un système sécurisé suppose toujours une solution complète et la sécurité globale ne peut pas être construite en se concentrant sur un seul composant du système. Lors de la conception d’un système sécurisé, il est important d’identifier les besoins en sécurité des différentes parties prenantes. Ces besoins peuvent aller des performances attendues par les utilisateurs du système à la conformité aux exigences réglementaires.
Une bonne planification est un bon début
Une fois les parties prenantes identifiées, la prochaine étape consiste à décrire les exigences fonctionnelles, non fonctionnelles et de sécurité du système. Au tout début du développement, ces exigences peuvent être vagues ou simplifiées, mais la définition et la discussion des principes de base constituent une partie importante du processus de conception du système. Les exigences de sécurité informatique de haut niveau relatives, par exemple, à la confidentialité ou à l’intégrité du système, sont également définies à partir d’exigences fonctionnelles telles que la mise en place d’un journal des événements de sécurité à des fins d’audit des opérations effectuées par l’utilisateur, d’un système de cryptage et d’un système d’authentification du trafic entre les différents composants du système, ou bien encore le renforcement du système d’exploitation.
Lors de la définition des exigences de sécurité informatique, il est crucial de décrire les composants les plus importants du système dont la protection est indispensable, et de se poser les questions suivantes, entre autres :
- Quelles fonctions ou informations doivent être protégées ?
- Quelles sont les caractéristiques de sécurité à protéger en priorité ?
- Qu’est-ce qui est le plus important, et à quel moment : la confidentialité, l’intégrité ou la disponibilité ?
- Quelle importance doit être accordée à la sécurisation d’une certaine fonctionnalité d’un certain composant ?
- Quel est le niveau de risque résiduel acceptable ?
- L’objectif est-il de prévenir les brèches de sécurité ou de les identifier ?
- Quelles sont les menaces pertinentes qui doivent être couvertes par les mesures de sécurité ?
Un outil utile pour répondre à ces questions est l’architecture de sécurité des systèmes informatiques. Elle vise à définir les détails relatifs à la sécurité globale du système, comme la structure du réseau, les appareils actifs du réseau, les protocoles de cryptage et de communication installés.
Les utilisateurs malveillants sont aussi des utilisateurs
Une autre méthode de planification efficace consiste à décrire les cas d’utilisation du point de vue d’un utilisateur malveillant, ce qui aide à identifier les contrôles de sécurité informatique applicables en cas d’utilisation abusive. Par exemple, les attaques par déni de service peuvent être contrées en appliquant certains contrôles liés à gestion de la charge ou au blocage du trafic peuvent être employés tandis que les utilisations non autorisées peuvent être contrôlées grâce à un dispositif de gestion d’accès des utilisateurs. En outre, la possibilité qu’un utilisateur légitime agisse sans le savoir pour le compte d’une entité malveillante doit être envisagée.
Le développeur du logiciel n’est pas le seul responsable
La construction du logiciel implique également de recourir à des méthodes qui tiennent compte de la sécurité des données. La principale consiste à sensibiliser le développeur à la sécurisation de son application. Plus l’expertise du développeur est grande et actualisée, plus les risques d’intrusion sont pris en compte et plus les mesures de défense mises en place pendant le développement du logiciel sont efficaces.
Toutefois, la responsabilité ne peut pas reposer uniquement sur les épaules du développeur, et ce, même si le logiciel est soumis à une batterie de tests réalisée par des spécialistes externes dont le seul but est de pénétrer le système et de mettre ses points faibles en évidence. D’autres mesures sont nécessaires pour sécuriser le système.
Différents types de scanners et d’outils d’analyse statistique visant à garantir la sécurité des données permettent de détecter les erreurs contenues dans le code source pendant le processus de construction. En outre, il existe des outils efficaces pour détecter les vulnérabilités connues des bibliothèques utilisées, des outils qui peuvent être intégrés dans le processus de construction du logiciel.
Enfin, il convient de ne pas limiter sa réflexion au seul travail de développement de l’application, mais de l’élargir à l’environnement et aux processus de développement, qui doivent également être sécurisés. Des normes internationales telles que la norme ISO 27001 fournissent une approche systématique en matière de développement continu de la sécurité.
Utilisation sécurisée d’un système sécurisé
Au-delà de la sécurité technique d’un système, une politique d’utilisation du système est nécessaire. Cette politique peut être soit autonome, soit intégrée dans les autres politiques de sécurité informatique de l’entreprise. Au minimum, une politique de sécurité doit répondre aux questions suivantes :
- Que considère-t-on comme une utilisation acceptable du système ?
- Le principe du droit d’accès minimal s’applique-t-il au système ?
- Comment l’utilisation qui est faite du système est-elle surveillée et par qui ?
- Comment les sauvegardes sont-elles configurées et réalisées ?
- Comment la sensibilisation des utilisateurs à la sécurité des données est-elle assurée ?
- Comment réagir face à un incident de sécurité ?
Toute l’entreprise est concernée
Peu importe le degré de sécurisation du système contre les attaques, la gestion des risques en matière de cybersécurité exige l’attention de toute l’entreprise. Les mesures de cybersécurité ne peuvent être efficaces que si elles s’intègrent dans une stratégie de surveillance, d’évaluation et d’amélioration continues. Il est donc extrêmement important d’avoir une vision globale de toutes les questions liées à la sécurité des données.