La version 4.0 de la norme PCI DSS a introduit des mises à jour significatives pour répondre aux menaces émergentes dans l'écosystème des paiements, en mettant particulièrement l'accent sur la sécurité côté client. Deux nouvelles exigences - 6.4.3 et 11.6.1 - sont particulièrement importantes pour les entreprises de toutes tailles qui traitent des données de cartes de paiement, car elles mettent en évidence les vulnérabilités posées par les scripts externes utilisés sur les pages de paiement. Les scripts chargés sur les sites web pouvant subir des modifications ou être compromis à l'insu d'une entité, le Conseil des normes de sécurité PCI a souligné la nécessité de renforcer les contrôles pour atténuer ce risque.
Dans cet article, nous analysons l'importance de ces nouvelles exigences et proposons des conseils pratiques pour les mettre en œuvre, garantir la conformité et protéger vos environnements de paiement.
Comprendre l'exigence 6.4.3 : Gestion et protection des scripts
L'exigence 6.4.3 de la norme PCI DSS porte sur la nécessité de gérer et de protéger les scripts chargés et exécutés sur la page de paiement. Comme les entités s'appuient souvent sur des scripts de tiers pour améliorer les fonctionnalités, telles que l'analyse, la détection des fraudes ou l'amélioration de l'expérience client, ces scripts peuvent devenir un vecteur d'attaque critique. La norme reconnaît désormais que les scripts peuvent modifier les fonctionnalités à l'insu de l'entité ou sans son approbation, ce qui ouvre la porte à des attaques côté client telles que les brèches de type Magecart.
Points clés de l'exigence 6.4.3 :
- Tenir un inventaire des scripts : Les entités doivent identifier et documenter tous les scripts chargés et exécutés sur la page de paiement. Il s'agit de scripts internes et externes, tels que ceux provenant de fournisseurs tiers.
- Définir les sources approuvées : Une liste des scripts approuvés et de leurs sources doit être établie, afin de garantir que seuls les scripts de confiance sont autorisés à s'exécuter sur la page de paiement.
- Contrôles d'intégrité et gestion des modifications : Les entités doivent mettre en œuvre des mécanismes permettant de vérifier que les scripts conservent leur intégrité, qu'ils sont inchangés par rapport à la version autorisée et qu'ils sont exécutés à partir de sources approuvées.
Comment mettre en pratique le point 6.4.3 :
- Créez un inventaire des scripts : Commencez par effectuer un audit approfondi de tous les scripts actuellement exécutés sur votre page de paiement. Il s'agit notamment des bibliothèques JavaScript, des pixels de suivi et de tout code fourni par des vendeurs tiers. Pour chaque script, documentez les détails tels que sa fonction, sa source et son statut d'approbation.
- Établir un processus de liste blanche : Travaillez avec vos équipes de développement et de sécurité pour créer une liste de scripts approuvés. Veillez à ce que cette liste soit régulièrement révisée, en particulier lorsque de nouvelles fonctionnalités sont ajoutées à votre site web.
- Mettre en œuvre une politique de sécurité du contenu (CSP) : Une politique de sécurité du contenu peut contribuer à la mise en place d'une liste blanche de sources de scripts approuvées, empêchant ainsi l'exécution de codes non autorisés. Les CSP constituent un contrôle de sécurité puissant en bloquant tous les scripts qui ne sont pas explicitement autorisés dans la politique de sécurité.
- Appliquer l'intégrité des sous-ressources (SRI) : SRI garantit que les scripts n'ont pas été altérés en vérifiant leur intégrité à l'aide de hachages cryptographiques. Si la valeur de hachage ne correspond pas, le navigateur bloque l'exécution du script compromis.
- Élaborer un processus de gestion du changement : Établir un processus formel de gestion des changements pour les scripts. Ce processus devrait inclure des flux de travail d'examen et d'approbation, ainsi que la détection automatique de tout changement dans la fonctionnalité ou la source du script, déclenchant des alertes pour l'équipe de sécurité.
Démontrer la conformité lors de l'évaluation PCI DSS :
- Inventaire des scripts : Fournissez à votre QSA l'inventaire documenté des scripts chargés sur votre page de paiement, y compris les scripts internes et externes.
- Procédures de gestion des changements : Présentez des preuves de vos procédures de gestion des changements, telles que des journaux montrant les approbations de scripts nouveaux ou mis à jour.
- Preuve des mécanismes d'intégrité : Partagez les détails de vos contrôles d'intégrité (par exemple, les politiques CSP et les configurations SRI) pour démontrer comment vous empêchez l'exécution de scripts non autorisés.
- Documentation de l'examen périodique : Documenter et fournir la preuve des révisions périodiques de votre liste de scripts et de vos sources approuvées.
Comprendre l'exigence 11.6.1 : Surveillance continue des scripts pour détecter les changements inattendus
L'exigence 11.6.1 s'appuie sur l'exigence 6.4.3 en garantissant que les scripts approuvés font l'objet d'un contrôle permanent afin de détecter toute modification non autorisée, ce qui ajoute une couche de sécurité supplémentaire. Cette approche proactive permet de détecter les altérations potentielles ou les modifications malveillantes qui pourraient se produire à l'insu de l'entité, protégeant ainsi davantage les pages de paiement contre les attaques côté client.
Points clés de l'exigence 11.6.1 :
- Détection automatisée des modifications : Les entités sont tenues de mettre en œuvre des outils ou des solutions automatisés pour détecter les modifications non autorisées apportées aux scripts. Ce contrôle doit être continu et porter sur tous les scripts chargés et exécutés sur la page de paiement.
- Mécanismes d'alerte : La solution doit générer des alertes chaque fois qu'un script ou une modification non autorisés sont détectés, ce qui permet à l'entité de réagir rapidement à la menace et d'y remédier.
Comment mettre en pratique la norme 11.6.1 :
- Mettre en œuvre des solutions de contrôle des scripts : Utilisez des outils conçus pour contrôler en permanence l'intégrité des scripts sur votre page de paiement. Des solutions telles que les outils de contrôle de la sécurité du contenu (par exemple, Feroot ou Jscrambler) peuvent détecter automatiquement les modifications ou les exécutions de scripts non autorisées et fournir des alertes en temps réel.
- Configurer les alertes et la réponse aux incidents : Assurez-vous que votre outil de surveillance est configuré pour envoyer des alertes immédiates lorsqu'un script ou une modification non autorisés sont détectés. Ces alertes doivent être intégrées dans votre programme général de réponse aux incidents afin d'assurer une correction rapide. En outre, le mécanisme d'alerte doit être testé périodiquement pour garantir sa fiabilité.
- Effectuer des audits réguliers des scripts : Même si des solutions automatisées sont en place, des examens manuels de l'inventaire des scripts et de la configuration de la surveillance doivent être effectués régulièrement. Cela permet de s'assurer que les nouveaux scripts ou sources ont été correctement approuvés et intégrés dans le système de surveillance.
- Intégrer les pare-feux d'application Web (WAF) : Envisagez d'intégrer la surveillance des scripts à votre WAF pour bloquer les scripts non autorisés en temps réel, offrant ainsi une ligne de défense supplémentaire.
Démontrer la conformité lors de l'évaluation PCI DSS :
- Rapports de surveillance automatisée : Fournir des preuves de l'utilisation de la solution de surveillance automatisée, telles que des journaux ou des rapports de surveillance détaillant quand et comment le système a été déclenché.
- Journaux d'alerte et rapports d'incidents : Partagez des exemples d'alertes générées par votre système, ainsi que les mesures prises pour répondre aux incidents.
- Documentation de la configuration : Présentez une documentation détaillant la manière dont votre outil automatisé est configuré, y compris des critères spécifiques concernant ce qui constitue un script ou une modification non autorisés.
L'importance de ces changements : Protection contre les attaques côté client
L'augmentation des attaques sophistiquées côté client, telles que Magecart, qui exploitent les vulnérabilités des scripts tiers, est l'un des principaux facteurs à l'origine de ces changements. Les scripts chargés à partir de sources externes peuvent facilement être modifiés par les attaquants pour voler des données de paiement sensibles directement à partir des navigateurs des utilisateurs, sans déclencher les défenses côté serveur. En exigeant une combinaison de gestion d'inventaire, de contrôles d'intégrité et de surveillance continue, la norme PCI DSS v4.0 vise à prévenir ces types d'attaques et à garantir que les entités conservent le contrôle de leurs environnements de paiement.
Les entreprises s'appuyant de plus en plus sur des scripts tiers, la surface d'attaque s'élargit, tout comme les risques. En appliquant les exigences 6.4.3 et 11.6.1, les entreprises peuvent prendre des mesures proactives pour gérer la sécurité côté client et préserver l'intégrité de leurs processus de paiement.
Dernières réflexions : Passer à l'action pour la norme PCI DSS v4.0
L'introduction de ces nouvelles exigences souligne l'importance cruciale de la sécurité côté client. La norme PCI DSS v4.0 reconnaît que les entités n'ont pas toujours une visibilité totale des scripts exécutés sur leurs pages de paiement, d'où la nécessité de mettre en place les contrôles nécessaires. En gérant activement les scripts, en mettant en œuvre des contrôles d'intégrité et en surveillant en permanence les modifications non autorisées, les entreprises peuvent réduire le risque d'attaques côté client et rester en conformité.
Si vous vous préparez à votre prochaine évaluation PCI DSS, il est temps de revoir vos pratiques de gestion des scripts, de mettre en œuvre des solutions de surveillance automatisées et de vous assurer que vos processus de gestion du changement sont hermétiques. Les changements apportés par la norme PCI DSS v4.0 sont importants, mais en adoptant la bonne approche, les entreprises peuvent garder une longueur d'avance et protéger efficacement leurs environnements de paiement.
En suivant ces conseils, vous serez bien placé pour démontrer votre conformité lors de votre évaluation et pour veiller à ce que vos pages de paiement restent sécurisées face à l'évolution des menaces.