Dans la nouvelle directive NIS2 de l'UE, l'acquisition et le développement de systèmes sécurisés sont regroupés et désignés comme l'une des dix mesures de sécurité importantes pour lesquelles les organisations concernées doivent disposer de mesures de sécurité proportionnées et documentées.
Le développement sécurisé et l'acquisition de systèmes sécurisés sont essentiels pour la sécurité de vos informations, car ils sont les portes d'accès à vos données. Ils constituent l'une des lignes de défense contre les menaces de cybersécurité. En prenant de bonnes mesures en matière de développement et d'acquisition, vous pouvez vous assurer que les systèmes que vous utilisez sont capables de résister aux menaces actuelles et émergentes.
- Développement sécurisé : L'objectif est de s'assurer que la sécurité est incluse dans les nouveaux systèmes dès le départ. Le développement sécurisé intègre des contrôles de sécurité à chaque étape du processus de développement afin de prévenir les violations potentielles et de minimiser les vulnérabilités.
- Acquisition de systèmes sécurisés : L'objectif est d'acquérir des systèmes d'une manière contrôlée qui garantisse la conformité avec des normes de sécurité suffisamment élevées. Cela garantit que les systèmes acquis ne sont pas plus faibles que vos autres lignes de défense - un programme de sécurité n'est aussi solide que son point le plus vulnérable.
Cet article de blog présente des mesures éprouvées de la norme ISO 27001 pour améliorer à la fois vos pratiques de développement sécurisé et d'acquisition de systèmes. Grâce à ces mesures, les entreprises protègent non seulement leurs données sensibles, mais instaurent également la confiance avec les parties prenantes et les clients, garantissant ainsi que la réputation de votre entreprise reste intacte dans le processus. N'oubliez pas qu'il est beaucoup plus rentable d'intégrer la sécurité dès le départ que de faire face aux conséquences coûteuses d'une violation de données.

Développement sécurisé 101
Le développement de systèmes sécurisés est une approche rigoureuse de la conception, de la construction et de la mise en œuvre de solutions logicielles et matérielles dans le respect le plus strict de la sécurité. Il s'agit d'intégrer des considérations relatives à la sécurité de l'information et à la protection de la vie privée dès les premières étapes du développement, en tenant compte de principes essentiels tels que la confidentialité, l'intégrité et la disponibilité des données. Le développement de systèmes sécurisés repose sur la reconnaissance du fait que la sécurité ne doit pas être une réflexion après coup, mais qu'elle fait partie intégrante de la construction du logiciel et qu'elle doit être anticipée, conçue et exécutée depuis le début jusqu'au déploiement.
Garantir les avantages du développement
- Protection contre les vulnérabilités : Un processus de développement sécurisé protège vos systèmes des failles de sécurité et réduit le risque de cyberattaques potentielles. Les mesures de protection mises en place au cours des phases de planification et de mise en œuvre garantissent la robustesse de votre système contre les activités malveillantes. Par conséquent, la probabilité que des personnes non autorisées accèdent à vos précieuses données est moindre.
- Renforcer la confiance des clients : La mise en œuvre d'un processus de développement sécurisé est une exigence des certifications de sécurité de l'information (comme ISO 27001) et instaure la confiance parmi vos clients et parties prenantes. Ils sont rassurés de savoir que leurs données sont en sécurité entre vos mains. Cette confiance peut considérablement renforcer la réputation de votre marque et ouvrir la voie à de nouvelles opportunités commerciales.
- Satisfaire aux exigences réglementaires : En adhérant, par exemple, à la norme ISO 27001, vous disposez d'un langage commun pour communiquer avec vos clients. Non seulement vous éviterez les pénalités et les problèmes juridiques, mais vous attirerez également l'attention des investisseurs et des clients potentiels, qui voient dans la conformité une indication de votre engagement à garantir le niveau le plus élevé de sécurité des données.
- Responsabiliser les développeurs : Les développeurs ont un rôle important à jouer dans la sécurité de l'information. En établissant des lignes directrices claires pour leur travail de codage, qui sont contrôlées et améliorées en permanence, vous communiquez que leur contribution joue un rôle clé dans votre programme de sécurité de l'information.
Acquisition de systèmes sécurisés 101
L'acquisition de systèmes sécurisés fait référence au processus d'acquisition d'un nouveau logiciel ou d'un nouveau système matériel tout en garantissant sa conformité aux normes de sécurité établies. Ce processus consiste à définir les conditions de sécurité préalables pour les nouveaux systèmes (qui peuvent bien sûr être très différentes pour les systèmes critiques ou de faible priorité), à sélectionner un fournisseur approprié, à s'assurer que les caractéristiques de sécurité du système répondent aux besoins de votre organisation et, enfin, à ajouter le système à l'infrastructure existante en toute sécurité.
Avantages de l'acquisition de systèmes sécurisés
- L'atténuation des risques : L'acquisition de systèmes sécurisés permet d'atténuer les risques associés aux failles de sécurité, aux fuites de données et aux cyberattaques en garantissant que les systèmes acquis répondent aux normes et aux exigences de sécurité établies.
- Continuité des activités: En minimisant les vulnérabilités de sécurité des systèmes acquis, les organisations peuvent améliorer leur résilience face aux cybermenaces, réduisant ainsi la probabilité de perturbations des opérations commerciales et assurant la continuité.
- Réduction des coûts: La prise en compte proactive des problèmes de sécurité au cours de la phase d'acquisition permet d'éviter les failles de sécurité coûteuses, les incidents et les efforts de remédiation qui peuvent résulter de mesures de sécurité inadéquates après la mise en œuvre.
- Rationalisation des opérations: La mise en œuvre de contrôles de sécurité au cours de la phase d'acquisition garantit que les exigences de sécurité sont intégrées dans l'architecture du système dès le départ, ce qui réduit la nécessité d'une adaptation ou d'une reconfiguration coûteuse par la suite.
ISO 27001 : Exemples de bonnes pratiques à mettre en œuvre en matière de développement sécurisé et d'acquisition de systèmes
La norme ISO 27001 aborde la question de la sécurité du développement et de l'acquisition des systèmes à travers de multiples contrôles, en mettant l'accent sur des aspects tels que la définition d'exigences de sécurité claires pour les applications créées ou acquises, la mise en place de règles de codage sécurisées, la création d'un environnement de développement et de test solide et la mise en œuvre de changements de manière contrôlée.
Souvent, les organisations décident également de se référer à des documents plus détaillés et communément acceptés concernant les vulnérabilités et leur prévention par un codage sécurisé (par exemple, OWASP Top Ten).
8.25 : Définir des règles générales de développement sécurisé
Ce contrôle souligne que les règles de développement sécurisé doivent être documentées, qu'elles doivent couvrir l'ensemble du cycle de développement et qu'elles doivent être rigoureusement appliquées. Vous pouvez également inclure des points de contrôle dans vos projets de développement, où un examen du point de vue de la sécurité de l'information est effectué.
Les aspects importants des règles de développement sécurisé - par exemple les environnements séparés, la définition des exigences de sécurité pour les produits, les processus de test et la gestion sécurisée du code source - sont abordés plus en détail dans les contrôles suivants.
8.26 : Acquérir et créer des applications sécurisées
Ce contrôle ne fait pas de distinction entre les applications acquises ou créées par l'utilisateur lui-même - il indique que vous devez définir des exigences de sécurité pour les deux afin de garantir que toutes les applications acquises ou créées par l'utilisateur lui-même sont suffisamment sûres.
Les exigences en matière de sécurité des applications bénéficient d'une classification par priorité. Pour les systèmes de priorité "faible", quelques contrôles de base sur la rentabilité du fournisseur de logiciels et les communications peuvent suffire, mais pour les systèmes de priorité "élevée", vous pouvez avoir des exigences détaillées en matière d'authentification multifactorielle, de cryptage, de capacités d'intégration et de journalisation, de localisation et de restauration des données ou même de certifications requises (par exemple ISO 27001) pour le fournisseur de services.
Des exigences en matière de sécurité des applications sont en place pour garantir que tous les besoins nécessaires en matière de sécurité sont reconnus et pris en compte au cours du processus de développement ou d'acquisition.
8.28 : Définir des règles de codage sécurisées pour vos développeurs
En fin de compte, un logiciel est un ensemble de codes dans lesquels des vulnérabilités peuvent se glisser. Il est également important de créer un code clair avec des principes partagés - cela améliore par exemple la qualité et facilite l'intégration de nouvelles personnes dans les projets.
Les règles de codage sécurisé visent à garantir que les logiciels sont écrits de manière sûre, réduisant ainsi les risques de vulnérabilités potentielles qui pourraient compromettre la sécurité de l'information. Ces procédures devraient être élargies pour englober les composants logiciels provenant de tiers et les logiciels libres. Il est essentiel que l'équipe s'approprie les pratiques de codage sécurisé, car elle doit se tenir au courant de l'évolution rapide du paysage des menaces.
Les règles de codage sécurisé pourraient comprendre, par exemple, les aspects suivants :
- instructions générales de codage sécurisé (utilisation correcte des cadres / outils sélectionnés, sélection de nouvelles bibliothèques externes, prévention des vulnérabilités générales (OWASP), logiciels acceptables à utiliser pour le travail de codage)
- règles pour l'examen et la publication du code (agenda de l'examen du code, processus contrôlé pour la publication des mises à jour)
- définition de ce qui est fait (suppression du code inutile, mise à jour de la documentation, vérification du bon fonctionnement des contrôles automatiques)
- les lignes directrices relatives aux essais (comment tester les fonctionnalités, comment utiliser les données d'essai, comment limiter l'utilisation des données des clients)
8.29 : Définir des processus pour tester la sécurité de vos applications
Ce contrôle porte sur la planification des processus de test de la sécurité des applications, et non sur la fonctionnalité générale ou l'expérience de l'utilisateur. Au cours du processus de développement, il est essentiel d'établir et de suivre des procédures de test de sécurité. Ces procédures garantissent que lorsque les applications ou le code sont déployés dans l'environnement de production, ils sont testés de manière approfondie afin de confirmer qu'ils répondent aux exigences en matière de sécurité de l'information. Les tests doivent s'aligner sur les exigences spécifiées et couvrir à la fois les aspects fonctionnels et non fonctionnels.
Il est important d'avoir des directives de test pour son propre personnel, mais les organisations renforcent souvent cet aspect en utilisant desoutils automatisés pour parcourir le nouveau code écrit (par exemple, analyse des vulnérabilités, détection des secrets, analyse des dépendances), en automatisant les tests de sécurité plus dynamiques (par exemple, DAST) ou en collaborant avec des professionnels des tests de pénétration spécifiques pour essayer de s'introduire dans leurs environnements et de compromettre les données.
8.31 : Séparation des environnements de développement, de test et de production
Les environnements de développement, de test et de production doivent être séparés et sécurisés afin de protéger l'environnement de production et les données contre toute compromission potentielle pendant les activités de développement et de test. Le niveau de séparation nécessaire entre ces environnements doit être identifié et appliqué afin d'éviter que des problèmes n'affectent les systèmes de production.
8.32 : Mettre en œuvre les changements de manière contrôlée
Ce contrôle souligne que les modifications apportées aux applications doivent suivre des règles de gestion du changement. Les petites modifications quotidiennes du code peuvent être normales et suivre un processus plus léger, tandis que les modifications plus importantes des composants clés de l'application (par exemple, l'authentification, la journalisation, la gestion des utilisateurs) peuvent faire l'objet de contrôles plus complets et d'une analyse des risques avant d'être publiées.
Que les procédures de contrôle des modifications soient légères ou lourdes, elles doivent être documentées et appliquées afin de préserver la confidentialité, l'intégrité et la disponibilité des informations dans l'ensemble des systèmes.
8.8 : Disposer d'un processus de gestion des vulnérabilités techniques
Le contrôle 8.8 est un contrôle général de la gestion des vulnérabilités. Lorsqu'une vulnérabilité technique est identifiée, quelle qu'en soit la source (outils de test de sécurité, examen manuel du code ou sources d'information externes), l'organisation doit savoir ce qu'il convient de faire.
Le processus peut comprendre la catégorisation de la vulnérabilité, l'analyse de la vulnérabilité et la prise de décisions concernant les actions de rejet ou de traitement, avec des justifications documentées. Certaines vulnérabilités peuvent être extrêmement urgentes et nécessiter des actions de traitement immédiates, tandis que pour d'autres, les actions peuvent être regroupées et programmées pour plus tard.
Conclusion
On ne saurait trop insister sur l'importance d'un développement et d'une acquisition de systèmes sécurisés. Tous les types d'entreprises sont totalement dépendants de leurs données et des applications utilisées pour stocker et traiter ces données. Cela est démontré à maintes reprises, par exemple lorsque des opérations dans des usines physiques sont paralysées à la suite d'une attaque par ransomware. Protégez vos applications pour protéger votre entreprise !
Vous pouvez trouver les meilleures pratiques éprouvées de la norme ISO 27001 pour vous aider à formuler vos procédures de développement et d'acquisition de systèmes sécurisés - et à répondre aux exigences de la norme NIS2. De la définition des règles générales à la création d'applications sécurisées, en passant par la gestion des vulnérabilités techniques, tout cela permet à votre organisation de créer un système sécurisé ancré dans des pratiques robustes et éprouvées.
Comme pour tous les aspects de la sécurité de l'information, les pratiques de développement et d'acquisition sécurisées doivent être améliorées en permanence. Commencez par quelque chose et engagez-vous, ainsi que les membres de vos équipes de développement, à vous améliorer - et vous serez sur la bonne voie.