CIS (Center for Internet Security) Controls
Les CIS (Center for Internet Security) Controls sont un ensemble de meilleures pratiques et de recommandations en matière de cybersécurité, conçues pour aider les organisations à se défendre contre les menaces informatiques les plus courantes et les plus graves. Ces contrôles sont une référence largement utilisée pour améliorer la sécurité des systèmes informatiques, y compris dans le cadre du développement logiciel.
Voici une présentation détaillée des CIS Controls dans le contexte de la sécurité du développement :
Objectif des CIS Controls
Le CIS est un organisme à but non lucratif ayant élaboré une série de contrôles de cybersécurité visant à réduire les risques et à améliorer la posture de sécurité des organisations. Ces contrôles se concentrent sur les actions et pratiques prioritaires qu'une organisation devrait adopter pour protéger ses infrastructures, ses données et ses applications contre les menaces.
Les CIS Controls sont une collection de bonnes pratiques et de recommandations pour renforcer la sécurité informatique dans l'ensemble de l'organisation, y compris pour les développeurs de logiciels. Ces contrôles aident à prévenir, détecter, répondre et récupérer après des incidents de sécurité.
Les 20 CIS Controls
Le cadre des CIS Controls est composé de 20 contrôles couvrant des domaines variés de la cybersécurité, allant de la gestion des vulnérabilités à la protection des applications en passant par la sécurité des réseaux. Ces contrôles sont régulièrement mis à jour pour refléter les dernières tendances et menaces de sécurité. Les CIS Controls sont divisés en trois catégories principales :
- Les contrôles de base (Foundational Controls) : Ce sont des mesures essentielles à mettre en place pour établir une bonne hygiène de sécurité.
- Les contrôles de mesure (Foundational Controls) : Ce sont des pratiques supplémentaires pour améliorer la sécurité après avoir mis en oeuvre les contrôles de base.
- Les contrôles organisationnels (Organizational Controls) : Ce sont des mesures plus avancées pour adapter la sécurité à la structure spécifique de l'organisation.
Sécurisation du cycle de vie du développement logiciel
Bien que les CIS Controls ne soient pas exclusivement axés sur le développement logiciel, ils couvrent plusieurs aspects cruciaux pour sécuriser les applications et les infrastructures informatiques tout au long du cycle de vie du développement logiciel. Par exemple, le contrôle #1 "Inventaire et contrôle des actifs" encourage les organisations à inventorier tous les actifs logiciels et matériels, permettant ainsi aux équipes de développement d'identifier et de sécuriser les ressources sur lesquelles elles travaillent.
De plus, les contrôles liés à la gestion des vulnérabilités (contrôle #3) et à la configuration sécurisée des systèmes (contrôle #5) ont un impact direct sur la sécurité du développement logiciel, en garantissant que les applications soient testées et sécurisées pendant leur développement et leur déploiement.
Pratiques de développement sécurisé
Les CIS Controls mettent l'accent sur l'importance du développement sécurisé en encourageant des pratiques telles que :
- La gestion des identifiants et des accès (contrôle #4) : Implémenter des mécanismes robustes de gestion des accès dans le développement des applications (par exemple, l'utilisation de l'authentification multifactorielle, la gestion des permissions,...).
- La gestion des vulnérabilités (contrôle #3) : Assurer un suivi constant des vulnérabilités dans le code source et appliquer les patchs et mises à jour de sécurité nécessaires.
- La sécurité des configurations (contrôle #5) : Veiller à ce que les configurations des systèmes et des applications soient sécurisées dès le début du développement, en évitant les configurations par défaut et en appliquant les bonnes pratiques de sécurité.
Priorisation des efforts de sécurité
Les CIS Controls aident les équipes de développement à prioriser leurs efforts de sécurité en se concentrant sur les contrôles les plus importants et les plus susceptibles de réduire le risque. Les 20 contrôles sont conçus pour avoir un impact maximal sur la réduction des risques de cybersécurité, ce qui permet aux organisations d'avoir un retour sur investissement en termes de sécurité, même avec des ressources limitées.
Contrôles pour la protection des applications
Certains des CIS Controls sont directement liés à la protection des applications, en particulier dans le cadre du cycle de vie des logiciels. Par exemple :
- Le contrôle #7 "Courriel et navigateur" encourage la sécurisation des applications web et des environnements d'exécution (par exemple, l'utilisation de protocoles HTTPS, la gestion des sessions sécurisées, la validation des entrées,...).
- Le contrôle #16 "Contrôles d'accès" souligne l'importance de limiter les privilèges d'accès au code source et aux systèmes de développement, en appliquant des stratégies d'accès basé sur le rôle.
Formation et sensibilisation à la cybersécurité
Le CIS Control #17 aborde la formation continue des utilisateurs et des développeurs en matière de cybersécurité. Cela inclut des pratiques telles que la formation des développeurs aux principes du développement sécurisé, la sensibilisation aux vulnérabilités courantes et la manière de les éviter pendant le processus de codage.
Réponse aux incidents de sécurité
Les CIS Controls incluent également des recommandations sur la manière de répondre aux incidents de sécurité, y compris ceux pouvant survenir dans les applications logicielles. Les contrôles #18, #19 et #20 abordent la planification et la réponse aux incidents, en soulignant la nécessité de surveiller les applications en production, de détecter les anomalies et de mettre en place des mécanismes de réponse rapides et efficaces.