Risques liés aux vulnérabilités non traitées
Votre organisation a une exposition aux vulnérabilités dans le code que vous écrivez et gérez, ainsi que dans les dépendances open source ou tierces que votre code utilise. L’évaluation de votre exposition aux vulnérabilités est cruciale si vous souhaitez éviter :
-
**Temps d’arrêt non planifié et les interruptions opérationnelles**. L’exploitation des vulnérabilités peut entraîner des pannes d’application, une qualité de service détériorée ou des défaillances en cascade dans des systèmes critiques, ce qui interrompt vos opérations métier. -
**Augmentation des coûts de correction**. Le code plus vulnérable reste sans réponse, plus il est difficile et coûteux de corriger, en particulier si le code est profondément intégré ou si des incidents se produisent. La détection et la correction précoces réduisent le risque de réponses coûteuses aux incidents, de mise à jour corrective d’urgence et d’atteinte à la réputation. -
**Propagation généralisée du risque**. Les modules et dépendances vulnérables sont souvent réutilisés sur plusieurs applications et services, ce qui signifie qu’une seule faille peut se propager dans toute votre organisation, ce qui complique le risque et l’impact de l’exploitation. -
**Compromettre la chaîne d’approvisionnement**. Les attaquants peuvent exploiter des vulnérabilités dans des dépendances open source ou tierces pour injecter du code malveillant, élever des privilèges ou obtenir un accès non autorisé à vos systèmes. Les dépendances compromises peuvent servir de points d’entrée indirects pour les acteurs malveillants, entraînant des incidents de sécurité à grande échelle. -
**Problèmes de réglementation et de licence**. De nombreuses réglementations et normes industrielles exigent des organisations qu’elles traitent de manière proactive les vulnérabilités connues dans leur chaîne d’approvisionnement logicielle. L’échec de la correction des dépendances vulnérables peut entraîner des non-conformités, des audits, des sanctions légales ou des violations des obligations de licence open source.
L’évaluation régulière de l’exposition aux vulnérabilités vous aide à identifier les risques au début et à hiérarchiser la correction.
Méthodes de surveillance de vos référentiels pour le code vulnérable
-
**Code scanning** surveille automatiquement le code de votre projet afin de détecter les vulnérabilités. Lorsqu’il détecte un problème de sécurité dans une pull request, il crée une alerte avec une suggestion de correction automatique suggérée pour résoudre la vulnérabilité. Cela réduit la barrière à la résolution et permet de garantir la sécurité de votre projet. Consultez « [AUTOTITLE](/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning) ». -
**Dependabot** surveille automatiquement les dépendances de votre projet pour détecter les vulnérabilités et les packages obsolètes. Lorsqu’il détecte un problème de sécurité ou une nouvelle version, il crée des demandes de tirage pour mettre à jour les dépendances concernées, ce qui vous aide à traiter rapidement les risques de sécurité et à maintenir votre logiciel à jour. Cela réduit les efforts manuels et contribue à garantir la sécurité de votre projet. Consultez « [AUTOTITLE](/code-security/getting-started/dependabot-quickstart-guide) ».
GitHub fournit un ensemble complet de mesures Dependabot pour vous aider à surveiller, classer par ordre de priorité et corriger ces risques dans tous les référentiels de votre organisation. Consultez « À propos des métriques pour les alertes Dependabot ».
Réduction de l’exposition des vulnérabilités organisationnelles
La réduction de l’exposition des vulnérabilités organisationnelles nécessite une visibilité continue des risques, de la progression de la correction et de l’application des stratégies entre les référentiels. Les mesures Dependabot et code scanning fournissent cette visibilité. Utilisez les bonnes pratiques suivantes pour surveiller et réduire l’exposition des vulnérabilités de votre organisation :
Surveiller les métriques de vulnérabilité pour les dépendances
Utilisez la vue d’ensemble des mesures pour Dependabot afin d’obtenir une visibilité sur l’état actuel des vulnérabilités de dépendance de votre organisation. Consultez « Affichage des mesures pour les alertes Dependabot ».
-
**Classement des alertes par ordre de priorité :** passez en revue le nombre de Dependabot alerts ouvertes et utilisez des filtres tels que la gravité CVSS, la probabilité d’exploitation EPSS, la disponibilité des correctifs et la présence effective d’une dépendance vulnérable dans les artefacts déployés. Consultez [Filtres de tableau de bord Dependabot](/code-security/security-overview/filtering-alerts-in-security-overview#dependabot-dashboard-view-filters). -
**Décomposition au niveau des référentiels :** identifiez les référentiels qui présentent le plus grand nombre de vulnérabilités critiques ou exploitables. -
**Suivi des corrections :** suivez le nombre et le pourcentage d’alertes corrigées au fil du temps afin de mesurer l’efficacité de votre programme de gestion des vulnérabilités.
Surveillez l’apparition de nouvelles alertes code scanning.
Utilisez la vue d’alerte pour code scanning afin d’obtenir une visibilité sur les activités de correction dans les demandes de tirage de votre organisation. Consultez « Affichage des indicateurs pour les alertes relatives aux demandes de tirage ».
-
**Alertes dans les demandes de tirage :** examinez le nombre d’alertes détectées et fusionnées dans la branche par défaut sans avoir été résolues. -
**Règles les plus courantes :** Identifiez les règles qui sont fréquemment déclenchées lorsque l’éducation des développeurs est nécessaire. -
**Répartition au niveau du référentiel :** Identifiez quels référentiels comptent le plus grand nombre d’alertes détectées dans les requêtes de tirage, mais qui sont malgré tout fusionnés dans la branche par défaut. -
**Suivi des corrections :** suivez le nombre et le pourcentage d’alertes corrigées au fil du temps afin de mesurer l’efficacité de votre programme de gestion des vulnérabilités.
Hiérarchiser les efforts de correction
Concentrez-vous sur les vulnérabilités qui présentent le plus grand risque pour votre organisation.
- Hiérarchiser les alertes avec une gravité élevée ou critique. Pour Dependabot alerts, accordez également la priorité aux scores EPSS élevés et aux correctifs disponibles.
- Utilisez les informations de répartition du référentiel pour diriger les efforts de correction vers les projets les plus à risque.
Communiquer les risques et la progression
- Utilisez les pages de métriques pour communiquer les principaux facteurs de risque et la progression de la correction aux parties prenantes.
- Fournissez régulièrement des informations actualisées sur les tendances, telles que la diminution du nombre de vulnérabilités critiques non corrigées ou l’amélioration des taux de correction.
- Mettez en évidence les référentiels ou les équipes qui nécessitent un support ou une attention supplémentaires.
Établir et appliquer des stratégies
- Définissez une configuration de sécurité à l’échelle de l’organisation qui active Dependabot et code scanning sur l’ensemble des référentiels existants et futurs. Consultez « À propos de l'activation des fonctionnalités de sécurité à grande échelle ».
- Activer la révision des dépendances pour commenter les pull requests dans tous les référentiels.
- Créez un ensemble de règles à l’échelle de l’organisation pour protéger la branche par défaut et exiger que les alertes critiques de code scanning soient corrigées avant qu'une pull request puisse être fusionnée. Consultez « Gestion des ensembles de règles pour les dépôts de votre organisation ».
- Collaborez avec les administrateurs du référentiel pour activer les mises à jour de sécurité automatisées dans la mesure du possible. Consultez « À propos des mises à jour de sécurité Dependabot ».
Évaluer l’impact des alertes
- Contrôlez régulièrement la manière dont les alertes Dependabot et code scanning contribuent à empêcher l’introduction de failles de sécurité dans votre base de code.
- Utilisez les données historiques pour démontrer la valeur d’une gestion proactive des dépendances.