Dans l'environnement web actuel, où JavaScript et d'autres contenus dynamiques proviennent souvent de sources multiples, la protection des pages de paiement sensibles est devenue un défi plus complexe. Ceci est particulièrement pertinent pour les organisations qui souhaitent se conformer à l'exigence 11.6.1 de la norme PCI DSS, qui se concentre sur la détection des altérations ou des modifications malveillantes du contenu fourni au navigateur de l'utilisateur.
Qu'est-ce que l'exigence 11.6.1 de la norme PCI DSS ?
L'exigence 11.6.1 de la norme PCI DSS souligne l'importance de la détection des modifications non autorisées apportées au contenu web, y compris JavaScript, les en-têtes HTTP et d'autres composants actifs. Ces modifications peuvent être dues à des attaques de skimming JavaScript, où des acteurs malveillants injectent des scripts nuisibles dans des pages web pour voler des informations de paiement. La détection de ces changements en temps réel est cruciale pour prévenir les brèches qui peuvent conduire au vol de données de paiement.
Cet article explore des solutions pratiques pour aider les organisations à répondre à l'exigence PCI DSS 11.6.1 et à protéger efficacement les pages de paiement contre les attaques de falsification et de skimming.
Pourquoi la détection traditionnelle des changements n'est plus suffisante
De nombreux sites web s'appuient désormais sur des contenus assemblés dynamiquement à partir de sources multiples, y compris des API tierces et des CDN. Les systèmes de gestion de contenu (CMS) et les plateformes de gestion des balises étant de plus en plus utilisés, les mécanismes traditionnels de détection des changements (comme la surveillance des fichiers côté serveur) peuvent ne pas être suffisants. Les attaquants peuvent injecter du JavaScript malveillant dans les pages web sans modifier les fichiers stockés sur le serveur, ce qui signifie que le contenu malveillant n'apparaît que dans le navigateur, ce qui le rend plus difficile à détecter à l'aide des seules méthodes côté serveur.
PCI DSS 11.6.1 recommande de surveiller et de détecter les changements directement dans le navigateur, car c'est là que JavaScript est finalement exécuté et interprété.
Solutions clés pour détecter et signaler la falsification des pages web
Voici plusieurs mécanismes et outils qui vous permettront de vous assurer que vos pages de paiement sont protégées et conformes à la norme PCI DSS 11.6.1 :
1. Contrôle de la politique de sécurité du contenu (CSP)
Une stratégie de sécurité du contenu (CSP) est une fonction de sécurité puissante qui vous aide à définir l'endroit où votre page peut charger des ressources, empêchant ainsi l'exécution de JavaScript non autorisé. En définissant une CSP, vous pouvez limiter l'origine des scripts, des styles et d'autres ressources.
- Rapport d'infraction: Utiliser des directives CSP telles que
report-to
oureport-uri
pour envoyer des alertes en cas de violation (par exemple, lorsqu'un script provenant d'un domaine non autorisé tente de s'exécuter). Ces violations indiquent des tentatives potentielles de falsification ou de skimming. - Surveillance des modifications apportées à la CSP: si votre CSP elle-même est altérée, cela peut signaler une activité malveillante. Veillez à ce que votre surveillance porte sur toutes les modifications apportées à la CSP.
Outils à utiliser: Report URI, Sentry
2. Intégrité des sous-ressources (SRI)
L'intégrité des sous-ressources (SRI) vous permet de vous assurer que les ressources tierces (par exemple, les bibliothèques JavaScript) n'ont pas été altérées. En ajoutant un attribut d'intégrité aux balises de script, les navigateurs vérifieront l'intégrité de la ressource par rapport à un hachage connu.
- Comment cela fonctionne-t-il? Si le script a été modifié, le navigateur le rejette. Cette fonction est utile pour les ressources externes telles que les scripts ou les styles chargés à partir de CDN tiers.
Exemple:
<script src="https://example.com/script.js" integrity="sha384-..."></script>
3. Surveillance synthétique des utilisateurs
Le contrôle synthétique est une technique de contrôle externe dans laquelle des systèmes simulent des visites d'utilisateurs sur votre page de paiement et analysent les réponses (y compris les en-têtes et le JavaScript) pour détecter les changements.
- Son utilité: En demandant et en comparant régulièrement le contenu avec les versions précédentes, la surveillance synthétique des utilisateurs permet d'identifier les changements non autorisés dans le contenu servi aux utilisateurs, en particulier les JavaScript malveillants.
Outils à utiliser: Dynatrace Synthetic Monitoring, Uptrends
4. JavaScript inviolable
L'intégration de scripts de détection de fraude dans vos pages de paiement peut permettre de détecter en temps réel les modifications apportées à la page ou tout comportement malveillant. Ces scripts peuvent surveiller le DOM, détecter les injections suspectes ou même bloquer l'exécution de scripts non autorisés.
- Scripts personnalisés: Déployer un JavaScript personnalisé sur les pages de paiement qui alerte les administrateurs en cas de détection de scripts frauduleux ou non autorisés.
Outils à utiliser: Jscrambler
5. Proxies inversés et surveillance des CDN
Les proxys inversés et les réseaux de diffusion de contenu ( CDN ) peuvent vous aider à contrôler le contenu servi aux utilisateurs finaux en détectant les changements dans les scripts ou les en-têtes.
- Reverse Proxy et sécurité CDN: Utilisez ces solutions pour vérifier que le contenu diffusé par votre infrastructure reste cohérent et ne fait l'objet d'aucune altération. Des alertes peuvent être émises lorsque des différences sont détectées entre les versions sûres connues et celles qui sont actuellement diffusées.
Outils à utiliser: Cloudflare, Akamai
6. Services de détection du JavaScript skimming
Certaines solutions sont conçues pour détecter spécifiquement les attaques de skimming JavaScript, telles que les attaques de type Magecart. Ces outils recherchent des signatures d'attaques connues et des schémas malveillants dans vos pages web.
- Son utilité: Ces services analysent votre site à la recherche de scripts suspects ou de comportements typiques du skimming JavaScript, et déclenchent des alarmes en cas d'anomalie.
Outils à utiliser: Jscrambler, Source Defense
7. Web Application Firewalls (WAF) avec surveillance JavaScript
Un pare-feu d'application Web (WAF) peut aider à filtrer le trafic malveillant et à bloquer les scripts non autorisés. Certains WAF comprennent des fonctions permettant de détecter les modifications du contenu JavaScript.
- Surveillance du trafic web: En analysant le trafic web en temps réel, un WAF peut détecter et bloquer les injections de scripts suspects ou la falsification des pages de paiement.
Outils à utiliser: AWS WAF, Cloudflare WAF
Aller au-delà de la conformité à la norme PCI DSS
L'exigence PCI DSS 11.6.1 définit des lignes directrices claires pour garantir l'intégrité des pages web, en particulier des pages de paiement. Toutefois, la mise en œuvre des stratégies décrites ci-dessus permet non seulement de répondre aux exigences de la norme PCI, mais aussi d'améliorer votre position globale en matière de sécurité. Les attaques telles que le skimming JavaScript et la falsification de sites web devenant de plus en plus sophistiquées, des mesures proactives sont essentielles pour protéger les informations de paiement sensibles de vos utilisateurs.
Conclusion
S'assurer que vos pages de paiement sont protégées contre la falsification et les attaques de skimming est essentiel pour la conformité à la norme PCI DSS et la protection de vos clients. En combinant la surveillance du CSP, la surveillance des utilisateurs synthétiques, les scripts inviolables et les WAF, vous pouvez créer une défense solide contre les modifications non autorisées de vos pages web.
Pour obtenir de l'aide concernant la conformité à la norme PCI DSS ou la mise en œuvre de solutions de sécurité web, n'hésitez pas à nous contacter dès aujourd'hui !